-
4.2 What's inside a routerComputer Networking 2018. 12. 14. 23:09
1. Router architecture overview
1) 입력 포트 : 라우터로 들어오는 입력 물리 링크의 종단, 검색(lookup) 함수 수행 (이는 입력 포트의 가장 우측 상자에서 발생), 도착한 패킷이 전달되기 위한 결정. 제어 패킷 전달
2) switching structure : 라우터의 입력 포트와 출력 포트를 연결.
3) 출력 포트 : 외부 링크로 패킷을 전송.
4) routing processor : 라우팅 프로토콜(4.6)을 수행, 라우팅 테이블과 연결 상태 정보 유지, 포워딩 테이블을 계산
○ 입력 처리
- decentralized switching : queuing 지원, 최장 프리픽스 대응을 forwarding table에서 찾아 전송
최장 프리픽스 대응 ex) 11001000 00010111 00010*** ********* | 0 (forwarding table)
2. Switching
- 메모리를 통한 교환 : CPU가 직접 패킷을 제어. 입력 포트가 인터럽트 보내 메모리에 패킷 복사 -> 프로세서가 목적지 주소 찾아 출력 포트 버퍼에 패킷을 복사.
- 버스를 통한 교환 : 패킷 하나만 한 번에 버스를 건널 수 있음. 라우터 스위칭 속도는 버스 속도에 의해 제한
- 인터커넥션 네트워크를 통한 교환 : 단일 또는 공유 버스의 대역폭의 한계를 극복. 2N 개의 버스로 구성됨.
3. Input port queuing
- Head-of-the-Line (HOL) blocking : 두 패킷이 같은 출력 큐로 향할 때, 한 패킷은 블로킹되어 입력 큐에서 대기.
4. Output port queuing
- output line의 전송률 이상의 데이터가 도착할 때 큐잉된다.
- 큐잉(지연) 과 손실은 output port buffer 의 overflow에 의해 발생할 수 있다.
- scheduling mechanisms
link로 전송할 다음 패킷을 선택.
FIFO scheduling - 큐에 들어온 순서대로 전송
가득 찬 큐에 들어오려 할때 - 1) tail drop (도착한 패킷을 드랍) 2) priority (우선순위에 기반하여 드랍) 3) random
--> priority scheduling
output port에 도착하는 패킷들을 우선순위에 따라 high priority queue와 low priority queue에 나누어 저장
high priority queue 가 비었을 때만 low priority queue의 패킷을 전송.
--> RR (Round Robin) scheduling
여러 종류의 패킷을 번갈아가며 전송. 반복하면서 각 class 마다 하나의 완전한 패킷을 전송
--> Weighted Fair Queueing (WFQ)
정규화된 RR
패킷 flow 별로 다른 큐를 두어 트래픽을 조절
각 클래스는 가중치를 가져 같은 트래픽의 flow 사이에서도 차이를 둠
'Computer Networking' 카테고리의 다른 글
5.2 Routing protocols (0) 2018.12.17 4.3 IP: Internet Protocol (0) 2018.12.15 4.1 Network Layer 개요 (0) 2018.12.14 3.7 TCP congestion control (0) 2018.12.14 3.6 혼잡제어의 원리 (0) 2018.12.14