이전 포스팅에서 오늘날 이더넷은 star topology의 구조를 띄고 있고, 가운데에는 Switch가 존재하는 것을 보았습니다.
여기서 Switch는 host들을 연결하며 충돌이 발생할 수 있는 영역을 분리시키는 역할을 수행합니다. 이번 포스팅은 스위치에 대해 살펴보겠습니다.
Switch
스위치는 링크 계층에 속하는 장치입니다. 이더넷 상의 frame을 저장하다가 충돌이 발생하지 않으면 forward 하는 방식입니다. Collision Domain을 분리시키는 역할을 하는 것입니다.
Switch는 라우터와 역할이 비슷한데, 라우터는 3계층인 네트워크 계층에 속하는 장치입니다. 반면 Switch는 단순히 host들을 연결하는 것이라 MAC 주소만 보고 어디로 갈지 forward 해주는 것임으로 자체적인 MAC 주소도 존재하지 않습니다.
보통 내부망 하나를 구성할 때에는 이더넷 스위치로 구성합니다. 그리고 Host들은 이 스위치의 존재를 인식하지 못합니다. 따라서 원래 하던 방식대로 CSMA/CD 방식을 통해 접근하게 됩니다.
만약 위의 그림과 같은 상황이 있다고 생각해보겠습니다. Switch는 frame을 받으면, MAC 주소에 따라 알맞은 port로 frame을 전송하는 역할을 수행합니다. 위의 그림은 1개의 switch, 6개의 host가 존재하는 상황인데, switch에는 buffer가 있기 때문에 frame을 받으면 buffer에 저장하고 충돌이 발생하지 않도록 6명 host의 frame을 전달해줍니다.
Switch가 이러한 동작이 가능한 이유는 Switch Table을 가지고 있기 때문입니다. Switch Table을 통해 dest mac주소를 보고 outport를 알아내게 됩니다.
라우터에도 비슷하게 Forwarding table가 있어 이것을 Routing Algorithm을 통해 최적 경로를 채웠습니다. 반면 Switch는 Self-learning이라는 방식으로 Table을 채워나갑니다.
Switch Self-learning
Self learning은 단어 그대로 자가 학습입니다. 스위치는 별도로 네트워크 관리자가 작업하는 것이 아닌, 스스로 학습해서 frame이 들어오면 어디로 갈지 스스로 정할 수 있습니다. 이 방식을 통해 Switch는 host의 MAC주소를 Switch table에 저장하게 됩니다.
다시 위와 같은 상황을 보겠습니다. A가 A'에게 프레임을 보내는 상황입니다. Switch가 frame을 확인해 sender의 위치를 확인합니다. 지금은 A가 1번 port인 것을 확인하고 아래처럼 Switch Table에 저장한 것입니다.
이제 스위치는 도착지인 A'의 정보를 알아야합니다. 그래서 Switch는 모든 host에게 이 frame을 broadcast 방식으로 전송하게 됩니다. 그럼 해당하는 4번 포트가 응답을 하고, 스위치는 응답을 받아 A'의 위치를 4번으로 Switch Table에 저장하게 됩니다.
여러 개의 스위치가 연결되어 있는 상황에서도 위와 비슷한 원리를 따릅니다.
Switch들이 연결되어 있는 상황에서는, 스위치가 서로 서로 학습합니다.
만약 A에서 G로 데이터를 보낸다고 가정해보면, 스위치 S1 > S4 > S3를 거쳐야 합니다. 그럼 S1, S4, S3 스위치들은 어디로 보내야 할지 각자 self learning을 합니다.
Boardcast 방식을 사용해 A > S1 > S4 > S3 > G로 연결되는 경로를 찾게 되고, A에 대한 정보를 먼저 self learning하고 다시 G에서 A로 돌아오며 G에 대한 self learning을 수행합니다.
Switch vs Router
스위치와 라우터는 둘 다 table에 경로를 저장하고 forward 하는 공통점이 있습니다.
하지만 라우터는 라우팅 알고리즘을 사용해 table에 경로를 저장하는 것이고, IP주소를 목표로 network 계층에서 사용되는 방식입니다.
반면, 스위치는 Self-learning을 통해 table에 경로를 저장하고, MAC주소를 목표로 링크 계층에서 사용되는 것입니다.
참고자료
[컴퓨터 네트워크 - 한양대학교 이석복 교수님]
http://www.kocw.net/home/cview.do?cid=6166c077e545b736
https://the-square-of-y.tistory.com/222
https://blog.naver.com/ds4ouj/222354149992
https://inyongs.tistory.com/80
Computer Networking _ A Top Down Approach, 7th
'CS > Network' 카테고리의 다른 글
[네트워크] 무선이동 네트워크 (2) - CSMA/CA (0) | 2024.03.01 |
---|---|
[네트워크] 무선이동 네트워크 (1) - Wireless Network 소개와 IEEE 802.11 LAN (0) | 2024.02.28 |
[네트워크] ARP Protocol (0) | 2024.02.27 |
[네트워크] 데이터 링크 계층 : Ethernet (이더넷) (0) | 2024.02.26 |
[네트워크] 데이터 링크 계층 : MAC Protocol (0) | 2024.02.26 |