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
- 주요 내용: 인터넷 프로토콜 라우팅의 기본 개념과 관련된 여러 주제를 다룸.
주소 분배 및 경로 집계
- 주소 분배:
- IP 주소의 분배 방식에 대한 설명.
- 경로 집계: 여러 IP 주소를 하나의 경로로 집계하여 라우팅 테이블을 단순화하는 방법.
- 경로 집계의 예:
- 128.42.8/24: 이 주소는 더 구체적인 경로로, 이탈리아로의 트래픽을 라우팅.
- 128.42/16: 이 주소는 더 일반적인 경로로, 휴스턴으로의 트래픽을 라우팅.
- 최장 접두사 일치:
- 더 구체적인 항목이 더 일반적인 항목을 초과할 수 있도록 허용.
- 예외: 더 긴 접두사와 일치하는 경로는 제외됨.
- 장점:
- 경로 집계는 상당히 많은 경로 집계를 허용하며, 기업이 IP 주소 블록을 물리적으로 이동하거나 다른 ISP로 이동할 때 단순화됨.
최장 접두사 일치
- 최장 접두사 일치 (Longest Prefix Match):
- 라우터가 다음 홉을 결정하는 데 사용되는 방법.
- 소프트웨어 방법:
- Hashing: 주로 사용되지 않음.
- Predictive: 예측 기반 방법.
- Ternary CAM:
- 접두사 외부의 비트에 대해 "상관 없음"을 사용.
- 모든 일치하는 접두사가 히트를 발생시킴.
- 가장 긴 접두사를 가진 항목을 선택.
- 간단한 개선:
- CAM 항목을 접두사 길이에 따라 내림차순으로 정렬하여 가장 낮은 일치 항목을 사용.
- 확장성 문제:
- 더 큰 테이블에 대해서는 스케일이 맞지 않음.
IP 라우터의 기능
- IP 라우터의 역할:
- IP 라우터는 최장 접두사 일치를 사용하여 다음 홉을 결정함.
- 목적지 IP 주소: 주어진 목적지 IP 주소에 대해 데이터그램이 전달될 라우터의 IP 주소를 결정.
- 다음 홉 IP 주소 필요성:
- 데이터그램의 목적지 IP 주소는 변경되지 않음.
- 실제로는 다음 홉의 이더넷 주소가 필요함.
- 주소 해상도 프로토콜 (ARP):
- IP 주소를 이더넷 주소로 변환하는 방법.
- 복습:
- 이더넷 주소: 하드웨어의 고유 식별자.
- IP 주소: 기능을 수행하는 시스템의 고유 식별자.
주소 확인 프로토콜 (ARP)
- ARP의 기능:
- 네트워크 계층을 사용하여 링크 계층을 찾음.
- 특정 IP 주소에 대한 이더넷 주소를 찾는 방법.
- ARP 테이블:
- 모든 IP 호스트/라우터는 ARP 테이블을 가짐.
- IP 주소를 이더넷 주소에 매핑.
- ARP 테이블은 불완전할 수 있으며, 정적 및 동적 항목을 포함할 수 있음.
- 정적 ARP 항목:
- 예시: IP 주소 74.23.121.45는 이더넷 주소 00:E0:81:A4:23:EF를 가짐.
- 시스템 관리자가 관리해야 함.
- 동적 ARP 항목:
- 시스템이 필요에 따라 IP-이더넷 주소 매핑을 발견함.
- 각 항목은 IP 주소, 이더넷 주소 및 타임아웃을 가짐 (일반적으로 약 20분).
패킷 전송 과정
- 호스트 설정:
- IP 주소: 호스트의 고유 주소.
- 서브넷: 동일한 LAN에 있는 IP 주소.
- 게이트웨이: LAN 외부로 트래픽을 전송할 위치.
- LAN 내 목적지:
- 목적지 IP에 대한 ARP 요청 생성.
- LAN의 모든 사용자에게 브로드캐스트.
- 목적지는 자신의 MAC 주소로 응답해야 함.
- LAN 외부 목적지:
- 게이트웨이 IP에 대한 ARP 요청 생성.
- LAN의 모든 사용자에게 브로드캐스트.
- 게이트웨이는 자신의 MAC 주소로 응답해야 함.
- MAC 주소 학습:
- 호스트는 IP-이더넷 주소 매핑을 학습함.
- ARP 응답과 요청이 ARP 테이블에 저장됨.
- ARP 항목은 시간이 지나면 만료됨.
라우터에서의 패킷 포워딩
- 패킷 포워딩 과정:
- 목적지 IP 주소를 포워딩 테이블에서 조회.
- 다음 홉 포트와 IP 주소를 결정.
- 발견되지 않으면 패킷을 드롭함.
- 패킷 DA 조회:
- 포워딩 테이블에서 패킷의 목적지 주소를 조회.
- 알려진 경우 올바른 포트로 포워딩.
- 발견되지 않으면 패킷을 드롭함 (특히: 기본 라우터가 없는 경우).
- TTL 감소 및 헤더 체크섬 업데이트:
- 패킷의 TTL을 감소시키고 헤더 체크섬을 업데이트함.
- 패킷 전송:
- 패킷을 아웃고잉 인터페이스로 포워딩.
- 링크에 패킷을 전송함.
인터넷 제어 메시지 프로토콜 (ICMP)
- ICMP의 역할:
- IP의 보조 프로토콜로, 오류 보고 및 간단한 쿼리를 처리함.
- IP 데이터그램으로 캡슐화됨.
- ICMP 헤더 구성:
- Type (1 byte): ICMP 메시지의 유형.
- Code (1 byte): ICMP 메시지의 하위 유형.
- Checksum (2 bytes): 전체 ICMP 메시지에 대해 계산된 체크섬.
- ICMP 메시지 길이:
- 추가 데이터가 없으면 4바이트가 0으로 설정됨.
- 각 ICMP 메시지는 최소 8바이트 길이임.
- ICMP 쿼리 및 오류 메시지:
- 쿼리: 호스트가 라우터 또는 호스트에 보낸 요청.
- 오류 메시지: 오류 조건을 보고하며, IP 헤더와 페이로드의 첫 8바이트를 포함함.
QUIC 프로토콜의 특징
- QUIC의 주요 기능:
- 0-RTT 연결 핸드쉐이크: 초기 연결 시 지연을 줄임.
- 0-RTT 암호화 핸드쉐이크: 빠른 암호화 설정.
- IP 주소 변경 생존: 연결이 IP 주소 변경에도 지속됨.
- 패킷 손실 복구 향상: 패킷 손실 시 더 나은 복구 기능 제공.
- 항상 암호화됨: 보안성을 높임.
- HTTP/2의 QUIC 통합:
- 다중화된 스트림: 여러 요청을 하나의 연결에서 처리.
- HPACK 헤더 압축: 헤더 크기를 줄여 성능 향상.
- 스트림 우선순위 지정: 중요한 요청을 우선 처리.
- QUIC의 장점:
- 지연 시간 감소: 평균 5%의 지연 시간 감소.
- 비디오 재생 중단 감소: YouTube에서 30% 감소.
- 구글 웹 검색의 99번째 백분위수에서 1초 더 빠름.
- QUIC 지원:
- Google QUIC: Chrome (Desktop/Mobiles)에서 지원.
- IETF QUIC: Chrome Canary, Firefox Nightly, Safari 14에서 지원.
HTTP/2와 QUIC의 비교
- HTTP/1과 HTTP/2의 차이:
- HTTP/1: 4-8개의 요청을 4-8개의 연결에서 처리.
- HTTP/2: 하나의 연결에서 여러 요청을 동시에 처리.
- QUIC 연결 설정 과정:
- HTTP 응답 헤더: Alternate-Protocol: 443:quic.
- 클라이언트는 백그라운드에서 QUIC 연결을 설정함.
- 서버가 QUIC을 지원하는 경우 클라이언트는 캐시할 수 있음.
- TCP+TLS와 QUIC의 비교:
- 초기 연결: TCP+TLS vs. QUIC.
- 재연결 성공률: QUIC 연결 성공률은 92%이며, 7%는 실패하고 1%는 속도 제한됨.
- QUIC 성능:
- 평균적으로 5%의 지연 시간 감소.
- YouTube에서 비디오 재생 중단이 30% 감소.
- 구글 웹 검색에서 99번째 백분위수에서 1초 더 빠름.
QUIC의 도전과 해결책
- QUIC의 도전 과제:
- UDP 차단: 서비스 제공자가 UDP를 차단할 수 있음.
- 복잡성: 다중 스레드, 연결, 스트림과 관련된 복잡성.
- CPU 사용량 증가: 높은 CPU 사용량이 발생할 수 있음.
- 가능한 해결책:
- OS 우회 드라이버: 운영 체제의 우회를 통한 성능 향상.
- 하드웨어 오프로드 엔진: 하드웨어를 통한 성능 개선.
- TCP 패킷 대체 가능성:
- QUIC은 HTTP/3 이후에 TCP 패킷을 대체할 가능성이 있음.
- 대체를 위해 필요한 조건에 대한 논의가 필요함.
- QUIC의 미래:
- QUIC의 발전과 함께 인터넷 프로토콜의 변화가 예상됨.
요약
이 강의는 인터넷 라우팅의 근본적인 개념과 최신 기술을 탐구한다. QUIC의 혁신적인 접근 방식은 인터넷 프로토콜의 효율성과 확장성을 크게 개선했으며, 현대 인터넷 애플리케이션의 성능 최적화를 위한 새로운 가능성을 제시한다.
728x90
반응형
'Learn > '24_Fall_(EE542) Internet&Cloud Computin' 카테고리의 다른 글
(Lecture 7) Computer Networks for Cloud (0) | 2025.01.08 |
---|---|
(Lecture 6) Software Defined Network (SDN) (0) | 2025.01.08 |
(Lecture 3) Internet and Protocols (0) | 2025.01.08 |
(Lecture 2) Networking Concepts and Virtualization (0) | 2025.01.08 |
(Lecture 01) Introduction to Internet and Cloud Computing (0) | 2025.01.08 |