1993.1.21

SUBJECT: Bridge란 ?

MEANING OF THIS MEMO
"PC LAN 강좌 - 인터네트워크" (PC ADVANCE 91.11, 이종일)에서 옮김.

DESCRIPTION:

0. 개요
   * bridge는 OSI 모델의 데이타 링크 계층 중 MAC 계층에서 기능한다.
     리피터와는 대조적으로 bridge는 두 segment 사이에서 datalink layer간의
     패킷 전송을 담당하는 장치이다.
     OSI 모델을 규정한 자료에서는 bridge를 'datalink relay'로 부르고 있다.
   * bridge는 기능에 따라 여러가지로 구분되지만 LAN을 연결하는방식에 따라
     local과 remote bridge로 나누는 것이 가장 일반적이다.
   * local bridge는 지역적으로 매우 가까이 있는 두 LAN segment를 직접 연결시켜 주는 bridge로
     예를 들어 하나의 대규모 건물내에 있는 소규모 LAN들을
     하나의 커다란 네트웍으로 연결하는데 사용된다.   
   * remote bridge는 서울에 있는 본사의 LAN과 지방에 분산되어 있는 지사의 LAN과 같이
     지리적으로 먼거리에 떨어져 있는 두 LAN을 연결하는 용도로 사용되는데 
     대개의 경우 두 bridge간은 공중망을 통하여 연결하고 있다.

1. 작동원리
   * bridge의 기능 및 작동 원리에 대한 이해를 돕기 위하여
     먼저 패킷이 bridge를 경유하여 전달되는 과정을 이해해 보자.

     1) Learning
        - bridge에 패킷이 수신되면 bridge는 먼저 송신지 주소를 추츨하여
          이 주소가 자신이 보관하고 있는
          'routing table(네트웍상에서의 장치의 존재 유무를 기록해 놓은 테이블)'에 등록되어 있는가 검사한다.
          만약 송신지 주소가 테이블에 등록되어 있지 않다면, 
          bridge는 새로운 송신지 주소를 테이블에 신규로 등록하고 
          이후로는 테이블에 등록된 주소에 의하여 네트웍상에 존재하고 있는 장치를 인식하게 된다.
          이 과정을 일컬어 네트웍상의 주소를 '학습(learning)'한다고 한다.
        - 이 방식을 따르면 네트웍 상의 모든 장치들은 자신이 존재하고 있다는 사실을 bridge에게
          인식시키기 위해 특별한 조치를 취하지 않더라도 데이타 발생을 통하여 장치의 존재가
          자동으로 인식된다.

     2) Filtering
        - 학습단계를 마친 후 bridge는 패킷에 나타나 있는 목적지 주소와 routing tabel상의 주소를
          비교하여 패킷의 목적지와 송신지가 동일한 네트웍 내에 있는가 검사한다.
        - 만약 송신지와 동일한 네트웍 내에 목적지가 존재하고 있다면 패킷은 bridge를 경유하여
          타 네트웍으로 전달될 필요가 없으므로 bridge는 자동으로 패킷을 폐기 시킨다.
          이 과정이 filtering이다.

     3) Forwarding
        - 만약 목적지 주소가 송신지와는 다른 네트웍에 존재하며
          routing table에 목적지 주소가 이미 존재하고 있다면 테이블에 있는 정보를 이용하여
          적절한 경로를 결정한 다음, 해당하는 전송로로 패킷을 전송한다.
          이 절차가 forwarding이다.
        - 만약 테이블에 목적지 주소가 등록되어 있지 않다면 
          bridge는 목적지에 해당하는 장치가 어느 네트웍에 속해 있는지 알길이 없으므로
          패킷이 수신되어온 회선을 제외한 모든 전송회선으로 패킷을 보내준다.
        - 수신된 패킷을 forwarding할 때는 패킷을 완전히 새로이 생성하기 때문에 
          segment상의 노드의 수나 패킷이 전송되는 총거리에 관계 없이
          패킷의 신호 특성에는 전혀 영향을 주지 않는다.
          따라서 이 경우에 bridge는 리피터와 마찬가지로 네트웍의 총길이를 확장시키는 역할을 한다.

   * bridge의 모든 특성은 이들 learning, forwarding, filtering을 바탕으로 한다.

2. 기능
   1) LAN의 규모를 확장
      bridge는 리피터와 마찬가지로 LAN과 또 다른 LAN segment를 연결함으로써
      "LAN의 규모를 확장하는 것"을 가장 기본적인 기능으로 하고 있다. 
      대개의 경우 LAN 확장을 위한 용도로 bridge를 사용하는 경우는
      동일한 종류의 LAN 즉 Ethernet과 Ethernet 또는 토큰링과 토큰링 등을
      상호 연결하는 것이 일반적이다.
   2) 트래픽을 조정
      - 연결된 두 네트웍상의 트래픽을 조정해 준다.
      - 송신지와 목적지가 bridge의 입장에서 하나의 LAN segment측에 존재할 때는 
        다른 segment측에 패킷을 전송할 필요가 없으므로 수신한 패킷을 폐기시키고
        타 segment에 있는 장치를 목적지로하는 패킷만을 통과시켜줌으로써
        전체 네트웍에 불필요한 데이타 트래픽이 발생하지 않게 하여 네트웍의 성능을 향상시킨다.
      - 대규모의 네트웍에서는 네트웍 전체의 트래픽을 조정하는 것이 중요한 문제가 되고
        특히 Ethernet에서는 과다한 트래픽 발생시 네트웍의 성능이 급격히 하락할 가능성이 있으므로
        전체 네트웍을 적당한 규모의 네트웍으로 분리시켜 이들을 bridge로 연결하면 네트웍의 기능에
        영향을 주지 않고 전체 네트웍의 트래픽을 효율적으로 조정할 수 있다.

3. 평가
   1) 성능
      - 네트웍의 설치 및 확장이라는 외형적 측면에서 본다면 bridge는 유리한 점이 많다.
        bridge는 설치가 단순하여 일단 설치를 마치면 사용자에게 전혀 영향을 미치지 않으므로
        네트웍 구성에 신경쓸 필요가 없고 구성을 변경하기도 쉽다.
        또한 repeater로 연결되어 있는 네트웍에서는 네트웍의 규모가 증가하여 트래픽이 맣아지면
        전체 네트웍의 성능이 저하되는데 비해,
        네트웍을 bridge로 연결한 뒤 filtering 기능을 잘 조정하여 
        두 네트웍간에 이동하는 트래픽을 제어함으로써 네트웍의 트래픽을 적정 수준으로 유지하면서도
        네트웍의 규모를 확장시키기가 수월하다. 
      - 그러나 bridge는 사용자가 발생시킨 데이타 이외에 네트웍의 트래픽을 적정 수준으로 유지하고,
        고장에 대처하고, 관리기능을 수행하기 위하여 벌도의 패킷을 발생시키기 때문에
        어떤 경우에는 네트웍상의 트래픽을 급증시키는 요인으로 작용하기도 한다.
        특히 bridge가 비정상적으로 작동하거나 파라미터를 불합리하게 설정한 경우에 bridge로부터
        발생하는 데이타가 필요 이상으로 증가하여 전체 네트웍의 성능에 치명적인 영향을 주기도 한다.
        이런 현상은 bridge에서 발생한 패킷을 전체 네트웍에 방송(broadcast)하는
        방식을 채용한 bridge의 경우에는 더욱 심하게 나타난다.
   2) Topology
      - 지극히 단순한 토폴로지하면 두 LAN간의 전송 경로는 오직 하나만 있으면 된다.
        그러나 두 개 이상의 많은 LAN segment를 local bridge로 연결하면 여러개의 경로가 만들어지고
        이들 복잡한 경로는 폐쇄회로(closed loop)를 형성할 가능성이 높다.
      - bridge에 의하여 폐쇄회로가 생성된 네트웍에서는 
        불필요한 패킷이 네트웍상에서 전송되거나
        네트웍 내에서 영원히 순환하는 패킷이 발생할 가능성이 맣다.
        이런 불필요한 패킷이 떠돌아 다님으로써 네트웍의 전반적인 성능은 급격히 떨어진다.
      - 또한 대규모의 복잡한 네트웍에서는 bridge로 인하여 topology에 제한이 가해질 수 있다.
        전형적인 경우는 순차적으로 여러개의 bridge를 연결하여 네트웍을 구성하는 경우인데
        이 때 패킷이 여러대의 bridge를 거치는 동안 전송지연이 누적되어 
        빠른 속도의 응답이 요구되는 프로토콜을 사용하는 경우나 
        응답시간을 지나치게 짧게 설정해 놓은 경우는
        누적된 전송지연이 네트웍의 작동에 영향을 미치는 수가 있으므로 
        네트웍을 설계하는 단계에서 topology와 규모에 세심한 주의를 기울여야 한다.
   3) 프로토콜 독립성
      - bridge는 OSI 모델의 하위계층에서 두개의 네트웍이 서로 통신하게끔 중개를 하지만 
        상위계층 프로토콜에서 사용하는 패킷의 길이가 
        bridge에서 처리할 수 있는 최대 패킷 길이를 넘지 않는한 
        상위의 프로토콜이 무엇이던 패킷의 내용에는 일체의 변형을 가하지 않으므로
        'bridge를 통하여 연결된 segment'는 '논리적으로는 하나의 네트웍'이 된다. 
      - 따라서 bridge는 상위 계층에서 어떤 종류의 프로토콜을 사용하는 네트웍이라도 연결할 수 있으므로
        즉, network layer 이상의 상위계층의 프로토콜에 투명(transparency)하므로
        네트웍을 구성하는 단계에서일지라도 향후에 상위계층에
        어떤 프로토콜을 사용할지를 염두에 두지 않아도 된다. 
        이는 전화 통화시에 교환기는 대화 내용에는 일체 관여하지 않으므로 
        한국말이던 영어던 어떠한 언어(프로토콜)를 사용하더라도
        교환기는 통화 서비스를 제공해 주고, 
        우리는 교환기의 존재을 전혀 신경쓰지 않고 통화를 하는 것과 같은 원리이다.
   4) 네트웍 관리
      - bridge는 어떤 속도의 LAN이나 아무리 먼 거리에 떨어져 있는 LAN이라도 연결할 수 있고
        높은 수준의 네트웍 관리기능을 제공한다.
        그러나 bridge는 원칙적으로 단일의 논리적 네트웍을 형성하기 때문에 
        대규모 네트웍에서 한 segment의 고장시 이 고장난 segment를 네트웍으로부터 완전히 분리시키고
        분산 방식으로 망을 관리하는 것은 사실상 매우 어려워
        네트웍이 복잡해지고 대규모화 될수록 네트웍의 감시 및 관리는 점점 어려워 진다.
      - 관리 기능과는 약간 동떨어진 내용이 되겠지만 bridge로 구성된 네트웍에서는
        특정 응용 소프트웨어를 사용할 수 없는 경우도 종종 발생한다.
        즉 전체 네트웍에 걸쳐서 고유한 명칭 또는 주소만을 사용해야하는 응용 소프트웨어를
        네트웍에서 사용해야하는 경우, 만약 한 네트웍에서 복사본을 사용한다면
        그래서 동일한 이름이 한 네트웍에서 복수개로 존재한다면 
        응용 소프트웨어가 비정상적으로 작동하여 전체 네트웍이 마비되는 결과를 초래한다.

        







Revision History
Created        on Jan. 21 ,1993