![[Network] 라우터의 내부를 뜯어보자.](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcONGlO%2FbtsAPx3Mu2U%2Fv2F2eUYmcg0PDgWirdIHI1%2Fimg.png)
다짜고짜 강의자료부터 넣게 되네요.
라우터의 내부 구조를 알아봅시다.
우선, 크게 두 부분으로 나뉩니다.
Control Plane / Data Plane
Control Plane은 쉽게말해 경로 설정, 장비 간 통신, 라우팅 테이블 업데이트와 같은
네트워크의 동작을 제어하고 관리하는 역할을 합니다. 주로 소프트웨어의 영역이에요.
Data Plane은 네트워크에서 실제 데이터가 전송되고 처리되는 부분인데요,
패킷이 이동되는 과정을 관리합니다. 스위칭, 라우팅 등이 일어나는 곳이에요.
스위칭 패브릭에는 여러 라우터 포트가 있는데요,
각자는 Input Port, Output Port로 역할이 고정된 것이 아니라
I로도 쓰이고, O로도 쓰이고 용도는 동적으로 변합니다.
각각의 포트에 따른 버퍼가 있는데, 이런 상상을 해볼 수 있겠습니다.
Q. 만약 Input, Output 포트에 버퍼가 있으면?(현재의 상황)
A. Loss가 없는 대신 Delay가 커지겠습니다.
Q. 만약 Input, Output 포트에 모두 버퍼가 없으면?
A. Delay는 없겠지만, Loss가 발생하겠죠?
그리고 스위칭 패브릭에는 세 가지 방식이 있습니다.
메모리 방식, Bus 방식, Crossbar 방식이 있는데요, 뒤에서 자세히 알아봅시다.
Input port의 주요 기능들
이 그림에서는 우선 포트 내부에 들어올 때 처리 순서/계층에 대해 알아봅시다.
첫째로, Physical layer(1계층)에서 전기전자적인 신호를 받구요.
상위 계층으로 이동이 일어난 뒤에,
Decentralized Switching이 일어나는데요, 이것은
- 패킷의 헤더(주로 목적지 주소)를 확인하고, 포워딩 테이블을 활용하여 Output port를 찾은 뒤 그 포트로 보내줍니다.
- Input port 프로세싱을, 패킷이 들어오는 시간만큼 빠르게 처리하는 것이 목적이지만,
- 그럼에도 불구하고 Input 속도가 더 빠르면 Queue에 집어넣습니다.
방식이 두가지가 있는데요,
- Destination-based forwarding(전통적 방식)
- Generalized forwarding
또 Destination-based forwarding 에서는 포워딩 할 때 적절한 포트를 찾기 위해 테이블을 확인할 때
Longest prefix matching 라는 것을 활용하는데요,
목적지 주소가 매칭되는 것 중 더 긴 쪽에 매칭되는 것을 사용합니다.
'CS > Network' 카테고리의 다른 글
[Network] Input port queueing (0) | 2023.11.24 |
---|---|
[Network] Switching fabrics (0) | 2023.11.24 |
[Network] Network Layer, 포워딩과 라우팅을 알아보자. (1) | 2023.11.24 |
TCP의 작동방식에 대하여(TCP Ack Generation) (0) | 2023.11.07 |
Pipeline Protocol: GBN과 SR에 대하여 (0) | 2023.11.07 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!