지난 글에 라우터를 알아보자고 하고 4가지 구성요소 중 2가지만 소개했다.
2023.11.15 - [네트워크] - [네트워크] 라우터의 구조를 알아보자
[네트워크] 라우터의 구조를 알아보자
라우터의 구조 총 4개의 구성성분이 있다. 1. input ports 크게 3가지의 절차를 거처 switch fabric로 넘어간다. 하나씩 알아보자 line termination : 전기적 신호가 bit신호로 바뀌어 들어가게된다. link layer pro
2hiidevdang.tistory.com
이번 글에서는 나머지 요소
- routing processsor
- output port
를 간단히 알아보고, 특히 output port에서 패킷의 버퍼링과 스케줄링이 어떻게 이뤄지는 지에 대해 알아보겠다.
3. routing processor
라우팅 프로세서는
라우팅 프로토콜 + 라우팅 알고리즘을 처리해준다.
따라서 패킷이 최종적으로 어디로 가야할지를 처리해주게된다.
4. output port
지난 글에서 인풋 포트에서는 패킷들을 큐잉하는 과정이 있었다.
아웃풋 포트에서도 큐잉이 필요할까?
그렇다 필요하다.
알아보기에 앞서 질문을 던지고 싶다.
- **인풋큐에서 왜 큐잉이 필요한지?
- 패킷이 손실되지 않도록 잠시 넣어둘 공간이 필요하니까!
- ** 어떤 경우에 큐잉이 발생하는지?
- 패킷이 너무 빨리도착해 전파속도를 따라가지 못하는 경우
이러한 연유로 큐잉이된다면, 그 이후에 우리는 어떻게 패킷을 관리해야할까?
- 드랍 규칙(Drop policy)을 통해 어떤 것을 드랍할지를 결정할 수 잇다.
- 스케줄링 규율(Scheduling discipline)을 통해 전송의 우선순위를 선택할 수 있다.
- 망 중립성에 위배되는 경우가 많다. (망 중립성은 이후 다룬다)
이렇게 두가지 방식이 존재한다.
이제부터 하나씩 알아보자
Buffer Management : 버퍼를 어떻게 관리할까?
- 아웃풋포트에서 어떻게?
- 버퍼에 패킷에 쌓이면 쭉쭉진행해서 링크로 나가
- 링크로뽑혀나가
- Drop (꽉찾을 경우)
- tail drop 뒷놈죽여
- priority 앞놈죽여
- marking?
- 어떤 패킷이 먼저 나갈지.. 이런것에 대해 표시를 해주게 됨 (시그널 밀집으로)
- 종류 : ECN (라우터가 밀집했을 명시적으로 알려주는 프로토콜), RED(버퍼(큐)가 오버플로우될 떄까지 기다리지 않고, 패킷들을 폐기(Drop)하는 방법)
- active queue management!!
packet scheduling : 패킷을 어떤식으로 관리할까?
큐에 있는 패킷들중 어떤애를 링크로 밀어넣을 것인가
- first come, first served(FCFS): 먼저 들어온애를 먼저 내보내는 형식. FIFO방식이라 생각하면 되겠다.
- prioirity : 버퍼가 여러가지 있어야 해, 나눠서 분류를 하는거임. 프라이어티가 높은쪽을 먼저 서비스 한다. 하나의 클래스 에서는 FCFS방식으로. 높은 우선순위의 큐에 있는 패킷을 먼저 보낸다.
- RR(round robin): 트래픽 클래스별로 fair share을 가지고 싶어. 서버가 사이클을 돌아서 큐별로 하나씩 내보낼 수 있게 한다. 큐가 비어있으면 패스하고.. 이렇께 쭉쭉 패킷을 보낸다.
- WFQ(weighted fair queueing) : 라운드 로빈을 좀 다르게 하는데, 클래스 별로 다른 쉐어를 준다. 똑같이 분배하는게 아니라, generalized되게 원하는 쉐어를 각각에 줄 수 있다. 이걸 사용하면서 최소 대역폭을 보증하고싶을때 유용하다.
위의 질문에 대한 이렇게 4가지 대답이 있다.
sidebar : network neutrality
네트워크 중립성이란 무엇일까?
- 패킷 스케줄링을 금지하는거
- 대부분의 인터넷데이터에 차별을 두면 안된다는 말.
- ISP 가 특정 컨텐츠에 이익을 주거나 막으면 안되다는 말
- 기술적 제약
- 사회적 경제적 금지
- 언제나 법적인 룰과 정책이 있다.
이렇게 라우터에 대한 이야기가 마무리됐다..
어렵다
다음 글에서는 인터넷과 ipv4, ipv6에 대한 이야기를 해보겠다
728x90
'네트워크당' 카테고리의 다른 글
[네트워크] IP addressing은 왜 해주어야할까? (feat. subnet) (0) | 2023.12.27 |
---|---|
[네트워크] IPv4 구조와 패킷의 분리와 결합 원리 (0) | 2023.12.04 |
[네트워크] 라우터의 구조를 알아보자 (0) | 2023.11.15 |
[네트워크] Data plane과 Control plane (0) | 2023.11.07 |
[Information Communications : 정보통신공학] ATM (Asynchronous Transfer Mode) (0) | 2023.05.26 |