본문 바로가기

ComputerScience/Network

컴퓨터통신 - 19. 브리지

728x90

1. 브리지(bridge),  LAN 스위칭

- LAN이 물리적 거리의 한계가 있고 노드가 많이 추가될수록 성능이 떨어지는 단점이 있었다.

- 그래서 두개 또는 그 이상의 LAN들을 repeater나 bridge를 이용해서 연결했다고 했다.

- 브리지로 연결된 LAN 집합을 extended LAN이라고 한다.

- 리피터는 신호에서 데이터를 뽑아서 다시 신호로 만들어 보내는 1계층 동작이라고 했다.

- 만약 station 1에서 station 10으로 패킷을 보낸다고 하면 bridge를 탈 필요가 없으니 LAN B에서 11~20끼리는 자유롭게 패킷을 주고 받을 수 있도록 repeater기능을 끄고 두 링크를 분리해도 된다. 

- 이 동작을 filtering이라고 한다.

- filtering을 하려면 주소를 확인해야 하기 때문에 2계층에서 이루어진다.

- 이렇게 두 링크를 분리했다가 다시 2번에서 12로 보내는 신호가 생겼다면 두 링크를 다시 동기화해야 한다. station2에서 cs로 링크가 비어있음을 확인해서 신호를 보냈는데 station 11에서 station 20으로 길게 신호를 보내고 있었다면? bridge에서 station2의 신호를 buffer에 저장했다가 다시 MAC으로 LAN B로 진입을 시도할 수 있게 한다.

- 따라서 브리지의 동작도 결국은 store and forward이다.

- 언뜻보면 라우터아닌가? 할 수 있지만 3계층 동작을 수행하는 라우터와는 엄연히 다르다.

- 브리지로 계속 링크를 쪼개서 링크당 하나의 노드만 있도록 연결하면 완벽한 스위치가 된다.

- 결국 여러개의 포트를 가지는 브리지를 LAN 스위치라고 한다.

- 브리지는 네트워크 주소를 갖지 않으며 오직 목적지 주소를 확인만 하기 때문에 계층2 연결이다. (라우터와의 차이)

- 아예 헤더에 손도 대지 않고 확인만 한다. 

- A에서 바로 스위치로 오는지 A에서 브리지B를 거쳐 스위치로 오는지 스위치는 브리지를 거쳤는지 알수가 없다. (브리지의 invisible)

- 즉 브리지를 링크처럼 인식하는 것이다.

- 그래서 브리지는 2계층 연결을 그대로 유지한다.

- 브리지는 filtering을 위해 주소를 본다. 따라서 frame을 수신하고 매체접근을 위해 MAC도 있다.

- 왼쪽 노드의 PHY와 브리치의 왼쪽 PHY는 서로 peer이고 우측 station의 PHY와 브리지의 오른쪽 PHY는 peer이다.

- bridge내의 왼쪽 오른쪽 PHY는 서로 peer관계가 아니기 때문에(왼쪽 PHY -> MAC -> 우측PHY로 올라갔다 내려오기 때문) 왼쪽 LAN을 10mbps 우측 LAN을 100mbps를 써도 무관하다.

- 하지만 왼쪽 노드, 우측 노드, 브리지의 MAC은 반드시 같아야 한다.

2. 러닝 브리지(learning bridge)

- 자 그럼 불필요할 때 포워드를 하지 않도록 구현하는 방법을 알아보자.

- 호스트의 2계층 MAC주소와 포트를 테이블로 관리한다

- A에서 B로 패킷을 보내면 브리지도 당연히 수신은 한다. A가 보낸 신호를 1번 포트에서 받게되면 즉 A는 1번 포트에 있음을 알 수 있다.

- 이렇게 발신지 주소에 기초해서 테이블의 엔트리를 작성한다.

- 이렇게 학습을 하고 나면 A가 B로 보낼때 아래로 내려갈 필요가 없으니 차단을 하게 된다.

- 반대로 A가 Y로 보낸다고하면 엔트리를 확인해서 forwarding을 수행한다.

- 브리지를 껏다가 켜서 테이블이 비어있는 상황이라면 A에서 C로 보내는 신호를 브리지가 인식했을 때는 filtering에 대한 근거가 없을 것이다. 이럴때는 그냥 forwarding을 한다.

- 나중에 알고보니 D가 위에 있었다고 하더라도 상관이 없다. 브리지는 성능 개선이 목적이지 꼭 완벽해야할 필요는 없다.

- 이렇게 완벽하게 복잡하고 strong하게 table을 관리하는게 아니라 soft-state table을 만듦으로써 완벽하진 않지만 본질에 충실한 역할을 수행한다.

- soft-state table은 특정 주기로 entry를 뺏다가(지웠다가) 다시 쓴다.

*브리지는 브로드 캐스트 프레임의 경우 항상 포워드 한다.

- 현재 table을 비어있고 A가 A'에게 패킷을 보낸다.

- 브리지는 당연히 이 신호를 감지하고 발신자 주소를 확인하여 엔트리를 추가한다.

- soft state table이기 때문에 60초 뒤에는 이 엔트리가 사라지도록 수명을 적는다.

- 브리지는 A'가 어디있는지 아직 모르기 때문에 일단 브로드캐스팅 한다. (flooding)

- 이번에는 A'에서 A로 신호를 보낸다. 이때는 A의 위치를 알기 때문에 selectively send를 수행한다. (filtering)

- 이 사이에 B나 C, C'들은 각자 링크를 사용할 수 있게 되어 성능이 높아지게 되는 것이다.

- 브리지는 단순히 병렬성을 보장하는게 아니라 결과적으로 트래픽을 쪼개는 역할을 한다. traffic isolation

- 따라서 collision이 발생할 수 있는 영역도 분리가 되어 성능개선에 기여한다.

3. 한계

- 브리지/LAN switch의 수많은 장점에 불구하고 한계가 존재한다. (값이 쌈, 구현 쉬움, 묵묵히 자기 역할 수행하며 개선에 기여)

- 확장성이 없다. 전세계 네트워크를 구성하기에는 연결할 수 있는 노드 수의 한계가 있다.

- LAN switch는 2계층 장비이기 때문에 이질성을 허용하지 않는다.

- 따라서 인터넷의 끝단에서는 많이 사용하지만 전부다 커버할수는 없다.

728x90
반응형