일반 ping의 의미와 동작원리
페이지 정보
본문
1. Ping의 개요
Ping은 특정 호스트나 IP Address를 가진 장비가 요청을 받아 들일 수 있는지를 확인하는 프로그램입니다.
즉, 대상 장비가 네트워크상에 연결되어 접속이 되는가를 확인하는 것입니다.
Ping 프로그램에는 TCP/IP 프로토콜 중 ICMP(Internet Control Message Protocol)을 사용합니다.
Ping은 접속하려는 장비가 실제로 운영되고 있는지를 확인하는 진단목적으로 사용되기 때문에, 만약 한 사용자가 어떤 호스트에 ping에 응답이 없다면 (ping에 관한 응답이 정상이 아니라면),
그 사용자는 그 호스트와 TCP/IP 응용프로그램들(Telnet, FTP 등)을 사용할 수 없습니다. Ping은 원격 호스트의 도달성 여부 이외에 Packet 분실 여부 및 응답시간에 대한 정보를 제공합니다.
2. Ping의 구조와 동작원리
Ping에서 사용하는 ICMP 프로토콜의 Message로서는 Echo Request와 Echo Reply가 있습니다.
Echo Request message를 호스트에 보내고, 해당 호스트는 ICMP echo Reply로 응답하는 원리를 가지고 있습니다.
TCP/IP 응용 프로토콜의 대부분과 마찬가지이지만, 이 Ping의 중요 정보는 위의 첫 64Bit에 코딩 되도록 설계되어 있습니다.
3.Ping의 실행
일반적으로 Ping의 프로그램은 1초에 한번씩 Request를 수행하며, 해당 호스트로부터 Echo Reply가 전달되면, 해당 Reply Message형태로 표현되거나 “Host is alive”를 나타냅니다.
해당 호스트로부터 특정시간 동안 응답이 없으면 Timeout이나 “No Answer”를 의미합니다.
Ping Echo Reply Message의 형태는 지원하는 OS나 프로그램에 따라 다른 표현양식을 가지고 있지만, 일반적으로 나타내는 표현 형태를 살펴보면 다음과 같습니다.
- Sequence Number
- TTL (Time-to-Live)
- RTT(Round-Trip Time)
- Packet Loss %
- RTT의 최대값/평균값/최소값
32 Byte Packet을 해당 호스트에 Echo Request한 뒤, 돌아오는 Echo Reply의 Time이 각각 나타내는데, 단위시간은 ms(mili-seconds)로서 1/1000초의 시간입니다.
해당 프로그램이 수행된 뒤 Ping시 보내어진 Reply의 통계치인 Packet Loss율과 RTT의 최소,평균,최대 값을 보여줍니다.
TTL(Time-to-Live)는 IP 패킷 내에 있는 값으로서 그 Packet이 네트워크 내에 계속 존재하지 않도록 일정 기간에 버려져야 하는 지의 여부를 라우터에게 알려주는 것이죠...
각 라우터는 TTL 필드로부터 하나의 Hop(보통 라우터나 Firewall 등의 Gateway)을 걸칠 때마다 이에 대한 값이 줄어듭니다.
이 값이 0가 되면 이 Packet은 자동 폐기됩니다. 이것은 TCP/IP환경 하에서 해당 Packet이 영원히 떠돌아 다니는 것을 방지하는 것이죠.
일반적으로 windows95나 98의 TTL 기본값은 32로 설정되어 있으며, TTL값은 보통 2 * 중간 경로의 라우터 개수의 최고치로 계산됩니다.
맨 처음의 RTT값이 132ms으로 다른 RTT값들보다 높은 것을 알 수 있습니다.
보통 최초 Echo Reply의 RTT 값이 다른 Reply의 RTT 값보다 큰 것을 알 수 있는데, 이는 ping을 수행한 source 장비의 ARP Cache안에 Destination의 IP에 대한 Hardware Address (MAC Address)가 없는 경우이기 때문입니다.
자료출처
http://ask.nate.com/qna/view.html?n=3096984
Ping은 특정 호스트나 IP Address를 가진 장비가 요청을 받아 들일 수 있는지를 확인하는 프로그램입니다.
즉, 대상 장비가 네트워크상에 연결되어 접속이 되는가를 확인하는 것입니다.
Ping 프로그램에는 TCP/IP 프로토콜 중 ICMP(Internet Control Message Protocol)을 사용합니다.
Ping은 접속하려는 장비가 실제로 운영되고 있는지를 확인하는 진단목적으로 사용되기 때문에, 만약 한 사용자가 어떤 호스트에 ping에 응답이 없다면 (ping에 관한 응답이 정상이 아니라면),
그 사용자는 그 호스트와 TCP/IP 응용프로그램들(Telnet, FTP 등)을 사용할 수 없습니다. Ping은 원격 호스트의 도달성 여부 이외에 Packet 분실 여부 및 응답시간에 대한 정보를 제공합니다.
2. Ping의 구조와 동작원리
Ping에서 사용하는 ICMP 프로토콜의 Message로서는 Echo Request와 Echo Reply가 있습니다.
Echo Request message를 호스트에 보내고, 해당 호스트는 ICMP echo Reply로 응답하는 원리를 가지고 있습니다.
TCP/IP 응용 프로토콜의 대부분과 마찬가지이지만, 이 Ping의 중요 정보는 위의 첫 64Bit에 코딩 되도록 설계되어 있습니다.
3.Ping의 실행
일반적으로 Ping의 프로그램은 1초에 한번씩 Request를 수행하며, 해당 호스트로부터 Echo Reply가 전달되면, 해당 Reply Message형태로 표현되거나 “Host is alive”를 나타냅니다.
해당 호스트로부터 특정시간 동안 응답이 없으면 Timeout이나 “No Answer”를 의미합니다.
Ping Echo Reply Message의 형태는 지원하는 OS나 프로그램에 따라 다른 표현양식을 가지고 있지만, 일반적으로 나타내는 표현 형태를 살펴보면 다음과 같습니다.
- Sequence Number
- TTL (Time-to-Live)
- RTT(Round-Trip Time)
- Packet Loss %
- RTT의 최대값/평균값/최소값
32 Byte Packet을 해당 호스트에 Echo Request한 뒤, 돌아오는 Echo Reply의 Time이 각각 나타내는데, 단위시간은 ms(mili-seconds)로서 1/1000초의 시간입니다.
해당 프로그램이 수행된 뒤 Ping시 보내어진 Reply의 통계치인 Packet Loss율과 RTT의 최소,평균,최대 값을 보여줍니다.
TTL(Time-to-Live)는 IP 패킷 내에 있는 값으로서 그 Packet이 네트워크 내에 계속 존재하지 않도록 일정 기간에 버려져야 하는 지의 여부를 라우터에게 알려주는 것이죠...
각 라우터는 TTL 필드로부터 하나의 Hop(보통 라우터나 Firewall 등의 Gateway)을 걸칠 때마다 이에 대한 값이 줄어듭니다.
이 값이 0가 되면 이 Packet은 자동 폐기됩니다. 이것은 TCP/IP환경 하에서 해당 Packet이 영원히 떠돌아 다니는 것을 방지하는 것이죠.
일반적으로 windows95나 98의 TTL 기본값은 32로 설정되어 있으며, TTL값은 보통 2 * 중간 경로의 라우터 개수의 최고치로 계산됩니다.
맨 처음의 RTT값이 132ms으로 다른 RTT값들보다 높은 것을 알 수 있습니다.
보통 최초 Echo Reply의 RTT 값이 다른 Reply의 RTT 값보다 큰 것을 알 수 있는데, 이는 ping을 수행한 source 장비의 ARP Cache안에 Destination의 IP에 대한 Hardware Address (MAC Address)가 없는 경우이기 때문입니다.
자료출처
http://ask.nate.com/qna/view.html?n=3096984
댓글목록
등록된 댓글이 없습니다.