인터넷 프로토콜 IP(Internet Protocol)
인터넷 프로토콜 IP(Internet Protocol)
- 송신 호스트와 수신 호스트가 패킷 교환 네트워크에서 정보를 주고받는데 사용하는 정보 위주의 규약
- 데이터 그램을 전달
- OSI 7 Layer의 네트워크 계층(3계층)에 해당
- 호스트의 주소지정과 패킷 분할 및 조립 기능을 담당
IP 특성
- 비신뢰성(신뢰성을 확보하기위해 전송계층(4계층)에 의존)
- 비연결성 데이터그램 방식
- 패킷의 완전한 전달을 보장하지 않음
- IP헤더에 송신, 수신 주소 포함
- 최대 65,535 Byte의 Packet크기를 갖는다
IP 데이터그램 구조
Version
- 헤더의 길이를 나타내는 필드로 옵션에 따라 길이가 가변적으로 변경될 수 있는 특성 때문에 어띠까지가 헤더인지를 나타내기 위해 필요
- 기본 4Byte 단위로 표시(옵션 없을 시 5Byte로 되어 있음)
TOS
- 라우터에게 QOS정보를 제공하기 위해 사용
- 3bit : 우선권 필드
- 4bit : TOS 필드
- 1bit : 사용안함
Total Length
- 단편화된 IP 데이터그램의 전체길이로 Byte 단위로 표시
Identification
Flag
- 단편화(Fragmentation)에 대한 정보
- 3bit를 사용
- 1번째(맨앞의 bit)는 사용하지 않음
- 2번째 bit는 do not fragment bit로 이 bit가 세트로 되어 있다면 단편화가 이루어지지 않는다
- 3번째 bit는 more fragment bit로 뒤에 더 단편이 있다는 정보를 알려주는 bit
Fragment offset
- 수신자에게 쪼개진 데이터그램을 하나의 데이터그램으로 합칠 때
전체의 데이터그램에서 각각의 데이터그램의 상대적 위치를 표시
TTL(Time To Live)
- 데이터그램이 지날 수 있는 라우터의 수에 대한 생존시간
- TTL이 없다면 경로상의 문제로 목적지에 전달되지 못하고 네트워크상에 떠돌아 다니는 패킷들이 생겨나는 경우 이 패킷들이 사라지지 않고 네트워크 상에 끊임없이 돌아다니며 트래픽을 야기할 것
- 패킷 유실 여부를 확인 할 때 사용
Protocol
- IP 데이터그램의 Data 구간에 입력된 상위계층의 프로토콜 표시
- 헤더의 손상여부 파악
- 송신자에서 전체 헤더를 4bit로 나누어 모두 더하고, 1의 보수를 취해 checksum에 담아 송신하며,
수신자에서 이 checksum을 포함한 전체 bit를 더하여 결과가 0일 경우 오류가 없다고 판단
Destination IP Address
Source IP Address
IP Routing
- Routing Table을 검색하여 호스트와 목적지가 직접 연결되어 있거나 같은 서브넷 또는 같은 네트워크 그룹일 경우 목적지로 직접 전송하거나 next-hop(라우터)로 데이터그램을 전송하도록 경로를 지정한다
- 그렇지 않으면 모든 데이터그램은 Default 라우터로 보낸다
(Default Routing)
- 만일 위와 같이 전혀 일치하는 항목이 없다면, 데이터그램을 폐기하고
Host Unreachable
또는
Network Unreachable
메세지가 반송된다
단편화(Fragmentation)
- 어떠한 유형의 네트워크를 통해서라도 패킷을 전송하기 위해서 IP는 각각의 데이터그램의 크기를 조절할 수 있는 기능제공.
- 단편화는 각 네트워크 내 노드의 IP가 수신한 패킷을 다음 노드나 호스트로 전송하기 위해
이 패킷을 분할 하는 것
- 모든 목적지 호스트는 단편화된 메세지를 재합성할 수 있어야한다