728x90



스위치가 하는 기능은 허브와는 달리 주소인식 기능이 있어서 스위치가 스위칭테이블이라고 하는 주소테이블(FDB)을 참조하여 입력되는 패킷의 MAC주소를 보고서 해당되는 포트로 패킷을 전송한다.

Mac Table에 등록가능한 Mac 주소의 갯수는 스위치의 메모리양에 따르며 스위치에 따라 수천에서 수십만개까지 가능하다.

그럼 이제 한번 살펴보도록 하자.



위 그림은 이더넷 프레임의 구조를 나타낸 것이다



단말에서 패킷이 스위치의 특정포트로 입력되면

  • 각 수신 Frame의 Destination Address를 검사한다.
  • Address Mapping Table을 참조하여 Output port 를 결정한다.
    • Switching장비는 MAC FDB(Forwarding Database)을 통하여 Port별 접속된 MAC 정보를 유지한다.
    • MAC FDB의 Entry정보는 MAC Address, Port Number으로 이루어진다.
    • MAC FDB의 Entry는 MAC의 대상인 Node의 이전 등을 고려한 Aging Time이 설정되어 있다. 따라서 Aging Time이 초과되면 그 Entry는 삭제 된다.
    • Destination MAC이 FDB에 존재하지 않을 경우는 입력된 포트를 제외한 나머지 모든 포트로 해당 Frame을 Copy하여 전송(Flooding)한다.
  • Output port가 전송 가능하면, 이 Frame을 전송한다.
    • 즉, Frame 전체가 수신되기 전에 Destination Address만을 보고 판단하여 곧바로 전송할 수가 있다. (Cut-through)
    • 만약, Output port가 전송 가능하지 않으면, 이를 내부 Buffer에 저장하였다가 Output port가 전송 가능할 때 전송한다. (Store & Forward)
  • 그런데, Destination MAC이 스위치의 어떤 포트에 있는지 모를경우에는 입력되는 포트를 제외한 모든 스위치포트로 그 프레임을 보내버린다(Unknown Unicast)

여기서 잠깐 살펴 보자.

스위치가 주소테이블 정보를 어떻게 만들까?

이 부분은 브릿지의 동작개념을 읽어보시기 바란다.

스위치의 하나의 포트에 사용할 수 있는 MAC주소를 제한할 경우 어떤 점을 고려해야 되는지??

스위치에서 하나의 포트에 사용할 수 있는 단말(PC)를 한정하기 위하여 MAC주소를 1개로 설정할 경우에 스위치 -- 허브 -- 단말로 연결되는 구조에서 어떤 문제가 생길까?

Mac주소 제한기능을 사용하기 위해 link down이 되었을때 Mac Table의 Mac 주소를 삭제하는 방식을 채택한다. 즉, 단말 A가 네트웍에 접속하여 사용중이다가 단말 B를 접속하고자 한다면 단말 A에 접속된 RJ-45 케이블을 제거한후 (이때, Mac Table에서 A가 삭제됨) 다시 RJ-45 케이블을 단말 B에 접속하면 정상동작한다.
그리고 스위칭허브에 허브를 연결하여 두대의 단말이 접속된 경우에도 최초로 접속된 단말만 인식되도록 MAC주소를 1개만 인식되도록 제한을 걸어두었다면 두번째 단말이 최초 트래픽을 보내면 이미 Mac Table에 등록된 Mac Address가 있으므로 해당 프레임을 drop 한다.
여기서 주의할 사항이 스위치 사이에 Hub등을 이용하여 PC 2대를 번갈아 가면서 사용시 두번째 단말이 접속이 안되는 현상이 발생한다. 이유는?? 스위치에서는 link down이 아니므로 단말 A 의 Mac Address 는 여전히 Mac Table에 등록되어 있기 때문이다

 

 

블로그 이미지

Link2Me

,