범냉이
가입: 2006년 9월 19일 올린 글: 44
|
올려짐: 2015.2.05 목, 5:50 pm 주제: EC2 - jumbo frame(MTU) : 예기치 않은 패킷 손실 |
|
|
EC2 의 특정 타입의 경우 MTU 가 1500이 아니고 9001인거 아시나요?
| 인용: | | The maximum transmission unit (MTU) for an instance depends on its instance type. The following instance types provide 9001 MTU (jumbo frames): CC2, C3, C4, R3, CG1, CR1, G2, HS1, HI1, I2, T2, and M3. The other instance types provide 1500 MTU (Ethernet v2 frames). |
Instance Type : CC2, C3, C4, R3, CG1, CR1, G2, HS1, HI1, I2, T2, and M3.
은 사용자가 인지 못하하지 못한 상황에서 MTU가 9001로 자동 세팅 됩니다. 이 경우에 커다란 문제는 없습니다만, Network Blackhole 에 빠질 염려가 있습니다.
network path 상의 MTU 사이즈는 source, destination 사이의 network path 상의 사이즈를 확인해서 결정이 됩니다. 이것을 PMTUD 라고 하는데요. Network Path 상의 특정 장비에서 이를 지원하지 않을때(ICMP) 발생합니다.
(자세한 것은 아래 링크를...)
http://en.wikipedia.org/wiki/Black_hole_(networking)#PMTUD_black_holes
이를 회피하기 위해서 jumbo frame(MTU 9001) 설정시 'tcp_mtu_probing' 를 세팅합니다. 위와 같이 ICMP를 지원하지 않아서 Black Hole 이 발생하였을때 보다 작은 Packet size로 시도하는 것입니다.
# man tcp 옵션을 보면 아래 처럼 나옵니다.
| 인용: |
0 Disabled
: 안 사용한다.
1 Disabled by default, enabled when an ICMP black hole detected
: black hole detected 가 확인 되었을때 enable 되는것이죠.
2 Always enabled, use initial MSS of tcp_base_mss.
: 항시 enable 로 tcp_base_mss 를 따르는 것입니다.
|
기본 값은 0(disable) 이라고 하네요. 물론, 아마존도 이 값이 0(disable) 되어 있습니다. 이거 해줘야하는거 아닌지 문의 했더니 특별히 해 줄 필요 없고, 문제시 설정하면 된다고 하네요. 미리 해 놓는게 좋지 않을까요?
거두절미하고, 혹 예기치 않은 Packet 손실이 발생하면 이 부분도 고려해 보세요. MTU 를 확인하고, 1500으로 바꾸고 보는거죠. ㅎㅎ
그럼, 위 내용 보시다가 궁금하신 점 있으면 글 남겨 주세요. 답변 달아 드리겠습니다.
감사 합니다.  |
|