[네트워크기초이론] #34. MTU와 Packet 단편화
IP header
- ★친 곳이 단편화와 관련
- protocol = 'L4 헤더가 뭐냐' 하는 내용이 주로 옴, 하지만 L3가 올 때도 있어
- next header
MTU
- MTU = 1,500byte 기본 제공
- MSS = MTU에서 IP header와 TCP header에 해당하는 20씩을 뺀 값
- TCP/IP packet = 40bytes
단편화 발생 시나리오
- PC와 Server는 MTU가 1,500인데 R 2번만 MTU가 1,400인 상황!
- PC가 서버랑 통신할 때 R #1 → R #2 → R #3 → Server
- 문제는 R #1 → R #2 로 Packet이 넘어갈 때 좋든 싫든 단편화 발생
그러면
- 1,500짜리를 Payload 부분 어느 곳을 댕강 자름
- IP, TCP, A까지는 그대로 copy
- IP헤더를 copy해 새로 IP헤더를 만들어 B를 가져온 것에 붙여줌
- 두 IP헤더는 ID값이 동일하다
- A는 데이터를 그대로 가져 온 것 이기 때문에 offset값이 0이다
- B는 앞 부분을 점프했기 때문에 offset값이 1,000이 될 수 있다
- 즉 2개의 패킷으로 분할된 것, offset값으로 재조립 할 수 있다
분할과 재조립
- 누군가는 재조립을 해야해
- 그 일은 (선택이긴 하지만) 기본적으로 수신측에서 하게 되어있다
- 조립해야해서 별로 안 좋아
- 단편화 안 나는 게 좋아
현대에는 단편화가 발생할까?
- 거의 안 남
- 세상이 더 크고 빠르게 발전했기 때문에
- 나는 경우는 (IPset) VPN
단편화가 안 나게 하려면?
- 중간에 MTU가 1500이 안 되는 애가 껴 있다는 것을 인지하지 못해서 일어나는 일
- 어떻게든 그것을 인지한다면
- endpoint 단말들이 하향평준화를 한다
- 1400으로 조정 → 패킷이 나갈 때 1400으로 나가, 단편화가 나지 않음
"그냥 두 개 보내지, MTU를 떨어트리면 성능이 떨어지는거 아니야?"
네트워크의 단위를 나타낼 때
1. bps
- bit per second
- 개수와 상관 없이 송수신 데이터의 양만 가지고 이야기
2. pps
- packet per second
- 패킷의 개수로 이야기를 함
- 같은 양이라도 여러 패킷으로 갈 수 있음
- pps를 떨어뜨리는 게 매우 중요 (성능 이야기 할 때)
- 단편화 = pps의 증가요인, 단편화는 어떻게든 안 나는 게 좋아
출처: https://youtu.be/JYBRE_eD7a8?si=KcmGkq6VWze6sKpE