데이터 통신과 네트워크 - Network Layer1

강준호·2021년 11월 18일
0

네트워크 레이어

트랜스포트 레이어에서 데이터를 받아서 다른 지역의 호스트 까지 데이터를 전달하는 역할

  • sender side
    데이터를 받고 -> 세그먼트 단위를 캡슐화해 패킷 단위로 만드는것
  • receive side
    트랜스포트 레이어까지 내가 받은 세그먼트를 전송

목적지까지 패킷을 보낼때

  • 어플리케이션레이어에서 만들어진 데이터 => 트랜스포트레이어에서 세그먼트 단위로 쪼개짐 -> 각 세그먼트 앞에 IP 주소 붙음 -> 네트워크 패킷
    -> 데이터 링크 -> 물리 계층 -> 라우터로 -> 라우터에서 물리신호 보고 네트워크 헤더까지 본다음 라우팅 -> 목적지로 데이터 전달!

라우터

  • 라우터에는 트랜스포트, 어플리케이션 레이어 없어도돼
  • 네트워크까지만 구현되어있음

네트워크 레이어 기능

포워딩

  • 어떠한 데이터가 들어왔을 때 매칭되는 output 포트로 연결해주는것
    ex) 부산에서 대전으로 가는 방향을 결정해주는

라우팅

  • 포워딩 작업들이 모든 라우터에서 일어나면 패킷들이 목적지까지 가게 되는것 ex) 부산, 대전,전주 를 거쳐서 가는 방법

data plane

  • 라우터 안에서. 라우터 인풋으로 어떤 데이터 왔을 때 어떤 아웃풋 포트로 가는걸 결정해주는 것

ex) 데이터 플레인 (인풋이 왔을때 헤더 정보로 1번 output 포트로 보낼지, 2번일지 결정하는 것) 행동파 vs 포워딩(인풋이 왔을때 어느 output으로 보내는 기능) 설계파

control plane

  • 네트워크 사이드에서 발생. 어떤 식으로 라우팅 되서 source에서 dst 까지 갈것인가를 결정해줌

    ex) source에서 노랑이 루트로 갈지, 빨강이 루트로 갈지, 실선 루트로 갈지 결정

control plane- traditional routing 알고리즘

  • 패킷이 왔을때 최선의 결정을 하는

control plane- SDN(software-defined networking) 알고리즘

  • 라우터 위에 중앙컨트롤러가 라우팅 룰 등을 효율적으로 조절해주는 방식

traditional vs SDN

  • (라우팅 알고리즘 = 포워딩 테이블을 만들어줌)을 하는게 컨트롤 플랜
  • (포워딩 = 포워딩 패킷을 보고 input에서 output으로 옮겨주는 역할)을 하는 게 데이터 플레인

장단점

  • 라우팅 알고리즘이 고정. 동적으로 대응 X
  • 좀더 동적으로 빠르게 대응하기 위해서 SDN 이 만들어짐.

장단점

  • 동적으로 빠르게 반응 가능
  • 통신과정 중에 딜레이 있을 수 있음, 공격자가 룰을 망가트릴 가능성도 있음

라우터 아키텍처

control plane - 라우팅 프로세서

data plane - 인풋 포트

  • line termination
    아날로그 신호가 라우터에 도착하면 이를 디지털로 컨버젼

  • link layer protocol
    링크레이어에서 이를 해석해줌

  • lookup, forwarding, queueing
    데이터가 어디로 갈지 결정, output 포트 결정후 포워딩, 데이터 많이 오면 queueing 작업 발생 => destination-based forwarding

  • destination-based forwarding은 dst ip주소 기반으로 어떤 output포트, 어떤 link interface로 보낼지 결정

  • input port queueing 추가 설명

    input에는 큐가 있어야지 떨궈지는 패킷이 안생겨.
    경로 겹치면 한놈은 못보내.
    앞에 놈이 안나가면 계속 기다리는 현상이 발생ㅜ(HOL blocking)

data plane - 스위치 패브릭

인풋포트와 아웃풋 포트가 막 꼬이게 되는 경로를 스위치로 풀어줌

  • memory
    과거 사용. 패킷 interupt기반. 속도 느림
  • bus
    데이터가 오면 레이블을 붙여서 버스로 보냄. 모든 포트가 데이터 접시 받고 이를 뷔페 처럼 먹을 수 있음. but 한번에 한버스만 가능해서 밑에 있는 애들은 좀더 기다려야해
  • crossbar ☆
    input output 교차로 마다 on/off 스위치가 있어. 찐 패브릭 느낌

data plane - 아웃풋 포트

  • queueing
    앞에서 들어오는 데이터가 많거나, line termination에서 느리게 보내면 큐잉 생겨. => 아웃풋 포트에도 버퍼와 큐잉이 필요
  • 우선순위 기반 scheduling도 가능
    패킷이 큐에 있을때 어떤 놈 먼저 나갈지 스케쥴.
    ex) FIFO 구조, priority 스케쥴링 +가중치, 라운드 로빈 방식(찐한색, 연한색 번갈아가면서)

0개의 댓글