브릿지 (통신)
브릿지(Bridge)는 OSI 7 계층의 데이터링크 계층 중 하위 계층인 맥주소(Media Access Control Address)에서 일을 수행하며, 두 세그먼트 사이에서 데이터링크 계층 간의 패킷 전송을 담당하는 장치이다.
개요[편집]
허브(HUB), 스위치(Switch) 등의 이름으로 불린다.[1] 2개 이상의 독립된 세그먼트를 결합하여, 하나의 네트워크인 것처럼 보이게 한다. 초기의 브릿지는 어드레스를 조사하지 않았지만, 현재는 맥주소를 조사하여 데이터링크 층이 관리하는 패킷의 소스 주소(Source Address)와 목적지 주소(Destination Address)를 보고 패킷을 통과해야할지, 아닌지를 판정하여 트래픽을 필터링하는 기능과 데이터를 포워딩하는 기능을 수행한다. 즉, 발신처와 수신처를 브릿지에서 보아 같은 세그먼트 측에 존재하고 있을 때는 다른 세그먼트 측에 패킷을 통과시킬 필요 없이 브릿지는 그 패킷을 없앤다.[2]
특징[편집]
브릿지는 일반적인 분류 방법으로 로컬(Local)과 리모트(Romote)로 구분된다. 로컬 브릿지는 동일 지역 내에서 다수의 근거리 통신망(LAN) 세그먼트들을 직접 연결한다. 리모트 브릿지는 근거리 통신망과 원거리 통신망(WAN)을 연결하는 것으로, 서로 다른 지역 간의 다수의 근거리통신망 세그먼트들을 전화선을 통해 연결한다. 리모트 브릿지는 근거리 통신망과 원거리 통신망의 속도 차이 문제를 가지고 있는데, 일부 고속 원거리 통신망 기술이 등장하고 있지만, 일반적으로 근거리 통신망 속도가 원거리 통신망보다 몇 배 이상 빠르다. 원거리 통신망의 속도를 개선할 수는 없지만, 속도 차이를 충분한 버퍼 용량으로 해결할 수 있다.[2] 브릿지는 지리적으로 서로 떨어진 근거리 통신망을 연결하거나 노드의 수나 연결 거리를 확장하고 싶을 때 사용한다. 또한, 작은 네트워크로 분할 시켜 성능을 개선한다. 접속된 노드들의 수가 지나치게 많아지게 되면 병목현상이 일어나게 되는데, 이때 감소시키기 위해서이다. 서로 다른 세그먼트 간에 간섭과 충돌을 경감시킨다. 즉, 네트워크를 분할하여 고장을 격리하고, 부하를 경감한다. 그리고 통제 감시가 용이하다. 서로 다른 맥주소를 사용하는 근거리 통신망을 서로 연결한다. 3계층에서는 동일한 망 계층 프로토콜을 사용하지만 2계층 상에서 이더넷(Ethernet)과 토큰링(Token Ring) 등 서로 다른 종류의 맥주소를 사용하는 네트워크를 상호 연결할 때 사용한다. 즉, 서로 다른 프레임 형식과 다른 전송률, 다른 최대 전송 단위(MTU), 다른 비트 전송 순서 등을 맞춰주는 데 어려움이 크다.[3]
트랜스패런트 브릿지[편집]
라우팅 기능을 사용자에게 투명하게 보여준다. 브릿지가 자동으로 필요한 라우팅 과정을 수행하고, 브릿지에 프레임이 도착했을 때 같은 네트워크상이면 동작을 하지 않는다. 하지만 다른 네트워크상이면 수신 호스트 방향으로 프레임을 중개해야 한다. 트랜스패런트 브릿지(Transparent Bridge)는 라우팅 테이블을 가지고 있어, 어떤 네트워크에 호스트들이 존재하는지 파악하고 있어, 프레임을 중개할 필요가 있는지 없는지에 대해 판단을 한다. 하지만 라우팅 테이블이 초기에 존재하기 위해서 또 계속 정보를 추가하기 위해서 플러딩 알고리즘과 역방향 학습의 두 가지 알고리즘이 필요하다. 먼저 초기 생성을 위한 알고리즘으로, 플러딩 알고리즘이 존재한다. 입력된 프레임을 모든 포트 방향으로 전달하여 어디에 무슨 호스트들이 존재하는지 파악한다. 이름 그대로 홍수처럼 프레임을 부어 모든 상황을 파악하는 것이다. 정보를 계속 추가하는 방법으로는 역방향 학습이 있다. 어떤 곳에서 프레임이 브릿지로 들어가면 그 방향을 역추적해서 네트워크상 호스트의 존재를 파악한다. 따라서 네트워크에 연결 위치가 바뀌어도 계속 새로운 라우팅 값을 입력할 수 있다. 오류를 제거하기 위한 알고리즘이 존재한다. 역방향 학습을 통해 네트워크상으로 계속 정보를 입력받지만, 이중 경로가 생길 경우 오류가 발생한다. 이중 경로라고 하는 것은 링 구조로 생각할 수 있다. 두 개의 브릿지가 존재해서 두 방향으로 모두 한 호스트의 값을 받게 되면 이중 경로가 생겨 어떤 네트워크에 존재하는지 파악할 수 없게 된다. 이런 형태가 존재하여 역방향 학습이 어려움을 가지게 되면, 스패닝 튜닝 알고리즘을 사용하여 비순환 형태로 간주하게 되어 역방향 학습이 올바르게 작동하도록 한다. 브릿지에 자신의 고유 번호를 선정하고 공개함으로 번호가 가장 낮은 브릿지를 루트로 선정할 수 있게 하는 것이다.[4]
소스 라우팅 브릿지[편집]
IBM 토큰링 네트워크(Token Ring Network) 기반에서 사용하는 방식으로 데이터 패킷 내에 있는 라우터 정보에 의해 브릿지 기능을 수행한다.[5] 반송파 감지 다중 접속 및 충돌 탐지(Carrier Sense Multiple Access with Collision Detection, CSMA/CD) 방식과 토큰 버스 방식에서 사용된다. 링 구조의 네트워크에 사용이 되는데, 프레임이 수신 호스트까지 도달하기 위한 라우팅 정보를 송신 호스트가 제공한다. 브릿지가 중개를 하는 것이 아니라 송신 호스트가 이를 결정하는 것이다. 이에 따라 데이터가 옮겨진다.[4] 도착 네트워크 세그먼트로 향하는 루트를 찾기 위해 두 개의 프레임 형태가 쓰인다. 개별 노선(Single-Route, SR) 프레임과 전체 노선(All-Route, AR) 프레임으로, 개별 노선 프레임은 대부분의 네트워크 트래픽을 구성하고 도착지를 설정하고, 전체 노선 프레임은 루트를 찾는 데 사용한다.[6]
주요 기능[편집]
브릿지는 프레임의 내용과 형식을 바꾸지 않고, 주소를 보고 해당 포트로 전달하는 포워딩, 수신 프레임의 목적지 주소를 보고 전달할 포트를 결정하기 위한 변환 테이블을 구축하는 브릿지 테이블 구축, 수동으로 경로를 작성과 관리를 하지 않고, 수신 프레임의 출발지 주소를 보고 브릿지 테이블을 구축하여 학습을 반영하는 주소 학습, 어떤 프레임을 전진시키고, 전진시키지 말아야 하는지에 대해 분별을 수행할 수 있도록 프로그램 될 수 있는 필터링, 브로드캐스트 프레임을 받은 포트를 제외하고, 모든 포트로 해당 브로드캐스트 프레임을 포워드 시키기만 하는 플러딩, 브릿지 루프를 방지하는 스패닝 트리 알고리즘(Spanning Tree Algorithm) 기능이 있다.[3]
동작원리[편집]
브릿지가 패킷을 경유하여 전달하기 위해서는 다음과 같은 과정을 거쳐야 한다.
- 블로킹(Blocking) : 브릿지 포트가 관리자의 설정에 의해 시작(Enable)되면 초기 Disable 상태에서 블로킹 상태로 넘어간다.
- 리스닝(Listening) : 포트가 Configuration BPDU(Bridge Protocol Data Unit)를 수신하여 브릿지 동작에 참여하기로 결정되면 리슨 상태가 된다.
- 학습(Learning) : 브릿지에 실제 정보 패킷이 수신되면 브릿지는 먼저 송신지 주소를 추출하여 이 주소가 자신이 보관하고 있는 필터링 데이터베이스(Filtering Database)에 등록되어 있는가를 검사한다. 만약 송신지 주소가 필터링 데이터베이스에 등록되어 있지 않다면, 브릿지는 새로운 송신지 주소를 테이블에 신규로 등록하고, 이후 필터링 데이터베이스에 등록된 주소에 의해 네트워크상에 존재하고 있는 장치를 인식하게 된다. 이 과정을 네트워크상의 주소를 학습한다고 한다. 네트워크상의 모든 장치는 자신이 존재한다는 사실을 브릿지에 인식시키기 위해 특별한 조치를 취하지 않더라도 실제 데이터 발생을 통해 장치의 존재가 자동으로 인식된다.
- 필터링(Filtering) : 학습 단계를 마친 후 브릿지는 패킷에 나타나 있는 목적지 주소와 필터링 데이터베이스 상의 주소를 비교하여 패킷의 목적지와 송신지가 동일한 네트워크 내에 있는가 검사한다. 만약 송신지와 동일한 네트워크 내에 목적지가 존재하고 있다면, 패킷은 브릿지를 경유하여 타 네트워크로 전달될 필요가 없음으로, 브릿지는 자동으로 패킷을 폐기한다. 이 과정이 필터링이다.
- 포워딩(Forwarding) : 만약 목적지 주소가 송신지와는 다른 네트워크에 존재하며 필터링 데이터베이스에 목적지 주소가 이미 존재하고 있다면, 테이블에 있는 정보를 이용하여 적절한 경로를 결정한 다음, 해당하는 전송로로 패킷을 전송한다. 이 절차가 포워딩이다.[5]
비교[편집]
- 라우터
3계층 장비인 라우터(Router)와 2계층 장비인 브릿지는 세그먼트, 또는 근거리 통신망(LAN) - 원거리 통신망(WAN) - 근거리 통신망(LAN)을 결합하는 물리적 배치에서는 비슷하지만, 넓은 범위에서는 브릿지와 크게 다르다. 브릿지는 트리구조와 같은 분기 부분에 배치되어, 필요하지 않은 패킷을 버리지만, 라우터는 루프(Loop)를 가지는 것과 같은 네트워크를 구성할 수 있어서 필요한 패킷만을 최적의 코스로 선정하여 통과시킨다. 성능 비용과 트래픽 분석의 균형에서 브릿지를 사용할 것인지 라우터를 사용할 것인지를 선택하게 된다.[2]
- 스위치
브릿지는 패킷이 들어오면 프레임의 처리를 소프트웨어 프로그램으로 처리하지만, 스위치(Switch)는 처리 절차를 미리 하드웨어적으로 칩에 넣는 방식으로, 처리 방식이 하드웨어이다. 따라서 스위치의 속도가 훨씬 빠르다. 브릿지에 있는 포트들이 모두 같은 속도를 지원하지만, 스위치는 서로 다른 속도를 연결해 줄 수 있는 기능이 있다. 또한, 스위치는 포트의 수가 많지만, 브릿지의 포트는 10개도 되지 않는다. 컷 스루(Cut-through) 또는 축적 후 포워딩(Store-and-Forwarding) 방식을 사용하는 스위치와 달리, 브릿지는 오로지 축적 후 포워딩 방식을 사용한다. 즉, 스위치의 기능이 더 많다.[7]
- 리피터와 허브
2계층 장비인 브릿지와 달리, 리피터와 허브는 1계층 장비이다. 리피터는 물리계층 상에서 세그먼트를 단순하게 연결하여, 연장하는 증폭 장치이다. 근거리 통신망의 한 세그먼트에서 또 다른 세그먼트로 전송 신호를 송신한다. 두 세그먼트를 연결하여 연장하지만, 그 또한 더 큰 세그먼트가 된다. 허브는 물리적으로 성형 구조이지만, 논리적으로는 버스형 구조이다. 리피터보다 배선에 더 유리하다. 물리적 증폭보다 프레임 처리 위주로 동작하지만, 맥주소는 이용하지 않는다. 동일한 프레임을 복제한 후 모든 포트로 똑같이 전달한다. 그리고 각 포트가 모두 같은 속도를 갖게 된다.[8]
용어[편집]
- 축적 후 포워딩(Store-and-Forwarding) : 전체 정보를 다 읽고 오류가 없는 프레임만 저장하여 보내고, 오류가 있는 프레임은 삭제한다. 에러 복구 능력이 뛰어나다. 즉, 안정성이 있다. 하지만 전체 정보를 읽어야 하기 때문에 처리 속도가 느리다.
- 컷 스루(Cut-Through) : 맥헤더(MAC header)의 목적지 주소를 확인한 후 즉시 전달하는 방법이다. 축적 후 포워딩 방식보다 처리 능력이 빠르다. 하지만 에러 복구 능력에 약점이 있다. 즉, 안정성이 없다.
- 프래그먼트-프리(Fragment-Free) : 축적 후 포워딩 방식과 컷 스루 방식의 장점을 결합한 방식이다. 스위치가 프레임에 64바이트까지 검사한 후 전달을 시작한다.
- 스패닝 트리 프로토콜(Spanning Tree Protocol) : 스위치의 루핑(Looping)을 방지하기 위한 프로토콜로 세가지 조건을 갖는다.
- 네트워크 당 하나의 루트 브릿지를 선정한다.
- 논 루트 브릿지(Non Root Bridge) 당 하나의 루프 포트를 선정한다.
- 세그먼트당 하나의 데지그네이티드 포트를 선정한다.[9]
- BPDU(Bridge Protocol Data Unit) : 스패닝 트리 프로토콜에 의해 브릿지 간에 주고받는 제어 프레임이다. 구성 BPDU(Configuration BPDU), 구성변화 BPDU(Topology Change Notification BPDU)가 있다.[10]
각주[편집]
- ↑ 〈(네트워크) Bridge and Bridging〉, 《깃허브》, 2018-10-28
- ↑ 2.0 2.1 2.2 〈통신의 이해 6. BRIDGE와 ROUTER의 차이〉, 《개인 사이트》
- ↑ 3.0 3.1 〈Bridge, Bridging 브리지, 브리징, 브릿지〉, 《정보통신기술용어해설》
- ↑ 4.0 4.1 ChocoPeanut, 〈컴퓨터 네트워크 9장 –인터네트워킹-〉, 《티스토리》, 2017-04-11
- ↑ 5.0 5.1 〈13. Bride 기본개념 및 동작원리〉, 《아즈트리즈》
- ↑ Hyouk Oh, 〈Bridge〉, 《개인 사이트》, 2011-07-14
- ↑ letitkang, 〈(이론)브리지와 스위치의 차이점〉, 《티스토리》
- ↑ 〈네트워킹 장비 비교, 리피터 허브 브리지 비교, 스위치 브리지 비교, 라우터 브리지 비교, 스위치 라우터 비교〉, 《정보통신기술용어해설》
- ↑ 뽀a, 〈(TCP/IP 구조) 인터네트워킹 장비(리피터,허브,브리지,라우터)〉, 《티스토리》, 2013-11-06
- ↑ 〈BPDU Bridge Protocol Data Unit 브리지 프로토콜 데이터 유닛〉, 《정보통신기술용어해설》
참고자료[편집]
- 〈(네트워크) Bridge and Bridging〉, 《깃허브》, 2018-10-28
- 〈통신의 이해 6. BRIDGE와 ROUTER의 차이〉, 《개인 사이트》
- 〈Bridge, Bridging 브리지, 브리징, 브릿지〉, 《정보통신기술용어해설》
- 〈13. Bride 기본개념 및 동작원리〉, 《아즈트리즈》
- ChocoPeanut, 〈컴퓨터 네트워크 9장 –인터네트워킹-〉, 《티스토리》, 2017-04-11
- Hyouk Oh, 〈Bridge〉, 《개인 사이트》, 2011-07-14
- letitkang, 〈(이론)브리지와 스위치의 차이점〉, 《티스토리》
- 〈네트워킹 장비 비교, 리피터 허브 브리지 비교, 스위치 브리지 비교, 라우터 브리지 비교, 스위치 라우터 비교〉, 《정보통신기술용어해설》
- 뽀a, 〈(TCP/IP 구조) 인터네트워킹 장비(리피터,허브,브리지,라우터)〉, 《티스토리》, 2013-11-06
- 〈BPDU Bridge Protocol Data Unit 브리지 프로토콜 데이터 유닛〉, 《정보통신기술용어해설》
같이 보기[편집]