14장. 이더넷 네트워크의 흐름 제어
이더넷 링크에서 연속 데이터 전송은 버퍼를 채우고 네트워크 정체를 유발할 수 있습니다. 발신자의 속도가 수신자의 처리 용량을 초과하면 스위치 포트의 데이터 처리 용량으로 인해 패킷 손실이 발생할 수 있습니다.
흐름 제어 메커니즘은 각 발신자와 수신자가 다른 전송 및 수신 용량을 갖는 이더넷 링크를 통한 데이터 전송을 관리합니다. 패킷 손실을 방지하기 위해 이더넷 흐름 제어 메커니즘은 스위치 포트에서 더 높은 전송 속도를 관리하기 위해 패킷 전송을 일시적으로 중단합니다. 스위치는 스위치 포트 이외의 일시 중지 프레임을 전달하지 않습니다.
수신(RX) 버퍼가 가득 차면 수신자는 일시 중지 프레임을 송신기에 보냅니다. 그런 다음 송신기는 이 일시 중지 기간 동안 들어오는 데이터를 버퍼링하는 동안 짧은 하위 시간 프레임에 대한 데이터 전송을 중지합니다. 이 기간은 수신자가 해당 인터페이스 버퍼를 비우고 버퍼 오버플로를 방지할 수 있는 충분한 시간을 제공합니다.
이더넷 링크의 끝은 일시 중지 프레임을 다른 끝으로 보낼 수 있습니다. 네트워크 인터페이스의 수신 버퍼가 가득 차면 네트워크 인터페이스에서 일시 중지 프레임을 스위치 포트로 보냅니다. 마찬가지로, 스위치 포트의 수신 버퍼가 가득 차면 스위치 포트는 일시 중지 프레임을 네트워크 인터페이스로 보냅니다.
기본적으로 Red Hat Enterprise Linux의 대부분의 네트워크 드라이버에는 일시 중지 프레임 지원이 활성화되어 있습니다. 네트워크 인터페이스의 현재 설정을 표시하려면 다음을 입력합니다.
# ethtool --show-pause enp1s0
Pause parameters for enp1s0:
...
RX: on
TX: on
...
스위치 공급 업체에 문의하여 스위치가 일시 중지 프레임을 지원하는지 확인합니다.