Jumbo Frame 사용하기
Jumbo Frame 을 테스트 후 도입 하기로 처음 부터 마음 먹었으나 스위치 장비가 지원되지 않아
테스트를 하지 못하다 뜻하지 않게 스위치를 교체 하여 테스트를 하였다.
근데 알아야 면장을 한다고 Jumbo Frame 무언가 좀 알아 보자.
Jumbo Frame :
현재 인터넷에서 데이터가 전송될때는 기본적으로는 한번에 최대 1500바이트까지 전송된다(몇몇 장비는 1492바이트) .
이를 MTU(Maximum Transmission Unit)가 1500바이트 라고 말한다.
즉 이야기를 하자면 1GB파일을 전송 받을때도 실제로는 1500바이트씩 쪼개져서 전송된다는 뜻이다.
1GB짜리를 1500바이트씩 잘게 쪼개는 것보다 좀 더 크게 쪼개어 전송하게 되면 전송시 기존보다 더 빠르게 전송될수 있다.
물론 개인 적인 견해지만 큰 파일의 전송시에 더 욱더 향상되는 것을 체감 할수 있다.
이러한 이유로 나온게 점보 프레임(Jumbo Frame)이다.
점보 프레임을 사용하려면 확인 하여야 할 사항은 [허브]와 [NIC]에서 모두 지원해야 한다. 그리고 MTU가 얼마까지 지원하는지 확인 하여야 한다. 또한 점보 프레임을 사용하여 파일전송시 속도가 향상된다고 하여 무조건 좋다고 생각하면 안된다.
주의 하여야 할 것은 Swich-NIC의 점보 프레임 값을 적당히 맞추어 주어야 한다. 서로의 점보 프레임 셋이 틀리다면 낮은 점보프레임 값을 통해 통신을 하게된다. 그러나 Swich 점보 프레임 최대값을 넘는 NIC 점보 프레임 값은 사용할수 없다. 점보 프레임은 어떻게 보면 단지 쪼개는 횟수를 줄인것이다. 바꿔말하면 금방 쪼개는 경우(즉 CPU가 좋은 경우)에는 속도 향상이 눈에 보이지 않을 것이다. 점보 프레임이 처음 나온 때가 2000년대 초반이라는걸 생각해야 한다. 요즘 나오는 CPU를 사용할 때는 점보프레임으로 인한 성능 향상이 미미하다. 10Gbps정도는 되어야 성능차이가 보인다.
자... 여기 까지 알아 보았으면 이제 적용을 해보자.
흠... 이번에 사용할 스위치인 3com 3824 지원 값을 문서에서 찾아보니 다음과 같이 적혀 있다.
Jumbo Frame Jumbo frames are Ethernet frames which have a maximum frame-size
of 9018 bytes (9022 bytes if VLAN tagged) compared to a conventional
Ethernet frame of 1518 bytes (1522 bytes if VLAN tagged). Since each
frame-header can carry a larger payload, jumbo frames can increase the
efficiency of an Ethernet network.
흠.... 9018 이 값이 맥시멈 값이라는데 콘솔로 접속하여 설정을 완료 하였다.
다음 단계로는 시스템에서 설정만 하면 끝이다.
CentOS 주로 사용하니 CentOS 만 적겠다.
#ifconfig eth0 mtu 9000 up
으로 설정 하면된다. 이 방법은 1회용 방법이다.
그러므로 vi /etc/sysconfig/network-script/ifcfg-eth0
파일을 열어 다음 내용을 추가 한다.
MTU=9000
추가 후 저장 종료한다.
그리고 네트워크 서비스를 재기동 하면 끝난다.
설정 값이 적용 된 것을 확인 하는 방법은
#ifconfig eth0
정보에서 MTU 값을 확인 하면 된다.
추가로 네트워크 서비스의 재기동이나 ifconfig를 사용하여 점보 프레임 값을 변경할때
SIOCSIFMTU: Invalid ... 라는 메시지를 받는다면 해당 프레임 값이 NIC 지원
프레임 값을 넘어선 것이라 보면 맞는다. 물론 이런 메세지를 받는것은 NIC 최대의 프레임 값을
못찾아서 일일이 찾아 봐야 하기 때문이다.
직접 프레임 값이 적용 되어 사용 되는 것을 확인 하는 방법은
이더리얼(와이어 샤크)를 이용하여 패킷을 확인 하는 방법인데 내가 사용한 방법은 다음과 같다.
이더리얼을 사용하는 업무용 컴퓨터에 인스톨한다.
그리고 점보 프레임 설정이 된 시스템에서 패킷을 덤프를 뜬다.
#tcpdump -i eth0 -w dump.cap
명령을 사용하여 덤프를 만든 후 업무용 컴퓨터로 가져와
이더리얼에서 오픈 하여 확인 하였다.
확인 할 부분은 TCP 에서 SYN 또는 SYN, ACK 라인을 에보면 MSS 값이 있다.
이 값이 점보 프레임 값이므로 확인하면 된다.
추후 다시 점보 프레임을 테스트 하여야 한다. 이유는 싱글 닉에서 점보 프레임에서 성능이 기대 이하이기 때문이다.
고로 넥스트 미션은 점보 프레임 + 본딩(A/A) 구성이다.
지금은 본딩 지원되는 스위치가 없다. ㅜㅜ