[혼공네트] 3주차_네트워크 계층

🙈·2025년 7월 22일
0

LAN 넘어가기

데이터 링크 계층의 한계

  • 다른 네트워크까지의 도달 경로를 알기 어렵다.

    • 라우팅(routing): 패킷이 이동할 최적의 장비를 결정하는 것
    • 물리 계층, 데이터 링크 계층의 장비로는 라욷팅을 수행할 수 없다.
  • MAC 주소로 호스트를 트겅하기 어렵다.

    MAC 주소IP 주소
    물리 주소논리 주소
    NIC마다 할당(고정 주소)DHCP or 사용자가 직접 할당

인터넷 프로토콜 (IP, Internet Protocol)

네트워크 계층의 프로토콜로 IPv4와 IPv6만 있다.
다만 아래에서는 IPv4만 정리할 예정이다.

기능

  • IP 주소 지정 (addressing): IP 주소를 바탕으로 송수신 대상 지정
  • IP 단편화 (fragmentation): MTU(Maximum Transmission Unit) 보다 패킷 크기가 크면 여러 개의 패킷으로 나누어 전송

IPv4

  • 4byte로 표현

    • e.g.) 192.168.1.1
  • 패킷 구조

    영어한국어역할
    Identifier식별자패킷에 할당된 번호
    패킷이 여러 조각으로 나누어져 전송된 경우 어떤 메시지에서부터 쪼개졌는지 인식하기 위한 용도
    Flags플래그순서대로 0 DF MF 비트로 구성된 필드
    DF(Don't Fragment): 1이면 단편화 불가 / 0이면 단편화 가능
    MF(More Fragment): 1이면 쪼개진 패킷이 더 있음 / 0이면 마지막 패킷
    Fragment offset단편화 오프셋초기 데이터에서 몇 번째로 떨어진 패킷인지를 나타내는 필드
    TTL(Time to Live)-패킷이 하나의 라우터를 거칠 때마다 == 한 홉(hop)마다 1씩 감소
    무의미한 패킷이 네트워크 상에 남아있는 것을 방지함
    Protocol프로토콜상위 계층의 프로토콜
    e.g.) TCP는 6번, UDP는 17번

ARP (Address Resolution Protocol)

IP 주소를 통해 MAC 주소를 알아내는 프로토콜

처리 과정
호스트 A가 호스트 B의 MAC 주소를 알고싶어하는 상황

  1. ARP 요청 (ARP request)
    • A가 브로드캐스트 메시지 전송
  2. ARP 응담 (ARP reply)
    • B를 제외한 호스트는 응답 X
    • B만 유니캐스트 메시지 전송
  3. ARP 테이블 갱신

만약 호스트 A와 B가 다른 네트워크에 있다면?
⇒ ARP 테이블에는 라우터의 MAC 주소가 저장된다.

IP 주소

네트워크 주소와 호스트 주소

클래스풀 주소 체계(classful addressing)

  • A의 경우 호스트가 할당되지 않은 IP 주소가 낭비될 수 있다.
  • C의 경우 호스트가 사용할 IP 주소가 부족해질 수 있다.

클래스리스 주소 체계(classless addressing)

클래스풀 주소 체계 보다 정교하게 표현하는 방법으로 8bit 단위로 네트워크/호스트 주소가 구분되지 않고 원하는 크기로 잘게 쪼개어 사용할 수 있다.

  • 서브넷 마스크(subnet mask)로 서브네팅하기

    10진수bit
    IP 주소192.168.219.10311000000.10101000.11011011.01100111
    서브넷 마스크255.255.255.011111111.11111111.11111111.00000000
    AND 연산의 결과
    (네트워크 주소)
    192.168.219.011000000.10101000.11011011.00000000
    • 8비트로 호스트를 표현할 수 있다.
    • 네트워크 주소: 192.168.219.0
    • 브로드캐스트 주소: 192.168.219.255
    • 호스트는 28 - 2 = 254개
  • CIDR 표기법

    • <IP 주소/서브넷 마스크 상의 1의 개수> 로 클래스리스 주소 체계를 표현할 수 있다.
    IP 주소서브넷 마스크CIDR네트워크 주소호스트 수
    192.168.219.130255.255.255.0192.168.219.130/24192.168.219.028 - 2 = 254개
    192.168.219.130255.255.255.128192.168.219.130/25192.168.219.12827 - 2 = 126개

공인 IP와 사설 IP

공인 IP

전 세계에서 고유한 IP 주소를 말한다.

사설 IP

LAN 내에서 사용하는 IP 주소를 말하며 라우터(router)가 할당한다.
NAT(Network Address Translation)을 거쳐 공인 IP로 변경 ⇒ 외부 호스트와 통신한다.
e.g.) 171.16.0.0/12, 168.192.0.0/16

정적 IP와 동적 IP

  • 정적 할당
    • 호스트에 직접 부여한 IP
  • 동적 할당
    • 사용자가 IP를 직접 입력하지 않아도 자동으로 IP를 할당하는 방식
    • DHCP(Dynamic Host Configuration Protocol)로 IP를 할당한다.

DHCP로 IP 할당하기

  • DHCP 서버 (일반적으로 라우터 또는 특정 호스트)와 호스트 간에 메시지를 주고 받으며 동적으로 IP가 할당된다.
  • IP 주소 임대 시간이 정해져 있다.
  • 임대 기간이 끝나면 IP를 반납하고 재할당 받거나 갱신해야한다.
  1. DHCP Discover (호스트 → DHCP 서버)
    • 브로드캐스트로 전송
    • 송신지 IP는 0.0.0.0
    • "나 DHCP 서버 찾고 있어!!"
  2. DHCP Offer (DHCP 서버 → 호스트)
    • "IP 주소, 서브넷 마스크, 임대 기간 등을 제안할께!"
  3. DHCP Request (호스트 → DHCP 서버)
    • 브로드캐스트로 전송
    • "Offer 잘 받았어. 이 IP 주소 써도 되는거지?"
  4. DHCP ACK (DHCP 서버 → 호스트)
    • "승인 완료"

라우팅

라우팅이라 패킷이 이동할 최적의 경로를 설정하여 패킷을 이동시키는 과정을 말한다.

라우터와 라우팅 테이블

라우터는 네트워크 계층에서 사용하는 장비이다. 집에 있는 공유기가 라우터의 역할을 한다.

  • 패킷이 하나의 라우터를 거치는 과정을 홉(hop)이라고 한다.

라우팅 테이블에선 아래와 같은 정보를 얻을 수 있다.

  • 수신지 IP 주소와 서브넷마스크
  • 다음 홉/게이트웨이: 다음으로 거쳐야 할 호스트의 IP 주소나 인터페이스
  • 네트워크 인터페이스: 패킷을 보낼 통로
  • 메트릭(metric): 해당 경로로 이동하는 데에 드는 비용

정적 라우팅과 동적 라우팅

정적 라우팅은 사용자가 직접 라우팅 테이블을 채워 넣어 라우팅되는 방식을 말한다.

동적 라우팅은 자동으로 라우팅 테이블을 만들고 활용하는 방식이다.
AS 내부에서 수행되는 지 여부에 따라 라우팅 프로토콜이 나뉜다.

라우팅 프로토콜

AS 내부에서 수행되면 IGP, 외부에서 수행되면 EGP라고 한다.

AS(Autonomous System)란?
하나의 관리 도메인 안에 있는 라우터의 집합을 AS라고 한다.

IGP(Interior Gateway Protocol)

  • RIP(Routing Information Protocol)
    • 거리 벡터 기반
    • 홉 수가 가장 적은 경로를 최적의 경로라고 판단
    • 주기적으로 라우팅 테이블 갱신
  • OSPF(Open Shortest Path First)
    • 링크 상태 기반
    • 현재 네트워크의 상태를 그래프의 형태로 최적의 경로 판단
    • 대역폭을 기반으로 메트릭 계산
    • AS 내 정보가 바뀔 때마다 정보 변경이 이루어진다.

EGP(Exterior Gateway Protocol)

  • BGP(Border Gateway Protocol)
    • 피어링을 통해 다른 AS의 BGP 라우터와 피어 상태를 유지

숙제

필수 숙제

  1. Ch.03-1 확인 문제 1번
    ② IP 주소 지정
    ③ IP 단편화
  2. Ch.03-3 확인 문제 2번
    라우팅 프로토콜은 AS 내부에서 수행되는 IGP와 AS 외부에서 수행되는 EGP로 나뉩니다. RIP는 대표적인 거리 벡터 라우팅 프로토콜이고, OSPF는 대표적인 링크 상태 라우팅 프로토콜입니다.

<참고 자료>

profile
개발 일기🌱

0개의 댓글