본문 바로가기
네트워크

네트워크 라우팅

by PudgeKim 2020. 11. 28.

라우팅이란 들어온 패킷을 어느 출력 경로를 통해 다음 호스트로 전달해야 가장 효율적인지를 결정하는 것이다.

내 컴퓨터에서 naver를 접근할 때 수많은 라우터(그림에서 주황색 동그라미)들이 있을 것이고 각 라우터는 여러가지 정보를 가지고 있다. (자신과 연결되어있는 라우터가 무엇인지, 거리가 얼마나 되는지 등) 이런 상황에서 라우터는 데이터를 가장 효과적으로 전달하고 혼잡상태를 피하기위한 라우팅을 한다. 

 

네트워크 계층에서는 크게 두 역할이 있다. Data plane과 Control plane이다.

Control plane은 데이터가 어느 라우터에서 어디 라우터로 가야하는지 등의 과정을 결정한다.

Data plane은 forwarding plane으로도 불리는데 데이터가 어떻게 앞으로 가야하는지만을 결정한다. 조금 이해가 안갈 수 있는데 Control plane이 신호등, Data plane이 자동차라면 신호등의 색깔에 맞게 멈추거나 앞으로 가야하는 등을 생각해볼 수 있다.

 

그럼 전통적인 라우팅 방법을 살펴보자.

라우터 안에 forwarding과 routing function이 같이 있는 방식이다.

위 그림과 같이 header number 0110인 packet이 라우터로 들어왔을 때 각 라우터에는 routing table이 있고(그림에서는 하나의 라우팅 테이블만 그렸지만 각 라우터마다 있다고 생각하자.) routing table에 따라 어디 라우터로 전송할지를 결정한다.

 

다른 방식으로는 SDN방식이 있다.

위 그림과 같이 각 라우터 내부가 아닌 밖에서 따로 routing table을 관리하는 방식이다.

이 경우 각 라우터는 Control plane을 가지고 있지 않기 때문에 라우터라 부르지 않고 스위치라고 부른다.

이 방식은 전통적인 방식에 비해서 한곳에서 routing table을 관리하기 때문에 routing table의 수정이 더 용이하다. (전통적 방식의 경우 각 라우터가 routing table을 가지고 있기 때문에 모든 라우터를 접근해야되는 등의 시간이 필요하기 때문이다.)

단점으로는 각 라우터가 remote controller와 통신하는데 발생하는 오버헤드, 그리고 모든 라우터가 remote controller와 연결되어야 하므로 scalability의 문제 등이 있다.

그래서 사이즈가 제한된 네트워크 (데이터센터 등)에서 많이 사용되는 방식이라고 한다.

'네트워크' 카테고리의 다른 글

네트워크 NAT란?  (0) 2020.12.07
네트워크 인터넷과 여러 계층들  (0) 2020.12.06
네트워크 switching fabrics  (0) 2020.11.28
Transport Layer#3 Go-Back-N  (0) 2020.11.09
Transport Layer#1 Multiplexing & Demultiplexing  (0) 2020.11.09