네트워크 계층은 인터넷 통신에서 중요한 역할을 한다.
책에서는 이를 간단히 **H1(보내는 호스트)**와 H2(받는 호스트) 사이에 라우터가 여러 개 존재하는 네트워크의 관점에서 설명하고 있다. H1이 H2로 데이터를 보낼 때 네트워크 계층은 아래와 같은 역할을 한다.
1. H1의 역할:
• **세그먼트(Segment)**를 상위 계층(전송 계층)에서 받아온다.
• 이 세그먼트를 **데이터그램(Datagram)**이라는 형태로 캡슐화한다.
• 캡슐화된 데이터그램을 가장 가까운 라우터(예: R1)로 보낸다.
2. 라우터(R1, R2, …):
• 라우터는 각 포트의 입력 링크로 들어온 데이터그램을 출력 링크로 전달한다.
이 과정을 **포워딩(Forwarding)**이라고 한다.
• 또한, 여러 라우터가 데이터를 적절히 전달하기 위해 라우팅 알고리즘을 사용하여 최적의 경로를 계산한다.
이 역할은 **컨트롤 플레인(Control Plane)**에서 수행된다.
3. H2의 역할:
• 데이터를 받아 전송 계층으로 전달한다.
그림 4.1 설명
그림 4.1에서는 네트워크 계층의 기본 구조를 보여준다. 여기서 볼 수 있는 주요 구성 요소는 다음과 같다.
• 호스트(H1, H2): 애플리케이션부터 네트워크 계층까지의 프로토콜 스택이 모두 존재한다.
• 라우터(R1, R2): 네트워크 계층까지만 프로토콜 스택을 포함하며, 애플리케이션 계층과 전송 계층은 없다.
• 데이터 경로: H1에서 데이터가 R1, R2를 거쳐 H2로 이동하는 경로를 나타낸다.
4.1.1 포워딩과 라우팅 (Forwarding and Routing: The Data and Control Planes)
네트워크 계층의 주요 역할은 간단해 보인다. **“데이터그램을 한 호스트에서 다른 호스트로 이동시키는 것”**이다.
이를 위해 네트워크 계층은 두 가지 중요한 기능을 수행한다.
1. 포워딩 (Forwarding):
• 포워딩은 라우터에서 이루어지는 로컬 작업이다.
• 라우터의 입력 링크로 들어온 패킷(데이터그램)을 출력 링크로 전달하는 과정이다.
• 이 작업은 **포워딩 테이블(Forwarding Table)**을 참조하여 이루어진다. 테이블에는 입력 패킷의 헤더 값에 따라 출력 링크가 매핑되어 있다.
• 예를 들어, 그림 4.2에서 헤더 값이 0110인 데이터그램은 포워딩 테이블을 참조해 출력 링크 2로 전송된다.
2. 라우팅 (Routing):
• 라우팅은 네트워크 전체의 경로를 결정하는 과정이다.
• 라우팅 알고리즘을 사용하여 데이터를 출발지(H1)에서 목적지(H2)로 전송하기 위한 최적 경로를 계산한다.
• 예를 들어, H1에서 H2로 데이터를 보낼 때, 데이터가 R1, R2를 경유하도록 경로를 설정하는 것이 라우팅의 역할이다.
포워딩과 라우팅의 차이:
• 포워딩: 라우터 내부에서 개별 패킷을 처리하는 로컬 작업.
• 라우팅: 네트워크 전체의 패킷 이동 경로를 결정하는 글로벌 작업.
그림 4.2 설명
그림 4.2는 포워딩 테이블과 라우팅 알고리즘의 상호 작용을 보여준다.
• 데이터 플레인(Data Plane): 포워딩 작업이 이루어지는 영역으로, 라우터가 포워딩 테이블을 참조해 패킷을 처리한다.
• 컨트롤 플레인(Control Plane): 라우팅 알고리즘이 작동하는 영역으로, 포워딩 테이블의 내용을 결정한다.
컨트롤 플레인: 전통적인 접근법과 SDN 접근법 (Control Plane: Traditional Approach vs. SDN Approach)
전통적인 접근법
• 전통적인 방식에서는 라우터 내부에서 라우팅 알고리즘이 실행된다.
• 각 라우터가 독립적으로 작동하며, 다른 라우터와 메시지를 주고받아 라우팅 정보를 교환한다.
• 그림 4.2와 같이 각 라우터에는 자체 포워딩 테이블이 있고, 이 테이블은 라우팅 알고리즘에 의해 동적으로 업데이트된다.
SDN 접근법
• SDN(Software-Defined Networking)은 컨트롤 플레인을 중앙화된 컨트롤러로 분리한다.
• 그림 4.3에서 보듯, 모든 라우터는 **원격 컨트롤러(Remote Controller)**와 연결되어 있다.
• 컨트롤러는 각 라우터의 포워딩 테이블을 계산하고 분배한다.
• 이 접근법은 네트워크 관리를 단순화하고, 변경 사항을 신속히 반영할 수 있게 한다.
4.1.2 네트워크 서비스 모델 (Network Service Model)
네트워크 계층은 호스트 간 데이터 전송을 제공하며, 다양한 서비스 모델을 지원할 수 있다. 책에서는 다음과 같은 서비스를 소개하고 있다.
1. Guaranteed Delivery (보장된 전달):
• 데이터가 반드시 목적지에 도달하도록 보장한다.
2. Guaranteed Delivery with Bounded Delay (지연 제한 보장):
• 데이터 전달 시간을 특정 범위(예: 100ms) 내로 보장한다.
3. In-Order Packet Delivery (순서 보장 전달):
• 데이터가 보낸 순서대로 도착하도록 보장한다.
4. Guaranteed Minimal Bandwidth (최소 대역폭 보장):
• 특정 대역폭(예: 1 Mbps)을 보장한다.
5. Security (보안):
• 데이터그램을 암호화하여 전송 계층 데이터의 기밀성을 유지한다.
베스트 에포트 서비스 (Best-Effort Service)
• 인터넷은 기본적으로 베스트 에포트 서비스를 제공한다.
• 이는 데이터 전달이 보장되지 않으며, 특정 성능(지연, 대역폭 등)에 대한 보장도 없다.
• 이러한 단점에도 불구하고, 인터넷은 적절한 애플리케이션 수준 프로토콜(DASH, Netflix 등)을 통해 놀라운 성능을 제공한다.
'Book > COMPUTER NETWORKING A TOP-DOWN-APPROACH' 카테고리의 다른 글
4.3 The Internet Protocol(IP): IPv4, Addressing, IPv6, and More (0) | 2024.12.03 |
---|---|
4.2 What's Inside a Router? (0) | 2024.12.03 |
3.7 TCP Congestion Control (3) | 2024.11.24 |
3.6 Principles of Congestion Control (0) | 2024.11.24 |
3.5 Connection-Oriented Transport: TCP (0) | 2024.11.24 |