컴퓨터 23

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..

4.1 An Overview of Network Layer

네트워크 계층은 인터넷 통신에서 중요한 역할을 한다.책에서는 이를 간단히 **H1(보내는 호스트)**와 H2(받는 호스트) 사이에 라우터가 여러 개 존재하는 네트워크의 관점에서 설명하고 있다. H1이 H2로 데이터를 보낼 때 네트워크 계층은 아래와 같은 역할을 한다.  1. H1의 역할: • **세그먼트(Segment)**를 상위 계층(전송 계층)에서 받아온다. • 이 세그먼트를 **데이터그램(Datagram)**이라는 형태로 캡슐화한다. • 캡슐화된 데이터그램을 가장 가까운 라우터(예: R1)로 보낸다.  2. 라우터(R1, R2, …): • 라우터는 각 포트의 입력 링크로 들어온 데이터그램을 출력 링크로 전달한다.이 과정을 **포워딩(Forwarding)**이라고 한다. • 또한, 여러 라우터가 데이..

5.7 Virtual Memory

1. Virtual Memory의 개념 **Virtual Memory (가상 메모리)**는 **주 메모리(Main Memory)**가 **보조 저장장치(Secondary Storage)**를 위한 캐시 역할을 하도록 설계된 기술이다. • 가상 메모리를 통해 프로그램은 물리 메모리 크기에 구애받지 않고 실행 가능하다. • 메모리 관리를 단순화하며, 여러 프로그램이 동시에 메모리를 공유할 수 있도록 한다.  2. Virtual Memory의 주요 동기  1. 메모리 공유: • 여러 프로그램이 동일한 물리 메모리를 안전하고 효율적으로 공유. • 프로그램이 메모리를 읽고 쓰더라도, 다른 프로그램의 데이터에 영향을 미치지 않도록 보호.  2. 메모리 용량 확장: • 프로그램 크기가 주 메모리 크기를 초과하더라도 ..

5.5 Dependable Memory Hierachy

1. 메모리 계층의 신뢰성 (Dependability) 신뢰성이 높은 메모리 계층 구조는 데이터 유실 없이 지속적으로 작동해야 한다. • 빠르고 신뢰할 수 있는 메모리 계층을 설계하려면 **중복성(Redundancy)**을 활용하는 것이 핵심이다.  2. Defining Failure (실패 정의) 시스템은 두 가지 상태를 가진다: 1. Service Accomplishment:서비스가 정상적으로 제공됨. 2. Service Interruption:서비스가 사양(specification)과 다르게 작동하거나 중단됨. Failure and Restoration (실패와 복구):  • Failure: 시스템이 정상에서 비정상으로 전환되는 상태. • 영구적(permanent): 쉽게 진단 가능. • 간헐적(i..

5.4 Measuring and Improving Cache Performance

1. Cache 성능 측정과 향상 기술 캐시 성능을 측정하고 분석하는 방법에는 여러 가지가 있다. 이 섹션에서는 두 가지 주요 기술을 설명한다.1. Miss Rate 감소:캐시 미스율을 줄여 두 개의 서로 다른 메모리 블록이 동일한 캐시 위치를 차지하지 않도록 하는 기술이다.2. Miss Penalty 감소:다단계 캐싱(multilevel caching)을 사용해 미스 패널티를 줄이는 기술이다.이 기술은 1990년대 고가(10만 달러 이상) 컴퓨터에서 처음 도입되었으며, 현재는 모바일 기기에서도 사용된다.  2. CPU Time의 구성 CPU 시간이란 프로그램 실행에 필요한 CPU 실행 시간과 메모리 대기 시간의 합이다. 이를 계산하는 공식은 다음과 같다:CPU time = (CPU execution c..