주소 매핑이란?
이더넷에서 IP 패킷을 보낼 때 LAN을 통과할 때, IP 주소뿐만이 아니라 보낼 상대방의 MAC 주소가 필요하다. IP주소는 dns (www.google.com 같은 URL) 를 이용해 알 수 있지만 MAC 주소는 알지 못한다. 이때 IP주소에 대응하는 MAC 주소를 알아내는 것을 주소 매핑이라 한다.
정적 매핑 (Static mapping)
사용자가 직접 MAC 주소를 집어 넣는 것. IP 주소와 MAC 주소를 연결시키는 테이블을 생성.
동적 매핑 (Dynamic mapping)
IP주소와 MAC 주소의 관계를 프로토콜을 이용하여 구하는 방식
ARP (Address Resolution Protocol)
IP주소에 대응하는 MAC 주소를 구하는 프로토콜
동작 방식
해당 LAN에 IP주소를 request로 브로드캐스팅을 해서 해당 IP 주소를 가지고 있는 장치가 유니캐스트로 응답해 자신의 MAC 주소를 보내는 방식. MAC 주소를 받으면 IP주소에 MAC 주소를 매핑시킴.
RARP (Reverse Address Resolution Protocol)
MAC 주소에 대응하는 IP 주소를 구하는 프로토콜. 현재 DHCP가 사용하고 있다.
ICMP (The Internet Control Message Protocol)
IP 프로토콜의 단점을 보완하기 위해서 제공된다. IP 패킷의 헤더에는 에러를 확인하기 위한 checksum이 존재해서, checksum을 통해 에러를 확인하고, 에러가 발생할 시 해당 패킷을 폐기함. 또는 TTL이 0이 되어서 패킷이 폐기될 때도 있음. IP 프로토콜을 이런 에러가 발생할 시 알려주지 않아서 이에 대한 보완이 필요해서 ICMP가 제공됨. 주 기능은 에러 제어
기능
- 에러 보고 메시지 (Error reporting messages)
- 질의 응답 메시지 (Query messages)
ICMP는 에러를 수정하지 않고 단순히 보고만 수행.
에러 보고
에러 보고에는 총 5가지 종류가 존재
- Destination unreachable: 목적지 도달 불가. IP 패킷을 전달할 수 없을 때 해당 패킷은 폐기하고 해당 메시지를 송신자에게 전달함.
- Source quench: 송신지 조절. 라우터나 통신장치가 혼잡해서 패킷을 처리하지 못하고 폐기할 시 해당 메시지를 송신자에게 전달함.
- Time exceeded: TTL이 0이 되어 폐기 되거나 단편화가 발생해서 패킷을 폐기했을 때 해당 메시지를 송신자에게 전달함.
- Parameter problems: 패킷의 헤더 정보중에 처리할 수 없는 부분이 존재할 시 해당 메시지를 송신자에게 전달함.
- Redirection: 잘못된 라우터로 패킷을 전달 했을 경우 패킷을 보낼 경로를 재설정하라는 메시지를 송신자에게 전달
질의응답 (Query)
네트워크의 문제를 진단하기 위한 행위.
- Echo request and reply (에코 요청 및 응답): 호스트 간에 연결에 문제가 있는지 request를 보내고 reply를 받아 확인. 대표적인 게 ping 명령어
- Time-stamp request and reply (타임 스탬프 요청 및 응답) : 네트워크 디바이스들 간의 시간정보를 요청해서 시간 동기화나 시간 지연을 측정
- Address mask request and reply (주소 마스크 요청 및 응답) : 자신의 서브넷 마스크 정보를 요청 및 응답을 받는 데 사용
- Router solicitation and advertisement (라우터 요청 및 광고) : IPv6에서 사용하는 메시지 유형. 호스트가 네트워크에서 라우터를 찾거나 자신의 존재와 네트워크 구성정보를 호스트들에게 알리는 데 사용.