전체 글 130

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)**이라고 한다. • 또한, 여러 라우터가 데이..

CH5. Self-Study

1. 연관성과 Three Cs 모델 직접 매핑 캐시(Direct-Mapped Cache): 히트와 미스 • 다음 접근 주소들: 18, 20, 22, 24, 26. • 히트/미스 분석: • 18 (이진수: 10010): 히트 — 캐시 인덱스 2에 존재. • 20 (이진수: 10100): 미스 — 캐시 인덱스 4에 저장됨. • 22 (이진수: 10110): 히트 — 캐시 인덱스 6에 존재. • 24 (이진수: 11000): 미스 — 캐시 인덱스 0에 저장됨. • 26 (이진수: 11010): 미스 — 블록 18과 충돌 미스 발생, 인덱스 2에서 교체됨. 결과: • 히트: 18, 22. • 미스: 20, 24, 26.  연관도가 미스에 미치는 영향  • 2-way 세트 연관 캐시를 사용한다면, 블록 26에서 ..

5.11 Parallelism and Memory Hierarchy:Redundant Arrays of Inexpensive Disks

1. RAID란 무엇인가? RAID (Redundant Array of Inexpensive Disks)는 여러 개의 작은 디스크를 병렬로 사용하여 성능과 신뢰성을 모두 향상시키는 기술이다. • 초기 목적: • 디스크 I/O 성능 개선. • 대형 디스크를 대체할 수 있는 저렴한 디스크 활용. • 현대적 초점: • 주된 목표는 데이터 신뢰성과 내구성.  2. RAID의 주요 목표 (1) 성능 개선  • 데이터를 여러 디스크에 나누어 저장(Striping)하여 읽기/쓰기 속도를 증가. • 병렬 데이터 액세스를 통해 대역폭 확장. (2) 신뢰성 개선  • 디스크 고장에도 데이터를 잃지 않기 위해 중복성(Redundancy) 도입. • 중복 데이터를 이용하여 복구 가능성 제공.  3. RAID의 기본 레벨 RA..

5.10 Parallelism an Memory Hierarchy:Cache Coherence

1. Cache Coherence란 무엇인가? 캐시 일관성(Cache Coherence) 문제는 다중 프로세서 시스템에서 발생한다. • 문제:여러 프로세서가 공유 메모리를 캐싱할 때, 동일한 메모리 위치에 대해 다른 값을 관찰할 수 있다. • 예: CPU A와 CPU B가 각각 자신의 캐시에서 동일한 메모리 위치를 읽고, 한 프로세서가 값을 변경했지만 다른 프로세서가 이를 반영하지 못하는 상황. • Cache Coherence 정의: • “메모리 시스템은 최근에 기록된 값만 반환해야 한다.” • 하지만 Coherence는 “어떤 값을 반환할 수 있는가?“라는 질문에 답하고, Consistency는 “언제 값을 반환하는가?“를 다룬다.  2. Coherence의 세 가지 속성 캐시 일관성을 유지하려면 다음..