Network

네트워크 레이어

Debin 2021. 10. 8.
반응형

2023. 02.02 20:30 복습 시작

네트워크 레이어

네트워크 레이어란 네트워크 계층의 한 일부이다.

출발지 호스트 - 도착지 호스트까지, 웹이라면 클라이언트 pc부터 웹 서버까지 패킷을 전달하는 역할을 맡는다.

그 중요한 프로토콜인 IP는 네트워크 레이어에 속한다.

 

IP가 패킷을 배달하는데 우편 배달과 유사하다.

편지-우체통-우편 집중국 - 택배 분류사, 편지 분류사 - 각 도시별로 우체국 - 배달부 - 목적지

라우터에 있는 네트워크 레이어를 거쳐 도착지로 도착한다.

네트워크 레이어의 역할로 Forwarding와 Routing가 있다. 

 

  1. routing - 라우팅 알고리즘을 이용해 최단 경로를 알려준다. (경로짜기) 지능적이다
  2.  forwarding - 길을 가는데 (최단 경로)에 적합한 길을 계속 골라준다. (경로 실행) 지능이 없다

포워딩은 실행시간이 매우 짧기에 대표적으로 하드웨어에서 실행된다.

반면에, 라우팅은 네트워크 전반에 걸쳐 출발지에서 목적지까지 데이터그램의 종단간 경로를 결정하는 것이다.

라우팅은 더 긴 시간 단위를 갖기에 소프트웨어에서 보통 실행된다. 

 

라우터는 입력 포트와 스위칭 구조와 출력포트와 라우팅 프로세서로 구성된다.

 

  • 입력 포트: 입력 포트는 여러 기능을 수행한다.
    입력 포트의 맨 왼쪽 상자와 출력 포트의 맨 오른쪽 상자로서 라우터로 들어오는 입력 링크의 물리 계층 기능을 수행한다.
    또한 입력 포트는 입력 링크의 반대편에 있는 링크 계층과 상호 운용하기 위해 필요한 링크 계층 기능을 수행한다.
    가장 중요한 것은 입력포트에서 검색 기능을 수행 하는 것이다. 이는 가장 오른쪽 상자에서 발생한다.
    여기서 포워딩 테이블을 참조하여 도착된 패킷이 스위칭 구조를 통해 전달되는 라우터 출력 포트를 결정한다.
  • 스위칭 구조: 스위칭 구조는 라우터의 입력 포트와 출력 포트를 연결한다. 스위칭 구조는 라우터 내부에 포함되어 있다.
  • 출력 포트: 출력 포트는 스위칭 구조에서 수신한 패킷을 저장하고 필요한 링크 계층 및 물리적 계층 기능을 수행하여 출력 링크로 패킷을 전송한다. 링크가 양방향일 때 (즉, 양방향으로 트래픽을 전달)인 경우, 출력 포트는 일반적으로 동일한 링크의 입력 포트와 한 쌍을 이룬다.
  • 라우팅 프로세서: 기존의 라우터에서는 라우팅 프로토콜을 실행하고 라우팅 테이블과 연결된 링크 상태 정보를 유지 관리하며 라우터의 포워딩 테이블을 계산한다. 쉽게 말하면 라우팅 동작을 실시한다.

Forwarding mechanism: longest prefix matching (LPM)

지정된 대상 주소에 대한 전달 테이블 항목을 찾을 때 대상 주소와 일치하는 가장 긴 주소 접두사를 사용합니다.

11001000 00010111 00010*** *********   0

11001000 00010111 00011000 *********  1

11001000 00010111 00011*** *********   2

otherwise                                         3

 

DA: 11001000  00010111  00010110  10100001  0번이다.
DA: 11001000  00010111  00011000  10101010  1번이다.

 

패킷을 선입선출하는 구조인 패킷큐는 입력 포트, 출력 포트에서 모두 생성될 수 있다.

대기열 위치와 범위는 트래픽 로드, 스위칭 구조의 상대 속도 및 회신속도에 따라서 달라진다.

이 대기열이 더 커지면 라우터의 메모리가 결국 소모될 수 있고 도착하는 패킷을 저장할 수 있는 메모리가 없을 때 패킷 손실이 발생하기 때문에 대기열에 대해 더 잘 알아야 한다.

우리는 패킷이 '네트워크 내에서의 손실' 또는 '라우터에서 폐기'라고 이야기했다.

그러한 패킷들이 실제로 폐기되고 손실되는 곳이 라우터내의 이들 큐이다.

입력 큐잉

지연 없이 스위치 구조를 통해 도착하는 모든 패킷을 전송하기에 스위치 구조가 (입력 회선 속도에 비해) 충분히 빠르지 않으면 어떻게 되는가? 이 경우 패킷이 스위칭 구조를 통해 출력 포트로 전송되기 위해서 차례를 기다려야 한다.

이 큐잉의 중요한 결과를 살펴보기 위해서 크로스바 스위칭 구조를 가정해보자.

 

1. 모든 링크의 속도는 같다.

2. 입력 링크가 패킷을 받는 것과 같은 속도로 하나의 패킷을 입력 포트에서 주어진 출력 포트로 전달한다.

3. FCFS 방식으로 패킷은 입력 큐에서 출력 큐로 이동된다.

 

출력포트가 다르다면 여러 패킷이 병렬로 전달될 수 있지만,

두 패킷이 같은 출력 큐로 향한다면 이 중 한 패킷은 차단되고 입력 큐에서 기다려야 한다.

즉, 스위칭 구조는 한번에 하나의 패킷만 지정된 출력 포트로 전송이 가능하다.

예를 들어 두개의 패킷이 동일한 오른쪽 상단 포트로 이동한다.

스위치 구조가 왼쪽 상단 큐의 앞쪽에서 패킷을 전송한다고 가정하자.

이 경우, 왼쪽 하단 큐에 짙은 색으로 처리된 두 번째 패킷이 대기해야 한다.

아래쪽 밝은 패킷이 이동하려는 출력 링크(패킷의 목적지)가 경쟁이 없는 상태지만 바로 앞의 검정 패킷 때문에 기다려야 한다.

이 현상은 입력 대기 중인 스위치에서의 HOL (head-of-the-line) 차단 이라고 한다.

회선의 앞쪽에서 다른 패킷이 막고 있으므로 입력 큐에서 대기 중인 패킷은 사용할 출력 포트가 사용 중이지 않아도 스위칭 구조를 통해 전송되기 위해서 기다려야 한다.

출력 큐잉

출력 포트에서도 큐잉이 발생할 수 있다.

들어오는 패킷을 저장할 메모리가 충분하지 않을 때 도착한 패킷을 페기 [drop-tail] 정책으로 알려짐시키거나

이미 대기 중인 하나 이상의 패킷을 폐기하여 새로 도착한 패킷을 저장하기 위한 공간을 확보해야 한다.

어떤 경우에는, 버퍼가 가득 차기 전에 패킷을 폐기 시켜 송신자에게 혼잡 신호를 제공하는 것이 바람직할 수 있다.

AQM 알고리즘으로 알려진 많은 패킷 폐기와 폐킷 마킹 정책들이 제안되거나 분석되고 있다.

시간 t에서 패킷은 각각의 입력 포트에 도달하고 각각의 포트는 맨 앞의 출력 포트로 향한다.

동일한 회선 속도를 가지고, 회선 속도의 3배로 동작하는 것으로 가정하면 기존 3개의 모든 패킷이 출력 포트로 전송되어 대기 중일 것이다.

이들 3개의 패킷 중 하나는 맨 앞의 출력 포트로 전송된다.

이러한 큐잉의 결과는 출력 포트의 패킷 스케줄러가 전송대기 중인 패킷 중 하나의 패킷을 선택해야 한다는 것이다.

 

패킷 스케줄링에는 FIFO, 우선순위 큐잉, 라운드 로빈과 WFQ같은 방식이 있다.

 

참고자료

컴퓨터 네트워킹 하향식 접근 제 7판

 

2023. 02.02 21:30 마무리

 

반응형

댓글