[TIL] 네트워크 계층

김은혁·2023년 5월 21일
0

IP datagram 형식

versionheader lengthtype of servicelength
16-bit identifierflagsfragment offset
time to liveupper layerheaderchecksum
32 bit 출발지 IP주소
32 bit 목적지 IP주소
옵션
데이터 (가변 길이, 주로 TCP 또는 UDP segment)
  • version (4bit) : IP 프로토콜 버전
  • header length (4bit) : 헤더의 길이 (bytes)
  • type of service (8bit) : 데이터 타입
  • length (16bit) : 전체 데이터그램 길이 (bytes)
  • TTL (time to live) (8bit) : 남아있는 최대 hop수
  • upper layer (8bit) : payload를 전달할 상위 계층 프로토콜
  • identifier, flags, fragment offset : 단편화 / 재결합을 위해 사용
    • identifer (16bit) : 쪼갠 데이터의 번호
    • flags (3bit) : 내 뒤에 다른 조각이 있는가 ?
    • fragment offset (13bit) : 몇 번 byte에서 시작하는가 ?
  • header checksum (16bit) : 데이터에 에러가 있는지 확인 (header의 에러만 확인)

IP 단편화와 재결합

  • 네트워크 링크에는 MTU(Maximum Transmission Unit), 즉 frame의 최대 크기가 존재
    • 링크 종류에 따라 MTU도 다르다
  • 큰 IP datagram은 네트워크 내에서 쪼개진다 (단편화)
    • 한 datagram이 여러 개로
    • 최종 목적지에서 재결합된다
    • IP 헤더의 비트들을 이용해 관련 조각들을 식별하고 순서를 맞춤

IP 주소 체계

  • IP 주소 : 호스트, 라우터의 인터페이스를 위한 32-bit 식별값 (IPv4)
  • 네트워크를 나타내는 부분과 네트워크 안의 호스트를 나타내는 부분으로 나누어짐.
  • 인터페이스 : 호스트 / 라우터와 물리 링크 간의 연결
    • 라우터는 보통 복수의 인터페이스 보유
    • 호스트는 한 개 또는 두 개의 인터페이스 보유

서브넷

  • IP 주소에서 subnet 부분이 동일한 장치 인터페이스들
  • 중계 라우터 없이도 서로 물리적으로 도달할 수 있음
  • subnet을 결정하려면, 호스트 / 라우터에서 각 인터페이스를 분리하여, 섬처럼 격리된 네트워크를 만든다.
  • 격리된 각 네트워크를 subnet이라고 부른다.
  • subnet mask: IP 주소에서 네트워크 주소와 호스트 주소를 구분하는 것 ex) /24

  • Class A : 1~127.x.x.x
  • Class B : 128 ~ 191.x.x.x
  • Class C : 192 ~ 223.x.x.x

Host ID 영역을 더 잘게 쪼개서 관리할 수도 있다.

CIDR (Classless InterDomain Routing)

  • 주소의 subnet 부분을 임의의 길이로 설정 (cf. 고전적 클래스 주소 체계)
  • 주소 형식: a.b.c.d/x, 여기에서 x는 주소에서 subnet 부분의 bit 수를 나타냄

Q. 호스트는 어떻게 IP 주소를 얻는가 ?

  • 고정 IP : 관리자가 수동으로 시스템 파일에 설정 (허가받은 주소만을 사용)
  • DHCP (Dynamic Host Configuration Protocol)
    • 서버로부터 주소를 동적으로 얻음
    • “plug-and-play”
    • 사용중인 주소의 대여기간을 갱신할 수 있다.
    • 주소 재사용을 허용한다 (연결되어 있을 때만 주소를 점유할 수 있음)

DHCP 동작 개요

  • 호스트가 “DHCP discover” 메시지를 브로드캐스트
  • DHCP 서버가 “DHCP offer” 메시지로 응답
  • 호스트는 IP 주소를 요청한다 : “DHCP request” 메시지
  • DHCP 서버는 응답에 대한 응답을 보낸다 : “DHCP ack” 메시지

⇒ DHCP client-server 시나리오

DHCP는 할당된 IP 주소 이상의 정보를 제공함

  • 첫 번째 hop 라우터(=디폴트 게이트웨이)의 주소
  • DNS server의 이름과 IP 주소
  • network mask

0개의 댓글