컴퓨터네트워크 06주차 Network Layer 01

2022. 12. 29. 14:22CS/컴퓨터네트워크

주 교재 : Computer Networking : A Top-Down Approach

 

6주차 Network Layer 01

  1. Overview of Network layer
  2. What’s inside a router
  3. IP: Internet Protocol

1. Overview of Network layer

# Network layer

  • sending 호스트에서 receiving 호스트로 segment 전송
  • sending 호스트에서, segment를 datagram으로 캡슐화
  • receiving 호스트에서,  transport 계층으로 segment 전달

# Two key network-layer functions

network-layer function
forwarding : router에서 input으로 들어온 것을 output으로 보내는 행위
routing : 발신지에서 목적지까지 경로 설정

# Network layer: data plane, control plane

Data plane

  • router input 포트로 들어온 datagram을 어떻게 router ouput 포트로 보낼지 결정
  • forwarding function

Control plane

  • 발신 호스트에서 목적 호스트까지 종단 경로를 따라 라우터 간에 datagram이 라우팅되는 방법을 결정
  • two control-plane 접근
    traditional routing algorithms : implemented in routers
    software-defined networking (SDN) : implemented in (remote) servers

 


2. What’s inside a router

# Router architecture overview

# Input port functions

# Input port queuing

  • Head-of-the-Line (HOL) blocking이 발생함.

# Switching fabrics

input 버퍼에서 올바른 output 버퍼로 packet을 전송

3가지 방법의 switching fabirc

  1. memory : 이미 있는 리소스를 활용하는 것이라 비용적인 측면에서 이득. 그러나 시간적인 단점이 있다.
  2. bus : memory의 시간적인 단점을 해소. 그러나 하나가 라인을 점유 중이면 다른 하나가 전송되지 않음 => 충돌
  3. crossbar : bus의 단점을 해소. point가 많으면 충돌을 피할 수 있음. 그러나 비용이 많이 듦

# Output ports

  • Buffering : datagram이 도착하는 것이 전송 속도보다 빠르기 때문에 필요하다.
  • scheduling discipline가 queue에서 전송할 datagram을 선택한다.

# Output port queueing

# Scheduling mechanisms

  • FIFO
    - 들어온 순서대로 보내는 것
    - discard policy
        • tail drop
        • priority
        • random

  • priority scheduling
    - 우선순위에 따른 queue를 만들어서, 우선순위가 높은 packet부터 전송

  • Round Robin(RR) scheduling
    • 클래스 간에 RR

    • 우선 순위가 높은 것 먼저 보내고, 낮은 것 하나 보내고, 다시 높은 것 보내는 방식 반복

  • Weighted Fair Queuing(WFQ)
    • RR기반으로, 가중치를 나눈 Queue를 만들어서 데이터 전송


3. IP: Internet Protocol

# IP datagram format

# IP fragmentation, reassembly

  • network link는 MTU(최대 전송 단위를 갖는다.
  • 큰 IP datagram은 쪼개야한다.
    - 한 datagram이 여러 datagram이 된다.
    - 재조합은 마지막 도착지에서만

 

# IP addressing: introduction

  • IP address : 32 비트로 호스트와 라우터 인터페이스를 구별
    - 1 byte 단위로 끊어서 사용. 한 단위 당 0~255.
    - ex : 223.1.1.1

 

# Subnets

  • IP주소의 subnet 부분이 같은 device interface
  • 각각 독립된 network를 subnet이라 부름

# IP addressing : CIDR

  • CIDR = Subnet + Supernet
  • 임의 길이 주소의 subnet 부분
  • address format : a.b.c.d./x, x는 주소의 subnet 부분의 비트.

# Longest prefix matching

  • 포워딩 테이블에서, 주소가 가장 많이 일치하는 곳으로 매칭

첫 번째 예시에서는, 0번 링크로 가야함

두 번째 예시에서는, 1과 2 모두 갈 수 있으나, 11000이 더 많이 일치하기 때문에 1번 링크로 가야함

# DHCP: Dynamic Host Configuration Protocol

DHCP : network에 접속할 때 동적으로 IP를 할당해주는 protocol

DHCP overview

  • host broadcasts “DHCP discover” msg [optional]
  • DHCP server responds with “DHCP offer” msg [optional]
  • host requests IP address: “DHCP request” msg
  • DHCP server sends address: “DHCP ack” msg

DHCP ACK는 client의 IP 주소첫 번째 홉(hop) 라우터 주소를 포함한다.