
이 스위치 데이터시트"컷스루 대기 시간"이 300ns임을 지정합니다. "컷스루 대기 시간"이란 정확히 무엇을 의미합니까?
그것은:
- 패킷의 헤드 항목과 해당 패킷의 테일 종료 사이의 시간 차이는 무엇입니까?
- 패킷의 헤드 항목과 해당 패킷의 헤드 종료 사이의 시간 차이는 무엇입니까?
- 다른 것?
답변1
스위치에는 주로 두 가지 전달 전략을 사용할 수 있습니다.
- 프레임을 버퍼로 완전히 수신하고, 대상 주소를 평가하고, 버퍼에서 대상으로 프레임을 보냅니다.
- 프레임의 헤더를 버퍼로 수신하고, 대상 주소를 평가하고 전달 결정을 내리고, 데이터가 들어오면 대상으로 프레임 전송을 시작합니다.
첫 번째는 일반적으로 저장 및 전달(store-and-forward)이라고 하고 두 번째는 컷스루(cut-through)라고 합니다. 이미 언급했듯이 각 시나리오에는 "대기 시간"에 대한 많은 정의가 있을 수 있지만 이 두 가지 정의는 주로 사용되며 심지어는RFC 1242(섹션 3.8):
- 선입선출 대기 시간, 즉 특정 프레임의 첫 번째 바이트를 수신하고 보내는 사이의 시간
- 후입선출 대기 시간, 즉 마지막 프레임 바이트 수신과 첫 번째 프레임 바이트 전송 사이의 시간
RFC 2544 섹션 26.2에 암묵적으로 정의된 종단 간 대기 시간에 대한 최종 수신 방식 측정 방법도 있지만 공급업체의 데이터 시트에는 나타날 가능성이 거의 없습니다.
Juniper의 2012년 백서 제목은 다음과 같습니다."대기 시간: 모든 숫자가 동일하게 측정되는 것은 아닙니다"(이후 Juniper 사이트에서 제거되었으므로 타사에서만 사용 가능) 및 기타 여러 소스에서는 컷스루 대기 시간이 실제로 선입선출 대기 시간이라고 제안합니다.
몇 가지 숫자를 계산해 봅시다. 스위치가 전달 결정을 내릴 수 있으려면 최소한 이더넷 프레임의 대상 MAC 주소를 수신해야 합니다. 이더넷 헤더가 주어지면 이는 프레임의 처음 14바이트(112비트) 이상을 가져오는 것을 의미합니다.
초당 10^9비트의 속도에서 이는 112ns에 달하며, 300ns 대기 시간에서 전달 결정에 188ns가 남습니다.
따라서 FM4224의 기가비트 인터페이스의 경우 선입선출 대기 시간 측정을 가정하면 수치가 정상으로 보입니다. 그러나 분명히 Intel은 수치에 대해 고유한 정의를 선택할 수 있었습니다. 확실한 진술을 위해서는 충분히 정통한 담당자에게 문의해야 합니다.