우리가 데이터를 전송한다면 애플리케이션 계층에서 데이터가 만들어지고 

이 데이터는 트랜스포트 계층으로 넘어간다

트랜스포트 계층에서는 받은 데이터에 트랜스포트 계층의 약속을 나타내는 헤더를 붙이고 

이렇게 만들어진 전체 데이터를 데이터그램이라고 부른다. 

 

데이터그램은 다시 네트워크 계층으로 넘어간다. 

네트워크 계층에서는 받은 데이터그램에 네트워크 계층의 약속을 나타내는 IP 헤더(네트워크 계층 헤더)를 붙이고 

이렇게 만들어진 데이터는 패킷이라고 부른다. 

 

패킷은 다시 데이터링크 계층으로 전달된다

데이터링크 계층에서는 패킷에 데이터링크 계층의 약속을 나타내는 헤더를 붙이는데 

이더넷을 배웠으니 이더넷 헤더가 붙는다. 

https://dipping.tistory.com/27

 

[데이터링크 계층] 이더넷과 이더넷 헤더

물리계층에선느 물리 신호(전압, 빛, 전파) 전달을 담당 했다면 데이터링크 계층에서는 기기에 MAC 주소를 부여해 원하는 기기에만 데이터를 전달할 수 있도록 한다. 이 외에도 매체 공유, 비공

dipping.tistory.com

이렇게 만들어진 데이터를 프레임이라고 부르고 

프레임은 물리 계층으로 전달돼 전기신호로 바뀌어서 케이블을 타고 전송된다. 

 

이번시간에는 IP헤더 모양을 베워보자. 

IP헤더, 인프런 그림으로 쉽게 배우는 네트워크

1. Version

IP 헤더의 버전을 나타내는 4bit로 구성된 필드이다. 

IPv4는 0100, IPv6는 0110 으로 표현한다. 

 

2. Header Length

- 현재 IP헤더의 크기를 나타내는 4bit로 구성된 필드이다. 

- 대부분의 IP헤더의 길이는 20Byte로 단위는 32비트이다. 이 값은 거의 5로 고정되어있다. 

 * 단위가 32bit이므로 5(0101) - 5*32 = 160bit = 20byte

 

3. TOS: Type of Service 

- 이 필드는 서비스의 우선순위를 나타내는데, 거의 사용되지는 않는다.

 

4. Total Packet Length

- IP패킷의 크기를 바이트(8bit)단위로 나타내는 16bit로 구성된 필드이다.

- 16bit이므로 2^16(65,536)바이트를 나타낼 수 있다. 최대 크기가 패킷의 크기와 일치 

 

5. Identifier

- 이 필드는 16비트로 구성되어있다.

- IP는 패킷을 분할 할 수 있는 기능이 있는데 Identifier 필드는 분할된 패킷을 구분하기 위한 용도로 사용된다. 

- 분할된 패킷은 Identifier로 순서대로 재조합 된다. 

 

6. Flags

- 패킷을 분할할지 하지 않을지 나타내는 3비트로 구성된 필드 

- 첫 비트는 0으로 고정, 두 번째 비트가 0이면 분할되었음, 1이면 분할되어있지 않음

- 세 번째 비트가 0이면 이 패킷이 마지막 조각, 1이면 더 많은 조각이 존재함! 

 

7. Fragment Offset

- 13비트로 구성

- 분할된 패킷이 원래 데이터에서 알마나 떨어져 있는지를 나타내므로 분할전 데이터그램을 복원할 때 사용한다. 

 

8. Time To Live

- 몇 개의 라우터를 이동할 수 있는지를 나타내는 8비트로 구성된 필드

- 만약 이 필드의 값이 5(00000101)라면 5개의 라우터까지 통과할 수 있고 0이 되면 이 패킷은 버려진다. 

.

9. Protocol ID 

- 이 필드는 상위 계층의 프로토콜이 어떤 프로토콜인지 나타내는 8bit로 구성된 필드이다. 

- 1: ICMP, 6:TCP, 17: UDP, 89:OSPF 등등 

 

10. Header Checksum

- IP헤더가 손상됐는지 체크하는 16비트로 구성되어있는 필드

 

 11. Source IP Address 

- 출발지 IP주소를 나타내는 필드 

 

12. Destination IP Address

- 목적지 IP주소를 나타내는 32비트로 구성된 필드

 

13. Options: 주로 사용되지는 않지만, 테스트용으로 사용되는 가변길이의 필드

 

14. Padding: Options를 사용하는 경우 길이가 맞지 않을 때 덧붙이는 용도로 사용되는 필드, 패킷의 크기가 32bit 단위로 되도록 Padding으로 정확하게 맞춤 

 

15. Data(데이터그램): 상위계층에서 전달된 데이터를 나타냄, 상위계층에서 데이터(데이터그램)가 전달되면 IP헤더가 붙여져 패킷이라는 이름이 되고 이 패킷에 데이터링크의 이더넷 헤더가 붙고 프레임이라는 이름으로 다시불리게 된다. 

 

https://www.eit.lth.se/ppplab/IPHeader.htm

 

IP Protocol Header

Version. 4 bits. Specifies the format of the IP packet header. Version Description 0 Reserved. 1 2 3   4 IP, Internet Protocol. 5 ST, ST Datagram Mode. 6 SIP, Simple Internet Protocol. SIPP, Simple Internet Protocol Plus. IPv6, Internet Protocol. 7 TP/IX,

www.eit.lth.se

IP헤더에 대한 자세한 설명 

생각해보니 이더넷은 데이터링크 계층을 대표하는 프로토콜이니 이더넷 헤더는 데이터링크 계층에서 붙고 

IP는 네트워크 계층에서 사용하는 거니까 당연히 네트워크 계층에서 헤더가 붙는다고 생각하면 될 것 같다. 

'네트워크' 카테고리의 다른 글

스태틱 라우팅과 다이내믹 라우팅  (0) 2024.06.23
라우터  (0) 2024.06.23
IP 클래스와 서브넷 마스크  (0) 2024.06.23
IP  (0) 2024.06.20
네트워크 계층  (0) 2024.06.20

+ Recent posts