1. 네트워크 계층의 기능

네트워크 계층은 전송 계층으로부터 전달받은 데이터를 최종 목적지까지 전달하는 역할을 수행한다. 이를 위해 주요 기능으로 라우팅, 혼잡 제어, 패킷의 분할과 병합 등을 제공한다.

1) 네트워크 기능

라우팅은 송신 호스트에서 수신 호스트까지 패킷이 전달되는 경로를 결정하는 과정이다. 이를 위해 라우터는 네트워크 구성 형태를 기록한 라우팅 테이블을 관리한다.

혼잡 제어는 네트워크 내 패킷 수가 과도하게 증가하여 성능이 저하되는 혼잡 현상을 예방하거나 제거하는 기능이다.

패킷 분할과 병합 기능은 상위 전송 계층에서 송신을 요구한 데이터를 MAC 계층의 프레임 형식에 맞게 캡슐화하여 전송하는 과정에서 필요하다. 데이터는 네트워크 전송에 적합하도록 여러 개의 패킷으로 분할되고, 목적지에서는 이들을 다시 하나로 병합하여 원래의 데이터로 복구한다.

2) 연결형 서비스와 비연결형 서비스

**연결형 서비스(Connection-oriented Service)**는 데이터 전송 전에 송수신 간의 경로를 미리 설정하는 방식이다. 대표적으로 TCP가 연결형 서비스를 제공한다.

**비연결형 서비스(Connectionless Service)**는 데이터 전송 시마다 경로가 개별적으로 결정되는 방식이다. IP 및 UDP 프로토콜이 이에 해당한다.

  • 비연결형 서비스에서는 패킷이 서로 다른 경로로 전송될 수 있어 도착 순서가 일정하지 않다. 따라서 상위 계층에서 순서를 재조정해야 한다.
  • 또한 패킷 손실이 발생할 수 있으며, 상위 계층에서 이를 복구해야 한다.

연결형서비스와비연결형서비스

2. 라우팅 기능 및 혼잡 제어 기능

1) 라우팅

라우팅은 패킷의 최적 전송 경로를 지정하는 기능으로, 다음 두 가지 원칙을 고려하여 경로를 결정한다.

  • 공평 원칙: 특정 패킷의 우선 처리를 위해 다른 패킷이 불이익을 받아서는 안 된다.
  • 효율 원칙: 네트워크 전체의 효율성을 고려해야 한다.

라우팅 테이블(Routing Table)

(1) 정적 라우팅과 동적 라우팅

  • **정적 라우팅(Static Routing)**은 경로 정보가 네트워크 변경과 무관하게 사전에 설정되는 방식이다. 그러나 변화에 민첩하게 대응하기 어렵다는 단점이 있다.
  • **동적 라우팅(Dynamic Routing)**은 라우터가 네트워크 상황에 따라 경로 정보를 자동으로 갱신하는 방식이다. 다만 경로 정보 관리로 인해 성능 저하가 발생할 수 있다.

(2) HELLO/ECHO 패킷

  • HELLO 패킷은 인접 라우터를 탐색하고 주변 경로 정보를 수집하는 데 사용된다.
  • ECHO 패킷은 라우터 간 전송 지연 시간을 측정하는 데 사용된다.

(3) 라우팅 테이블

라우팅 테이블은 라우터가 패킷을 전달할 경로를 찾을 때 사용하는 기본 자료구조이다. 주요 정보로는 목적지 호스트 주소와 **다음 홉(next hop)**의 주소가 포함된다.

(4) 라우팅 정보의 처리 방법

  • 소스 라우팅(Source Routing): 송신 호스트가 직접 전체 경로를 결정하여 패킷에 포함하는 방식이다.
  • 분산 라우팅(Distributed Routing): 각 라우터가 분산된 방식으로 경로를 결정한다.
  • 중앙 라우팅(Centralized Routing): 중앙 제어 컴퓨터(RCC)가 전체 경로를 관리한다.
  • 계층 라우팅(Hierarchical Routing): 네트워크를 계층화하여 분산 및 중앙 라우팅을 적절히 조합하는 방식으로, 대규모 네트워크에 적합하다.

2) 혼잡 제어

**혼잡(Congestion)**은 네트워크 성능이 급격히 저하되는 현상을 의미한다. 이를 해결하기 위해 **혼잡 제어(Congestion Control)**가 필요하다.

  • 흐름 제어는 송수신 호스트 간 논리적 전송 속도 제어를 의미한다.
  • 혼잡 제어는 네트워크 자체의 전송 능력 문제를 다룬다.

흐름제어와 혼잡제어

(1) 혼잡의 원인

혼잡은 타임아웃 시간 설정 미숙, 패킷 순서 오류 처리, 피기배킹 사용, 패킷 생존 시간(TTL) 설정 문제 등 다양한 요인으로 인해 발생할 수 있다.

(2) 트래픽 성형

  • **트래픽 성형(Traffic Shaping)**은 송신 패킷의 빈도를 조절하여 버스트 현상을 완화하는 방법이다.
  • 대표적인 기법으로 리키 버킷(Leaky Bucket) 알고리즘이 있다.

트래픽 성형

(3) 혼잡 제거

혼잡이 발생한 지역이 주변 지역으로 확산되는 것을 방지하는 것이 중요하다. 이를 위해 가상 회선 방식에서 **자원 예약(Resource Reservation)**이 이루어지며, ECN(Explicit Congestion Notification)을 통해 혼잡 상태를 네트워크 상에 통지할 수 있다.

혼잡제거

3) 간단한 라우팅 프로토콜

  • 최단 경로 라우팅(Shortest Path Routing): 최소 홉 수 경로를 선택하여 패킷을 전달한다.
  • 플러딩(Flooding): 모든 경로로 패킷을 복제하여 전달하는 방식으로, 패킷 생존 시간(TTL)으로 무한 복제를 방지한다.

최단 경로 라우팅

4) 거리 벡터 라우팅 프로토콜

**거리 벡터 라우팅(Distance Vector Routing)**은 라우터가 인접 라우터와 라우팅 정보를 주기적으로 교환하는 방식이다.

  • 링크 벡터는 이웃 네트워크 연결 정보를 의미한다.
  • 거리 벡터는 목적지까지의 거리 정보를 제공한다.
  • 다음 홉 벡터는 목적지로 가는 다음 홉 정보를 나타낸다.

**RIP(Routing Information Protocol)**은 거리 벡터 방식에 기반한 가장 간단한 내부 라우팅 프로토콜이다. 소규모 네트워크에 적합하며, 목적지까지의 지연 시간이 짧은 경로를 우선 선택한다.

5) 링크 상태 라우팅 프로토콜

링크 상태(Link State) 라우팅 프로토콜은 각 라우터가 이웃 라우터까지의 링크 정보를 수집하고, 이를 네트워크 전체에 배포하여 전체 지도를 작성하는 방식이다. 플러딩(Flooding) 기법을 사용하며, 대표적으로 OSPF(Open Shortest Path First) 프로토콜이 있다.

6) 외부 라우팅 프로토콜

  • 내부 라우팅 프로토콜로는 RIP(거리 벡터 방식)과 OSPF(링크 상태 방식)가 있다.
  • 외부 라우팅 프로토콜에는 **BGP(Border Gateway Protocol)**가 있으며, 서로 다른 자율 시스템(AS) 간의 라우팅 정보를 교환한다. BGP는 TCP를 기반으로 동작한다.

3. IP 프로토콜 헤더의 역할

1) IP 헤더 구조

IP 프로토콜은 비연결형 서비스를 제공하며, 패킷 분할과 병합 기능을 수행한다. 데이터 자체의 체크섬은 제공하지 않고 헤더에 대해서만 체크섬 검사를 수행하며, 최선 노력(Best Effort) 방식으로 전송을 보장한다.

IP 헤더구조

주요 필드 설명

  • DS/ECN 필드는 IP 패킷의 서비스 품질을 관리한다.
    • **DS(Differentiated Services)**는 서비스 등급을 구분하여 트래픽을 차별화한다.
    • **ECN(Explicit Congestion Notification)**은 혼잡 상황을 통지한다.

DS/ECN
ECN 필드 값의 의미

  • 패킷 분할 관련 필드:
    • Identification 필드는 패킷 식별자이다.
    • DF(Don't Fragment) 플래그는 분할 금지를 지정한다.
    • MF(More Fragment) 플래그는 추가 분할 여부를 표시한다.
    • Fragment Offset은 분할된 패킷의 원본 위치를 나타낸다.
  • 주소 관련 필드:
    • Source Address는 송신 호스트 IP 주소이다.
    • Destination Address는 수신 호스트 IP 주소이다.

IP 주소 체계

  • 기타 필드:
    • Version Number: IP 프로토콜 버전
    • Header Length: IP 헤더 길이
    • Packet Length: 전체 패킷 길이
    • Time To Live (TTL): 패킷 생존 시간
    • Transport Protocol: 상위 전송 계층 프로토콜 식별
    • Header Checksum: 헤더 오류 검출
    • Options: 특수 기능 지원
    • Padding: 헤더 크기를 4바이트 단위로 맞춤

2) IP 주소 체계

IP 주소는 0~255 범위의 수로 표현되며, 첫 번째 옥텟 값에 따라 A, B, C, D, E 클래스(Class)로 구분된다.

IP 주소값에따른주소체계

+ Recent posts