-Traceroute 명령어는 IP TTL 헤더를 가진 IP 데이터그램을 전송, 해당 TTL은 전송될 때 마다 1씩 증가한다.
-N 번째 데이터그램이 N 번째 라우터에 도착하면
라우터는 데이터그램을 무시하고, source에게 TTL expired(type 11, code0) ICMP를 보낸다.
N번째에 딱 닿으면 다시 처음으로 돌아갔다가 이제 N + 1번째를 목표로 다시 전송
-ICMP 메시지가 다시 source에 도착하면 소스에선 RTT를 기록해, 지연 정도를 측정한다.
-멈추는 경우
Destination에 UPD segments가 도착하는 경우
ICMP msg에 type3, code3 port unreachable 이 돌아오거나.
소스 코드로 멈추거나
IPv6
-개요 : 32비트의 IPv4의 주소 부족 문제를 염려해, 개발한 protocol
추가 목표
Header format이 빠른 작업과 포워딩을 돕는다.
Quality of Service (QoS)의 사용을 위한 Header 변경
-포맷 :
IPv4의 헤더는 20byte, IPv6는 40byte를 갖는다.
Fragmentation이 허용되지 않는다.
-특징 :
주소기능의 확장(source address) : 32 -> 128 bit (16byte)
Next header을 통해 프로토콜(udp, tcp) 구분 (IPv4의 프로토콜 필드)
우선순위(pri) : 데이터그램 간의 우선순위를 결정
흐름 라벨링(flow label)
Checksum의 삭제, head, len, fragmentation 보조 필드(offset, flag, bit id 삭제)
ICMPv6 : Packet Too Big과 같은 추가 타입, 멀티캐스트 그룹 관리 함수 추가
Transition from IPv4 to IPv6
-터널링 : IPv6를 사용하는 라우터에서 IPv4를 사용하는 라우터를 통해 IPv6로 다시 전달해야 하는 경우, IPv6->IPv4로 갈 때 IPv6 정보를 IPv4 데이터그램에 캡슐화하여해 IPv4->IPv6 장치로 전송할 때 캡슐화 해제를 해, IPv6를 전달한다.
4.3과 4.4는 포워딩과 관련된 이야기라면, 4.5부터는 라우팅에 관련된 이야기다.
4.5 Routing-Algorithms
Routing algorithm classification(라우팅 알고리즘 분류)
-Global : 모든 라우터(노드)가 연결되어 상태와 비용을 공유하는 상태다. Ex) link-state