[컴퓨터 네트워크] OVERVIEW OF NETWORK LAYER – DATA PLANE & CONTROL PLANE

그렘린·2022년 7월 31일
1

컴퓨터 네트워크

목록 보기
1/1

POP QUIZ

(4.1 과 4.2 퀴즈 대비)

host는 routing/forwarding 기능을 모두 수행하는가 ? (F)
network 계층에서는 routing/forwarding 기능을 모두 수행하는가 ? (T)
IP 계층에서 in-order과 loss를 support 하는가? (F, TCP가 4계층에서 수행)
PS는 CS와 다르게 layer2 계층을 interconnect 하는데에 더 유리하다. (T)
Router에는 end host에서 출발한 app msg가 포함된 pkt만 전송한다. (F, router에는 router끼리 주고 받는 msg도 돌아다닌다.)
Head of the Line Blocking은 output buffer에서 일어나는가? (F, input buffer에서 일어난다.)

NETWORK LAYER (L3)

network layer protocol은 모든 host(data plane에만) 와 router(data,control plane 둘 다)에 있다

  • network layer에서는 host-to-host communication을 한다. 즉 host를 찾아주는 역할을 한다.
  • segment를 보내는 host로부터 받는 host에게 보낸다.

    sending host는 segment를 datagram으로 encapsulation한다.
    중간 router는 모든 datagram의 header field를 까보고, 어디로 보낼지 결정한다.
    (router는 복잡한 일을 하지 않는다. 오로지 빨리 보내는 것에 집중, dns resolution이 host에서 하는 것 기억)
    receiving host는 datagram을 decapsulation해서 segment를 확인한다.

NETWORK SERVICE MODEL

network service model은 host 사이의 e2e transport 특성을 정의해둔다.

ex1) - datagram에 해당되는 issue) 패킷의 loss가 있어서는 안되는 것, delay 수준이 bdd 되어있으면 하는 것 등

ex2) – datagram의 flow에 해당되는 issue) in-order delivery를 원하는 것, bandwidth가 최소였으면 하는 것, packet간의 간격이 일정하게 도착했으면 하는 것

CORE NETWORK의 delivery model 2가지

1) CS (Circuit-switched networks)

단말의 rate와 path가 고정되어 있어 속도가 높다.

2) PS (Packet-switched networks)

VC NW (ATM) 과 Datagram NW로 나뉜다.

VC NW(ATM)

  • 2계층의 support가 필요하다.
  • end node가 dumb하다.
  • strict timing, reliability
  • Fixed same path for pkts belongs to the source msg
  • resouce (buffer, bandwidth, cpu) reservation이 가능하다.
  • 이러한 이유들로 중간노드가 매우 복잡하다.
  • queueing delay 막을 수 있다.

Datagram NW (Internet)

  • end node가 smart하다.
  • 네트워크 내부는 아주 간단하고, 복잡한 것은 end node에서 처리한다.
  • data exchange에 있어서 timing 제약이 없고 elastic하다.
  • 하지만 guaranteed 된 것이 없다.
  • 2계층에 다양한 것들이 와서 받쳐줘도 된다. (3계층이 해주는 것이 없기 때문

특히 datagram network에 대해 더 알아보자 (VC는 도태되어서 이게 더 중요)

Datagram Networks

layer2계층에서 call-setup 과정이 없음, 즉 call-setup delay도 없다는 의미이다.
router는 e2e 정보에 대해서 아는 것이 없고 주어진 일만 한다.
router는 특히 패킷들의 관계에 대해서 전혀 알지 못함.
packet들은 datagram의 header의 dst IP와 FIB(forwarding table)을 이용해서 forward 된다.
이때 패킷들은 각각 개별적이기에 패킷의 전송 순서는 in-order가 아니다.

Network Layer : data plane, control plane

1) data plane

  • local, per-router (라우터 각각 가지고 있음)
  • input port에 들어온 datagram을 output port 어디로 forwarding 해야할지 결정하는 역할
  • forwarding에 초점이 맞추어져 있다.
  • forwarding function이 중요

2) control plane

  • network – wide logic
  • routing에 초점이 맞춰져 있다.
  • datagram이 router 사이에서 어떻게 routing 되어야 할지를 결정한다.
  • 전통적인 routing algorithms & software-defined networking (Sdn) 방식이 있다.

per-router control plane (전통적 방식)

  • individual routing algorithm components가 각각의 router와 interact한다.
  • 1대1 대응방식이라고 생각하면 됨.
  • 같은 device 안에 data plane과 control plane이 들어간다.
  • destination based forwarding

Logically centralized control plane (신형)

  • remote controller가 있어서 조정이 가능하다.
  • control plane과 data plane이 각각 다른 device에 있다.
  • generalized forwarding

What’s inside a router

switching fabrics (여러가지 port가 엮여있는 것)

packet들을 input buffer에서 output buffer로 전달시킨다.

Switching Rate : 패킷을 input에서 output으로 이동시키는 속도
switching module 개발자는 보통 line card의 n배를 R값, 즉 switching rate의 값으로 정함. 스위칭 속도는 매우 빠르므로 큰 문제가 되지 않는다.

interconnection network(crossbar networks) 구조, 즉 여러 개의 packet을 동시에 switching 할 수 있다.
단, 각각 다른 input port에서 각각 다른 output port로 가는 것에만 해당된다. 이때 forwarding은 당연히 FIB를 보고 이루어진다.

Example)
1번 패킷과 2번 패킷이 있다고 하자.
이 두 패킷이 같은 output port로 가게 될 때, 다른 하나의 패킷은 input buffer에서 대기를 해야한다. 이때 대기하는 시간을 Head Of Line Blocking 이라고 한다.

Input port functions : decentralized switching

  • 중앙의 control board에 가지 않고, 가입자의 local board를 보고 결정한다 (decentralized).
  • 주어진 datagram에 대해, 헤더 필드를 까보고 dest Ip를 알아낸다.
  • 어떤 output port로 보내야 하는지 FIB를 통해 mapping하는 과정을 match plus action이라고 한다.
  • switching module을 잘못 만들면 당연히 queueing delay가 생길 수 있으나 그러지 않는 한 delay는 생기지 않는다. switching rate는 들어오는 속도의 n배이기 때문이다.

Head-of-the-Line (HOL) Blocking

앞에 있는 패킷 때문에 일어나는 blocking 현상.

t0t_0일 때
위의 빨강이와 아래 빨강이는 같은 output port로 간다. 동시에 switching 될 수 없으므로, 하나는 대기해야한다.
이때 아래 빨강이가 대기하게 된다면 아래 초록이는 forwarding 시간이 한 타임 밀린다.

t1t_1 일 때
아래 빨강이가 switching 된다. 아래 초록이는 한 타임을 기다렸다. 이것을 HOL blocking 이라고 한다.
HOL blocking은 그림에서 봤듯이 input port에서 일어난다.

output ports

  • datagram은 output line의 속도보다 빠르게 switching 된다.
    queueing delay와 loss가 있을 수 있다. (output port buffer overflow)
  • α>β\mathit{\alpha} > \mathit{\beta} 이면 loss가 생길 수 있다.
  • packet scheduler는 datagram 중 중요한걸 꺼내서 먼저 보내줄 수도 있다.
  • internet : FCFS (먼저 들어온 놈이 먼저 나간다, 선착순, first come first service)
  • WFQ (weighted fair queue) : premium service, queue를 여러개 만들어서 좀 중요한 놈들은 미리 빼돌려 놓고 먼저 보내준다. > 망 중립성(network neutrality) 깨는 결과를 가져온다.

How much buffering at routers?

burffering은 TCP 연결 수와 RTT값의 영향을 받는다.
RTT 값이 크다는 것은 많은 router와 큰 network 영역을 가지고 있다는 의미이다. 즉 output buffer에 패킷이 머무는 시간도 크다는 것이다.
따라서 buffer size에는 RTT값이 반영되어야 한다.

RTTCN{RTT * C \over \sqrt{N}}의 식을 최근에는 이용한다. (N값은 TCP 연결 수, C값은 link의 용량)

TCP 연결 수가 많다는 것은 output buffer packet을 관리하는 end node가 많아진다는 의미이다. TCP는 똑똑하기 때문에 알아서 loss가 생기지 않게 관리한다. 따라서 TCP 연결 수가 많을수록, buffer size는 그에 반비례하게 된다.

0개의 댓글