컴퓨터네트워크 07주차 Network Layer 02

2023. 1. 4. 18:51CS/컴퓨터네트워크

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

 

7주차 Network Layer

  1. IP: Internet Protocol
  2. Generalized Forward and SDN

 

  1. introduction
  2. routing protocols

1. IP: Internet Protocol

# NAT: network address translation

로컬 네트워크에서 나가는 모든 데이터그램은 동일한 단일 소스 NAT IP 주소를 가진다.

  1. 10.0.0.1에서 128.119.40.186, 80으로 데이터그램을 보낸다.
  2. NAT 라우터는 데이터그램 소스 주소를 NAT translation table을 참조해서 바꾼다.
    10.0.0.1 3345 -> 138.76.29.7 5001
  3. 138.76.29.7 5001로 응답이 온다.
  4. NAT 라우터가 데이터그램의 목적지 주소를 table을 참조해서 바꾼다.

 

# IPv6

IPv4가 할당할 수 있는 양을 초과할 것이라는 생각에 탄생.

 

IPv6 데이터그램 format

  • 40 byte로 고정된 길이의 헤더
  • IPv4처럼 fragmentation을 하지 않음 => field가 없음
  • Checksum field도 없음

fragmentation을 하지 않는 이유

  • MTU(Maximum Transmission Unit)가 비슷해져서 굳이 필요하지 않다.
  • 그래서 안 쓴다.

Checksum이 없는 이유

  • 라우터를 거칠 때마다 TTL을 계산함
  • Checksum이 계속 변함
  • 리소스가 제한되어 있기 때문에 계속 Checksum을 계산하는 것이 비효율적이라서 안 씀
  • Checksum 자리에 hop limit가 들어간다.

# Transition from IPv4 to IPv6

아직 IPv6 보급이 많이 되지 않아서 IPv6를 IPv4로 바꾸고, IPv4를 IPv6로 바꾸는 과정이 필요하다.

이런 과정을 tunneling(터널링)이라고 한다.

계층 간 header를 multiplexing하는 것과 비슷하다.


2. Generalized Forward and SDN

각각 라우터는 logically centralized routing controller에 의해 계산되고 분산된 flow table을 가지고 있다.


Network Layer control plane

1. introduction

network control plane 규칙을 이해하는 것이 목표

▪ traditional routing algorithms
▪ SDN controllers
▪ Internet Control Message Protocol
▪ network management

▪ OSPF, BGP, OpenFlow, ODL and ONOS controllers, ICMP, SNMP

 

Data plane : 라우터 간에 패킷이동 (forwarding)

Control plane : 패킷의 전체 이동 경로를 결정 (routing)


2. routing protocol

router는 cost를 중심으로 경로를 최적화 해야 한다.

cost에는 거리(distance), 에러 상태, 비용 등이 있다.

 

# Routing algorithm classification

global

  • link state algorithms
  • 모든 라우터가 완전한 topology와 링크 cost 정보를 알고 있음

decentralized : distance vector

  • distance vector
  • 라우터는 오직 물리적으로 연결된 이웃에 대한 링크 cost 정보를 알고 있음

# A link-state routing algorithm

Dijkstra algorithm

  • 한 노드에서 전체 다른 노드로 가는 최소 비용을 계산한다.

다익스트라 알고리즘은 반복이 가능하다.

-> 최소 경로로 이동 중에 값이 갱신되서 최소값이 바뀌면 왔던 길로 다시 갈 수 있기 때문

 

# Distance vector algorithm