dh_0e

[Network Layer] Network Layer 기초 본문

Network Programming/Network Layer

[Network Layer] Network Layer 기초

dh_0e 2025. 4. 20. 17:58

Packet Switching at Network Layer

  • Connectionless Service (비연결형 서비스)
    • 네트워크 계층은 connectionless service를 제공하기 위해 설계됨
    • 각각의 패킷은 독립적으로 전달 → 서로 다른 경로 or 같은 경로를 통해 도착할 수 있음
    • 패킷 스위칭 방식: 서로 다른 경로로 가기 때문에 도착 순서 보장 X
    • 네트워크 계층의 책임: 패킷을 출발지에서 목적지까지 전송

전송 전 별도의 연결 설정 없음. IP는 best-effort delivery만 제공함 (신뢰성 보장 X).

 

  • Connection-Oriented Service (연결형 서비스)
    • 모든 패킷이 같은 경로로 전달되도록 가상 연결 (virtual circuit) 을 설정
    • 전송 전에 경로 설정 필요
    • 설정 이후에는 모든 데이터그램이 동일한 경로로 흐름

가상 연결을 만든 후 동일한 경로로 전송. MPLS 같은 경우 연결형 방식.


Network Layer Services (Source Computer)

  • Source Computer에서의 역할
    • 종단 간 통신을 위한 Logical Addressing(논리적 주소(IP)) 사용
      • Logical Addressing: 네트워크 계층은 end-toend 통신을 제공함 (종단간)
      • 통신하고자 하는 두 컴퓨터는 universal identification(공인 IP 기준) service 가 필요함
    • 출발지 컴퓨터는 목적지 주소를 설정하고 패킷을 생성

통신하려는 두 호스트는 서로를 식별할 수 있는 IP 주소가 필요함.


Network Layer Services (Router)

  • 라우터에서의 역할
    • 라우터는 항상 두 개의 링크 계층과 상호작용함
      • 들어오는 링크 계층, 나가는 링크 계층
    • 들어온 패킷을 확인하고 다음 홉으로 전달

Network Layer에서 데이터그램을 전송하기 위한 과정

Valid datagram?

  • 수신한 데이터그램이 유효한지 검사함.
  • 유효하지 않으면 Discard datagram (폐기)

1. Find next-hop logical address (논리 주소 찾기)

  • 목적지 논리 주소(DA)를 보고, 다음으로 가야 할 노드의 IP 주소(NA)를 찾음.
  • 라우팅 테이블을 참고함.

2. Find next-hop MAC address (MAC 주소 찾기)

  • IP 주소(NA)로부터 실제 전송에 필요한 MAC 주소를 얻음.
  • → 여기서 ARP 프로토콜 사용!
  • → 이때, 빨간 글씨처럼 ARP cache는 로컬 PC에 저장된 매핑 테이블.

3. Fragment (단편화)

  • 전송할 데이터그램 크기가 MTU보다 크면 조각(fragmentation) 냄.
  • → MTU는 인터페이스마다 다르기 때문에, MTU 테이블 참고함.

4. Fragment 결과 예시

  • 아래 박스처럼 여러 개의 조각난 프래그먼트가 만들어지고 각각 MAC 헤더 붙어서 전송됨.
  • ARP cache: PC 자체 매핑 테이블 (IP 주소를 물리적 주소(MAC 주소)로 변환하는 데 사용됨)
  • Fragment: 네트워크 계층에서 데이터를 MTU에 맞게 조각내어 전송
  • MTU(Maximum Transfer Unit): 한 번에 전송할 수 있는 데이터의 최대 크기 (즉, 네트워크에서 한 프레임으로 전송 가능한 최대 바이트 수)
  • DA: 목적지 논리 주소 (IP)
  • NA: 다음 홉 IP 주소
  • MAC: MAC 주소
  • H: 데이터그램 헤더

라우터는 두 링크 계층 사이에서 동작하며 IP 계층은 중간자 역할 수행.
네트워크 계층(IP 계층)에서는 데이터가 MTU보다 클 경우, 이를 조각 내어 전송하며, 수신 측에서 다시 조립한다. MTU는 한 번에 전송 가능한 최대 데이터 크기를 의미한다.


Network Layer Services (Destination Computer)

  • 목적지 컴퓨터의 역할
    • 여러 조각(Fragments)으로 나뉜 패킷을 재조립
    • 재조립이 완료된 데이터는 상위 계층(Transport or other layers)으로 전달

 

목적지 호스트는 모든 fragment가 도착해야만 데이터를 복구 가능함.
재조립 시간이 지나면 파기


Other Network Layer Issues: Error Control

  • IP(Network Layer Protocol) 의 오류 제어 방식
    • 전체 오류 제어는 안 함
    • 오직 헤더에 checksum 필드를 추가해서 헤더의 오류만 감지
    • 두 Hop 사이에서 헤더에 corruptions나 changes가 있는지 판단
    • 라우터마다 checksum 재계산 필요 (헤더 일부가 변경되기 때문)
    • 라우터에서 데이터 처리되는 도중에는 Error checking X
  • IPv6에는 checksum 존재 X

IP(Network Layer Protocol)는 헤더 오류만 체크하고, 데이터 전체 오류 제어는 전송 계층(TCP)이 담당함.


Other Issues: Routing, Security

  • Routing (라우팅)
    • 네트워크 계층의 핵심 역할
    • 라우터는 라우팅 테이블을 생성하고 갱신
    • 라우팅 프로토콜 (예: RIP, OSPF)이 이를 도와줌 (동적으로)
  • Security (보안)
    • IP 자체는 보안을 고려하지 않고 설계됨
    • 보안이 필요할 경우 IPSec(주로 TLS/SSL) 등의 추가 계층을 도입

라우팅은 별도의 프로토콜이 관리하며, IP 자체에는 보안 기능이 없음.


✅ 총정리 키워드 요약

개념설명

 

IP (Internet Protocol) Network layer의 핵심 프로토콜 (IPv4 / IPv6)
Connectionless IP는 연결 없이 각 패킷 독립 전송
Connection-Oriented 전송 전 경로 설정 후 일관된 전송
Source Computer IP 주소를 설정하여 패킷 생성
Router 입력/출력 링크 계층 사이에서 패킷 전달
Destination Computer Fragment 재조립 후 상위 계층에 전달
Checksum 헤더 오류만 감지, 데이터 오류는 감지 X
Routing 라우팅 테이블로 다음 홉 결정
Security IP에서는 기본적으로 없음, IPSec 등 별도 사용