네트워크 계층 Network Layer, IP Header
@Network Layer - 3계층
IP Adress
IP 를 도와주는 protocol
(1) ARP - MAC address 확인
(2) ICMP - 신뢰성
(3) IGMP - 그룹정인 정보
○ 통신타입
(1) Unicast
- A Host가 B Host에게 Data를 전달하는 가장 일반적인 방법
- Source Address와 Destination Address를 명시하여 해당하는 장비만이 데이터를 처리하는 방법
- 동일한 정보를 많은 호스트에 전달에는 비 효율적인 방법 => 서버에 부담
client 가 많으면 많을수록 힘들다.
- Host to Host 전달을 기반으로 하므로 다른 Host에 부하는 주지 않는다.
- 받는 사람은 편한대 보내는 사람이 불편
일 대 일 전달방식
Destination IP : 192.168.1.3
Destination MAC : 00-09-24-9d-0a-45
Service : Internet
(2) Broadcast
- 단일 Host가 Segment에 모든 호스트를 대상으로 Data를 전달하는 방법
- 목적지 주소를 각 주소에 예약된 Broadcast Address를 입력하여 전달한다. 모든 호스트는 이
메시지를 수신한다.
- 동일한 정보를 한번에 모든 호스트에게 전달하는 장점을 갖는다.
- 많은 Broadcast는 호스트에 성능저하를 가져온다. (나의 대역폭은 한장되어 있는데 계속 받는다)
- client는 원하지 않는 정보를 받을 수 있다.
- 보내는 사람은 편한대 받는 사람이 불편
일 대 전체 전달방식
Destination IP : 255.255.255.255
Destination MAC : ff-ff-ff-ff-ff-ff
Service : TV, Radio
(3) Multicast
- 단일 Host가 예약된 주소 (Multicast Address)
- 목적지 주소를 각 주소에 예약된 Broadcast Address를 입력하여 전달한다. 모든 호스트는 이
메시지를 수신한다.
- 동일한 정보를 한번에 모든 호스트에게 전달하는 장점을 갖는다.
- 많은 Broadcast는 호스트에 성능 저하를 가져온다.
일 대 그룹 전달방식
Destination IP : 224.0.0.22
Destination MAC : 01-00-5e-00-00-16 ( 01-00-5e 로 시작하는 company : Multicast)
Service : Internet방송, Cable TV
IPv4 Address 32bit 2^32 = 총 4,294,967,296 IP Address
00000000.00000000.00000000.00000000 : 0.0.0.0
11111111.11111111.11111111.11111111 : 255.255.255.255
- IP 관리 -
IANA(IP통합관리,배포) -> 대륙별할당 -> 국가별할당 -> ISP별할당 -> 사용자할당
<참조>
http://www.iana.org
http://www.whoisdomain.kr
IPv4 Address구조
Classfull -> Subneting -> VLSM -> CIDR -> Classless
- Classfull(Class기반) Network -
=> 그룹별로 사용
subnetmask 역할 : 출발지 ip와 목적지 ip 비교를 통해 네트워크 판별(같은 네트워크 인지 다른지)
S:1 ( 00000001 )
SM (11111100 ) -> 모든 bit 같으면 같은 netwokr, 하나라도 다르면 다른 network
D:2 ( 00000010 )
A Class : 31bit 2^31 = 총 2,147,483,648 IP Address
| Net ID| | Host ID |
0xxxxxxx. 00000000. 00000000. 00000000 => IP(주소)
11111111.00000000.00000000.00000000 => Subnetmask(우편번호를 통해 집주소 구별)
-> 8bit 만 검색
네트워크 : 7bit 2^7 = 128Network
00000000~01111111 : 0~127
호스트 : 24bit 2^24 = 16,777,216Host
00000000.00000000.0000000~11111111.1111111.11111111 : 0.0.0~255.255.255
B Class : 30bit 2^30 = 총 1,073,741,824 IP Address
| Network ID | | Host ID |
10xxxxxx. xxxxxxxx. 00000000. 00000000
11111111.11111111.00000000.00000000 -> 16bit 만 검색
네트워크 : 14bit 2^14 = 16,384Network
10000000.00000000~10111111.11111111 : 128.0~191.255
호스트 : 16bit 2^16 = 65,536Host
00000000.00000000~11111111.11111111 : 0.0~255.255
C Class : 29bit 2^29 = 총 536,870,912 IP Address
| Network ID | |Host ID |
110xxxxx. xxxxxxxx. xxxxxxxx. 00000000
11111111.11111111.11111111.00000000 -> 24 bit 만 검색
네트워크 : 21bit 2^21 = 2,097,152Network
11000000.00000000.00000000~11011111.11111111.11111111 : 192.0.0~223.255.255
호스트 : 8bit 2^8 = 256Host
00000000~11111111 : 0~255
D Class(Multicast) : 28bit 2^28 = 총 268,435,456 IP Address
1110xxxx.xxxxxxxx.xxxxxxxx.00000000
네트워크 : 11100000~11101111 : 224~239
Multicast IP Address로 예약
E Class(실험용) : 28bit 2^28 = 총 268,435,456 IP Address
1111xxxx.xxxxxxxx.xxxxxxxx.00000000
네트워크 : 11110000~1111111 : 240~255
실험용으로 예약
255.255.255.255 : Broadcast IP Address로 예약
- 예약주소 -
1이 사용, 0 이 사용x
Host ID 전체가 0 이거나 1인 IP는 사용할 수 없다.
Host ID 전체 bit 가 1인거는 전체가 사용중인 것을 나타낸다 (Broadcast Address)
Host ID 전체 bit 가 0인거는 모든 주소공간을 표현 (Subnet Address)
A Class
0.0.0.0(Default Route) : 모든 주소공간을 표현 (우편번호에 지구라고 쓴 것이랑 같다)
127.0.0.1(localhost) : 127.0.0.0~127.255.255.255는 127.0.0.1로 표현
B Class
169.254.0.0~169.254.255.255(Link Local) : DHCP로부터 주소를 할당 받을 수 없는 상태일때 자기
스스로 주소를 할당하기 위해 사용
E Class
255.255.255.255 : Broadcast IP Address 로 예약
○ 공인 IP => Internet사용가능한 IP, ISP에 등록되어있는 IP
○ 사설 IP => Network사용가능한 IP, ISP에 등록되어 있지 않은 IP
- 사설주소 -
A Class
10.0.0.0~10.255.255.255
B Class
172.16.0.0~172.31.255.255
C Class
192.168.0.0~192.168.255.255
A Class : 0~127 255.0.0.0 (128/16777216)
B Class : 128~191 255.255.0.0 (16384/65536)
C Class : 192~223 255.255.255.0 (2097152/256)
- IP Header -
version : 4
Type of Service : 우선예약
-> 5가지 (비용, 보완, 처리량, 신뢰성, 지연) 를 고려하여 데이터가 나중에 들어와도 ㅍ먼저 처리 해 주는 기능.
Header Length :data를 제외한 IP 길이
Total Length : 3계층 전체 길이
- 같은 곳에서 동시에 여러 data를 보낼때 -
Identifier : 식별자 역할 ( data 구별역할 -> 메신저는 메신져대로, 게임은 게임대로)
Fragmentation Flags : 첫번째bit : 0으로 고정(예약 bit), 가운데 bit : Segment 여부 확인(0:분열,1:분열x) -> Segment 되어 있는 data를 받을 때 처리를 고려하기 위해서.(segment 되어 있는데 기다리지 않고 바로 처리 하면 오류. segment 되어 있지 않다면 즉 01 로 되어 있다면 바로 처리하게 된다) , 마지막 bit : 마지막 data 여부를 파악 (0:마지막, 1:남은 data있음)
ex) 001 : 남은 데이터 있음, 000 : 끝났으니깐 처리, 010 : segment 되어 있지 않은 data 바로 처리.
Fragment Offset : 순서번호-> 순서대로 들어오지 않고 잘못 들어온 경우를 확인
Time To Live : 라우터 갯수(hop count)
ex) 128 개의 라우터를 거칠 수 있다 128개를 넘으면 버려진다.
이 갯수는 OS에 의해 결정. windows : 128, linux : 64, unix : 255
확인) ping ip addres
위 사진에서 TTL=126 인것은 두개의 라우터를 지났기 때문.
=> ICMP Protocol 이 한다.
단계별로 확인) tracert -d ipaddress
Gateway : 라우터라고 생각하면 된다.
Gateway 에 ping을 쳐 보면 해당 라우터에 OS를 확인할 수 있따..
위 사진에서의 TTL 값은 64 이므로 리눅스 OS 를 사용하고 있다.
'IT > Network' 카테고리의 다른 글
서브넷 IP Subnet-Zero (0) | 2019.05.23 |
---|---|
DHCP Server (0) | 2019.05.23 |
데이터링크 계층 DataLink Layer (0) | 2019.05.23 |
디스크 관리 - 예상치 않은 오류가 발생했습니다. (0) | 2019.05.23 |
물리계층 Physical Layer (0) | 2019.05.21 |
댓글