728x90
LAN에서는 node가 physical MAC address를 이용해 통신할 수 있다.
이는 작은 범위 내에서는 다른 port의 MAC address를 손쉽게 얻을 수 있기 때문이다.
그러나 모든 네트워크는 unique MAC address를 가지고 있고 체계적으로 정렬되어 있지 않다.
이를 위해 network layer, 그리고 IP가 필요하다.
1. IP address
- 32 bit 이고 4개의 octets으로 이루어져 있다. 각 octet은 십진법(0~255)으로 표기한다.
- ex) 12.30.56.78은 유효한 IP address이지만 123.456.789.100은 유효하지 않은 IP address
이러한 표기법을 dotted decimal notation이라 한다. - 각 하드웨어 공급 업체가 결정하지 않고(MAC은 그렇지만) 다양한 단체, 기업 등 큰 구역에 분배한다.
- physical address에 비해 더 수직적이고 어느 곳의 주소인지에 대한 데이터를 저장하기 쉽다.
- 각 장치가 아닌 각 네트워크에 지정된다.
- ex) 노트북은 어딜 가든 항상 같은 MAC address를 가지지만 IP address는 어떤 네트워크에
연결되는지에 따라 달라진다. - DHCP(dynamic host configuration protocol)를 통해 자동으로 IP address가 네트워크를
사용하려는 장치에 할당된다. 이를 통해 할당된 IP를 dynamic IP address라 한다.
<-> static IP address : 노드에서 수동으로 구성해야 한다. - 대부분의 경우 static IP address는 서버와 네트워크 장치용으로 사용하고 dynamic IP address는 클라이언트용으로 사용한다.
2. IP datagram
- network layer의 packet( cf) Ethernet frames : data link layer에서의 data packet )
- 정교히 구조화된 field의 나열로 이루어져 있다.
- header와 payload로 나뉜다.
3. Header of IP datagram
- 1. version
- 길이 : 4 bits
- 사용중인 IP의 version
- 가장 많이 사용하는 것은 IPv4이고, IPv6도 최근에 많이 사용한다.
- 2. Header Length field
- 길이 : 4 bits
- header의 전체 길이
- IPv4의 경우 항상 20 bytes의 길이를 가진다.
- IP header의 최소 길이는 20 bytes이다.
- 3. Service Type field
- 길이 : 8 bits
- 서비스 품질이나 QoS 기술의 상세 정보를 나타낸다.
- QoS는 router가 다른 IP datagram보다 중요한 IP datagram을 결정할 수 있는 서비스가 있다.
- 4. Total Length field
- 길이 : 16 bits
- IP datagram의 전체 길이
- 5. Identification field
- 길이 : 16 bits
- 메세지를 하나로 합치는데 이용한다.
- 이는 만약 IP datagram이 크기가 최대치를 넘는 경우(Total Length field에서 16 bits로 표현할 수 있는 가장 큰 숫자 : 65535 bits) data를 나눠서 보내는데, 이때 identification field의 값이 같은 packet들의 data를 모아서 나눠 보낸 data를 다시 합칠 수 있다.
- 6. Flag field & Fragmentation Offset field
- 길이 : 16 bits
- flag field는 datagram을 분해해도 되는지, 또는 이미 분해했는지를 나타낸다.
- 이는 어떤 network들은 수용 가능한 datagram size가 달라 분해하는 경우에 해당한다.
- fragmentation offset field는 수신 쪽에서 분해한 packet들을 올바른 순서로 합치는데 필요한 값을 가지고 있다.
- 7. TTL field(time to live field)
- 길이 : 8 bits
- datagram이 버려지기 전에 traverse할 수 있는 router hop 횟수를 나타낸다.
- datagram이 새 router에 도달할 때마다 값이 1씩 감소한다.
- 값이 0이 되면 router는 그 datagram을 더 이상 전달하지 않는다.
- 이를 통해 routing에 의한 무한 루프를 막을 수 있다.
- 8. Protocol field
- 길이 : 8 bits
- 어떤 transport layer protocol을 썼는지를 나타낸다.
- 대표적으로 TCP, UDP가 있다.
- 9. checksum field
- 전체 IP datagram header의 내용에 대한 checksum이다.
- TTL field가 모든 router마다 바뀌므로 checksum field도 매번 새로 계산해야 한다.
- 10. source and destination IP address field
- 길이 : 각각 32 bits
- 11. IP options field
- optional field로 테스트 목적으로 사용되는 datagram에 대한 특징을 설정하기 위해 사용한다.
- 12. padding field
- IP options field가 optional하고 길이가 다르므로, 전체 길이를 맞추기 위한 0의 나열이다.
4. Payload
- IP datagram의 전체 내용은 Ethernet frame의 payload로 캡슐화한다.
- IP datagram도 역시 payload를 가지는데, payload는 TCP 또는 UDP packet을 가지고 있다.
5. IP address classes
- IP address는 network ID, host ID로 나눌 수 있는데, 각각이 전체 IP address에서 얼마나
차지하는지에 따라 세 class로 분류한다.- Class A : 첫 octet만 network ID이고 나머지 세 octet은 host ID
IP address의 가장 앞 bit가 0, 즉 첫번째 octet이 0~127인 경우 - Class B : 첫 두 octet이 network ID이고 나머지 두 octet은 host ID
IP address의 가장 앞 두 bits가 10, 즉 첫번째 octet이 127~191인 경우 - Class C : 첫 세 octet이 network ID이고 나머지 세 octet은 host ID
IP address의 가장 앞 세 bits가 110, 즉 첫번째 octet이 192~223인 경우 - Class D : IP address의 가장 앞 네 bits가 1110, 즉 첫번째 octet이 224~239인 경우
multicasting, 즉 하나의 datagram이 모든 네트워크에 보내질 때 사용 - Class E : IP address의 가장 앞 네 bits가 1111인 경우로 테스트 목적으로만 쓰인다.
- Class A : 첫 octet만 network ID이고 나머지 세 octet은 host ID
- 이 class system은 CIDR(classless inter-domain routing)에 의해 최근에 교체되었다.
6. ARP(Address Resolution Protocol)
- 어떤 IP address를 가진 node의 하드웨어 address를 알아내기 위해 사용하는 protocol이다.
- Ethernet frame를 완성하기 위해선 목적지의 MAC address가 필요하다.
- 네트워크에 연결된 거의 모든 장치는 local ARP table을 가지고 있다.
- ARP table은 IP address와 그것과 연관된 MAC address의 리스트이다.
- ARP table의 작동원리
- 만약 어떤 IP address로 데이터를 보내고 싶은데, 이에 대한 항목이 ARP table에 없다고 하자.
- 그러면 그 node는 broadcast ARP 메세지를 MAC broadcast address(전부 F인)로 보낸다. 즉, 이 메세지를 local network에 있는 모든 컴퓨터로 보낸다.
- 이 IP address를 할당받은 네트워크 인터페이스가 이 메세지를 받으면 ARP response를 답장한다. 이 response 메세지는 network interface의 MAC address를 포함한다.
- 그러면 이제 전송 컴퓨터는 목적지의 MAC address를 알고 Ethernet frame을 완성한다.
- local ARP table에 이 IP 주소를 저장해 다음에 이 IP와 통신할 때 ARP broadcast를 보낼 필요가 없다.
- ARP table 항목들은 잠시동안 있다가 사라진다.
728x90
'네트워크' 카테고리의 다른 글
7. Routing (0) | 2021.06.30 |
---|---|
6. Subnetting (0) | 2021.06.29 |
4. Data Link Layer (0) | 2021.06.29 |
3. Physical Layer (0) | 2021.06.28 |
2. TCP and IP Five-Layer Network Model (0) | 2021.06.27 |