Book/COMPUTER NETWORKING A TOP-DOWN-APPROACH

4.6 Summary

S0LL 2024. 12. 3. 18:20

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: 데이터 평면과 제어 평면의 주요 기능은 무엇인가?

 

데이터 평면(Data Plane):

실제 데이터 패킷을 라우터의 입력 포트에서 출력 포트로 전달.

핵심 역할: 포워딩.

제어 평면(Control Plane):

라우팅 테이블을 생성하고 네트워크 전체 경로를 관리.

핵심 역할: 라우팅.

 

R3: 포워딩과 라우팅의 차이점은?

 

포워딩(Forwarding):

패킷을 입력 포트에서 출력 포트로 이동.

라우터의 데이터 평면에서 수행.

라우팅(Routing):

패킷이 최종 목적지까지 도달하기 위한 경로를 계산.

라우터의 제어 평면에서 수행.

 

R4: 포워딩 테이블의 역할은?

 

라우터 내부의 포워딩 테이블은 패킷의 목적지 IP 주소를 기반으로 출력 포트를 결정합니다.

예: “만약 목적지가 192.168.1.0/24라면 출력 포트 2를 사용하라.”

 

R5: 인터넷의 서비스 모델은 무엇인가?

 

인터넷의 서비스 모델은 베스트 에포트(best-effort) 서비스입니다.

데이터 전달을 최대로 노력하지만, 패킷 손실이나 지연이 발생할 수 있습니다.

특별한 전달 보장(예: 패킷 순서 보장)은 없습니다.

 

SECTION 4.2

 

R6: 라우터의 구성 요소는 무엇인가?

 

1. 입력 포트(Input Port):

데이터 패킷 수신 및 초기 처리.

2. 스위칭 패브릭(Switching Fabric):

입력 포트에서 출력 포트로 데이터 패킷을 전송.

3. 출력 포트(Output Port):

데이터 패킷을 출력 링크로 보냄.

4. 라우팅 프로세서(Routing Processor):

라우팅 테이블 관리 및 네트워크 상태 업데이트.

 

R7: 고속 라우터에서 입력 포트가 포워딩 테이블의 복사본을 저장하는 이유는?

 

포워딩 결정을 빠르게 수행하기 위해 입력 포트가 로컬 포워딩 테이블의 복사본을 사용.

중앙 라우팅 프로세서를 거치지 않아 속도를 높임.

 

R8: 목적지 기반 포워딩과 일반화된 포워딩의 차이점은?

 

목적지 기반 포워딩:

패킷의 목적지 IP 주소만 사용.

간단하지만 유연성이 부족.

일반화된 포워딩(Generalized Forwarding):

IP 주소 외에도 TCP 포트, VLAN ID 등 여러 헤더 필드 기반.

유연성이 높아 다양한 네트워크 정책 구현 가능.

 

R10: 스위칭 패브릭의 종류와 차이점은?

 

1. Memory:

중앙 메모리를 사용해 입력 포트에서 출력 포트로 패킷을 이동.

느림.

2. Bus:

공유 버스를 통해 데이터 전송.

중간 속도.

3. Interconnection Network:

교차 네트워크를 사용하여 여러 입력 포트와 출력 포트를 병렬로 처리.

가장 빠름.

 

R13: HOL Blocking이란?

 

Head-of-Line Blocking (HOL Blocking):

입력 포트 큐의 첫 번째 패킷이 출력 포트를 차지하지 못해 뒤의 패킷들도 대기 상태에 머무는 현상.

 

R14: FIFO, 우선순위, 라운드 로빈(RR), WFQ 스케줄링이란?

 

1. FIFO:

순서대로 패킷을 처리.

2. 우선순위(Priority):

높은 우선순위의 패킷이 먼저 처리.

3. 라운드 로빈 (RR):

각 큐를 순환하며 패킷 처리.

4. WFQ (Weighted Fair Queueing):

각 큐에 가중치를 부여하여 처리 비율을 조정.

 

R15: 네트워크 운영자가 패킷에 우선순위를 지정해야 하는 이유는?

 

예를 들어, 실시간 음성 데이터는 지연이 적어야 하므로 높은 우선순위를 설정.

 

SECTION 4.3

 

R17: TCP 세그먼트를 받으면 네트워크 계층이 데이터그램을 어떻게 처리합니까?

 

데이터그램의 프로토콜 필드를 확인하여, 데이터가 TCP인지 UDP인지 결정 후 전달.

 

R18: IP 헤더 필드 중 데이터그램의 라우터 수 제한은?

 

Time-to-Live (TTL) 필드:

TTL 값이 0이 되면 데이터그램을 삭제하여 무한 루프 방지.

 

R19: 세그먼트와 데이터그램의 체크섬은 동일한 바이트에 대해 계산되나요?

 

답변:

아니요, 계산 대상이 다릅니다.

세그먼트 체크섬: TCP나 UDP 세그먼트의 전체 데이터를 포함하여 계산됩니다.

데이터그램 체크섬: IP 헤더의 특정 필드만 포함하여 계산됩니다.

따라서 두 체크섬은 다른 데이터 범위를 대상으로 수행됩니다.

 

R20: 큰 데이터그램이 작은 데이터그램으로 분할되면 어디에서 재조립되나요?

 

답변:

분할된 데이터그램은 최종 목적지의 호스트에서 재조립됩니다.

중간 라우터에서는 데이터그램 재조립이 이루어지지 않으며, 각각의 작은 데이터그램을 독립적으로 전달합니다.

 

R21: 라우터는 IP 주소를 가지고 있나요?

 

답변:

네, 라우터는 IP 주소를 가지고 있습니다.

라우터는 연결된 **각 인터페이스(포트)**마다 고유한 IP 주소를 할당받습니다.

예: 라우터에 4개의 인터페이스가 있다면, 라우터는 4개의 IP 주소를 가질 수 있습니다.

 

 

R22: 32비트 이진수로 표현된 IP 주소 223.1.3.27은?

 

223.1.3.27 = 11011111.00000001.00000011.00011011

 

R23: DHCP를 사용하여 호스트가 얻는 정보는 무엇인가?

 

답변:

IP 주소

서브넷 마스크

기본 게이트웨이의 IP 주소

로컬 DNS 서버의 IP 주소

 

R24: 출발지에서 목적지까지 데이터그램이 몇 개의 인터페이스를 거치나요?

 

답변:

데이터그램은 라우터와 호스트의 모든 인터페이스를 거칩니다.

예를 들어, 3개의 라우터가 있으면:

각 라우터에 2개의 인터페이스(입력/출력)가 있으며,

 8개의 인터페이스를 거칩니다 (출발지 1개 + 6개의 라우터 인터페이스 + 목적지 1개).

 

R25: TCP가 데이터그램에 캡슐화되면 오버헤드의 비율은 얼마인가요?

 

답변:

TCP 헤더: 20바이트

IP 헤더: 20바이트

총 헤더: 40바이트

애플리케이션 데이터 크기: 40바이트

데이터그램 전체 크기: 80바이트

오버헤드 비율:

(40바이트 헤더 / 80바이트 데이터그램) × 100 = 50%

 

 

R26: 무선 라우터와 5대의 PC가 연결된 경우, 각각 IP 주소가 할당되나요?

 

답변:

아니요, 무선 라우터는 NAT를 사용하여 내부 네트워크를 나타냅니다.

외부에는 무선 라우터의 단일 공용 IP 주소만 보입니다.

내부 네트워크의 각 PC는 사설 IP 주소를 할당받습니다.

 

R27: 경로 집계(Route Aggregation)란 무엇인가요?

 

답변:

여러 네트워크 주소를 하나의 더 큰 네트워크 주소로 통합하는 것입니다.

예: 192.168.1.0/24와 192.168.2.0/24를 192.168.0.0/16으로 통합.

라우팅 테이블 크기를 줄이고 네트워크 관리 효율성을 높입니다.

 

R28: Plug-and-Play 또는 Zeroconf 프로토콜이란?

 

답변:

네트워크에 연결된 장치가 수동 설정 없이 자동으로 네트워크 설정(IP 주소, DNS 등)을 구성하는 기술입니다.

예: DHCP는 이러한 프로토콜의 대표적인 예입니다.

 

R29: 사설 네트워크 주소란 무엇인가요?

 

답변:

사설 네트워크에서만 유효한 IP 주소 범위입니다.

예: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16.

공용 인터넷에서는 이러한 주소를 사용할 수 없습니다.

 

R30: IPv4와 IPv6 헤더 필드의 차이점은?

 

공통점:

버전, 소스 주소, 목적지 주소 등.

차이점:

IPv6는 옵션 필드 제거, 헤더 체크섬 제거, 고정 길이 헤더로 설계되어 간소화되었습니다.

 

R31: IPv6 터널링에서 IPv4를 어떻게 다루나요?

 

답변:

IPv6 데이터그램은 IPv4 패킷의 페이로드로 캡슐화됩니다.

IPv6는 IPv4 터널을 통과하면서 링크 계층 프로토콜처럼 동작합니다.

 

SECTION 4.4

 

R32: 일반화된 포워딩과 목적지 기반 포워딩의 차이점은?

 

목적지 기반 포워딩: 단순히 목적지 IP 주소만 보고 출력 포트를 결정.

일반화된 포워딩: IP 주소뿐 아니라 TCP/UDP 포트, MAC 주소 등 여러 필드 기반으로 처리.

 

R34: Match-Plus-Action의 개념은?

 

Match: 헤더 필드 값을 기반으로 패킷 식별.

Action: 매칭된 패킷에 대해 수행할 작업(포워딩, 드롭, 수정).

 

R35: OpenFlow에서 매칭 가능한 IP 데이터그램 헤더 필드와 매칭할 수 없는 필드는 무엇인가요?

 

매칭 가능한 필드:

 

OpenFlow 1.0에서 매칭 가능한 필드는 다음과 같습니다:

1. IP 소스 주소 (IP Src): 데이터그램의 발신 IP 주소.

2. IP 목적지 주소 (IP Dst): 데이터그램의 수신 IP 주소.

3. IP 프로토콜 번호 (IP Proto): 데이터그램이 전달할 상위 계층 프로토콜(TCP, UDP 등)을 식별.

 

매칭할 수 없는 필드:

 

OpenFlow 1.0에서 매칭할 수 없는 필드는 다음과 같습니다:

1. TTL (Time to Live):

데이터그램이 네트워크에서 얼마나 오래 존재할 수 있는지를 나타냄.

TTL은 데이터그램 전달 중 계속 변경되므로 매칭 대상이 아닙니다.

2. 데이터그램 길이 (Datagram Length):

데이터그램의 총 크기를 나타냄.

길이는 매칭 대상이 아닌 특성 필드입니다.

3. 헤더 체크섬 (Header Checksum):

IP 헤더의 무결성을 확인하는 필드.

이 필드는 매칭에 필요하지 않으며 OpenFlow에서 사용되지 않습니다.

 

설명:

 

OpenFlow는 매칭할 수 있는 필드를 제한하여 필요한 필드만 선택적으로 매칭하도록 설계되었습니다. 이는 매칭 과정을 단순화하고, 처리 속도를 최적화하며, 하드웨어 자원을 효율적으로 사용할 수 있게 합니다.