이전에 IP 얘기를 하면서 TTL에서 ICMP 얘기가 잠깐 나왔던 것 같다. IP는 데이터 전송이 목적이고 ICMP는 데이터 전송에 대한 메타 데이터를 담당 한다. 즉 전송이 아닌 메타 데이터만 담당하므로 ICMP와 IP는 깊은 연관이 있다. 그리고 IP 주소 고갈 문제를 해결하는 IPv6를 살펴보자.
ICMP
- Internet Contorl Message Protocol의 약자이다.
- IP 제어를 위해 사용되는 프로토콜이다.
- 오류 보고, echo reply/ request 를 담당한다.
- ICMP는 IP 데이터그램에 캡슐화된다.
- IP 패킷 페이로드 부분에 실린다.
- ICMP는 직접 전송을 담당하는 프로토콜이 아니기 때문이다.
- Type과 Code, 오류를 일으킨 IP 데이터그램의 첫번째 8바이트로 구성된다.
- Type과 Code
- 0 0 Echo Reply (pong)
- 3 3 목적지 포트 도착불가(Dest. port unreachable)
- 11 0 TTL Expired
- 8 0 Echo Request
- Echo (에코, 반향)란? 에코는 수신측이 활성상태인지 확인하는 메세지이다.
- TTL 과 포트 도착불가를 사용해서 어느 라우터들을 거쳐갔는지 알 수 있다.
- ICMP 메세지에는 어느 라우터가 보냈는지가 담겨있기 때문이다.
- Type과 Code
IPv6
- IPv4의 문제점
- IPv4는 32비트 주소를 사용하므로 부족하다.
- NAT를 사용한다면 출발지/도착지/포트번호를 바꾸게 되므로 End to End 통신을 침범하게 된다.
- 차세대 버전인 IPv6가 필요하다.
- IPv6의 특징
- 주소로 128비트를 사용한다.
- 주소 두개 32 바이트 + 다른 헤더 부분 8 바이트
- 라우팅 성능 향상과 QoS를 제공한다.
- Flow Label을 사용해서 VOD는 먼저, HTTP는 조금 나중에 보내도록 스케줄링 할 수도 있다.
- 자원을 낭비없이 사용 가능한 것이다.
- 단편화를 허용하지 않는 단순한 고정길이 헤더로 라우팅 성능을 향상시킨다.
- 주소로 128비트를 사용한다.
IP Datagram Format
- IPv6의 헤더를 살펴보자.
- Version : IP의 버젼이 들어간다
- Traffic Class : Priority라고도 한다. QoS를 위한 라벨이다.
- Flow Label : QoS를 위한 라벨이다.
- Payload Length : 페이로드(데이터)의 크기를 나타낸다.
- Next Header : 고정길이 헤더를 사용하므로 Optional 헤더가 필요하면 헤더를 여러개 보내는데 이 때 사용한다. 또한 마지막 헤더일 시에 상위 계층 레이어를 표시하기도 한다.
- Hop Limit : TTL과 같다.
- IPv6 데이터그램의 특징
- IPv4보다 단순한 헤더를 사용해서 처리속도가 빠르다.
- 고정길이 40바이트 헤더를 사용한다.
- No Fragmentation allowed.
- MTU가 작으면 ICMPv6를 이용해서 보고하고 드랍한다.
- Fragmentation은 호스트에서 처리한다.
IPv4와 IPv6 간 연동
- 터널링
- Tunneling
- IPv4라우터 사이로 IPv6 데이터그램이 지나가야 할 때 IPv6 데이터그램은 IPv4 페이로드에 실린다.
- 즉 양 끝단의 IPv6 라우터는 IPv4로 통신하는 Endsystem처럼 취급된다.
더보기
본 게시물은 kocw 이화여자대학교 이미정 교수님의 컴퓨터 네트워크 강의를 듣고 정리한 글임을 밝힙니다.
내용상 틀린 부분이 있을 수도 있으며 이에 대한 책임을 지지 않습니다.
틀린 부분이나 오타 지적은 댓글로 남겨주세요.
'컴퓨터 네트워크' 카테고리의 다른 글
네트워크 18강 - Routing In Internet (0) | 2020.08.16 |
---|---|
네트워크 17강 - 라우팅 알고리즘 (0) | 2020.08.16 |
네트워크 15강 - IP 주소 할당 (0) | 2020.08.11 |
네트워크 14강 - Inside Router, IP (0) | 2020.08.11 |
네트워크 13강 - Network Layer의 소개 (0) | 2020.08.10 |