< Router 구조 개요 >
2가지 주요 router 기능
- Routing algorithm/protocol (RIP,OSPF,BGP) 수행
- 입력 link에서 출력 link로 datagram 전달
입력 포트
입력 포트는 여러 기능을 수행하는데 위의 그림에서 왼쪽 상자와 출력 포트의 맨 오른쪽 상자는 라우터로 들어오는 입력 물리 링크의 종단으로 물리계층 기능을 수행한다.
입력포트는 또한 들어오는 링크의 반대편에 있는 링크 계층과 상호 운용하기 위해 필요한 링크 계층 기능을 수행한다. 이것은 입력 및 출력 포트에서 중간 상자로 표시된다.
아마 결정적으로, 검색(lookup)함수는 입력포트에서 결정된다. 이는 입력 포트의 가장 오른쪽 상자에서 발생한다. 포워딩 테이블은 도착한 패킷이 스위칭 구조를 통해 전달되기 위한 결정을 한다.
제어패킷은(RIP,OSPFmBGP) 입력포트에서 라우팅 프로세스로 전달 된다.
스위칭 구조
스위칭 구조는 라우터의 입력 포트와 출력 포트를 연결한다. 스위칭 구조는 완전히 라우터 내부에 있다.
출력 포트
출력 포트는 스위칭 구조를 통해 전달될 패킷을 저장한 다음 필수적인 링크 계층 및 물리 계층 기능을 수행함으로써 외부 링크로 패킷을 전송한다.
라우팅 프로세서
라우팅 프로세서는 라우팅 프로토콜을 수행하고, 라우팅 테이블과 연결 상태 정보를 유지하며, 라우터의 포워딩 테이블을 계산한다.
< Datagram 전달 테이블 >
스위칭
> 스위칭 구조는 라우터의 중심이다. 이것을 통해서 패킷은 입력 포트에서 출력 포트로 이동한다. 밑의 그림과 같이 스위칭 구조는 다양한 방식으로 구현할 수 있다.
< 메모리를 통한 교환 >
가장 간단하고 단순한 라우터는 CPU(라우팅 프로세서)가 직접 패킷을 제어해서 입력포트와 출력 포트 사이에서 패킷을 스위칭하는 고전 컴퓨터이다.
패킷이 시스템 메모리에 복사되며, 메모리 대역폭에 전송 속도가 제한된다.
또한 두 패킷이 다른 목적지 포트여도 공유 시스템 버스의 한 메모리만 읽기/쓰기를 한 번에 수행할 수 있어 두 패킷이 동시에 전달할 수 없다.
< 버스를 통한 교환 >
입력 포트는 라우팅 프로세서의 간섭 없이 패킷을 공유 버스의 출력 포트로 직접 전달한다. 입력 포트 메모리에서 출력포트 메모리로 공유 버스를 통해 데이터그램을 전달한다.
만약 여러 패킷들이 동시에 라우터에 도착하면, 오직 패킷 하나만 한 번에 버스를 건널 수 있어 각자 다른 입력 포트에 이쓴 모든 패킷들은 기다려야 한다. 모든 패킷이 하나의 버스를 건너가야 하므로, 라우터의 스위칭 속도는 버스 속도에 의해 제한된다.
< 인터커넥션 네트워크를 통한 교환 >
단일 또는 공유 버스의 대역폭의 한계를 극복하는 방법은 멀티프로세서 컴퓨터 구조에서 프로세서의 인터커넥트를 위해 사용되었던 것과 같은 좀 더 복잡한 인터커넥션 네트워크를 사용하는 것이다.
크로스바 스위치는 위 그림과 같이 N개의 입력 포트와 N개의 출력 포트로 연결된 2N개의 버스들로 구성된 인터커넥션 네트워크이다.
< 입력 Port Queuing >
Head-of-the-Line(HOL) blocking : Queue의 앞부분에 대기중인 datagram때문에 다른 datagram(해당 출력 port는 비어 있음에도 불구하고)이 전달될 수 없는 경우
입력 port buffer의 overflow에 의해 지연(delay)과 손실이 발생
< 출력 Port >
Buffering : 출력 link의 전송속도에 비해 switch로부터 입력되는 datagram 속도가 더 클때 필요
Scheduling : 대기하고 있는 datagram중에서 전송할 것 선택하는 규칙 정의
< 출력 Port Queueing >
출력 port buffer의 overflow에 의해 지연(delay)과 손실이 발생
< Scheduling mechanisms >
scheduling : 링크에서 보낼 다음 패킷을 선택
FIFO(first in first out) scheduling : 큐에 도착한 순서대로 보내는 방식
폐기 정책 : 만약 패킷이 꽉 찬 큐에 도착한다면, 어떤 것을 버려야 하는가?
- tail drop : 도착 패킷을 폐기함
- priority : 우선순위에 따라서 폐기함
- random : 임의로 폐기함
< Scheduling policies : priority >
- priority scheduling : 큐에 쌓여 있는 패킷들중 가장 높은 우선순위 패킷을 전송
- 서로 다른 우선순위를 갖는 다중 클래스
- 클래스 : 마킹 또는,다른 헤더 정보(출발/도착지,포트 넘버 등)에 따라 클래스 구분
< Schduling policies : still more >
Round Robin (RR) scheduling : 다중 클래스 , 순차적으로 클래스 큐를 탐색, 각 클래스로 부터 하나의 패킷 전송함.
< Schduling policies : still more >
Weighted Fair Queuing (WFQ) : Round Robin의 일반화 , 각 클래스마다 각 순환마다 서비스 받는 시간 양을 다르게 함.
'Network > 컴퓨터 네트워크' 카테고리의 다른 글
[14] CH4 네트워크 계층 < 인터넷 프로토콜(IP) -2 > (0) | 2021.12.02 |
---|---|
[13] CH4 네트워크 계층 < 인터넷 프로토콜(IP) > (0) | 2021.12.02 |
[10] CH4 네트워크 계층 < Network 계층 개요> (0) | 2021.11.24 |
[12] CH4 네트워크 계층 < 라우팅 알고리즘 > (0) | 2021.11.22 |
[9] CH3 Transport 계층 (0) | 2021.11.01 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!