8장. 네트워킹
Red Hat Enterprise Linux 6.2에서는 멀티 메시지 send
시스템 호출이 소개되고 있습니다. 이는 Red Hat Enterprise Linux 6에 있는 기존 recvmmsg
시스템 호출의 send
버전입니다.
sendmmsg
소켓 API는 다음과 유사합니다:
struct mmsghdr { struct msghdr msg_hdr; unsigned msg_len; }; ssize_t sendmmsg(int socket, struct mmsghdr *datagrams, int vlen, int flags);
Red Hat Enterprise Linux 6.2에는 멀티큐 (multiqueue) 장치의 XPS (Transmit Packet Steering)가 포함되어 있습니다. XPS는 패킷 전송에 관한 프로세서를 대상으로 하여 멀티큐 장치의 네트워크 패킷을 보다 효율적으로 전송하는 방법을 소개합니다. XPS는 설정에 따라 패킷 전송에 대해 전송 큐를 선택할 수 있습니다. 이는 수신 큐 기반 프로세서 선택을 허용하는 Red Hat Enterprise Linux 6.1에서 구현된 수신 기능과 비슷합니다 (RPS). XPS는 20%에서 30% 까지 처리량이 개선되었습니다.
이전에 브리지는 모든 포트의 미등록 그룹으로 패킷을 플러딩했습니다. 하지만 이 동작은 미등록 그룹으로의 트래픽이 항상 존재하는 환경에서는 바람직하지 않습니다. Red Hat Enterprise Linux 6.2에서 트래픽은 라우터로 표시된 포트에 등록되지 않은 그룹으로만 전송됩니다. 강제로 주어진 포트에 플러딩하려면 해당 포트를 라우터로 표시합니다.
Red Hat Enterprise Linux 6.2에서는 SCTP 멀티홈—여러 IP 주소 하에서 도달 가능한 노드 (즉, 멀티홈 노드)의 기능에 대한 지원이 추가되었습니다.
Red Hat Enterprise Linux 6.2에서는 UDP 패킷 드롭 이벤트에 대해 추적 지점이 더 추가되었습니다. 이러한 추적 지점은 UDP 패킷이 드롭되는 이유를 분석하는 방법을 제공합니다.
커널에 IPSet 기능이 추가되어 여러 IP 주소 또는 포트 번호를 저장합니다. 또한 iptables를 통해 이를 수집 정보와 일치시킵니다.
초기 TCP 수신 윈도우의 기본값은 4kB에서 15kB로 증가했습니다. 이로 인한 장점은 어떠한 데이터 (15 kB > 페이로드 > 4 kB)도 초기 창에 적합하게 되었습니다. 4kB 설정 (IW3)으로 4kB 이상의 페이로드는 여러 전송으로 분할해야 합니다.
Red Hat Enterprise Linux 6.2에서 초기 TCP 혼잡 윈도우의 기본값은 RFC 5681에 따라 10
으로 설정되어 있습니다. 또한 TCP 및 CCID-2로 공통의 초기 창 코드가 통합되었습니다.
IPv6의 전송 경로에 대한 GSO (Generic Segmentation Offload) 지원이 추가되어 GSO를 사용하는 경우 호스트/게스트 통신 성능이 향상되었습니다.
vios-proxy는 가상 게스트에 있는 클라이언트와 하이퍼바이저 (Hypervisor) 호스트에 있는 서버 간의 연결을 제공하는 스트림 소켓 프록시입니다. virtio-serial 링크를 통해 통신이 이루어집니다. 이 기능은 Red Hat Enterprise Linux 6.2에서 기술 프리뷰로 소개되고 있습니다.