Network

[Network] L2 Network CSMA/CD & Switch

lim.dev 2024. 4. 2. 22:14

CSMA/CD

CSMA/CD는 Carrier Sense Multiple Access/Collision Detection의 약자로, 이더넷 환경에서 사용하는 LAN 통신 프로토콜입니다.

유선 이더넷 LAN 환경에서 통신을 하는 경우 다음과 같이 동작합니다.

  1. 수신기기(PC, 서버 등)가 현재 네트워크 상에 통신이 일어나는지 확인 (캐리어가 있는지 검사/Carrier Sense)
  2. 캐리어가 있으면 기다림 (Carrier: 네트워크 상에 나타나는 신호)
  3. 캐리어가 없으면 데이터를 데이터를 보냄
    • 만약 캐리어가 감지되지 않았을 때, 동시에 두 PC가 데이터를 보내면(Multiple Access) 충돌(Collision)이 발생
      • 충돌 발생 시, 충돌 신호(Jam Signal)을 보내고 전송 중지
      • 각각의 PC는 랜덤한 시간 동안 대기(Backoff) 후 다시 데이터를 전송
      • 충돌이 연속으로 15번 일어나면 통신 종료

CSMA/CD 프로토콜은 버스형 토폴로지나 Hub (스위치 허브가 아닌 오리지널 허브)로 구성된 경우 사용됩니다.

 

Switch/Hub/Switch Hub

Switch/Switch Hub와 Hub의 차이

Hub는 모든 인터페이스에 대해 단 하나의 Collision Domain을 갖습니다. 반면에 Switch와 Switch Hub는 각 인터페이스에 대해 제각각의 Collision Domain을 갖습니다.

 

Switch와 Switch Hub의 차이

Switch와 Switch Hub는 둘 다 Collision Domain을 나누지만, 아래와 같은 차이가 있습니다.

Switch Hub
MAC 주소 기반 MAC 주소 기반
MAC 테이블 생성 (유니캐스트) MAC 테이블 생성 안함 (Flooding 수행 - 브로드캐스트)

 

Switch는 유니캐스트 통신을 하기 때문에 Broadcast통신(Mac table을 만들지 않기 때문에 항상 Flooding 수행)을 하는 Switch Hub에 비해 효율적이지만, 훨씬 비싸다는 문제가 있습니다.

 

Symmetric/Asymmetric Switching

  • Symmetric Switch: 동일한 대역폭을 가진 Port 사이에 Switched Connection
  • Asymmetric Switch: 다른 대역폭을 가진 Port 사이에 Switched Connection

Asymmetric switch는 병목 현상이 생길 수 밖에 없습니다.

서버의 스위치 포트에 병목 현상을 막기 위해 Memory Buffering을 실시하여 다수의 Client가 동시에 서버와 통신할 경우 Traffic의 흐름을 원할하게 합니다.

LAN Segmenting

Segment 사이의 traffic을 분리하여 작은 충돌 영역(Collision Domain)을 생성하는 방법입니다. LAN Segmenting은 원활한 L2를 구현하기 위해 하며, Switch/Bridge/Router가 지원합니다.

Switch/Bridge와 Router의 차이

Switch와 Bridge, Router는 모두 Collision Domain을 분리하여 traffic을 감소시킵니다. 하지만 Broadcast 영역(Domain)을 분리할 수 있는 장비는 Router가 유일합니다.

라우터는 Broadcast Traffic을 전파하지 않으며, 포트를 통해 물리적으로 Broadcast Domain을 분리합니다.

 

Aging Time

Aging time은 스위치가 맥 주소를 가지고 있는 시간을 뜻하며, default는 300s입니다. Switch는 MAC-Address를 Memory에 저장하기 때문에 MAC-Table이 크면 Memory 낭비로 성능이 저하됩니다. 또한 MAC-Table이 커질수록 검색하는 시간이 증가하는 문제도 있습니다. 이러한 성능 저하를 해결하기 위해 일정 시간 참조되지 않는 MAC-Address는 제거하는데 이때 기준이 되는 시간이 Aging Time 입니다.

Aging Time Out 주기를 너무 짧게 하면, Flooding이 자주 발생하고, 너무 길게 하면 Mac Table의 Size가 증가하기 때문에 잘 설정해주어야 합니다. (보통은 default 그대로 사용)

MAC-Table 확인

위와 같은 토폴로지에서 PC B→ PC C로 핑을 보내면, Switch에 B와 C의 MAC 주소가 저장됩니다.

 

하지만 일정 시간이 지난 후에는 다음과 같이 MAC-Table이 사라지는 것을 알 수 있습니다.