4.1
Network layer
<aside>
🗒️
Two key network-layer functions
- forwarding
- 패킷을 라우터의 입력에서 적절한 라우터 출력으로 이동시키는 것
- data plane의 영역
- routing
- 패킷이 출발지에서 목적지까지 이동할 경로를 결정하는 것
- control plane의 영역
- data plane과 control plane은 네트워크 계층을 두 계층으로 나눈 것이라 생각
</aside>
<aside>
🚎
Network layer : data plane, control plane
- Data plane(forwarding)
- 지역적, 라우터별 기능
- 라우터 입력 포트에 도착한 데이터그램이 라우터 출력 포트로 어떻게 전달되는지 결정
- Control plane(routing)
- 네트워크 전반의 로직
- 데이터그램이 출발지 호스트에서 목적지 호스트로 가는 경로 상의 라우터들 사이에서 어떻게 라우팅되는지 결정
- 두 가지 제어 플레인 접근 방식
- traditional routing algorithms : 라우터에 구현
- software-defined networking(SDN) : (원격)서버에 구현됨
<aside>
🚎
Control plane 부분
Per-router control plane(traditional routing algorithms)

- 각각의 라우터별로 Routing Algorithm을 수행, 그래서 라우터별로 forwarding table을 유지
Logically centralized control plane(SDN)

- remote하게 떨어져 있는 controller가 각각의 local control agent(CA)와 interact함
- CA에서 forwarding table을 계산
- CA와 Remote Controller는 서로 interact하면서 각각 라우터의 정보를 주고받을 수 있음
</aside>
<aside>
🚎
추가 필기(번외)
- Flow 개념
- 5 tuple로 구성
- IP - S,D
- Port - S,D
- Protocl
- 양방향성
</aside>
<aside>
🚎
Network layer service models
- Internet - best effort → Virtual connection으로 flow control 등 기능함
- ATM - CBR(음성)
- ATM - VBR(영상)
- ATM - ABR(패킷 순서 표시)
- ATM - UBR(ordering 제공, Internet best effort와 비슷)
</aside>
4.2
<aside>
🚎
Router Architecture

Input port functions

- 전체적 동작 구조
- physical layer인 line termination에서 들어온 bit가 link layer의 protocol을 통해 전달되고, 이를 switching header filed의 값을 사용하여 output port를 찾음
- 이 과정이 각 포트별로 이루어져 decentralized switching이라 부름
- match + action - 헤더 필드 값을 사용하여 입력 포트 메모리에 있는 포워드 테이블을 조회하여 출력 포트를 결정
- line speed로 입력 포트 처리를 완료하는 것
- delay가 발생하지 않게 하는게 목적
</aside>
<aside>
🚎
</aside>
<aside>
⛺
</aside>
<aside>
🃏
</aside>
<aside>
🛗
</aside>
<aside>
👠
</aside>