
라우터는 Data plane, Control plane 두 부분으로 나뉘어 있다.


간단하지만 메모리를 거쳐서 하기 때문에 속도가 느려서 안씀

중간에 어느 output으로도 가기 위해 공유버스를 두어 직접 복사 가능, 충돌 가능성 때문에 한정된 시간 input-output쌍이 독점

여러 쌍이 동시에 통신 가능, input port의 개수가 n이고, output port의 개수가 m이면 n 곱하기 m 만큼의 switch가 필요


위 사진에서 상단 붉은 패킷이 output으로 이동하는 동안 하단 붉은 패킷이 상단 붉은 패킷이 이동을 끝마치는 것을 기다리는데, 이때 초록 패킷은 빨간 패킷 때문에 이동하지 못함. 이를 HOL(Head-of-the-Line) blocking이라고 함.

output ports에도 마찬가지로 버퍼가 존재하는데, 버퍼가 꽉 찬 상태에서 새로운 패킷이 들어오면 패킷이 손실될 수 있음. 이를 예방하기 위하여 버퍼 크기를 적절히 정해야 함.
RFC(Request of comments) 3439에서는 적절한 버퍼 크기를 다음과 같이 제안하였음.

C = Link capacity
N = Flows

queue(버퍼)공간이 모자라 패킷을 discard 해야할 때, 무엇을 버릴지 정하는 규칙
무엇을 버릴지가 아니라 link에서 무엇을 먼저 내보낼지도 정해야 한다.
Priority : 큐마다 우선순위를 부여하여 우선순위가 높은 큐에서 먼저 내보냄

예시)

Round-Robin : 큐마다 한 번씩 돌아가면서 내보냄
예시)

Weighted Fair Queuing(WFQ) : Round-Robin과 비슷하나 큐마다 가중치를 추가로 부여함.
예시)
