메뉴 건너뛰기

Korea Oracle User Group

Network

Jumbo Frames

명품관 2018.11.13 17:47 조회 수 : 15619

Jumbo Frames

 

MTU(Maximum Transmission Unit)란?

Network Interface 나 Network Switch에서 Protocol layer를 통해 전달할 수 있는 최대 데이터 사이즈 단위를 이야기 한다. 디폴트 MTU 값은 1500 byte이다.

 

Ethernet frame의 크기는 1518 byte 이며 Ethernet header를 위한 14 byte와 Ethernet CRC를 위한 4 byte를 제외하면 protocol(TCP, UDP등)에서 1500 byte를 데이터 전송에 사용할 수 있다.

 

IPv4의 경우 TCP 프로토콜은 1460 byte를 UDP 프로토콜의 경우 1476 byte를 데이터 전송용으로 사용할 수 있다.

IPv6의 경우 TCP 프로토콜은 1440 byte를 UDP 프로토콜의 경우 1456 byte를 데이터 전송용으로 사용할 수 있다.(IPv4 보다 20 byte가 작게 된다)

오라클 RAC의 Private Network는 IPv6를 지원하지 않는다. 그리고 RAC의 경우 Private Network를 구성시 router나 switch를 통해 구성하므로 router나 switch 역시 Jumbo Frame을 지원해야 한다.

 

MTU 값이 1500일경우

데이터 블럭 8K를 다른 노드로 전송할 경우 8K 를 1500 byte로 나누게 되면 6개의 패킷으로 나누어 진다. 즉 전송할 노드에서 8K 데이터 블럭을 6개의 패킷으로 쪼개서 타켓 노드로 전송하게 되면 받은 노드에서는 6개의 패킷을 재조립하여 8K 데이터 블럭을 만들고 이를 어플리케이션에 전달하게 된다.

과다한 분해와 조립의 과정은 커널이 CPU를 과다하게 사용하게 끔한다.

 

Jumbo Frame란?

MTU 값이 1500 이상인 경우를 Jumbo Frame라고 한다. 표준은 없지만 대개의 경우 9000 byte로 설정하여 쓰고 있다.

Ethernet Frame는 9,018 byte 이다. 위에서 언급한 Ethernet Header와 Ethernet CRC를 포함한 Frame이 된다.

데이터 사이즈가 9,000이 될 경우 데이터 블럭 8K를 전송할 때 6패킷으로 분해할 필요가 없게 된다. 하나의 패킷으로 8K 데이터 블럭을 전송할 수 있기 때문이다.

 

Jumbo Frame 사용시 참고 사항

Jumbo Frame의 경우 대개 오라클 RAC의 Private Network 용으로 설정하곤 한다.

RAC의 경우 Private Network를 Jumbo Frame로 설정할 경우 모든 노드를 동일하게 설정해야 하며 스위치가 Jumbo Frame을 지원하는지 반드시 확인해야 한다.

만약 데이터 블럭의 크기를 16K 사이즈로 쓰고 있다면 9,000 byte 보다 큰 MTU를 설정하기 보다는 2개의 패킷으로 분해, 조립하는 것이 가능하다. 9,000 byte 보다 더 큰 MTU를 사용하려고 해도 대다수의 스위치와 커널이 이를 지원하지 않는 경우가 많다.

 

패킷 Dump 분석 예

 

 

 

 

번호 제목 글쓴이 날짜 조회 수
» Jumbo Frames 명품관 2018.11.13 15619
1 UDP 명품관 2016.10.13 484
위로