전이중 스위치에서 두 대의 컴퓨터가 동시에 세 번째 컴퓨터로 전송하면 어떻게됩니까?


14

다음 시나리오를 고려하십시오.

전이중 이더넷 스위치에서 PC3으로 동시에 전송하려는 2 개의 PC (PC1 및 PC2)가 있습니다. 모든 포트가 동일한 VLAN에 있다고 생각하면 스위치 내부에서 어떤 일이 발생합니까? 누가 PC3에 먼저 전송합니까?

CSMA / CD 가 사용 되기 전에 읽었 지만 반이중 방식으로 작동했던 이전 이더넷 버전에서만 사용되었으며 스위치의 각 포트는 충돌 도메인이었고 동시에 두 대의 컴퓨터가 전송을 시도한 경우 충돌 문제를 전송하고 해결하기 위해 각 컴퓨터에 임의의 시간을주기 위해 알고리즘이 실행되었습니다. 그러나 전이중 스위치에서는 충돌 가능성이 제거되어 2 대의 PC가 동시에 전송을 시도하면 스위치 내부에서 어떤 일이 발생합니까? 스위치는 누가 먼저 전송을 선택하는 알고리즘을 실행합니까?

답변:


14

스위치는 두 전송 시스템에서 들어오는 데이터 프레임을 버퍼로 완전히로드합니다. 후속 전달을 위해 큐에서 어떤 프레임이 첫 번째 프레임이 될지 결정하는 방법을 잘 모르겠습니다. 그러나 아마도 프레임 시작의 초기 수신 시간을 기반으로 할 것입니다. 그런 다음 스위치는 전송 버퍼 대기열을 통해 프레임을 대상 포트 / 세그먼트로 하나씩 전송합니다.

"서로 실행"되는 프레임에는 문제가 없습니다. 실제 문제는 궁극적 인 포트 / 세그먼트가 프레임을 충분히 빠르게 수용 할 수 있다는 것입니다. 물론 스위치는 버퍼 / 큐를 충분히 빠르게 처리 할 수 ​​있습니다.


9
예, 컷 스루 및 프래그먼트 프리 스위칭이 있습니다. 주로 고속 거래 환경에서 사용됩니다. 컷 스루는 DST MAC이 알려진 즉시 전송을 시작합니다. 프래그먼트 프리 프레임이 충돌 프래그먼트가 아니므로 전송하기 전에 64 바이트를 수신해야합니다.
Daniel Dib 2016 년

2
예, 저장 후 전달과 반대로 일부에서는 컷 스루 전달이라고합니다. 컷 스루 접근 방식에서는 스위치가 대상 MAC을 수신하고 검색하자마자 전달을 시작할 수 있지만, 조금 더 오래 기다리는 위치에 하이브리드 접근 방식이 존재합니다 (예 : IP를 통해 아웃 바운드 ACL을 확인할 수 있음) . (Ethertype 필드는 프레임에 IP 주소가 있는지 알려줍니다).
Gerben

1
^^^ 이것. 이것이 NE가 흔들리는 이유입니다.
크레이그 콘스탄틴

4
아무도 언급하지 않았으므로 컷 스루의 단점은 프레임 오류의 이상한 경우입니다. 컷 스루는 초기 프레임에서 대기 시간을 약간 줄이지 만 (프레임이 클수록 더 큰 영향을 미침) 풀 프레임을 수신하지 않고 FCS를 확인할 수 없기 때문에 프레임이 유효한지 여부에 관계없이 프레임을 전달합니다. . 저장 및 전달 스위치는 전체 프레임을 수신하고 전달하기 전에 FCS를 검사하여 유효하지 않은 프레임을 제거 할 수 있습니다.
YLearn

2
대부분의 스위치는 저장 및 전달 전용이며, 몇 년 전에 컷-스루가 재개되었습니다. 금융 세계에 판매하기 쉽기 때문입니다. 10G에서 저장 후 전달은 1.2us 대기 시간, 즉 235m을 발생시킵니다. 또한 컷 스루에서 입구 및 출구 속도가 다를 수 없습니다.
ytti

6

불행히도 정확한 해결책은 하드웨어마다 다르기 때문에 하나의 정답이없는 매우 흥미로운 질문입니다.

그러나이 문제는 231-232 페이지의 컴퓨터 네트워크-시스템 장치 에서 명시 적으로 설명됩니다 .

'Sunshine Switch'라고하는 디자인 솔루션의 요점은 다이어그램 입력-배처-트랩-선택기 == 반얀 === 출력이 있고 선택기를 배치기에 연결하는 지연 상자가 있다는 것입니다. 그리고 나는 인용한다 :

동일한 사이클에서 1 개 이상의 반얀 패킷이 단일 출력으로 향하는 경우, 지연 박스를 통해 재순환되고 다음 사이클에서 스위치로 다시 제출된다.

그리고 더 :

트랩 네트워크는 반얀 (출력 포트 당 최대 1 개)을 통해 스위치를 종료 할 수있는 패킷을 식별하고 재순환을위한 나머지를 표시합니다.


3

스위치에서 특별한 작업을 수행하지 않는 한, 두 컴퓨터가 세 번째 컴퓨터로 전송하는 경우에는 항상 약간의 차이가 있습니다.


1
PC [23]가 자체 와이어에 있기 때문에 HW가 실행중인 '순간'(주파수)의 정밀도를 위해 정확히 동시에 도착할 수있는 프레임은 없습니다. ASIC 설계자는 스위치를 통해 이 경우에 할 수 있지만 라운드 로빈 방식으로 포트의 프레임을 읽습니다.
ytti

2
좋은 점은 두 프레임이 정확히 같은 시간에 도착할 확률 이 매우 낮다 는 것을 의미했습니다 . 언급했듯이 ASIC 디자인에 속할 것이므로 계정 팀과 함께 일련의 후프를 뛰어 넘지 않으면 어디서나 문서화되지 않을 것이라고 확신합니다.
David

다른 모든 것이 평등하다고 가정하면 첫 승리를 방해하는 사람.
generalnetworkerror 2018 년

0

충돌없이 스위치에 들어갈 때 한 번에 하나의 패킷을 전환합니다. 그런 다음 PC3은 PC1 및 PC2의 패킷을 처리하여 CPU 시간을 나눕니다. 윈도 잉 및 버퍼링은 통신 흐름을 제어합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.