반응형
Network Debugging을 위해서 존재하는 Packet
특징
- IP에서 오류 및 제어 메시지를 보내는 데 사용됩니다.
- IP를 사용하여 메시지를 보냅니다.
- ICMP 메시지에 대한 오류를 보고하지 않습니다.
- Datagram Checksum 오류에 대해 ICMP 메시지가 필요하지 않습니다. (일부 구현은 여전히 필요)
구조
Ethernet Type : 0x0800 (IP)
Protocol ID : 0x01 (ICMP)
Checksum : ICMP Packet에 대한 Checksum
Type
ICMP Packet
PING (Packet InterNet Grouper)
- 목적지까지 왕복하는 시간(RTT)을 알려줍니다.
- 대표적인 Network 진단 Application
Type | Code | Checksum | Identifier | Seq. No | Optional Data |
1 Byte | 1 Byte | 2 Bytes | 2 Bytes | 2 Bytes | n Bytes |
- Type
- Echo Request = 8, Echo Reply = 0
- Code
- 0
- Identifier
- 일반적으로 PING 메시지를 전송하는 Process ID
- Seq. No (Sequence Number)
- 송신 Request와 수신 Reply를 확인하기 위해서 사용
- 송신할 때마다 '1'씩 증가 (Unix System에서는 처음값이 '0'에서 시작)
PING : Case Study
Case 1 : Host is Alive![]() |
Case 2 : Time Out![]() |
Case 3 : Destination Unreachable(1) |
Case 4 : Destination Unreachable(2) |
Q. Host는 Packet을 NIC 외부로 전송하지 않는다. 왜일까?
- Case 3 : 두 호스트는 다른 서브넷에 있으므로, 스위치만으로는 통신할 수 없습니다. 기본 게이트웨이가 설정되지 않으면, 호스트는 패킷을 보낼 수 없고, 이로 인해 "Destination Unreachable" 상황이 됩니다.
- Case 4 : 가는 경로를 모르거나(Netowrk), Host B(Host)가 없으면 "(*) Unreachable" 상황이 됩니다.
PING : Command
TRACERT (Trace Route)
최종 목적지까지의 Routing Information을 확인하는 기능
TTL = 1 | TTL Exceeded |
![]() |
![]() |
TTL = 15 | Echo Reply |
![]() |
![]() |
반응형