전공/네트워크

네트워크 계층- 개요

_Admin_ 2020. 10. 27. 15:56
반응형

네트워크 계층은 OSI 7 Layer에서 세 번째에 위치한 계층으로 단위는 Datagram이다. 과거 네트워크 수업을 들었을 때 네트워크 계층에서만 거의 3주를 할애할 정도로 공부할 내용이 많은 계층이다. 네트워크 계층은 송신자[Sender]가 전송한 메시지가 수신자[Receiver]가 위치한 곳까지 찾아가야하는 데 사용되는 경로를 책임진다. 즉, 길찾기를 담당한다.

이러한 네트워크는 두 가지 영역으로 나누어져 있다. 제어 영역[Control Plane]과 데이터 영역[Data Plane]이다. 각 영역은 다른 역할을 담당한다. 먼저 제어 영역의 경우 라우팅[Routing]을 담당한다. 라우팅이란 Sender에서 Receiever까지 가는 경로를 찾는 것이다. 데이터 영역에서는 포워딩[Forwarding]을 담당한다. 포워딩이란 특정 패킷이 라우터의 입력 링크에 들어왔을 때 이 패킷을 적정 출력 링크로 내보내는 것을 의미한다. 즉, 자동차로 비유하면 가장 적절한 경로를 찾는 네비게이션 같은 역할을 하는 것이 제어 영역에서 일어나는 일이라면, 실제적으로 차선을 바꿔가며 주어진 경로대로 길을 찾아가는 활동은 데이터 영역에서 일어난다.

종종 다른 곳에서는 라우팅과 포워딩이란 용어를 혼용해서 사용하는 경우도 있지만, 이 블로그에서는 정확하게 둘을 구분한다. 포워딩은 HW적으로 실행되기 때문에 매우 짧은 시간 단위[보통 나노초] 내에 실행된다. 반면에 라우팅은 네트워크 전반을 이해하고 경로를 설정하는 것이기에 SW적으로 실행되며 긴 시간 단위를 가진다.

전통적인 라우팅 개념도

해당 그림은 '전통적인 라우팅'의 개념도다. 하나의 라우터에 제어 영역[control plane]과 데이터 영역[data plane]이 동시에 존재하고 있는 것을 확인할 수 있다. 즉 이를 통해 전통적인 라우팅에선, 하나의 라우터가 라우팅과 포워딩을 둘 다 담당하고 있다는 것을 알 수 있다. 그림을 보면 하나의 라우터는 다른 다우터들과 서로 메시지를 주고 받는 걸 확인할 수 있다. 즉 각 라우터들과 상호작용하여 Routing Algorithm에 정보를 넣고 그에 따른 결과로 자신의 포워딩 테이블을 만들어 나간다.

반면에 아래 그림을 보자. 전통적인 라우팅과는 다른 개념인 SDN(Software Defined Network)다. 

SDN의 개념도

위와의 차이가 보이는가? 전통적인 라우팅의 개념도에서는 하나의 라우터에 제어 영역과 데이터 영역이 동시에 존재했다. 그러나 SDN의 개념도에서 라우터는 데이터 영역에만 가지고 있다. 이 말은 즉, SDN의 라우터들은 라우팅(= 경로 찾기)에 관여하지 않는다는 뜻이 된다. 그러면 라우팅은 누가 하는가? 위 그림처럼 하나의 Controller가 모든 라우터로부터 정보를 얻어서 이를 기반으로 알고리즘을 만든다. 이 Controller는 높은 신뢰성과 중복성을 허용한 원격 데이터 센터에 설치되어서 각 라우터들과 소통한다. 

 

해당 포스팅에서 전통적인 방식과 요즘 뜨고 있는 SDN 방식으로 동작하고 있는 네트워크 계층을 확인할 수 있었다. 다음 포스팅에서부턴 데이터 영역에서 각 라우터들이 포워딩을 어떻게 하는지에 대해 자세히 살펴볼 것이며 제어 영역의 여러 라우팅 알고리즘(OSPF, BGP 등)에 대해 알아볼 예정이다.

반응형