CS지식/네트워크

TIL 정리_123(IP 프로토콜 구조)

ran4 2022. 7. 20. 11:47

https://www.youtube.com/playlist?list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi 

위의 강의를 듣고 정리한 내용입니다

 


IPv4프로토콜의 구조

다른 네트워크의 특정 대상을 찾는다

20byte 이다

 

Version IHL
(Header
Length)
Type of Service
(TOS)
Total Length
Identification IP Flags
x D M
Fragment Offset
Time To Live
(TTL)
Protocol Header Checksum
Source Address
Destination Address
IP Option (옵션이 붙기도 하고 안붙기도 한다. 4byte)

 

 

Version : IP 프로토콜의 버전을 적는다. 보통은 4가 온다

 

IHL(Header Length) 

4bit로 표현한다. 20~60/4 나눠서 사용한다

-> 일반적으로 5가 온다

 

TOS : 현재는 쓰이지 않는다. 0으로 비워둔다

주고받는 데이터의 형식을 나타내는 값으로 사용했다

 

Total Length : 캡슐화 된 전체 길이를 의미한다

 

Identification & IP Flags & Fragment Offset

쪼개진 데이터를 알아볼 수 있게한다

 

Identification 

하나의 데이터가 잘게 쪼개졌을 때 받는 쪽에서 원래의 데이터로 합칠 때

하나임을 알아볼 수 있게 같은 아이디 값을 부여한다

-> 전송할 때는 순차적으로 전송하더라도 받을 때는 섞여서 도착할 수 있기 때문이다

 

 

IP Flags 

3비트로 이루어져있다, x D M 첫 번째는 사용하지 않는다

 

두 번째 D는 패킷을 보내는 사람은 데이터를 안쪽에서 보내겠다 명시하는 것이다

하지만 최대 전송 단위보다 크게 보내는 등 설정을 하면 전송되지 않는다

-> 사용되지 않는다

 

세 번째 M은 쪼개서 보낼 때 첫 번째 패킷 뒤에 나머지 패킷이 더 있음을 상대방에게 알려준다.

최대 전송 데이터보다 큰 데이터를 전송하면 1로 세팅이 되어있다.

그렇지 않을 경우 0으로 세팅된다

 

Fragment Offset(13bit) : 쪼갠 데이터를 원래대로 복구할 때 받는 순서가 꼬일수도 있다

-> 이 순서를 알아볼 수 있게 Offset을 지정한다

받는 쪽에서는 Offset 값을 보고 조립할 수 있다

 

 

TTL : 패킷이 살아있을 수 있는 시간을 지정한다

 

 

Protocol 

IP 프로토콜의 기준에서 상위 프로토콜의 타입을 알려준다

상위 프로토콜로 올 수 있는 계층 : ICMP, TCP/UDP

  • ICMP가 오면 0 1
  • TCP 0 6
  • UDP 1 7

 

Header Checksum : checksum = check 확인한다

  • 헤더가 오류가 있는지 없는지 확인한다.
  • 헤더에 있는 필드를 계산해서 보내야하며 받은 쪽에서 체크섬과 계산 값이 같은지 한번 더
  • 확인한다
  • IPv4말고도 checksum을 가지고 있는 프로토콜이 여럿 있다

 

Source Address : 출발지 IP 주소

 

Destination Address : 목적지 IP 주소

 

IP Option : 옵션이 붙으면 1개씩 붙을때마다 4byte씩 붙으며 최대 10개의 옵션이 붙을 수 있다

보통은 옵션없이 사용하는 것이 일반적이다.