Learn/'24_Fall_(EE542) Internet&Cloud Computin

(Lecture 5) Internet Protocol Routing

QBBong 2025. 1. 8. 07:39
728x90

강의 요약: EE542 Lecture 5 - Internet Protocol Routing

 

이번 강의는 인터넷 프로토콜(IP) 라우팅의 기초 개념과 핵심 기술을 다루며, 특히 라우팅 테이블 관리, 주소 해석 프로토콜(ARP), 패킷 전달 메커니즘, 혼잡 제어 및 최신 프로토콜 기술인 QUIC에 대해 심도 있게 다룬다.


인터넷 프로토콜 라우팅 개요

  • 강의명: EE 542 Lecture 5: Internet Protocol Routing
  • 강사: Young Cho
  • 소속: Department of Electrical Engineering, University of Southern California
  • 주요 내용: 인터넷 프로토콜 라우팅의 기본 개념과 관련된 여러 주제를 다룸.

주소 분배 및 경로 집계

  1. 주소 분배:
    • IP 주소의 분배 방식에 대한 설명.
    • 경로 집계: 여러 IP 주소를 하나의 경로로 집계하여 라우팅 테이블을 단순화하는 방법.
  2. 경로 집계의 예:
    • 128.42.8/24: 이 주소는 더 구체적인 경로로, 이탈리아로의 트래픽을 라우팅.
    • 128.42/16: 이 주소는 더 일반적인 경로로, 휴스턴으로의 트래픽을 라우팅.
  3. 최장 접두사 일치:
    • 더 구체적인 항목이 더 일반적인 항목을 초과할 수 있도록 허용.
    • 예외: 더 긴 접두사와 일치하는 경로는 제외됨.
  4. 장점:
    • 경로 집계는 상당히 많은 경로 집계를 허용하며, 기업이 IP 주소 블록을 물리적으로 이동하거나 다른 ISP로 이동할 때 단순화됨.

최장 접두사 일치

  1. 최장 접두사 일치 (Longest Prefix Match):
    • 라우터가 다음 홉을 결정하는 데 사용되는 방법.
  2. 소프트웨어 방법:
    • Hashing: 주로 사용되지 않음.
    • Predictive: 예측 기반 방법.
    • Ternary CAM:
      • 접두사 외부의 비트에 대해 "상관 없음"을 사용.
      • 모든 일치하는 접두사가 히트를 발생시킴.
      • 가장 긴 접두사를 가진 항목을 선택.
  3. 간단한 개선:
    • CAM 항목을 접두사 길이에 따라 내림차순으로 정렬하여 가장 낮은 일치 항목을 사용.
  4. 확장성 문제:
    • 더 큰 테이블에 대해서는 스케일이 맞지 않음.

IP 라우터의 기능

  1. IP 라우터의 역할:
    • IP 라우터는 최장 접두사 일치를 사용하여 다음 홉을 결정함.
    • 목적지 IP 주소: 주어진 목적지 IP 주소에 대해 데이터그램이 전달될 라우터의 IP 주소를 결정.
  2. 다음 홉 IP 주소 필요성:
    • 데이터그램의 목적지 IP 주소는 변경되지 않음.
    • 실제로는 다음 홉의 이더넷 주소가 필요함.
  3. 주소 해상도 프로토콜 (ARP):
    • IP 주소를 이더넷 주소로 변환하는 방법.
  4. 복습:
    • 이더넷 주소: 하드웨어의 고유 식별자.
    • IP 주소: 기능을 수행하는 시스템의 고유 식별자.

주소 확인 프로토콜 (ARP)

  1. ARP의 기능:
    • 네트워크 계층을 사용하여 링크 계층을 찾음.
    • 특정 IP 주소에 대한 이더넷 주소를 찾는 방법.
  2. ARP 테이블:
    • 모든 IP 호스트/라우터는 ARP 테이블을 가짐.
    • IP 주소를 이더넷 주소에 매핑.
    • ARP 테이블은 불완전할 수 있으며, 정적 및 동적 항목을 포함할 수 있음.
  3. 정적 ARP 항목:
    • 예시: IP 주소 74.23.121.45는 이더넷 주소 00:E0:81:A4:23:EF를 가짐.
    • 시스템 관리자가 관리해야 함.
  4. 동적 ARP 항목:
    • 시스템이 필요에 따라 IP-이더넷 주소 매핑을 발견함.
    • 각 항목은 IP 주소, 이더넷 주소 및 타임아웃을 가짐 (일반적으로 약 20분).

패킷 전송 과정

  1. 호스트 설정:
    • IP 주소: 호스트의 고유 주소.
    • 서브넷: 동일한 LAN에 있는 IP 주소.
    • 게이트웨이: LAN 외부로 트래픽을 전송할 위치.
  2. LAN 내 목적지:
    • 목적지 IP에 대한 ARP 요청 생성.
    • LAN의 모든 사용자에게 브로드캐스트.
    • 목적지는 자신의 MAC 주소로 응답해야 함.
  3. LAN 외부 목적지:
    • 게이트웨이 IP에 대한 ARP 요청 생성.
    • LAN의 모든 사용자에게 브로드캐스트.
    • 게이트웨이는 자신의 MAC 주소로 응답해야 함.
  4. MAC 주소 학습:
    • 호스트는 IP-이더넷 주소 매핑을 학습함.
    • ARP 응답과 요청이 ARP 테이블에 저장됨.
    • ARP 항목은 시간이 지나면 만료됨.

라우터에서의 패킷 포워딩

  1. 패킷 포워딩 과정:
    • 목적지 IP 주소를 포워딩 테이블에서 조회.
    • 다음 홉 포트와 IP 주소를 결정.
    • 발견되지 않으면 패킷을 드롭함.
  2. 패킷 DA 조회:
    • 포워딩 테이블에서 패킷의 목적지 주소를 조회.
    • 알려진 경우 올바른 포트로 포워딩.
    • 발견되지 않으면 패킷을 드롭함 (특히: 기본 라우터가 없는 경우).
  3. TTL 감소 및 헤더 체크섬 업데이트:
    • 패킷의 TTL을 감소시키고 헤더 체크섬을 업데이트함.
  4. 패킷 전송:
    • 패킷을 아웃고잉 인터페이스로 포워딩.
    • 링크에 패킷을 전송함.

인터넷 제어 메시지 프로토콜 (ICMP)

  1. ICMP의 역할:
    • IP의 보조 프로토콜로, 오류 보고 및 간단한 쿼리를 처리함.
    • IP 데이터그램으로 캡슐화됨.
  2. ICMP 헤더 구성:
    • Type (1 byte): ICMP 메시지의 유형.
    • Code (1 byte): ICMP 메시지의 하위 유형.
    • Checksum (2 bytes): 전체 ICMP 메시지에 대해 계산된 체크섬.
  3. ICMP 메시지 길이:
    • 추가 데이터가 없으면 4바이트가 0으로 설정됨.
    • 각 ICMP 메시지는 최소 8바이트 길이임.
  4. ICMP 쿼리 및 오류 메시지:
    • 쿼리: 호스트가 라우터 또는 호스트에 보낸 요청.
    • 오류 메시지: 오류 조건을 보고하며, IP 헤더와 페이로드의 첫 8바이트를 포함함.

QUIC 프로토콜의 특징

  1. QUIC의 주요 기능:
    • 0-RTT 연결 핸드쉐이크: 초기 연결 시 지연을 줄임.
    • 0-RTT 암호화 핸드쉐이크: 빠른 암호화 설정.
    • IP 주소 변경 생존: 연결이 IP 주소 변경에도 지속됨.
    • 패킷 손실 복구 향상: 패킷 손실 시 더 나은 복구 기능 제공.
    • 항상 암호화됨: 보안성을 높임.
  2. HTTP/2의 QUIC 통합:
    • 다중화된 스트림: 여러 요청을 하나의 연결에서 처리.
    • HPACK 헤더 압축: 헤더 크기를 줄여 성능 향상.
    • 스트림 우선순위 지정: 중요한 요청을 우선 처리.
  3. QUIC의 장점:
    • 지연 시간 감소: 평균 5%의 지연 시간 감소.
    • 비디오 재생 중단 감소: YouTube에서 30% 감소.
    • 구글 웹 검색의 99번째 백분위수에서 1초 더 빠름.
  4. QUIC 지원:
    • Google QUIC: Chrome (Desktop/Mobiles)에서 지원.
    • IETF QUIC: Chrome Canary, Firefox Nightly, Safari 14에서 지원.

HTTP/2와 QUIC의 비교

  1. HTTP/1과 HTTP/2의 차이:
    • HTTP/1: 4-8개의 요청을 4-8개의 연결에서 처리.
    • HTTP/2: 하나의 연결에서 여러 요청을 동시에 처리.
  2. QUIC 연결 설정 과정:
    • HTTP 응답 헤더: Alternate-Protocol: 443:quic.
    • 클라이언트는 백그라운드에서 QUIC 연결을 설정함.
    • 서버가 QUIC을 지원하는 경우 클라이언트는 캐시할 수 있음.
Initial Connection
Reconnection
  1. TCP+TLS와 QUIC의 비교:
    • 초기 연결: TCP+TLS vs. QUIC.
    • 재연결 성공률: QUIC 연결 성공률은 92%이며, 7%는 실패하고 1%는 속도 제한됨.
  1. QUIC 성능:
    • 평균적으로 5%의 지연 시간 감소.
    • YouTube에서 비디오 재생 중단이 30% 감소.
    • 구글 웹 검색에서 99번째 백분위수에서 1초 더 빠름.
Protocol Usage on the Internet

QUIC의 도전과 해결책

  1. QUIC의 도전 과제:
    • UDP 차단: 서비스 제공자가 UDP를 차단할 수 있음.
    • 복잡성: 다중 스레드, 연결, 스트림과 관련된 복잡성.
    • CPU 사용량 증가: 높은 CPU 사용량이 발생할 수 있음.
  2. 가능한 해결책:
    • OS 우회 드라이버: 운영 체제의 우회를 통한 성능 향상.
    • 하드웨어 오프로드 엔진: 하드웨어를 통한 성능 개선.
  3. TCP 패킷 대체 가능성:
    • QUIC은 HTTP/3 이후에 TCP 패킷을 대체할 가능성이 있음.
    • 대체를 위해 필요한 조건에 대한 논의가 필요함.
  4. QUIC의 미래:
    • QUIC의 발전과 함께 인터넷 프로토콜의 변화가 예상됨.

요약

 

이 강의는 인터넷 라우팅의 근본적인 개념과 최신 기술을 탐구한다. QUIC의 혁신적인 접근 방식은 인터넷 프로토콜의 효율성과 확장성을 크게 개선했으며, 현대 인터넷 애플리케이션의 성능 최적화를 위한 새로운 가능성을 제시한다.

728x90
반응형