K 개발자
인터네트워킹 본문
브리지
브리지Bridge는 MAC 계층(계층 2)을 지원하므로 물리 계층과 MAC 계층의 기능을 수행하고, 이를 관리하기 위해 상위에 자체 관리 소프트웨어가 존재한다.
브리지를 이용해 LAN과 LAN 사이에서 데이터를 중개할 때 각 LAN에서 사용하는 MAC 계층이 다를 수 있다.
이때는 브리지에 MAC 헤더를 해석해 변환하는 기능이 필요하다.
동작 방식에 따라 트랜스페런트 브리지와 소스 라우팅 브리지가 있다.
트랜스페런트 브리지
트랜스페런트 브리지Transparent Bridge는 이름처럼 라우팅 기능을 사용자에게 투명하게 보여준다.
브리지 사용자는 전송하는 프레임의 주소부에 라우팅에 관한 정보를 추가하지 않아도 되며, 필요한 라우팅 과정은 브리지가 자동으로 수행한다.
설치 과정에서 하드웨어의 조정이나 소프트웨어의 변경, 주소, 라우팅 테이블 관련 사항을 고려할 필요가 없다.
브리지에 연결된 임의의 LAN으로부터 프레임이 도착했을 때, 브리지가 수행하는 동작은 다음 두 가지 중 하나이다.
- 해당 프레임의 수신 호스트가 송신 호스트와 동일한 방향에 위치한 경우는 프레임을 중개하는 과정이 필요 없기 때문에 무시해도 된다.
- 프레임의 수신 호스트가 송신 호스트와 다른 방향에 위치하는 경우는 수신 호스트가 있는 방향으로 프레임을 중개해야 한다.
이 과정에서 브리지 내부에는 송수신 호스트가 동일한 방향에 있는지와 수신 호스트가 브리지의 어느 방향에 위치하는지에 대한 정보가 있어야 한다.
수신한 프레임을 무시할지, 다른 LAN으로 전달할지는 전적으로 브리지의 라우팅 테이블을 근거로 판단한다.
라우팅 테이블의 정보는 각 호스트가 어느 포트에 연결되어 있는지를 나타낸다.
라우팅 테이블
트랜스페런트 브리지가 제대로 동작하려면 라우팅 테이블Routing Table 정보가 정확해야 한다.
라우팅 테이블은 LAN이 동작하면서 자동으로 생성되는데, 이 과정을 요약하면 다음과 같다.
먼저 브리지에 전원이 들어오면 라우팅 테이블의 내용이 비어, 초기에는 프레임의 수신자가 어느 쪽 포트에 위치하는지 판단할 수 없다.
그러므로 이 경우에는 플러딩Flooding 알고리즘을 사용해 입력된 프레임을 브리지의 모든 포트 방향으로 전달한다.
물론, 프레임이 들어온 방향으로는 전달하지 않는다.
플러딩 알고리즘의 동작 과정에서 브리지에 입력된 프레임의 송신 호스트 주소를 근거로 송신 호스트가 몇 번 포트에 연결되었는지 알 수 있다.
이와 같이 데이터 전달 과정에서 얻은 프레임의 송신 호스트 주소와 포트 번호의 정보를 라우팅 테이블에 반영한다.
위 방법을 사용하면 시간이 경과함에 따라 라우팅 테이블의 정보가 계속 누적되므로 라우팅 정보를 효과적으로 수집할 수 있다.
또 호스트의 연결 위치를 변경해도 라우팅 정보를 자동으로 갱신할 수 있다.
이처럼 네트워크의 동작 과정에서 라우팅 정보를 얻는 방식을 역방향 학습Backward Learning 알고리즘이라 한다.
스패닝 트리
앞서 소개한 역방향 학습 알고리즘을 이용하면 라우팅 정보를 효과적으로 얻을 수 있다.
그러나 네트워크에 이중 경로가 존재하면 잘못된 라우팅 정보를 얻을 수 있다.
이런 문제점을 해결하려면 이중 경로가 존재하지 않도록 네트워크를 설계해야 한다.
네트워크의 설계 과정에서 순환 구조가 불가피하게 만들어지면 네트워크의 논리적인 연결 상태를 비순환 형태로 간주함으로써, 역방향 학습 알고리즘이 올바르게 동작하도록 해야 한다.
네트워크의 비순환 구조를 스패닝 트리Spanning Tree라 하고, 이를 지원하는 알고리즘을 스패닝 트리 알고리즘이라 한다.
스패닝 트리를 구성하려면 먼저 임의의 브리지를 트리 구조의 최상위 브리지인 루트Root로 지정해야 한다.
이를 위해 브리지가 자신의 고유 번호를 서로 공개함으로써, 번호가 가장 낮은 브리지를 루트로 선정할 수 있다.
그런 다음, 루트 브리지에서 다른 모든 브리지까지의 최단 경로 트리를 구성하는 방식으로 LAN을 구축하는 과정을 밟는다.
소스 라우팅 브리지
트랜스페런트 브리지는 공유 버스에서 구현되는 CSMA/CDCarrier Sense Multiple Access/Collision Detection 방식과 토큰 버스 방식에서 사용한다.
사용자 입장에서 보면 간편하지만, 효율적이지 못하다는 단점도 있다.
일반적으로 소스 라우팅 브리지Source Routing Bridge는 링 구조의 네트워크에서 사용한다.
이 방식은 이름처럼 프레임이 수신 호스트까지 도달하기 위한 라우팅 정보를 송신 호스트가 제공한다.
즉, 송신 프레임 내부에 수신 호스트까지 도달하기 위한 모든 경로를 기술함으로써, 중간 브리지에 필요한 라우팅 정보가 프레임 자체에 포함된다.
프레임을 수신한 브리지는 이 정보를 이용해 프레임을 적절한 경로로 전달한다.
IP 인터네트워킹
인터넷 환경에서 IP 프로토콜을 사용해 IP 인터네트워킹IP Internetworking을 지원하려면 송수신 호스트 간의 여러 네트워크 인터페이스를 거쳐 패킷을 전달할 수 있어야 한다.
패킷을 올바르게 중개하기 위해 라우터들은 IP 프로토콜까지의 계층 기능을 지원하고, 송수신 호스트는 TCP/IP 응용 프로그램을 이용해 통신한다.
라우터에는 양쪽 MAC 계층의 차이를 해결하는 기능이 필요하다.
라우터에 연결된 네트워크가 동일한 종류의 MAC 계층을 사용하면 MAC 헤더의 변환 과정은 이루어지지 않는다.
헤더 변환 과정과는 별도로, 라우터를 거치는 동안에 전송되는 패킷이 특정 MAC 계층에서 전송하기에 너무 크면 패킷의 분할과 병합 과정이 이루어진다.
'OS > 네트워크' 카테고리의 다른 글
데이터 전송 방식 (0) | 2021.07.17 |
---|---|
서비스 품질(QoS) (0) | 2021.07.15 |
LAN, MAN, WAN (0) | 2021.07.14 |
교환 시스템 (0) | 2021.07.14 |
OSI 7계층 (1) | 2021.05.11 |