Cut-through fragment -free 동작 방식
스위치가 한 대가 있고 스위치에 포트가 2개가 있다고 가정해 보겠습니다.
이 스위치에 control plane, data plane 영역이 분리가 되어 있을 것입니다.
control plane 영역에서 당연히 process, memory 영역이 존재할 것입니다.
data plane에는 포트마다 ASIC card가 존재할 것이고 중앙에는 forwarding hardware인 CAM table이 위치하고 있습니다.
이 경우 외부에서 frame이 들어오면 처음 ASIC카드에서 제일 먼저 하는 것은 들어온 frame의 destination mac adress를 16bit 혹은 17bit로 hash를 시킵니다.
그 이유는 table에서 destination mac address와 table을 비교해서 forwarding을 한다고 하면 48bit를 매치 시켜서 비교를 해야 하는데 48bit를 체크하는 것보다 16bit 혹은 17bit로 hash를 해서 hash된 정보만 비교를 하면 돼서 훨씬 빠르기 때문입니다.
들어온 frame의 destination mac address는 어떤 장비는 16 bit로 어떤 방비는 17bit로 hash를 하게 됩니다. hash를 함과 동시에 frame의 64bytes 정보를 control plane에 넘겨줍니다.
그 이유는 해당 frame이 64bytes보다 작은 frame 인지 아닌지 체크함과 동시에 collision이 발생했는지 확인할 수 있기 때문입니다.
또한 64bytes 안에는 layer2, layer3, layer4 header가 포함되어 있으므로 layer3 header만 보더라도 data 양을 볼 수 있으므로 traffic이 얼마나 되는지 확인도 가능합니다.
layer2 header에는 source MAC address가 있기 때문에 process가 source MAC address를 가지고 MAC address table을 만들 수 있게 됩니다.
ASIC은 CAM table에서 16bit 혹은 17bit로 hash 한 값하고 동일한 값이 있는지 확인합니다. 동일한 값이 있다면 해당 포트로 forwarding을 하고 동일한 값이 없다면 나머지 포트로 flooding을 합니다.
CAM table은 process에서 source MAC address를 가지고 MAC address table을 만들면 그 table을 16bit 혹은 17bit로 hash를 해서 그 hash된 데이터 값을 CAM table에 넣어줍니다.
process가 MAC address table을 만들기는 하지만 실제로 forwarding을 하는 입장에서 보면 frame이 들어온 후 ASIC card가 destination mac address hash를 하고 그 정보를 CAM table과 비교를 해서 forwarding을 하기 때문에 destination mac adress만 보고 forwarding을 하는 것과 동일하다고 볼 수 있습니다. 따라서 forwarding 하는 영역에서는 cut-thorugh 방식으로 동작을 하고 있습니다.
control plane 영역에서는 64bit 정보를 받아서 런트 프레임인지 아닌지 확인을 하고 collision이 발생했는지 안 했는지 확인을 하고 mac adress table을 만들고 64 bytes 정보를 보니 fragment-free 방식을 사용하고 있는 것입니다.
'IT-Network' 카테고리의 다른 글
[OSI 7 Layer] Layer2 - Native VLAN 필요성 및 동작 원리 (0) | 2022.10.26 |
---|---|
[OSI 7 Layer] Layer2 - VLAN Trunk 동작 (0) | 2022.10.25 |
[OSI 7 Layer] Layer2 - VLAN 이란 (2) | 2022.10.24 |
[OSI 7 Layer] Layer2 - switch 4대 기능 (0) | 2022.10.21 |
[OSI 7 Layer] Layer2 - switch 동작 원리(Switching 방식의 종류) (1) | 2022.10.21 |
댓글