컴퓨터 프로그래밍 공부/네트워크 서버

IP(Internet Protocol) IPv4

뽀또치즈맛 2025. 2. 4. 05:52

 

IPv4

 
프레임의 데이터 필드에는 상위 계층에서 전달받거나
상위 계층으로 전달해야 할 내용이 명시된다.
따라서 IPv4 패킷은 프레임의 페이로드로 데이터 필드에 명시된다.
 
IPv4 패킷은 다음과 같은 형식을 띈다.
 
1. 식별자
2. 플래그
3. 단편화 오프셋
4. TTL
5. 프로토콜
6. 송신지 IP 주소
7. 수신지 IP 주소
 
총 7개이다.

 

들어가기 앞서, 패킷이란?
패킷(Packet)은 네트워크를 통해 전송되는 데이터의 형식화된 블록으로,
데이터 통신에서 사용되는 용어이다.
 
 

1. 식별자

 
식별자는 패킷에 할당된 번호이다.
만일 메시지 전송 과정에서
IPv4 패킷이 여러 조각으로 쪼개져서 전송되었다면,
수신지에는 이들을 재조합해야 한다.
 
이때 잘게 쪼개져서 수신지에 도착한 IPv4 패킷들이 어떤 메시지에서
쪼개졌는지를 인식하기 위해서 식별자를 사용한다.
 

2. 플래그

 
플래그는 총 세 개의 비트로 구성된 필드이다.
이 중에서 첫 번째 비트는 항상 0으로 예약된 비트로 현재 사용되지 않는다.
 
사용되는 나머지 두 개의 비트 중에서 하나는 DF라는 이름이 붙은 비트이다.
이는 Don't Fragment의 약어로, 
IP의 단편화를 수행하지 말라는 표시이다.
만일 이 비트가 1로 설정되어 있다면 IP 단편화를 수행하지 않고,
0으로 설정되어 있다면 IP 단편화가 가능하다.
 
또 하나의 비트는 MF라는 비트이다.
이는 More Fragment의 약어로,
단편화된 패킷이 더 있는 지를 나타낸다.
0이라면 이 패킷이 마지막 패킷임을 의미하고,
1이라면 쪼개진 패킷이 아직 더 있다는 것을 의미한다.
 

미사용
(항상 0)
 DFMF

 
 

3. 단편화 오프셋

 
단편화 오프셋은 패킷이 단편화되기 전에
패킷의 초기 데이터에서 몇 번쨰로 떨어진 패킷인지를 나타낸다.
단편화되어 전송되는 패킷들은 수신지에 순서대로 도착하지 않을 수 있다.
따라서 수신지가 패킷들을 순서대로 재조합하려면 단편화된 패킷이 초기 데이터에서
몇 번째 데이터에 해당하는 패킷인지 알아야 한다.
이를 판단하기 위해 단편화 오프셋이 활용된다.
 
 
 
++잠깐! 라우터란? ++
라우터는 둘 이상의 패킷 전환 네트워크 또는 서브네트워크를 연결하는 장치이다.
++ 

4.TTL

TTL은 Time To Live의 약어로 패킷의 수명을 의미한다.
멀리 떨어진 호스트끼리 통신할 때 패킷은 여러 라우터를 거쳐 이동할 수 있다.
패킷이 하나의 라우터를 거칠 때마다 TTL이 1씩 감소하며
TTL 값이 0으로 떨어진 패킷은 폐기된다.
 
패킷이 호스트 또는 라우터에 한 번 전달되는 것을 홉이라 한다.
즉, TTL 필드의 값은 홉마다 1씩 감소한다.
TTL 필드의 존재 이유는 무의미한 패킷이
네트워크상에 지속적으로 남아있는 것을 방지하기 위함이다.
 
 
++ 잠깐! 필드란? ++
네트워크 데이터 상에서 필드란,
기술 및 컴퓨팅의 맥락에서 필드는 데이터베이스의 특정 영역 또는 데이터를 입력하는 양식
즉, 필드는 객체의 데이터가 저장되는 곳으로
선언 형태는 변수와 유사하지만, 필드와 변수는 동일한 것이 아니다.
++
 
 

5. 프로토콜

 
IP 패킷의 프로토콜은 상위 계층의 프로토콜이 무엇인지를 나타내는 필드이다.
 
프로토콜은 쉽게 말해서 통신 규약이라고도 한다.
프로토콜은 좀 더 정확하게 말하자면,
컴퓨터나 전자 기기 간에 데이터를 주고받을 때 따르는 규칙의 집합이다.

 

6,7. 송신지 주소와 수신지 IP 주소

 

송신지 IP 주소와 수신지 IP 주소에서 이름 그대로
송수신지의 IPv4 주소를 알 수 있다.