Doctor Pepper

[네트워크 계층] 라우팅(Routing) (1) 본문

네트워크/네트워크 계층

[네트워크 계층] 라우팅(Routing) (1)

Doctor Pepper 2024. 10. 17. 16:58
728x90

 

1. 라우터(Router)

 라우터OSI 3계층에서 작동하는 네트워크 장비로, 서로 다른 네트워크 세그먼트 또는 전체 네트워크를 연결하여 패킷을 최종 목적지로 전달한다. 이는 3계층의 정보를 기반으로 한 라우팅 및 스위칭 기능을 통해 이루어진다. 라우터와 연결되는 포트는 인터페이스(S0, S1, S2 등)라고 하며, 각 인터페이스는 독립적으로 존재하며 고유한 네트워크 주소를 갖는다. 이러한 구조를 통해 라우터는 다양한 네트워크 간의 통신을 원활하게 수행할 수 있다.

 

 발신지가 패킷을 전송할 때, 먼저 목적지 주소와 자신의 서브넷 마스크를 비트 AND 연산하여 네트워크 주소를 계산한다. 이 네트워크 주소가 발신지가 속한 네트워크 주소와 같으면 패킷은 로컬 네트워크로 전송되지만, 그렇지 않으면 패킷은 라우터로 전송된다.

 

 라우터에 도착한 패킷은 다시 비트 AND 연산을 수행하여 패킷의 목적지 주소에 서브넷 마스크를 적용한다. 이 결과가 라우팅 테이블의 네트워크 주소와 일치하면, 해당 주소에 연결된 인터페이스로 패킷이 스위칭된다. 여기서 라우팅은 라우터가 패킷을 전송하기에 가장 적합한 인터페이스를 선택하는 과정이며, 스위칭은 한 인터페이스에서 패킷을 수신하고 이를 다른 인터페이스로 전송하는 기능을 의미한다.

 

2. 라우티드 프로토콜 및 라우팅 프로토콜

  라우티드 프로토콜 라우팅 프로토콜
정의 호스트 간 패킷 전송을 위한 네트워크 프로토콜 라우팅 정보를 공유하고 경로를 결정하기 위한 프로토콜
역할 패킷의 주소 및 형식을 정의하고, 네트워크 계층 기능을 수행 라우팅 정보를 교환하여 라우팅 테이블을 갱신
예시 IP, IPX, AppleTalk DDP RIP, OSPF, IGRP
지원 여부 3계층을 지원하지 않는 경우가 잇음(비경로 프로토콜) 일반적으로 3계층 지원(라우터 간의 경로 정보 교환)
제한 사항 세그먼트 내에서만 작동할 수 있음(ex. NetBEUI) 도메인 또는 자율 시스템 내에서 작동

 

 - 라우티드 프로토콜

 라우티드 프로토콜은 주소 체계를 기반으로 패킷을 호스트에서 호스트로 전달하기 위해 네트워크 계층 헤더에 충분한 정보를 제공하는 네트워크 프로토콜이다. 이러한 프로토콜은 버전, 주소 형식 등을 정의하며, 이 필드를 사용하여 네트워크 계층의 기능을 수행한다. IP, IPX(Internetwork Packet eXchange), AppleTalk DDP(Datagram Delivery Protocol)와 같은 프로토콜은 3계층을 지원하지 않는 경우가 있는데, 이러한 경우에는 비경로 프로토콜로 분류된다. 예를 들어, NetBEUI는 작고 빠르며 효율적인 프로토콜이지만, 하나의 세그먼트 내에서만 작동하도록 제한되어 있다.

 

 추가로 IPv6도 중요한 라우티드 프로토콜 중 하나로 언급될 수 있다. 특히, 현대 네트워크에서는 IPv6의 사용이 증가하고 있으며, IPv4 주소의 고갈 문제를 해결하기 위해 점차 많이 채택되고 있다. IPv6는 128비트 주소 체계를 사용해 훨씬 더 많은 IP 주소를 제공한다.

 

 또한, NetBEUI와 같은 비경로 프로토콜은 대규모 네트워크 환경에서는 비효율적이며, 일반적으로 소규모 LAN 환경에서만 사용된다. 이들은 세그먼트 간 패킷 전달을 지원하지 않으므로, 라우터를 통해 다른 네트워크로 패킷을 전달할 수 없다. 비경로 프로토콜의 예시로 NetBIOS가 있을 수 있다.

 

- 라우팅 프로토콜

 라우팅 프로토콜은 네트워크에서 데이터를 목적지로 전송하기 위해 여러 라우터 간에 경로 정보를 공유하는 데 사용된다. 이를 통해 각 라우터는 최적의 경로를 선택하고 네트워크 트래픽을 효율적으로 관리할 수 있다. 라우터는 라우팅 프로토콜을 사용하여 경로 정보를 주고받고, 그 정보를 바탕으로 라우팅 테이블을 갱신하여 최적의 경로를 유지한다.

 

 라우팅 프로토콜은 크게 내부 게이트웨이 프로토콜(IGP)외부 게이트웨이 프로토콜(EGP)로 구분된다.

내부
게이트웨이
프로토콜
RIP 가장 오래된 거리 벡터 기반 라우팅 프로토콜로, 홉 수(hop count)를 메트릭으로 사용하여 경로를 결정함.
홉 수가 15를 넘으면 경로가 유효하지 않다고 간주하여 소규모 네트워크에서 주로 사용됨.
OSPF 링크 상태 기반 라우팅 프로토콜로, 네트워크 변화에 빠르게 적응할 수 있으며 대규모 네트워크에서 많이 사용됨.
대역폭과 지연 시간과 같은 여러 메트릭을 사용하여 최적 경로를 선택함.
EIGRP 하이브리드 라우팅 프로토콜로, 거리 벡터와 링크 상태 라우팅의 장점을 결합하여 더 빠르고 효율적인 경로 설정이 가능함.
시스코(Cisco)에서 개발되었으며, IGRP의 확장판임.
외부
게이트웨이
프로토콜
BPG 인터넷에서 자율 시스템(AS) 간의 경로 설정을 담당하는 프로토콜로, 전 세계 인터넷 트래픽 경로를 설정함.
경로의 안정성, 정책, 메트릭 등을 기준으로 최적 경로를 선택함.

 

 

3. 라우팅 방법

- 다음 홉 라우팅(Next-Hop Routing)

 다음 홉 라우팅은 라우팅 테이블의 크기를 줄이는 기술 중 하나로, 라우팅 테이블에 전체 경로 정보를 저장하는 경로 기반 라우팅과 달리 다음 홉의 주소만 저장한다. 이 방식은 라우팅 테이블을 단순화하여 라우터 간에 일관성을 유지할 수 있도록 한다.

 

 

 예를 들어, 호스트 A에서 호스트 B로의 패킷 전달 시, 라우터는 경로의 모든 정보를 저장하는 대신, 패킷을 전달할 다음 홉(next hop)에 대한 정보만 저장한다. 이 방식으로 라우팅 테이블의 크기를 크게 줄일 수 있다. 반면, 경로 기반 라우팅에서는 전체 경로에 대한 정보를 저장하기 때문에 상대적으로 라우팅 테이블의 크기가 크다.

 

 다음 홉 라우팅은 테이블을 단순화할 수 있지만, 모든 라우터가 독립적으로 패킷을 처리하므로, 경로 최적화가 이루어지지 않을 수 있다. 즉, 라우터가 경로 전체를 알지 못하고, 자신의 다음 홉만 알고 있기 때문에, 경로가 최적화되지 않은 경우 비효율적인 경로가 선택될 가능성이 있다. 따라서 경로가 최적화되도록 라우팅 프로토콜과 병행해서 사용해야 한다.

 

- 네트워크 지정 라우팅(Network-Specific Routing)

 네트워크 지정 라우팅(Network-Specific Routing)은 라우팅 테이블의 크기를 줄이고 질의 과정을 단순화하는 또 다른 기술이다. 이 방법에서는 같은 네트워크에 연결된 각 호스트에 대해 개별 엔트리를 만들지 않고, 해당 네트워크 전체를 하나의 엔트리로 정의한다. 즉, 같은 네트워크에 연결된 모든 호스트를 하나의 엔티티로 취급하는 방식이다.

 

 예를 들어, 만약 100개의 호스트가 같은 네트워크에 연결되어 있다면, 각 호스트에 대해 100개의 엔트리를 만드는 대신, 라우팅 테이블에는 네트워크 전체를 나타내는 단 하나의 엔트리만 저장된다. 이렇게 하면 라우팅 테이블의 크기가 크게 줄어들고 관리가 더 쉬워진다.

 

 네트워크 지정 라우팅에서는 서브넷 마스크를 사용하여 특정 네트워크를 정의한다. 네트워크를 하나의 엔트리로 묶는 이 방식은 IP 주소와 서브넷 마스크를 사용하여, 해당 네트워크에 속하는 모든 호스트가 동일한 라우팅 경로를 따르도록 설정된다. 이는 특히 대규모 네트워크 환경에서 라우팅 테이블을 크게 줄일 수 있다.

 

- 호스트 지정 라우팅(Host-Specific routing)

 호스트 지정 라우팅(Host-Specific Routing)은 라우팅 테이블에 개별 호스트의 주소를 저장하는 방식으로, 네트워크 지정 라우팅의 반대 개념이다. 호스트 주소를 라우팅 테이블에 저장하면 테이블의 크기가 커져 비효율적일 수 있지만, 관리자가 특정 호스트로 가는 경로를 직접 제어하고자 할 때 유용하다.

 

 예를 들어, 관리자가 호스트 A에서 호스트 B로 가는 패킷이 라우터 R1 대신 라우터 R3을 경유하도록 설정하고 싶다면, 호스트 A의 라우팅 테이블에 이를 정의하는 엔트리를 추가할 수 있다. 호스트 지정 라우팅은 테스트나 보안성을 강화하려는 특별한 상황에서 좋은 선택이 될 수 있다.

 

 호스트 지정 라우팅은 특정 목적지에 대해 정밀하게 경로를 설정할 수 있지만, 매우 많은 엔트리를 요구하므로 라우팅 테이블이 커질 수 있다. 대규모 네트워크 환경에서는 관리가 복잡해질 수 있어 일반적으로 특정 목적에 제한적으로 사용된다. 예를 들면, 테스트 환경, 특정 보안 요구사항을 충족해야 하는 상황, 혹은 중요한 서비스에 대해 특별한 경로 설정이 필요한 경우에 주로 사용된다. 

 

- 디폴트 라우팅(Default routing)

 라우팅을 단순화하는 또 다른 방법으로 디폴트 라우팅(Default routing)이 있다. 예를 들어, 호스트 A가 두 개의 라우터에 연결되어 있다. 호스트 A는 Network 2에 연결된 호스트로 패킷을 보내기 위해 라우터 R1을 사용해야 한다. 반면, 인터넷의 나머지 모든 목적지로 패킷을 전송할 때는 라우터 R2를 사용해야 한다. 이때 인터넷 상의 모든 네트워크를 라우팅 테이블에 나열하는 대신, 호스트 A는 네트워크 주소가 0.0.0.0으로 설정된 디폴트(default) 엔트리 하나만 가지면 된다. 이를 통해 라우팅 테이블을 간단하고 효율적으로 유지할 수 있다.

 

 디폴트 라우팅은 소규모 네트워크에서 유용하지만, 대규모 네트워크에서는 비효율적일 수 있다. 만약 네트워크 상의 많은 트래픽이 디폴트 경로를 통해 전송된다면, 트래픽의 병목이 발생할 수 있다. 이를 보완하기 위해, 디폴트 경로를 사용하는 라우터는 적절한 로드 밸런싱을 고려해야 할 수도 있다.

 

4. 정적 및 동적 라우팅

호스트와 라우터는 IP 패킷을 전달하기 위해 각 목적지별로 하나의 엔트리를 포함하는 라우팅 테이블을 유지합니다. 이러한 라우팅 테이블은 정적 또는 동적일 수 있다.

 

- 정적 라우팅(Static routing)

 정적 라우팅은 수동으로 입력된 경로 정보를 저장하는 방식이다. 네트워크 관리자가 각 목적지에 대한 경로를 직접 라우팅 테이블에 입력하며, 한 번 설정된 라우팅 테이블은 네트워크의 변화에 따라 자동으로 갱신되지 않는다. 즉, 네트워크 상황이 변화하더라도 관리자가 직접 라우팅 테이블을 수정해야만 변경이 이루어진다. 만약 정적 라우팅을 사용하는 라우터가 비정상적으로 동작을 멈추면, 주변의 다른 라우터는 이 문제를 감지하지 못하고 네트워크 오류를 전파하지 않는다.

  • 장점 : 정적 라우팅은 단순하고 예측 가능하며, 라우팅 테이블이 수동으로 관리되기 때문에 자원 소모가 적다. 또한, 소규모 네트워크에서는 설정된 경로에 따라 매우 안정적인 네트워크 동작을 보장할 수 있다.
  • 단점 : 네트워크가 커지거나 변화가 잦은 환경에서는 라우팅 테이블을 수동으로 수정하는 것이 매우 비효율적이다. 특히 장애 상황에서 경로를 신속히 재설정할 수 없다는 단점이 있어 대규모 네트워크에서는 사용이 제한된다.

 

 정적 라우팅은 주로 문제 해결을 위한 실험적인 네트워크나 네트워크 변경이 드문 소규모 인터넷 환경에서 제한적으로 사용된다. 현재처럼 규모가 크고 복잡한 네트워크 환경에서는 정적 라우팅의 한계로 인해 일반적으로 사용되지 않는다.

 

- 동적 라우팅(Dynamic routing)

 동적 라우팅은 RIP, OSPF, BGP와 같은 동적 라우팅 프로토콜을 사용하여 다른 라우터들과 라우팅 정보를 자동으로 교환하며, 이를 통해 라우팅 테이블을 실시간으로 업데이트한다. 네트워크 상태가 변화할 때, 예를 들어 라우터나 링크에 장애가 발생하면, 동적 라우팅 프로토콜은 즉시 네트워크 전체의 라우팅 테이블을 갱신하여 새로운 경로를 통해 패킷을 전달할 수 있게 한다.

  • 장점 : 네트워크 상태 변화에 실시간으로 대응할 수 있으며, 자동으로 라우팅 테이블이 업데이트되므로 관리자 개입이 최소화된다. 특히, 대규모 네트워크에서 장애가 발생했을 때 신속하게 대체 경로를 찾을 수 있어 안정적인 통신을 유지한다.
  • 단점: 동적 라우팅은 라우팅 정보를 지속적으로 교환하기 때문에 대역폭이 소모되며, 복잡한 알고리즘을 처리하는 데 CPU와 메모리 자원을 더 많이 필요로 한다. 또한, 작은 네트워크에서는 동적 라우팅이 불필요하게 복잡할 수 있다.

 

 이러한 동적 라우팅 방식은 인터넷과 같이 대규모 네트워크 환경에서 매우 유용하며, IP 패킷을 효율적으로 전달하기 위해 라우터는 지속적으로 최신 상태의 경로 정보를 유지해야 한다.

 

 

 

728x90