Router Architecture overview
router functions
- run routing algorithms/protocol (RIP, OSPF, BGP)
- forwarding datagrams from incoming to outgoing link
Router - Input port functions
- line termination : router로 들어오는 physical link를 종료하는 physical layer의 기능.
- link layer protocol : 들어오는 link의 다른 쪽에서 data link layer와 상호 운용하는데 필요한 data link layer의 기능
- decentralized switching
- 주어진 datagram destination → input port memory 내의 forwarding table을 이용해 output port를 lookup함.
- line speed로 input port processing을 하는 것이 목표.
- Datagram의 처리 속도보다 들어오는 속도가 빠른 경우, queueing!
Switching Fabrics
<aside>
💡 Input buffer로 들어온 packet을 적절한 output buffer로 전달해주는 과정
</aside>
Switching via memory
- 1세대 router
- 각각의 input port로 들어오는 모든 packet들을 memory로 복사한 후, 선택된 output port로 내보내짐.
- input port에서 memory로, memory에서 output port로 총 2번 memory로의 접근이 필요해 memory의 bandwidth에 따라 속도가 달라짐.
- memory access에 걸리는 시간이 상당하므로, 빠른 속도를 내기에는 한계가 있는 구조