2024. 5. 28. 13:50ㆍComputer Science/Networking
Data Plane?
- 지역적이고, 라우터 개별적으로 작동하는 기능의 영역.
- 라우터에 도착하는 데이터그램(Network Layer)이 어느 라우터로 나갈지를 결정한다.
Control Plane?
- 네트워크단의, 광범위하게 작동하는 로직(기능)의 영역.
- 데이터그램이 라우터들 사이에서 어떻게 전달될지 결정한다.
- Control Plane에는 전통적인 알고리즘 결정 방식과 SDN 방식이 존재한다.
Router Architecture Overview
- High-speed Switching fabric은 하드웨어 단에서 ns단위로 동작하며, 어떤 라우터의 input port에 들어온 데이터그램을 outputport에 던지는 역할을 한다. 쉽게 말하면, Data Plane의 영역을 담당한다.
- Routing Processor는 반면 ms단위로 동작하며(경우에 따라 다를 수 있음), Control Plane의 영역을 담당한다.
- 이때 Input port는 다음과 같이 구성된다. Physical Layer단에서 line termination이 일어나고, link layer protocol이 frame을 받아 준다. 그 다음으로는 Header 값들을 이용해서 나갈 포트를 찾아 준다.
- 이때 나갈 포트를 찾을때는 forawrding table을 이용하며, 이때의 table에는 destination의 ip에 따른 행동이 지정되어 있다.(destination-based forwarding)
- 이때 Output Port를 찾는 과정에는 Destination IP가 사용된다. 그리고 라우터는 각각의 IP를 지정하기 위해서 longest prefix match 방법을 사용한다.
- 위 사진을 참조해 보자. 만약 11001000 00010111 00010111 11111111이라는 Destination IP를 가진 모시깽이(??)가 Input port에 들어왔다 하면, 해당 패킷은 0번 interface로 전출되게 될것이다. 왜냐하면 왼쪽에서 부터 가장 잘 맞기 때문이다!
- 마찬가지로 11001000 00010111 00011100 00000000인 모시깽이는 2번 interface로 전출되게 될 것이다. 왜 1번 interface로 가지 않냐면, 보라색 글자 이후로의 bit가 000~ 을 만족하지 못했기 때문이다. (Longest Prefix가 이런 뜻이다.)
- 다만 fabric에서의 switching속도가 느리면 Input ports에서 Queueing이 발생할 수 있으며, 이로 인해서 buffer overflow로 인한 Packet lodss가 발생할 수 있다.
- 이때 Queued된 패킷으로 인해 Queue에 쌓인 다른 패킷이 forwarding 되지 못하는 것을 HOL Blocking이라고 한다.
- 어쨋든 나갈 포트를 찾았으면, 이제 Switching을 시켜줘야 할 것이다. 이때 Switching Rate를 패킷이 Input에서 Output으로 나가는 비율을 말한다.
- Switching Fabric에는 그림에는 나와 있지 않으나 메모리를 사용하는 방법, Bus를 사용하는 방법 혹은 상호 연결된 네트워크를 사용하는 방법이 존재한다.
- 나갈 포트를 찾은 패킷, 이제 다른 라우터를 향해 나아갈 일 밖에 남지 않았다. 하지만 여기에서도 함정이 있으니, 전송 속도보다 빠르게 fabric이 스위칭을 해주게 된다면 패킷은 또다시 Output Port에서 Queued될 수 밖에 없다.
- 따라서 Overflow로 인해서 Datagram이 손실 될 수 있다. 그러므로 Buffer Management의 중요성이 대두되게 된다.
- Buffer Management는 크게 drop과 marking을 통해서 이루어진다. drop은 어떤 패킷을 날려버릴지 결정하는 것인데, 우선 순위를 두어서 결정할 수 도 있고 아니면 꼬리에 도착하는 패킷을 날려버릴 수 도 있다.
- marking의 경우는 Router가 어느정도로 혼잡한지를 패킷에 붙여서 전달하는 것을 의미하는데, TCP의 ECN 필드가 대표적이라고 할 수 있을 것이다.
- 그리고 또한 Output Port에서 어떤 패킷을 먼저 보낼지에 대해서도 생각해 봐야 하는데, 이를 Packet Scheduling이라고 한다.
- Packet Scheduling은 위 슬라이드를 참조하면 쉽게 이해할 수 있다.
* 학부생이 작성한 글인 관계로 오류가 있을 수 있습니다. 덧글이나 메일 주시면 바로 정정하도록 하겠습니다.
'Computer Science > Networking' 카테고리의 다른 글
Control Plane - OSPF, BGP (0) | 2024.05.30 |
---|---|
Control Plane - Routing Protocols (0) | 2024.05.30 |
Data Plane - NAT, DHCP (0) | 2024.05.30 |
Data Plane - IP Datagram, Subnets (0) | 2024.05.29 |
Reliable Data Transfer Protocol(rdt) (0) | 2024.04.19 |