-
Computer Network 4_1 : Network Layer_inside a routerComputer Network/4장 Network layer 2022. 10. 27. 20:38
chap4 Network Layer
Goals
- network layer service models
- routing
- forwarding
- router가 어떻게 동작하는지
- IP protocol(원래 32bit 사용하다가 network 기기가 많아져 현재는 128bit으로 넘어옴, IPv4→IPv6)
Services and protocols
-network layer는 sender receiver 사이 즉 host 사이
-sender에서 transport가 segment를 encapsulation에서 전달해주면 network layer는 따로 header를 붙여 datagram을 link layer로 보냄
-receiver는 segment를 transport layer로 올림
Network layer : data plane + control plane
- data plane : 말그대로 data가 처리되는 영역이다. router를 중심으로 설명 할 예정
- control plane : routing algorithm인데 chap4에서는 자세히 다루지 않는다.
- 이 둘 간 통신 규약 : openflow
per-router control plane(traditional)
- 정해진 routing algorithm으로 hardware인 router가 아주 빠른 시간에 동작한다
- sdn control plane
- 외부에서 routing algorithm을 받아서 동작
Router = input ports+switching+output ports
+buffer management, scheduling (뒤에서 설명 예정)
Architecture :
process ➡️ :
➡️ input link에서 datagram을 input port로 보냄
➡️ input port에서 datagram을 switching fabric으로 보냄
➡️ switching fabiric에서 들어오는 packet들의 header를 보고 빠르게 output port로 보냄
➡️ output port에서 output link로 보냄
- forwarding : router’s input link부터 output link까지 보내는 것→ data plane
- -과정은 router에서 IP header에 있는 정보를 바탕으로 forwarding, 기본적으로 receiver’s IP, sender’s IP를 고려할 수 있음 그 외..이것들을 matching 시켜 action
- data plane : 하나의 router에서 수행되는 function
- routing : router 말고 sender에서 forwarding을 하기 위해 destination까지의 data path를 정함
- →control plane
- control plane : 여러 개의 router에서 수행되는 logic
- switching : input port에서 output port로 switch
- 각 개체마다 queue가 있음 → buffer가 생길 수 있다는 것-이 걸 조절하는 것이 buffer management
- -들어오는 속도보다 나가는 속도가 느리면 buffer가 생김
- buffer management는 packet을 drop하면서 조절함
- queue가 있기 때문에 input port에서 switch fabric으로 가는 속도가 input link에서 들어오는 n개의 packet이라면 n배 빠르게 가도록 해야함, queue에 쌓이지 않도록
- destination base forwarding : header의 IP를 보고 forwarding(traditional), 중복된 range가 있다면 따로 처리 필요→. longest prefix matching
- longest prefix matching 방식 : 겹친다고 생각하는 input은 가장 긴 address로 들어온 값을 matching 시켜줌
- TCAM으로 빠르게 IP matching 시켜 forwarding 시간을 줄여줌
Output port
- Output port에서 output link로 가는 속도보다 switch fabric에서 datagram이 오는 속도가 더 빠르면 buffering
- Buffer시 2가지의 method로 처리
- Drop policy : 버리면서 조절 → 가장 늦게 들어온 packet drop 등등
- Scheduling :2-2. round robin : 많이 찬 queue부터 버림
- 2-3. weighted : 각 queue마다 weight(가중치)를 주고 그 비율에 따라 버림
- 2-1. priority : queue에 우선순위를 정해두고 순위에 따라 버림
참고. how much buffering ?
Switching fabric
- input port에서 받은 datagram을 output port로 빠르게 전달해줌
이 속도가 switching rate
- switching rate이 input port에서 들어오는 n개의 datagram이 있다면 n배 빨라야 not buffer
- 전달하는 methods
- memory
- bus
- interconnection network : 여러 개의 bus가 연결되어 switching -> 동시에 여러 개를 한 번에 보낼 수 있음
input port queuing은 switching rate이 아주 빠르게 되면 문제가 없게 됨
Network service model
- delivery, delay, in order , minimum bandwidth, 시간 간격이 일정하게 보장
- transport layer는 제공하지 못함. best effort이긴 하지만 그 layer 속 문제로 위의 서비스는 제공하기 힘듦
- 현재 internet은 best effort
- network layer의 best effort는 bandwidth가 충분하다면 real time app 가능, distributed survices로 안전하게 할 수 있음 → best effort의 단점 보완
'Computer Network > 4장 Network layer' 카테고리의 다른 글
Computer Network 4_2 : Network Layer_inside a router, IPv4, NAT (0) 2022.11.02