본 자료 정리는 '쉽게 배우는 데이터 통신과 컴퓨터 네트워크(개정판)' 원서에 출처합니다. Copyright © 한빛 아카데미.
IPv6의 주요 변경 사항
주소 공간 확장: 공간이 32비트에서 128비트로 확장(이론상 2의 128승개의 호스트)
헤더 구조 단순화: 오류제어 등의 오버헤드를 줄여 프로토콜의 전송 효율 향상
흐름 제어 기능 지원: 일정 범위 내에서 예측 가능한 데이터 흐름을 지원
(스트리밍 서비스) -> 실시간 멀티미디어 응용 환경을 수용
IPv6 헤더 구조
9개의 기본 필드를 지원, 총 40바이트 중에서 32바이트는 주소 공간으로 할당, 8바이트만 프로토콜 가능
확장 헤더의 종류: 기본 헤더 바로 뒤에 하나 이상 확장 가능
Hop-by-Hop Options Header: hop-by-hop 옵션 처리를 지원
Routing Header
Fragment Header: 패킷 분할과 관련된 정보를 포함
Destination Options Header: 수신 호스트가 확인할 수 있는 옵션 정보
Authentication Header: 패킷 인증 관련 기능
Encapsulating Security Payload Header: 프라이버시 기능
DS (Differentiated Services)/ ECN (Explicit Congestion Notification) 필드
Flow Label 필드
기타 필드
Version Number(버전 번호): IP 프로토콜의 버전 번호
Payload Length(페이로드 길이): 헤더를 제외한 패킷의 크기
Next Header: 기본 헤더 다음에 이어지는 헤더의 유형을 수신 호스트에 알려줌
Hop Limit(홉 제한): IPv4의 Time To Live 필드와 동일한 역할 수행
Source Address/Destination Address(송신 호스트 주소/수신 호스트 주소): 송수신 호스트의 IP 주소를 나타냄
IPv6 주소
128비트, 16비트의 숫자 8개를 콜론(:)으로 구분
X는 16비트이므로 총 96(16x6)비트, d는 8비트이므로 총 32(8x4)비트
즉, 전체 크기는 IPv6의 주소 크기와 동일한 128(96+32)비트
- IPv6의 주소 공간
PSTN -> ISDN -> Broadband 멀티미디어 서비스
터널링 원리
상이한 전송 수단: 이동 IP
(PSTN: Public Switched Telephone Network)
(ISDN: Integrated Services Digital Network)
IP 터널링
무선 호스트가 움직일 때 이동(Mobile) IP 프로토콜의 기본 동작 원리
이동 호스트가 움직이면 새로운 위치를 관장하는 포린 에이전트 (Foreign Agent) FAnew로 부터 새로운 COA(Care of Address)를 얻음
이 주소는 이동 호스트의 홈 에이전트(Home agent) HA에 등록되어 FAnew와 HA사이에 터널을 생성
HA로 라우팅된 패킷을 이동 호스트에 전달하려면 새로 생성된 터널을 통해 Fnew로 전달
이동 호스트에는 고유 IP 주소인 홈 주소Home Address HA가 할당, 호스트 위치가 바뀌어도 변하지 않음. 홈 주소는 홈 에이전트와 밀접한 관련
COA는 이동 호스트가 새로 이동한 지역에서 일시적으로 할당된 IP 주소
호스트가 이동할 때마다 FA로부터 새로운 COA가 할당되고 기존 COA는 회수되
는 과정이 반복됨
송신 호스트에서 이동 호스트까지 패킷 전달 과정: 송신 호스트 → HA → FA → 이동 호스트
이동 호스트를 목적지로 하는 패킷은 HA에게 전달됨
HA는 FA와의 터널을 이용해 FA에게 패킷을 전달함
FA는 이동 호스트에게 패킷 전달함
홈 에이전트와 이동 에이전트 사이에 설정되는 터널Tunnel은 원 IP 패킷을 목적지까지 전송하기 위한 중간 단계의 새로운 경로임
터널구간 라우팅 처리
원 IP 패킷을 데이터로 취급하는 새로운 형태의 IP 캡슐 패킷 이 구성되어 전달. 원 패킷의 Destination Address 필드에는 이동 호스트의 홈 주소가 들어감
홈 에이전트에서는 원 패킷을 이동 호스트에 전달하려고 그림처럼 캡슐 패킷으로 변경
추가된 헤더의 Destination Address에는 COA가 들어감
IP 프로토콜: 사용자 데이터; ICMP: 제어 메시지; ARP/RARP
ARP (Address Resolution Protocol) 프로토콜
MAC 주소
송신 호스트의 IP 주소 : 송신 호스트의 하드디스크에서 얻을 수 있음
수신 호스트의 IP 주소 : 사용자가 제공(DNS: 도메인이름→IP주소 변환하여)
송신 호스트의 MAC 주소 : 송신 호스트의 LAN 카드에서 얻을 수 있음
수신 호스트의 MAC 주소 : 수신호스트의 IP 주소를 매개변수로 하여 ARP 프로토콜로 얻음
ARP 프로토콜
특정 호스트의 IP 주소로 부터 MAC 주소를 제공하는 프로토콜
ARP request라는 특수 패킷을 브로드캐스팅
IP 주소에 해당하는 호스트만 ARP reply로 MAC 주소를 회신
효율 향상을 위해 캐시 기능을 제공, 과정중 수신한 IP주소와 MAC 주소 매핑값은 재활용
ARP의 필요성
RARP (Reverse Address Resolution Protocol) 프로토콜의 필요성
하드 디스크가 없는 시스템은 자신의 IP 주소를 알 수 없음
특정 호스트의 LAN카드에 내장된 MAC 주소로 부터 IP 주소를 제공하는 프로토
콜
ICMP (Internet Control Message Protocol) 프로토콜
인터넷 환경에서 오류에 관한 처리를 지원
ICMP 메시지
오류 원인을 제공한 IP 패킷의 헤더와 이어지는 8바이트의 정보가 오류 보고 메시지에 포함됨
Type(유형) : 1바이트 크기로 메시지의 종류를 구분
Code(코드) : 메시지 내용에 대한 자세한 정보를 제공하는 매개변수 값
Checksum(체크섬) : ICMP 전체 메시지에 대한 체크섬 기능을 지원
질의 메시지
ICMP 메시지 전송
ICMP는 기능적으로 IP 프로토콜과 같은 네트워크 계층의 역할을 수행
ICMP 메시지는 IP 프로토콜에 캡슐화되어 전송
IGMP 프로토콜
멀티캐스팅: 특정 그룹의 모든 호스트에 메세지를 전송하는 방식
멀티캐스트 라우팅: 멀티캐스팅에 필요한 라우팅 알고리즘
그룹 관리
그룹 관리의 주요 기능: 그룹의 생성, 제거, 전송 호스트의 그룹 참가, 탈퇴 등
멀티캐스팅 기능
다중 호스트를 표시하는 멀티캐스트 그룹 주소 표기 방법의 통일
라우터가 멀티캐스트 주소와 이 그룹에 속하는 호스트 사이의 연관성 처리(추가, 삭제 기능)
멀티캐스트 라우팅 알고리즘은 그룹의 모든 맴버에게 가장 짧은 경로를 선택하는 기능 제공
IGMP(Internet Management Protocol)
멀티캐스트 그룹에 가입하거나 탈퇴할 때 사용하는 프로토콜
멀티캐스트 그룹에 가입한 호스트와 라우터 사이에 멤버 정보를 교환하는 용도
질의 메시지: 멀티캐스트 라우터가 그룹 정보를 얻기 위하여 호스트에 전달
보고 메시지: 질의의 응답으로 호스트가 보고 메시지를 회신
IGMP 헤더의 구조
Type(유형):
0x11 - 멀티캐스트 라우터가 전송한 질의 메시지
0x16 - 호스트가 전송하는 보고 메시지
0x17 - 그룹 탈퇴에 관한 메시지
Max Response Time(최대 응답 시간): 질의에 대한 보고 메시지가 전송되는 최대응답시간
Checksum(체크섬): IP 프로토콜에서 사용하는 알고리즘과 동일한 방식(오류 검출용으로 이용)
Group Address(그룹 주소): 질의 메시지는 0, 보고 메시지에는 호스트가 가입을 원하는 그룹 주소를 표기
IGMP 동작 과정
그룹 가입: 해당 멀티캐스트 주소를 표기한 IGMP 보고 메시지를 전송
그룹 유지: IGMP 보고 메시지를 사용해 IGMP 질의에 응답해야함
그룹 탈퇴: 라우터의 질의 메시지에 대해 호스트의 보고 메시지 응답이 없음
-> 탈퇴한 것으로 간주