[라우터의 구조]

1) 입력 포트 :
- 입력 링크의 물리 계층 기능
- 입력 링크의 반대편에 있는 링크 계층과 상호작용 하는 링크 계층 기능
- 입력 포트에서 검색 기능을 수행하는 것(라우터 출력 포트를 결정)

EX ) 1101000 00010111 00010110 10100001는 0 인터페이스로 전송이 됨.
하지만 21개의 프리픽스가 다른 엔트리와 대응하지 않으면 어떻게 해야될까?
-> 최장 프리픽스 매칭 규칙 : 가장 길게 매칭되는 프리픽스 주소로 전송.

2) 스위칭 구조 : 라우터의 입력 포트와 출력 포트를 연결
- 메모리 구조 :
- 버스 구조: 공유 버스를 통해 직접 출력 포트로 패킷을 전송
- 크로스바 구조: n개의 입력 포트를 n개의 출력 포트에 연결, 2N버스로 구성된 네트워크

3) 출력 포트 : 필요한 링크 계층 및 물리적 계층 기능을 수행하여 출력 링크로 패킷을 전송.
-> 입력되는 속도가 스위칭 속도보다 느리거나 하면 큐잉 지연이 생기게 된다. 이런 큐잉은 입력과 출력층에서 모두 생긴다.
●입력 큐잉 : 스위칭 구조는 한번에 하나의 패킷만 지정된 출력 포트로 전송이 가능하다.

위의 경우 초록색 패킷으로 가능 경로가 열려있음에도 불구하고 앞의 빨간 패킷 때문에 기다려야 하는 상황이 생기는데 이를 HOL(head-of-line)차단이라고 한다.
●출력 큐잉 : 스위칭 속도가 빠른 경우 발생.
$필요한버퍼링\frac{RTT*C}{\sqrt{n}}$필요한버퍼링RTT*C√n
큐에 있는 패킷이 출력 링크를 통해 전송되는 순서를 결정하는 문제에 대하여 이야기 해보자.
1) FIFO(First in first out) :들어온 순서대로 나가는 구조

2) 우선순위 큐잉 : 다양한 클래스를 둠으로써 우선수위를 매김.

3) 로빈 큐잉 : 다양한 클래스가 있고 패킷이 존재할 때 1번 클래스, 2번 클래스, 3번 클래스를 순서대로 한 번씩 방문하는 것.
4) WFQ : 로빈 큐잉에서 각 클래스는 가중치를 가지고 있고 가중치에 시간만큼 서비스됨.
5) 라우팅 프로세서 : 제어 평면 기능을 수행한다.
[참조] Computer Networking: A Top Down Approach - J.F Kurose and K.W. Ross