네트워크/Network Layer

[네트워크] Network Layer (6) - Router(Input/output port, Switching Fabric)

구코딩 2022. 12. 10. 18:13
반응형

네트워크 계층의 라우터는 데이터가 이동할 경로를 설정하고 데이터를 올바른 경로로 보내는 역할을 한다.
라우팅 알고리즘 및 프로토콜은 RIP, OSPF, BGP 등이 있으며, 데이터그램을 전송한다.
라우터의 구조는 크게 두 가지가 있는데, 바로 control plane과 data plane이다. 이 두 단어는 라우터를 학습함에 있어 매우 중요하니 꼭 알아두도록 하자.

control plane은 라우팅에 관련된 기능을 수행하는데, 라우터들이 협업하여 데이터의 시작 지점부터 목적 지점까지의 경로를 설정하는 라우팅 알고리즘을 통해 전체 경로를 지정해주는 네비게이션 같은 역할을 한다.
data plane은 포워딩에 관련된 기능을 수행한다. 여기에는 후술할 라우터 입/출력, 고속 스위칭 패브릭과 같은 개념이 포함되어 있다. 포워딩은 각 라우터에서 다음 라우터로 어떻게 보낼지 정하는 것으로 갈림길에서의 방향 설정과 같은 느낌이다.

이렇게 라우터에서는 control plane과 data plane이 협업하여 데이터를 지정한 곳으로 보낸다.
data plane에서는 입출력포트가 정보를 주고받으며, control plane에서는 어디로 보낼지를 설정해준다.

 



Input Port Functions

라우터의 input port는 물리/링크 계층과 연결되어 데이터를 수신한다.
사진에서 line termination은 물리적으로 연결된 부분으로, 물리 계층에 속한다.
가운데 link layer protocol은 이름에서 알 수 있듯 링크 계층이며, 이더넷 부분이다.
스위치 패브릭으로 이어지는 lookup, forwarding 부분은 큐로 구성된 네트워크 계층이며, 선입선출의 방식으로 데이터를 전달한다.

 

네트워크 계층에서 분산 스위칭 기법이 사용되는데, 입력 포트 메모리의 포워딩 테이블을 사용하여 출력 포트를 조회할 수 있으며, 데이터 헤더의 필드값을 보고 적절한 방향을 찾는 기법을 말한다. 이와 같이 주소가 맞으면 전달하는 방식을 Match Plus Action이라고 한다.
destination-based forwarding으로 목적지 IP주소를 기반으로 하여 전달을 하며, 목적지 주소를 보고 다음으로 적합한 노드를 결정하여 전송한다. 이때, 큐 자료구조를 사용하고 있기 때문에 도착하는 데이터그램 수가 스위치 패브릭으로 전달되는 수보다 많을 때 손실이 발생한다.

 

이렇게 각 라우터에서는 각각 라우팅 알고리즘을 통한 포워딩 테이블을 작성하여 데이터가 들어왔을 때 헤더에 적힌 ip주소를 보고 출력 포트에 연결된 어떤 링크로 데이터를 보낼지 선택한다.



 

Switching fabrics

스위칠 패브릭은 입력 버퍼에서 적절한 출력 버퍼로 전송하는 과정으로 입출력 포트들이 엮여 연결된 모습이 섬유와 같다고 하여 붙여진 이름이다.

라우터는 입력 포트로 들어온 패킷을 포워딩 테이블에 따라 적절한 출력 포트로 전송한다.

Switching Rate : 패킷을 입력에서 출력으로 전송할 수 있는 속도.

크게 세 가지 모양이 있는데,

1세대 라우터는 메모리를 통한 스위칭을 수행한다.

버스형은 대역폭에 의해 속도가 제한되며, 입출력 포트 사이에 공유 버스가 배치되어 충돌 회피를 위하여 사이클 당 하나의 패킷을 처리한다.

크로스바형은 가장 많이 사용되는 방식으로 각 n개의 입출력 포트와 연결된 2n개의 버스로 구성되어 있다.

 

 

 

Output Ports

라우터의 출력 포트이다. 앞서 보았던 입력 포트와 순서만 다르고 구조는 동일하다.
출력 포트는 메모리에 저장된 패킷을 출력 링크를 통해 전송하며, 스위치를 통한 패킷 도착 속도가 속도를 초과할 경우에 버퍼링이 발생한다.
-> output port의 buffer overflow로 인한 queueing delay와 loss가 발생한다고 할 수 있다.
큐 자료구조는 라우터의 기본 구조로, 버퍼가 부족하면 패킷이 손실될 가능성이 존재한다.

라우터가 패킷을 주고 받는 과정을 도식화한 그림이다. 입력 포트로 자료를 받고, 스위치 패브릭을 통해 각각의 출력 포트로 보내는 과정이다. 오른쪽 그림을 보면, 출력 버퍼의 큐 버퍼가 가득 찼는데 자료를 보내려고 하고 있으므로, 패킷 손실이 일어날 가능성이 있다.

 

 

 

반응형