Network layer

CinnamonTree·2022년 6월 5일
0

네트워크

목록 보기
3/7

data <-> control plane

data plane

  • per-router function: 라우터 각자의 기능
  • input port에 도착한 datagram을 어떻게 output port에 forwarding할 것인지

control plane

  • network-wide logic
  • source-destination사이에서 어떻게 routing이 될지 결정하는 영역
    1. traditional routing 알고리즘 = per-router control plane
    2. SDN: centralized approach임.
      서버에서 해당되는 path를 라우터에 알려줌

Network layer functions

Network-layer는 forwarding 과 routing 두가지 function을 수행한다.
forwarding은 data plane에서 일어나며, routing은 control plane에서 일어난다.

control plane에서 가능한 두가지 방법:

  • per-router control(구식)
    각각의 라우터들이 라우팅 알고리즘을 수행하면서 서로 데이터(자료)를 교환하며 forwarding table을 만듬

  • logically centralized control(software defined networking)
    중앙에서 forwarding 테이블을 만듬.
    수집한 자료를 control agency가 원격 컨트롤러에게 보내어, 해당 자료를 바탕으로 forwarding table을 만들어 라우터들에게 보냄

Router

Input port

  • physical layer: bit level reception(line termination) 시그널->데이터
  • link layer: link layer protocol(Ethernet) 데이터그램을 받아옴
  • decentralized switching: looking,forwarding,queueing
    header field의 value를 사용하여 output port를 찾아냄

Destination-based forwarding

Longest Prefix Matching방식 사용: shortest path일 확률이 크다.
모든 table을 검색하면 복잡도가 높기 때문에 TCAM이라는 하드웨어를 사용하여 테이블 사이즈에 상관없이 1clock만에 address를 찾아낼 수 있다.

Switching fabrics

switching rate: input link-> output link로 전달하는 speed
N input , R incoming rate -> NR

  • memory읽고 쓰는방식: 속도 제한
  • bus구조: collision(contention)발생 가능
  • interconnection network: multiprocessor구조, multistage switch 사용

input port queueing

  • switch fabric이 input port보다 느리면 queueing이 발생할 수 있다.
  • Head of Line Blocking: 같은 output port 로 전달되는 datagram이 있을 경우 다른 패킷을 block한다.

output port queueing

큐잉이 발생할 수 있다.
drop될때 어떤 데이터그램을 drop해야 할 것인가? drop policy
스케줄링 알고리즘 사용:

  • priority
  • round robin
  • WFQ Weighted Fair Queueing: round-robin 기반이지만 높은 weight만큼 많이 보냄
    minimum bandwidth를 보장한다.

0개의 댓글