Book 60

5.5 The SDN Control Plane

SDN 제어 평면은 네트워크 장치의 패킷 전달 로직을 중앙에서 제어하고, 이 장치들의 설정과 관리를 담당한다.이는 기존의 라우터 기반 네트워크 모델과는 크게 구분된다. SDN의 주요 특징  1. Flow-Based Forwarding: • SDN에서는 네트워크 장치(스위치)가 패킷 헤더 필드에 기반하여 포워딩을 수행한다. • OpenFlow 1.0 기준으로, 총 11개의 패킷 헤더 필드(예: IP 주소, 포트 번호 등)를 기반으로 포워딩 규칙을 정의할 수 있다. • 이는 전통적인 라우터가 목적지 IP 주소만을 기반으로 포워딩했던 것과는 차별화된다.  2. 데이터 평면과 제어 평면의 분리: • SDN은 **데이터 평면(Data Plane)**과 **제어 평면(Control Plane)**을 분리한다. • ..

5.4 Routing Among the ISPs: BGP

5.4 ISP 간 라우팅: BGP(Border Gateway Protocol) BGP는 인터넷에서 **AS 간의 라우팅(Inter-AS Routing)**을 수행하는 중요한 프로토콜이다.앞서 본 OSPF는 AS 내부에서 라우팅을 처리하는 프로토콜로, BGP는 여러 AS를 연결해주는 역할을 담당한다. BGP의 중요성  • 인터넷의 “접착제” 역할:BGP는 전 세계 수천 개의 ISP(Autonomous Systems)를 연결하는 프로토콜로, 인터넷이 하나의 네트워크처럼 동작할 수 있도록 해준다. • 인터넷에서 가장 중요한 프로토콜 중 하나: • IP 프로토콜과 함께 인터넷의 핵심 프로토콜로 꼽힌다. • BGP는 AS 간 트래픽 경로를 결정하기 때문에, 인터넷을 심층적으로 이해하기 위해서는 BGP를 학습하는 ..

5.3 Intra-AS Routing in the Internet:OSPF

이 섹션은 Autonomous System(AS) 내에서 라우팅을 수행하는 방법과 OSPF의 동작 방식을 다룬다. 1. Intra-AS 라우팅의 필요성 기존의 라우팅 알고리즘에서 모든 라우터가 동일한 알고리즘을 사용한다고 가정했으나, 이는 실제 인터넷 환경에서는 비현실적이다. 그 이유는 다음 두 가지로 나뉜다:  1. 규모(Scale): • 인터넷에는 수억 개의 라우터가 존재하며, 모든 라우터가 전체 네트워크의 정보를 저장하고 처리하려면 엄청난 메모리와 계산량이 필요하다. • 특히 Distance-Vector 알고리즘과 같은 방식은 모든 라우터가 서로 정보를 반복적으로 교환하므로 대규모 네트워크에서 수렴(convergence)하지 못할 가능성이 높다.  2. 관리적 자율성(Administrative Au..

5.2 Routing Algorithms

라우팅 알고리즘의 목표는 **발신지에서 수신지까지 데이터를 전달하는 최적의 경로(즉, 루트)**를 결정하는 것이다.여기서 “최적의 경로”란 비용이 가장 적은 경로를 뜻한다. 책에서는 이를 다양한 조건에서 다룬다. 라우팅 문제를 그래프(Graph)로 추상화하기 라우팅 문제를 설명하기 위해 그래프를 사용한다. 그래프란 다음과 같이 정의된다: • 노드(Node): 네트워크에서 라우터를 나타낸다. • 엣지(Edge): 라우터 간의 실제 물리적 링크를 나타낸다.예를 들어, 책의 Figure 5.3에 나타난 그래프는 네트워크의 추상적 모델이다.그림에서는 노드들이 라우터를 나타내고, 라우터를 연결하는 선은 물리적 연결(링크)을 나타낸다. 엣지의 비용(Cost) 엣지는 비용 값을 가진다. 이 비용은 다음과 같은 것을 ..

CH5. The Network Layer: Control Plane (5.1 Introduction)

데이터 평면과 제어 평면의 역할  • 데이터 평면(Data Plane): 패킷이 네트워크를 통해 전달되는 동안 “포워딩” 작업을 수행하는 구간. • 제어 평면(Control Plane): 어떤 경로를 따라 패킷을 전달할지를 결정하는 작업. 주요 개념 요약: • 포워딩 테이블: 라우터 내부의 데이터 평면에서 사용되는 테이블로, 특정 목적지로 가는 패킷을 어디로 전달해야 할지 지정합니다. • 플로우 테이블: 소프트웨어 정의 네트워킹(SDN) 환경에서 패킷의 행동을 정의하는 일반화된 테이블입니다. 제어 방식  1. 라우터 단위 제어 (Per-router Control) • 라우팅 알고리즘이 각 라우터마다 독립적으로 실행됩니다. • 라우터는 서로 통신하여 최적 경로를 계산하고 포워딩 테이블을 작성합니다. • 예..

4.6 Summary

SECTION 4.1 R1: 네트워크 계층에서 사용되는 용어는 무엇인가?  • Transport 계층: 데이터를 전송할 때 segment(세그먼트)라는 단위로 처리합니다. • Link 계층: 데이터는 frame(프레임)이라는 단위로 처리됩니다. • Network 계층: 데이터를 packet(패킷) 또는 datagram(데이터그램)이라 부릅니다. Router와 Link-layer Switch의 차이점: • Router: 네트워크 계층(Layer 3) 장비로 IP 주소를 사용하여 데이터 전송 경로를 결정합니다. • Link-layer Switch: 데이터 링크 계층(Layer 2) 장비로 MAC 주소를 사용하여 데이터를 전송합니다. R2: 데이터 평면과 제어 평면의 주요 기능은 무엇인가?  • 데이터 평면(..

4.5 Middleboxes

1. Middleboxes란 무엇인가? Middlebox의 정의 (RFC 3234): • “소스 호스트와 목적지 호스트 간의 데이터 경로에서 IP 라우터의 표준 기능 외의 작업을 수행하는 중간 장치.” Middlebox의 주요 역할 Middlebox는 다음과 같은 세 가지 주요 서비스를 제공한다: 1. NAT (Network Address Translation): • IP 주소와 포트 번호를 변환하여 네트워크 주소를 보호하고, 주소 부족 문제를 해결. 2. 보안 서비스: • 방화벽(Firewall): 패킷 필터링, 특정 트래픽 차단. • IDS (Intrusion Detection System): 의심스러운 패킷 탐지 및 알림. 3. 성능 향상: • 캐싱: 콘텐츠를 네트워크 가장자리에서 저장하여 응답 시..

4.4 Generalized Forwarding and SDN

1. Generalized Forwarding: Match-Plus-Action 전통적 포워딩 방식의 한계  • 이전 섹션에서 논의한 Destination-Based Forwarding은 목적지 IP 주소를 기반으로 포워딩하는 단순한 방식이었다. • Generalized Forwarding은 더 많은 헤더 필드(예: MAC 주소, TCP/UDP 포트 번호 등)를 매칭하고, 다양한 Action(전송, 드롭, 리다이렉션 등)을 수행할 수 있다. Match-Plus-Action Paradigm  • Match: • 헤더 필드(예: 소스 MAC, 목적지 IP 등)와 일치하는 규칙을 찾는다. • Action: • 규칙이 매칭되면 수행할 작업을 지정한다. • 예: 특정 포트로 패킷 전달, 패킷을 삭제, 헤더 값 수..

4.3 The Internet Protocol(IP): IPv4, Addressing, IPv6, and More

이 섹션에서는 인터넷의 기본 네트워크 계층 프로토콜인 **IP(Internet Protocol)**에 대해 다룬다. IP는 인터넷에서 데이터그램을 전달하는 데 핵심적인 역할을 하며, 현재 널리 사용되는 두 가지 버전인 IPv4와 IPv6를 중심으로 설명이 진행된다. 4.3.1 IPv4 데이터그램 포맷 IPv4는 오늘날 인터넷에서 가장 널리 사용되는 IP 프로토콜의 버전이다. IPv4 데이터그램은 네트워크 계층에서 사용되는 기본 단위로, **헤더(Header)**와 **데이터(Data)**로 구성된다.여기서 헤더는 데이터그램의 처리를 위해 필요한 제어 정보를 포함하고 있다. IPv4 데이터그램 포맷(그림 4.17)그림 4.17은 IPv4 데이터그램의 포맷을 나타낸다. 각 필드의 크기와 역할은 다음과 같다:..

4.2 What's Inside a Router?

라우터는 네트워크 계층에서 데이터그램을 입력 링크에서 받아 적절한 출력 링크로 전달하는 역할을 한다.이 과정에서 라우터의 내부 구조는 크게 네 가지 구성 요소로 나뉜다. 그림 4.4: 라우터 아키텍처그림 4.4는 라우터의 주요 구성 요소를 보여준다. 라우터는 다음 네 가지 주요 컴포넌트로 구성된다. 1. 입력 포트(Input Port): • 데이터그램이 라우터로 들어오는 링크의 종단점 역할을 한다. • 기능: • 물리 계층의 신호를 처리하고, 데이터 링크 계층에서 프레임을 디캡슐화(decapsulation)하여 네트워크 계층 데이터그램을 추출한다. • 데이터그램의 헤더 정보를 사용해 포워딩 테이블을 조회하고, 해당 데이터그램이 나가야 할 출력 포트를 결정한다. 2. 스위칭 패브릭(Switching Fab..