네트워크

TTL과 단편화

개발정리 2024. 10. 22. 10:46

인터넷이라는 집합체는 물리적인 스위치로 이루어지지만, 결국 논리적인 형태로 구현되는 네트워크라고 이해할 수 있다. 그리고 결국 인터넷은 라우터의 집합체이다. 

 

 

라우터와 비교하여 생각해 볼 것이 L3 스위치이다. 이 둘을 구분하는 것은 큰 의미가 없다. 굳이 나누자면 라우터는 L3 스위치의 일종이라고 보는 것이 타당하다.

 

 

...

 

 

인터넷 네트워크를 이루는 핵심적인 구성요소는 라우터와 DNS가 있다.

 

 

라우터를 비유하자면 택배 기사, 물류 센터와 같은 역할을 한다. 정보를 직접 수집하는 것이 아닌 '거쳐가는 곳'이다. 다른 라우터로의 서빙을 도와준다. 이 때 이동의 단위(HOP) 그리고 TTL의 개념이 필요하다.

 

 

...

 

 

TTL과 단편화

 

1) Time To Live는 세포의 '텔로미어' 같은 역할을 한다.

2) 단편화는 MTU 크기 차이로 발생한다.

3) 보통 단편의 조립은 수신측 Host에서 이루어진다.

 

 

패킷은 인터넷에서의 단위이며, 인터넷을 돌아다니면서 목적지까지 가야한다. 그렇지만 간혹 목적지까지 가는데 실패하는 경우가 있다. 라우팅을 하며 라우터를 이동했지만 결국 목적지를 찾지 못한 것이다. 이 경우엔 패킷을 빨리 없애야 한다. 그러지 못할 경우 패킷이 쌓이면 네트워크 다운으로까지 이어 질 수 있다.

 

 

그리고 이를 막는 것이 TTL이다. 

 

 

 

만약 TTL값이 128이라면, 라우터에서 라우터로 이동할 때 (이 단위를 Hop) Hop 단위 만큼 TTL값을 감소시킨 후 이동시킨다. TTL 값이 다 소진될 만큼 라우터를 이동하였고, 그 때까지 목적지에 가지 못했다는 것은 '실패'로 판명한다. 그리고 라우터는 해당 패킷을 버리게된다. 

 

 

(패킷을 버린 라우터는 출발지 주소에 자신이 패킷을 버렸다고 알려주고도 하며, 보안상의 이유로 알려주지 않을 수도 있다.)

 

 

TTL 개념과 묶어서 살펴봐야 하는 것이 단편화이다. 단편화는 MTU(1,500byte)와 관련이 있다. MTU는 기본적으로 1500byte 이지만 간혹 1400byte인 경우도 있다. 이 와 같이 MTU 크기가 조금씩 다르다면 패킷을 수신하지 못하고 유실되는 문제가 발생한다. 이에 해결책은 단편화 즉 패킷을 쪼개는 방법이 있다.  

 

 

위 이미지를 다시 보면, 3번 라우터가 5번 라우터에 패킷을 보낼 땐 단편화가 발생하여 패킷이 두 개로 늘어나게 된다. 그리고 최종적으로는 서버가 해당 패킷을 조립하게 된다.

 

 

 

.... 

 

 

[클라이언트 측]

1) 데이터

2) 소켓 인터페이스를 통해 커널 모드에 진입

3) L3 IP 레이어에서 패킷 생성  (MTU 1500)

 

 

[서버 측]

1) 라우터 단에서 단편화가 이루어진 패킷 두 개가 서버측으로 유입

2) IP 레이어에서 단편화된 패킷 조립 

3) 세그먼트 추출 

4) TCP 레이어에서 세그먼트 조립

5) 프로세스에게 전달

 

 

...

 

 

단편화는 가급적 발생하지 않는 것이 좋다. 애초 패킷을 보낼때 하향 평준화를 시켜서 보내는 것이 베스트이다. 

 

 

요즘 인터넷 환경에서 MTU가 1500도 안되는 환경은 거의 없다. 안되는 경우를 꼽자면 IPSec VPN이 적용될 경우 보통 MTU 사이즈가 줄어드는 경우가 생긴다. 

 

 

단편화가 발생하지 않도록 설정하여 패킷을 보내도록 하자.

 

 

...

 

 

정리 

 

1) 인터넷 환경의 대표적인 구성요소는 라우터와 DNS이다. 

2) 라우터는 L3 스위치의 일종이다.

3) 라우터는 라우팅 테이블에 근거하여 다른 라우터로 라우팅을 한다.

4) 라우터간의 이동 단위를 HOP이라고 한다.

5) 패킷의 TTL(Time To Live)은 라우터 이동 시 줄어든다.

6) TTL 이 소진되었음에도 목적지까지 가지 못했다면 해당 패킷은 사라지게된다. 

7) 단편화는 MTU 크기가 다를 경우 패킷을 쪼개는 행위를 말한다.

8) 패킷이 쪼개지면 서버 측 IP 프로토콜에서 패킷을 조립한 후 세그먼트를 추출한다.

9) 단편화가 일어나지 않도록 하향 평준화를 하여 패킷을 보내자.

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

ARP(Address Resolution Protocol) 란  (1) 2024.10.22
인터넷 설정 자동화를 위한 DHCP  (1) 2024.10.22
Host 자신을 가리키는 IP주소  (0) 2024.10.17
Broadcast IP주소  (1) 2024.10.17
서브넷 마스크와 CIDR  (2) 2024.10.16