라우팅 장비는 네트워크 내부에서 패킷 교환 기능을 수행하는데, 둘 이상의 서로 다른 네트워크를 연결하는 기능을 인터네트워킹이라 한다. 인터네트워킹을 지원하면 연결되는 네트워크의 차이를 분석해, 전송 데이터를 적절히 중개할 수 있어야한다.
두 개의 네트워크를 연결하는 장비는 역할이 어는 계층에 속하느냐에 따라 종류가 달라진다. 일반적으로 하위 3개 계층인 물리 계층, 데이터 링크 계층, 네트워크 계층의 기능을 수행하며 ,특별히 네트워크 계층까지의 기능을 수행하는 장비는 라우터이다.
네트워크 간의 차이는 다양한 방법으로 기술할 수 있다. 연결형-비연결형 서비스, 데이터 전송에 사용되는 프로토콜의 종류, 호스트를 구분하기 위한 주소 표현 방법, 전송 패킷의 크기, 멀티캐스트-브로드캐스팅의 지원 여부 등이 고려 대상이다.
- 두 LAN을 연결하려면 중간에 있는 네트워크 장비가 데이터를 중개해야 한다.
- 네트워크 장비의 기능에 따라(네트워크 장비의 네트워크 계층, 데이터 링크 계층, 물리 계층의 기능에 따라) 양쪽 LAN은 특성이 다를 수 있으며, 네트워크 장비 하나에 여러 종류의 LAN을 연결할 수도 있다.
- 네트워크 장비는 수행 기능에 따라 리피터, 브리지, 라우터로 구분한다.
- 데이터 링크 계층은 MAC계층과 LLC 계층으로 나뉘며, MAC 계층이 하위에 위치하고 LLC 계층은 상위에 위치한다.
리피터
리피터는 계층 1 기능을 지원한다. 한쪽 단에서 들어온 비트 신호를 증폭하여 다른 단으로 단순히 전달하는 역할을 한다.
브리지
브리지는 계층 2 기능을 지원한다. 한쪽 단에서 들어온 프레임의 MAC 계층 헤더를 다른 단의 MAC 계층 헤더로 변형해 전송할 수 있어 종류가 다른 LAN을 연결할 수 있다. 브리지가 수신한 프레임의 목적지 주소와 송신 호스트의 주소가 같은 LAN에 소속되어 있으면 브리지는 아무 행동도 하지 않는다. 그러나 송수신 호스트의 위치가 서로 다른 LAN에 속하면 중개 기능을 수행한다. 따라서 브리지는 리피터보다 LAN 과 LAN 사이의 불필요한 트래픽 발생을 억제할 수 있다.
라우터
라우터는 계층 3 기능을 지원한다. 교환 기능을 수행할 수 있으므로 여러 포트를 사용해 다수의 LAN을 연결하는 구조를 지원한다. 수신한 패킷을 해석해 적절한 경로로 전송하도록 경로를 배정하는 기능을 한다. 일반적으로 상위 계층의 개념인 게이트웨이는 서로 다른 응용 환경을 지원하기 위해 사용할 수 있으므로, 네트워크 양단의 특성이 다른 환경에서 중개하는 역할을 수행한다.
브리지
브리지의 좌우에 위치하는 LAN은 종류가 같을 수도 있고 다를 수도 있다. ex) 양쪽 LAN이 모두 이더넷을 사용하면 프레임 헤더를 해석하는 간단한 작업을 통해 쉽게 중개할 수 있다. 하지만 종류가 다르면 프레임 변환 등의 복잡한 과정이 필요하다.
브리지는 MAC 계층(계층2)을 지원하므로 물리 계층과 MAC 계층의 기능을 수행하고 이를 관리하기 위해 상위 자체 관리 소프트웨어가 존재한다. LAN의 종류가 다르면 한쪽 LAN의 헤더를 제거하고 다른쪽 LAN의 헤더를 붙여주는 과정이 실행된다.
브리지를 이용해 LAN과 LAN 사이에서 데이터를 중개할 때 각 LAN에서 사용하는 MAC 계층이 다를 수 있다.
동작 방식에 따라 트랜스 페런트 브리지와 소스 라우팅 브리지가 있다.
트랜스 페런트 브리지
트랜스 페런트 브리지는 이름처럼 라우팅 기능을 사용자에게 투명하게 보여준다. 브리지 사용자는 전송하는 프레임의 주소부에 라우팅에 관한 정보를 추가하지 않아도 되며, 필요한 라우팅 과정은 브리지가 자동으로 수행한다. 설치 과정에서 하드웨어의 조정이나 소프트웨어의 변경, 주소, 라우팅 테이블 관련 사항을 고려할 필요가 없다.
브리지에 연결된 임의의 LAN으로부터 프레임이 도착했을 때, 브리지가 수행하는 동작은 두가지 중 하나이다.
- 1. 해당 프레임의 수신 호스트가 송신 호스트와 동일한 방향에 위치한 경우는 프레임을 중개하는 과정이 필요 없기 때문에 무시해도 된다.
- 2. 프레임의 수신 호스트가 송신 호스트와 ㄷ른 방향으로 위치하는 경우는 수신 호스트가 있는 방향으로 프레임을 중개해야 한다. 이 과정에서 브리지 내부에는 송수신 호스트가 동일한 방향에 있는지와 수신 호스트가 브리지의 어느 방향에 위치하는지에 대한 정보가 필요하다.
브리지 B1과 B2를 사용하는 환경에서 브리지 B1에는 LAN을 3개, B2에는 두개 연결한 예시이다.
LAN1에서 전송한 프레임의 목적지가 호스트 LAN1에 위치하면 브리지의 B1의 중개기능은 필요 없다. 그러나 LAN2에 위치한 호스트가 목적지이면 2번 포트로 중개해야 하며, LAN3나 LAN4에 위치한 호스트이면 3번 포트로 중개해야 한다. LAN4로 가는 경우에는 브리지 B2의 중개가 추가로 필요하다.
브리지의 중개 기능이 올바르게 동작하려면 라우팅 테이블과 같은 라우팅 정보가 꼭 필요하다.
수신 프레임을 무시할지, 다른 LAN으로 전달할지는 전적으로 브리지의 라우팅 테이블을 근거로 판단한다.
라우팅 테이블의 정보는 각 호스트가 어느 포트에 연결되어 있는지를 나타낸다.
라우팅 테이블
트랜스 페런트 브리지가 제대로 동작하려면 자동으로 생성되는데, 먼저 브리지에 전원이 들어오면 라우팅 테이블의 내용이 비어, 초기에는 프레임의 수신자가 어느 쪽 포트에 위치하는지 판단할 수 없다. 그러므로 이 경우 플러딩 알고리즘을 사용해 입력된 프레임 브리지의 모든 포트방향으로 전달한다. 프레임이 들어온 방향으로는 전달하지 않는다.
플러딩 알고리즘의 동작 과정에서 브리지에 입력된 프레임의 송신 호스트 주소를 근거로 송신 호스트가 몇 번 포트에 연결되었는지 알 수 있다.
데이터 전달 과정에서 얻은 프레임의 송신 호스트의 주소와 포트 번호의 정보를 라우팅 테이블에 반영한다.
위 방법의 경우 시간이 경과함에 따라 라우팅 테이블의 정보가 계속 누적되므로 라우팅 정보를 효과적으로 수집할 수 있다. 호스트의 연결 위치를 변경해도 라우팅 정보를 자동으로 생성할 수 있다. 이처럼 네트워크 동작 과정에서 라우팅 정보를 얻는 방식을 역방향 학습 알고리즘이라고 한다.
호스트의 위치가 바뀌어 라우팅 정보가 변경되는 경우에는 가장 최근 정보로 수정해주어야 한다.
스패닝 트리
역방향 학습 알고리즘을 이용하면 라우팅 정보를 효과적으로 얻을 수 있다. 그러나 네트워크에 이중 경로가 존재하면 잘못된 라우팅 정보를 얻을 수 있다.
잘못된 라우팅 정보를 받지 않아야 되기 때문에 이중 경로가 존재하지 않도록 네트워크를 설계하는데 네트워크를 비순환 형태로 간주함으로써, 역방향 학습 알고리즘이 올바르게 동작하도록 해야 한다. 네트워크의 비순환 구조를 스패닝 트리라 하고, 이를 지원하는 알고리즘을 스패닝 트리 알고리즘이라 한다.
스패닝 트리를 구성하려면 먼저 임의의 브리지를 트리 구조의 최상위 브리지인 루트로 지정해야 한다. 이를 위해 브리지가 자신의 고유 번호를 서로 공개함으로써, 번호가 가장 낮은 브리지를 루트로 선정할 수 있다. 그런 다음 루트 브리지에서 다른 모든 브리지까지의 최단 경로 트리를 구성하는 방식으로 LAN을 구축하는 과정을 밟는다.
소스 라우팅 브리지
트랜프 페런트 브리지는 공유버스에서 구현되는 CSMA/CD 방식과 토큰 버스 방식에서 사용한다. 사용자 입장에서 보면 간편하지만, 효율적이지 못하다는 단점도 있다.
일반적으로 소수 라우팅 브리지는 링 구조의 네트워크에서 사용한다. 이 방식은 이름처럼 프레임이 수신 호스트까지 도달하기 위한 라우팅 정보를 송신 호스트가 제공한다. 즉, 송신 호스트까지 도달하기 위한 라우팅 정보를 송신 호스트가 제공한다. 즉, 송신 프레임 내부에 수신 호스트까지 도달하기 위한 모든 경로를 기술함으로써, 중간에 브리지에 필요한 라우팅 정보가 프레임 자체에 포함된다. 프레임을 수신한 브리지는 이 정보를 이용해 프레임을 적절한 경로로 전달한다.
IP인터 네트워킹
인터넷 환경에서 IP프로토콜을 사용해 IP인터네트워킹을 지원하려면 송수신 호스트 간의 여러 네트워크 인터페이스를 거쳐 패킷을 전달 할 수 있어야 한다.
이더넷과 ATM이라는 상이한 네트워크 인터페이스를 지원하는 사용자 간의 연결구조가 가능함을 알 수 있다.
패킷을 올바르게 중개하기 위해 라우터들은 IP프로토콜까지의 계층 기능을 지원하고 송수신 호스트는 TCP/IP 응용 프로그램을 이용해 통신한다.
라우터에는 양쪽 MAC 계층의 차이를 해결하는 기능이 필요하다. 데이터가 반대 방향으로 전달되는 경우에는 헤더 변환 과정이 반대로 이루어진다. 라우터에 연결된 네트워크가 동일한 종류의 MAC 계층을 사용하면 MAC 헤더의 변환 과정이 이루어지지 않는다.
헤더 변환 과정과는 별도로 라우터를 거치는 동안에 전송되는 패킷이 특정 MAC 계층에서 전송하기에 너무 크면 패킷의 분할과 병합 과정이 이루어진다.
인터넷 라우팅
라우터의 역할은 수신된 IP 데이터그램을 적절한 경로로 전달하는 것이다. 그러려면 인터넷의 전체 구성과 현재 상태에 대한 정보를 활용해 경로를 선택해야 한다. 대표적인 라우팅 방식으로는 고정 경로 배정과 적응 경로 배정이 있다.
고정 경로 배정
고정 경로 배정은 간단한 구현만으로도 효과적인 라우팅이 가능한 방법으로 송수신 호스트 사이에 영구불변의 경로를 배정한다. 단점은 경로가 고정되므로 트래픽 변화에 따른 동적 경로 배정이 불가능하다는 점이다. 그러나 송수신 호스트 사이의 트래픽을 미리 측정하여 고정 경로를 적절히 배정하면 간단하고 효율적인 라우팅이 가능하다.
ex) Net. 1~ Net. 5 라는 5개의 네트워크가 있고, 라우터 8개로 이들을 연결한다. 라우터 주위의 숫자는 연결하는 라우터의 포트 번호이다.
각 라우터가 관리하는 라우팅 정보는 위 그림처럼 결정되는데 경로 배정은 네트워크를 연결하는 선로의 전송 용량이나 네트워크 간의 데이터 전송량을 측정해 이루어진다. 라우터 R3와 R7으로 연결한 선로가 다른 선로보다 고속 통신을 지원하며, 라우터 R1, R4, R6가 연결된 네트워크 Net.2가 라우터 R2, R5, R8 쪽의 네트워크 Net.4보다 덜 붐빈다고 가정한다.
라우팅 테이블의 값은 목적지 네트워크의 주소와 해당 목적지로 향하는 경로 위에 있는 다음 라우터의 주소이다. 각 네트워크 내부에 존재하는 호스트에도 위의 형태의 라우팅 테이블이 존재한다.
ex) Net.1에 존재하는 호스트가 Net.5에 존재하는 호스트의 라우팅 테이블에 목적지가 Net.5인 데이터는 라우터 R1으로 전송하라고 되어있다면 해당 데이터는 R1으로 간다. 라우터 R1의 라우팅 테이블을 보면 Net.5로 가는 데이터는 라우터 R6으로 중개하도록 되어 있으므로 데이터는 라우터 R6으로 전달된다. 최종 경로는 R1→Net.2→R6→Net.5 순서이다.
적응 경로 배정
고정 경로 배정에서 라우팅 테이블의 경로 정보 변경은 네트워크 구성이 변경된 경우에만 가능하다. 인터넷에서 사용되는 라우터는 적응 경로 배정을 채택한다.
적응 경로 배정에서는 인터넷 연결 상태가 변하면 이를 데이터그램의 전달 경로에 반영한다. 이때 결정에 영향을 주는 요소는 크게 두 가지이다. 하나는 특정 네트워크나 라우터가 정상적으로 동작하지 않는 경우이고, 다른 하나는 네트워크의 특정 위치에서 혼잡이 발생하는 경우이다.
적응 경로 배정은 이론적인 타당성에도 불구하고, 가볍게 넘길 수 없는 단점이 있다. 경로를 결정하는 과정이 복잡해지면 이를 처리하는 라우터의 부담이 증가하는데, 인터넷처럼 복잡한 망에서 이것은 상당히 부담스러운 작업이다.
네트워크에서의 변화는 내부적으로 상태 정보에 대한 처리를 수반한다. 그러나 특정 위치에서는 어떤 변화가 발생했을 때 네트워크의 모든 라우터에 동시에 반영하는 것은 어떤 변화가 발생했을 때 네트워크의 모든 라우터에 동시에 반영하는 것은 현실적으로 불가능하므로, 라우터끼리 정보의 불일치성이 발생할 수 있다. 이러한 불일치성을 해소하려면 라우터 사이의 정보 교환이 빠르게 자주 이루어져야 한다. 이 또한 네트워크의 트래픽을 증가시키고, 라우터의 처리 부담을 증가시키는 결과를 초래한다.
자율 시스템
라우팅 프로토콜과 관련해 자율 시스템이라는 개념이 존재한다. 자율 시스템은 다수의 라우터로 구성할 수 있으며, 라우터들은 서로 공통의 라우팅 프로토콜을 사용해 정보를 교환한다. 자율 시스템은 동일한 라우팅 특성에 의해 동작하는 논리적인 단일 구성체라고 볼 수 있다.
자율 시스템 내부에서 사용하는 공통 프로토콜을 내부 라우팅 프로토콜이라 하며, 라우터들끼리 라우팅 정보를 교환하는 용도로 사용한다.
학교 같은 인터넷 환경에서는 각 건물을 라우터로 연결해 자율 시스템을 구성할 수 있고 외부의 자율 시스템과도 연결한다. 이러한 구조에서는 자율 시스템이 사용하는 알고리즘과 라우팅 테이블 정보의 구조가 서로 다를 수 있으므로, 자율 시스템 사이의 연동을 위한 방안을 고려해야 한다. 자율 시스템들 간에 사용하는 라우팅 프로토콜을 일반적으로 외부 라우팅 프로토콜이라 한다.
동일한 자율 시스템에 위치한 라우터 사이에는 내부 라우팅 프로토콜을 사용하고, 서로 다른 자율 시스템을 연결하는 라우터 사이에는 외부 라우팅 프로토콜을 사용한다. 내부 라우팅 프로토콜에는 RIP, OSPE등이 있고, 외부 라우팅 프로토콜에는 BGP등이 있다.
Reference
쉽게 배우는 데이터 통신과 컴퓨터 네트워크
브리지 이미지 출처 : https://velog.io/@myday0827/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EA%B8%B0%EC%88%A0
네트워크 기술
회선 교환 시스템과 패킷 쇼환 시스템의 차이와 원리 이해가상 회선과 데이터그램의 차이와 원리 이해LAN, MAN, WAN 의 구조 설명네트워크 연동을 위한 인터네트워킹 기술 이해 네트워크 서비스 품
velog.io
'CS > Network' 카테고리의 다른 글
[Chapter 4] 데이터 전송의 기초(오류 제어) (0) | 2025.02.10 |
---|---|
[Chapter 4] 데이터 전송의 기초(데이터 전송 방식) (0) | 2025.02.10 |
[Chapter 3] 네트워크 기술(교환 시스템) (0) | 2025.02.09 |
[Chapter 2] 네트워크 모델(TCP/IP모델) (0) | 2025.02.07 |
[Chapter 2] 네트워크 모델(OSI 참조 모델) (0) | 2025.02.07 |