본문으로 바로가기
반응형
Router

라우터(router)는 수신한 패킷의 목적지 네트워크 주소를 참조하여 전송시키는 3계층 네트워크 장비이다. 주로 WAN 장비를 연결시키는데 사용[각주:1]하며 Subnet이 다른 장비간을 연결 할 때 사용한다.


패킷을 전송할 때는 Routing Table을 참조하며, STP를 사용하여 프레임의 Looping을 방지하는 Switch처럼 Router는 Routing Protocol을 이용하여 패킷의 Looping을 방지한다. 또한 Routing Table에 없는 패킷을 수신하면 모두 차단시킨다. 결과적으로 Broadcast Domain의 수가 증가하고, 각 영역의 크기는 감소하게 된다.


Router Packet 전송 과정

그림과 같이 PC1에서 PC2로 Packet을 전송하려고 한다.


1. PC1은 PC2의 IP 주소는 알고 있지만[각주:2] MAC Address는 알지 못한다. 따라서 MAC Address를 알아야하므로 ARP를 사용한다. 출발지 주소인 1.1.1.1과 도착지 주소의 1.1.4.2의 Subnet이 다르므로[각주:3] PC1은 Gateway인 R1의 MAC Address를 찾는 ARP 패킷을 전송한다. ARP 패킷을 받은 L2는 ARP 패킷을 Flooding한 후, MAC 주소를 PC1에 전송한다. 마침내 PC1은 '출발지 PC1 MAC Address, 도착지 R1 MAC Address, 출발지 PC1 IP(1.1.1.1), 도착지 PC2 IP(1.1.4.2)' 패킷을 R1으로 전송한다.


2. 패킷을 받은 R1은 L2 Header를 제거한 후 최종 목적지를 확인한다. 최종 목적지가 PC2인 것을 확인한 R1은 Routing Table을 참조하여 Next Hop인 R2로 전송해야 하는 것임을 알게 된다. 만약 Next Hop의 MAC Address를 알지 못한다면 1번처럼 똑같이 ARP 패킷을 전송하여 MAC Address를 확인한다. 확인 후 R1은 '출발지 R1 MAC Address, 도착지 R2 MAC Address, 출발지 PC1 IP(1.1.1.1), 도착지 PC2 IP(1.1.4.2)' 패킷을 R2로 전송한다.


3. 패킷을 받은 R2는 2번과 마찬가지로 L2 Header를 제거한 후 최종 목적지를 확인한다. 최종 목적지가 PC2인 것을 확인한 R2는 Routing Table을 참조하여 Next Hop인 R3로 전송해야하는 것임을 알게 된다. 만약 Next Hop의 MAC Address를 알지 못한다면 1번처럼 똑같이 ARP 패킷을 전송하여 MAC Address를 확인한다. 확인 후 R2는 '출발지 R2 MAC Address, 도착지 R3 MAC Address, 출발지 PC1 IP(1.1.1.1), 도착지 PC2 IP(1.1.4.2)' 패킷을 R3로 전송한다.


4. 패킷을 받은 R3는 2번과 마찬가지로 L2 Header를 제거한 후 최종 목적지를 확인한다. 최종 목적지가 PC2인 것을 확인한 R3는 Routing Table을 참조하여 목적지는 자신의 e0/1 인터페이스에 접속되어 있는 것임을 확인한다. 만약 접속되어 있는 PC2의 MAC Address를 알지 못한다면 1번처러 똑같이 ARP 패킷을 전송하여 MAC Address를 확인한다. 확인 후 R3는 '출발지 R3 MAC Address, 도착지 R4 MAC Address, 출발지 PC1 IP(1.1.1.1), 도착지 PC2 IP(1.1.4.2)' 패킷을 연결되어있는 PC2로 보낸다.


위의 과정을 거쳐 PC1의 Packet이 최종 목적지인 PC2로 도착한다.


만약 Router가 Ethernet이 아닌 Frame-Relay로 연결 된 구간이 있다면 Ethernet Frame 대신 Frame-Relay Frame을 사용하여 전송되고, 연결되어있는 Frame-Relay DLCI 번호를 설정하여 전송한다. 또한 HDLC 또는 PPP로 연결했다면 해당 프로토콜에서 사용하는 L2 Header로 바뀌어서 전송된다.


결론적으로, L2 Header의 MAC Address만 변경되고, L3 Packet의 정보는 변경되지 않은 상태로 Packet이 전송된다.[각주:4]


Distance Vector Routing Protocol


디스턴스 벡터 라우팅 프로토콜은 라우팅 정보 전송 시 목적지 네트워크그 네트워크의 메트릭(Metric) 값을 알려준다. 메트릭이란 최적 경로 선택 기준을 말하며, 라우팅 프로토콜별로 사용하는 메트릭이 다르다.


위 그림처럼, R3가 '목적지 1.1.3.0/24 네트워크에 대해서 나는 메트릭이 1이다' 라고 자신의 인접 라우터인 R2에게 광고하면 R2는 'R3와 1.1.3.0/24 네트워크와의 거리는 1이구나' 라고 배우게 된다.


그럼 R2는 1.1.3.0/24 네트워크와의 메트릭 값은 2로 나온다는 것[각주:5]을 알게 되고, R1에게 '목적지 1.1.3.0/24 네트워크에 대해서 나는 메트릭이 2이다' 라고 R1에게 광고하게 되고 R1은 '목적지가 1.1.3.0/24인 패킷을 R2에게 전송하면 R2와 1.1.3.0/24인 네트워크와의 거리는 2이구나' 라고 배우게 된다.


이처럼 라우팅 정보에 목적지 네트워크메트릭(Distance)방향(Vector)이 포함되므로 Distance Vector Routing Protocol이라고 하며, 인접 라우터에게서 광고받은 메트릭 값에 자신의 상황을 반영하여 또 다른 인접 라우터에 광고한다.


디스턴스 벡터 라우팅 프로토콜은은 목적지 네트워크가 어떤 Router에 인접되어있는지 모른다. 오직, 어느 방향으로만 가면 메트릭값이 얼마라는 것만 알고 있다. 대표적으로 RIP, EIGRP, BGP가 있다.


Link State Routing Protocol


링크 상태 라우팅 프로토콜은 라우팅 정보 전송 시 목적지 네트워크그 네트워크의 메트릭(Metric) 값, 네트워크가 접속되어 있는 라우터, 그 라우터와 인접한 라우터 등을 광고한다.


위 그림처럼 R3는 '목적지 네트워크인 1.1.3.1/24는 나에게 접속되어있고 그 메트릭 값은 1이며, 내 Router ID는 x.x.x.x이고 나와 인접한 Router ID는 x.x.x.x이다' 라고 R2에게 알려준다. 그럼 R2는 그 정보를 학습한 동시에 그대로 R1에게 알려주게 된다. R2는 R3처럼 자신의 네트워크 정보[각주:6]를 위의 양식으로 R3와 R1에게 광고해준다.


이처럼 '자신의 Router ID, 인접 Router ID, 인접한 Network, 메트릭' 과 같은 전체 네트워크 구성을 파악하기 위하여 필요한 모든 정보를 알려주는 프로토콜을 Link State Routing Protocol이라고 하며, 이 정보들을 이용하여 동일한 영역(Area) 내부의 네트워크 구성을 모두 파악하게 되고, 특정한 목적지 네트워크로 가는 최적 경로를 계산한다. 대표적으로 OSPF, IS-IS가 있다.


  1. 경우에 따라 Switch를 이용해서 WAN 장비를 연결시킬수도 있다. [본문으로]
  2. 직접 주소 지정 or DNS [본문으로]
  3. 출발지 주소는 1.1.1.1/24, 목적지 주소는 1.1.4.2로 Subnet이 다르다. [본문으로]
  4. 어디서 많이 본 결론이다. 아래의 링크에 그 해답이 있다. [본문으로]
  5. 자신의 상황을 반영했을 때 [본문으로]
  6. 목적지 네트워크인 1.1.3.1/24의 메트릭 값은 2이며, 내 Router ID는 x.x.x.x.이고 나와 인접한 Router ID는 x.x.x.x.이다. [본문으로]
반응형