Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ICMP 기능

ICMP(Internet Control Message Protocol) 기능을 사용하여 네트워크 문제를 진단하고 장비 도달 가능성을 확인합니다.

프로토콜 리디렉션 메시지

프로토콜 리디렉션이라고도 하는 ICMP 리디렉션은 스위치 및 라우터가 호스트에게 라우팅 정보를 전달하는 데 사용하는 메커니즘입니다. 디바이스는 프로토콜 리다이렉트 메시지를 사용하여 지정된 대상에서 사용할 수 있는 최상의 경로의 동일한 데이터 링크에 있는 호스트를 알립니다.

프로토콜 리디렉션 메시지 이해

프로토콜 리디렉션 메시지는 호스트에게 라우팅 정보를 업데이트하고 대체 경로에서 패킷을 전송하도록 알려줍니다. 호스트가 스위치 S1을 통해 데이터 패킷을 보내려고 시도하고 S1이 데이터 패킷을 다른 스위치인 S2로 전송한다고 가정해 보겠습니다. 또한 호스트에서 S2로의 직접 경로가 사용 가능하다고 가정해 보겠습니다(즉, 호스트 및 S2는 동일한 Ethernet 세그먼트에 있음). 그런 다음 S1은 프로토콜 리디렉션 메시지를 전송하여 호스트에게 목적지에 가장 적합한 경로가 S2로의 직접 경로임을 알려줍니다. 그런 다음 호스트는 패킷을 S1을 통해 전송하는 대신 S2로 직접 전송해야 합니다. S2는 여전히 S1에서 수신한 원래 패킷을 대상 대상으로 보냅니다.

프로토콜 리디렉션에 대한 자세한 내용은 RFC-1122RFC-4861 을 참조하십시오.

참고:
  • 데이터 패킷에 라우팅 정보가 포함되어 있는 경우 스위치는 프로토콜 리디렉션 메시지를 전송하지 않습니다.

  • 모든 EX 시리즈 스위치는 IPv4 및 IPv6 트래픽에 대한 프로토콜 리다이렉션 메시지를 전송할 수 있도록 지원합니다.

프로토콜 리디렉션 메시지 비활성화

기본적으로 디바이스는 IPv4 및 IPv6 트래픽에 대한 프로토콜 리다이렉트 메시지를 보냅니다. 보안상의 이유로 장비가 프로토콜 리다이렉션 메시지를 보내는 것을 금지시킬 수 있습니다.

전체 디바이스에 대한 프로토콜 리디렉션 메시지를 비활성화하려면 계층 레벨에 명령문 또는 no-redirects-ipv6 명령문을 [edit system] 포함 no-redirects 하십시오.

  • IPv4 트래픽의 경우:

  • IPv6 트래픽의 경우:

장비에서 리디렉션 메시지 전송을 다시 활성화하려면 구성에서 명령문(IPv4 트래픽에 대한) 또는 no-redirects-ipv6 명령문(IPv6 트래픽)을 삭제 no-redirects 하십시오.

인터페이스별로 프로토콜 리디렉션 메시지를 비활성화하려면 계층 레벨의 no-redirects [edit interfaces interface-name unit logical-unit-number family family] 명령문을 포함합니다.

  • IPv4 트래픽의 경우:

  • IPv6 트래픽의 경우:

Ping

핑은 ICMP를 사용합니다. 성공적인 핑은 장비가 ICMP 에코 요청을 대상에게 보내고 대상이 ICMP 에코 회신으로 응답하는 경우입니다. 그러나 디바이스가 핑 요청에 응답하는 것을 원치 않는 상황이 발생할 수 있습니다.

멀티캐스트 핑 패킷에 대한 라우팅 엔진 응답 비활성화

기본적으로 라우팅 엔진은 멀티캐스트 그룹 주소로 전송되는 ICMP 에코 요청에 응답합니다. 멀티캐스트 핑 패킷을 무시하도록 Routing Engine을 구성하면 인증 받지 않은 사용자가 네트워크에서 PE(Provider Edge) 디바이스 목록을 검색하는 것을 방지할 수 있습니다.

라우팅 엔진이 이러한 ICMP 에코 요청에 응답하지 못하도록 하려면 계층 레벨의 [edit system] 명령문을 포함합니다 no-multicast-echo .

Ping Response에서 보고 IP 주소 및 타임스탬프 비활성화

옵션을 가진 record-route 명령을 실행 ping 하면 라우팅 엔진은 기본적으로 ICMP 에코 요청 패킷의 경로와 ICMP 에코 응답의 타임스탬프를 표시합니다. 및 no-ping-timestamp 옵션을 구성 no-ping-record-route 함으로써 인증 받지 않은 사용자가 PE(Provider Edge) 디바이스 및 루프백 주소에 대한 정보를 검색하는 것을 방지할 수 있습니다.

핑 요청 패킷의 record-route IP 헤더에서 옵션 설정을 비활성화하도록 라우팅 엔진을 구성할 수 있습니다. 옵션을 비활성화 record-route 함으로써 RE가 응답 시 ICMP 에코 요청 패킷의 경로를 기록하고 표시하는 것을 방지합니다.

Routing Engine을 구성하여 옵션 설정을 record route 해제하려면 계층 레벨의 no-ping-record-route [edit system] 명령문을 포함합니다.

ICMP 에코 응답에서 타임스탬프를 보고하지 않도록 하려면 계층 레벨의 [edit system] 옵션을 포함합니다 no-ping-time-stamp .

소스 Quench 메시지

디바이스가 너무 많거나 원하지 않는 데이터그램을 수신하는 경우 소스 압축 메시지를 시작 디바이스로 보낼 수 있습니다. 소스 격리 메시지는 전송되는 트래픽의 양을 줄이기 위해 시작 디바이스에 신호를 보냅니다.

기본적으로 디바이스는 ICMP 소스 격리 메시지에 반응합니다. ICMP Source quench 메시지를 무시하려면 계층 레벨의 [edit system internet-options] 명령문을 포함합니다no-source-quench.

ICMP 소스 암호화 메시지를 무시하지 않도록 하려면 다음 명령문을 source-quench 사용합니다.

TTL(Time-to-Live) 만료

패킷 헤더의 TTL(Time-to-Live) 값은 패킷이 네트워크를 통해 이동하는 기간을 결정합니다. TTL 값은 패킷이 이동하는 각 디바이스(또는 홉)에 따라 감소합니다. TTL 값이 0인 패킷을 수신하면 해당 패킷은 폐기됩니다. TTL 만료 메시지는 ICMP를 사용하여 전송됩니다.

IPv4 주소를 ICMP TTL(Time-to-Live) 만료 오류 메시지의 소스 주소로 사용하도록 디바이스를 구성할 수 있습니다. 즉, ICMP 오류 패킷에 응답하여 루프백 주소를 소스 주소로 구성할 수 있습니다. 네트워크에 IPv4 주소가 중복되어 있기 때문에 경로 추적 목적으로 장비 주소를 사용할 수 없는 경우 유용합니다.

소스 주소는 IPv4 주소여야 합니다. 소스 주소를 지정하려면 계층 수준에서 다음 옵션을 [edit system icmp (System)] 사용합니다ttl-expired-source-address source-address.

이 구성은 ICMP TTL 만료 메시지에만 적용됩니다. 다른 ICMP 오류 회신 메시지는 수신 인터페이스의 주소를 소스 주소로 계속 사용합니다.

속도 제한 ICMP 트래픽

라우팅 엔진에 의해 생성되어 Routing Engine으로 전송될 수 있는 ICMPv4 또는 ICMPv6 메시지의 속도를 제한하려면 계층 수준에서 적절한 속도 제한 명령문을 [edit system internet-options] 포함합니다.

  • IPv4의 경우:

  • IPv6의 경우:

속도 제한 ICMP 오류 메시지

기본적으로 TTL이 만료되지 않은 IPv4 및 IPv6 패킷에 대한 ICMP 오류 메시지는 초당 1 패킷(pps)의 속도로 생성됩니다. 네트워크 혼잡을 유발하지 않고 네트워크에 충분한 정보를 제공하는 것으로 판단한 값으로 이 속도를 조정할 수 있습니다.

참고:

TTL이 만료된 IPv4 또는 IPv6 패킷의 경우 ICMP 오류 메시지의 속도를 구성할 수 없습니다. 500pps에 고정되어 있습니다.

ICMPv4 및 ICMPv6 오류 메시지를 제한하는 이유

예를 들어 속도 제한을 조정하는 사용 사례는 웹 서비스를 제공하는 데이터센터입니다. 이 데이터센터에는 인터넷을 통해 호스트와 통신할 때 9,100바이트의 MTU와 점보 프레임을 사용하는 많은 서버가 네트워크에 있다고 가정해 보십시오. 이러한 다른 호스트에는 1,500바이트의 MTU가 필요합니다. 연결 양쪽에 MSS(최대 세그먼트 크기)가 적용되지 않는 한, 서버는 데이터센터의 에지 라우터에 도달할 때 단편화되지 않고도 인터넷상에서 전송될 수 없을 정도로 큰 패킷으로 회신할 수 있습니다.

TCP/IP 구현에는 기본적으로 비트가 1로 dont-fragment 설정된 경로 MTU Discovery가 있기 때문에 전송 디바이스는 패킷을 단편화하지 않고 너무 큰 패킷을 드롭합니다. 패킷이 너무 커서 대상에 연결할 수 없음을 나타내는 ICMP 오류 메시지가 디바이스에 반환됩니다. 또한 이 메시지는 오류가 발생한 위치에서 필요한 MTU를 제공합니다. 송신 호스트는 해당 연결에 대한 전송 MSS를 조정하고 보다 작은 패킷 크기로 데이터를 재전송하여 단편화 문제가 발생하지 않도록 해야 합니다.

코어 인터페이스 속도에서 오류 메시지에 대한 기본 속도 제한 1pps로는 이 서비스가 필요한 네트워크에 많은 호스트가 있을 때 모든 호스트에 알리기에 충분하지 않을 수 있습니다. 결과적으로 아웃바운드 패킷은 자동으로 삭제됩니다. 이 조치는 데이터센터 에지 라우터가 각 코어 대면 인터페이스에서 처리하는 요청의 양에 따라 추가 재전송 또는 백오프 동작을 트리거할 수 있습니다.

이 경우 속도 제한을 증가시켜 대량의 대형 패킷이 전송 호스트에 도달할 수 있도록 할 수 있습니다. (코어 대면 인터페이스를 추가하면 문제 해결에도 도움이 됩니다.)

ICMPv4 및 ICMPv6 오류 메시지를 제한하는 방법

계층 수준에서 속도 제한을 [edit chassis] 구성하지만 섀시 전반의 제한은 아닙니다. 대신 속도 제한은 인터페이스 제품군에 적용됩니다. 예를 들어, 함께 family inet 구성된 여러 물리적 인터페이스가 구성된 속도로 ICMP 오류 메시지를 동시에 생성할 수 있습니다.

참고:

이 속도 제한은 10초 이상 지속되는 트래픽에만 적용됩니다. 속도 제한은 5초 또는 9초와 같이 지속 시간이 짧은 트래픽에는 적용되지 않습니다.

  • ICMPv4에 대한 속도 제한을 구성하려면 다음과 같은 명령문을 icmp 사용하십시오.

    Junos OS 릴리스 19.1R1부터 최대 속도는 50pps에서 1000pps로 증가했습니다.

  • ICMPv6에 대한 속도 제한을 구성하려면 다음과 같은 명령문을 icmp6 사용합니다.

또한 속도 제한 값이 DDoS 보호 구성과 상호 작용할 수 있다는 점을 고려해야 합니다. MTU를 초과하는 예외 패킷의 기본 대역폭 값은 250pps입니다. DDoS 보호 플래그는 패킷 수가 해당 값을 초과하면 위반 플래그를 지정합니다. 현재 대역폭 값보다 mtu-exceeded 높은 속도 제한을 설정하면 속도 제한에 맞게 대역폭 값을 구성해야 합니다.

예를 들어, ICMP 속도 제한을 300pps로 설정한다고 가정해 보겠습니다.

해당 값에 맞게 DDoS 보호를 mtu-exceeded bandwidth 구성해야 합니다.

선택적 오류 메시지를 위한 ICMP 확장 옵션

IP 장치는 ICMP 프로토콜을 사용하여 네트워크 통신 문제를 진단하며, 특히 데이터그램이 의도한 목적지에 적시에 도착하는지 여부를 결정합니다. 데이터그램이 대상에 도착하지 않을 경우 ICMP는 시작 IP 장비에 적절한 오류 메시지를 보고합니다.

네트워크 문제가 IP 패킷 제공을 방지하는 경우 네트워크 디바이스는 ICMP를 사용하여 소스 IP 주소에 오류 메시지를 생성합니다. ICMPv4 및 ICMPv6는 선택적 오류 메시지를 위한 확장 옵션을 제공합니다.

ICMP 확장의 이점

ICMP 확장은 다음과 같은 인터페이스 및 기타 정보를 식별하는 데 도움이 됩니다.

  • ICMPv4 및 ICMPv6 메시지는 번호가 지정되지 않은 인터페이스에서 처리할 수 없는 데이터그램의 인터페이스를 식별할 수 없습니다.

  • ICMP 메시지는 수신 인터페이스의 소스 주소를 파악하고 원본 장치로 패킷을 전송함으로써 생성됩니다. 그러나 오리진 디바이스는 ICMP 메시지가 어디에서 시작되었는지 알 수 없습니다.

ICMP 확장 기능을 사용하면 다음과 같은 정보가 포함된 ICMP 메시지에 응답하는 네트워크 디바이스를 식별할 수 있습니다.

  • IP 인터페이스를 통해 수신되는 데이터그램입니다.

  • 데이터그램은 IP 인터페이스의 하위 IP 구성 요소에 도달했습니다.

  • 데이터그램이 전송되는 IP 인터페이스입니다.

  • 넥트 홉 IP 주소가 전달되었을 것입니다.

RFC5837을 구현하여 번호가 지정되고 번호가 지정되지 않은 통합 이더넷 인터페이스 모두에 대해 ICMP(IPv4 및 IPv6) 메시지를 선택할 수 있도록 추가 필드를 추가할 수 있습니다.

  • ICMPv4 시간 초과
  • ICMPv4 목적지 연결할 수 없음
  • ICMPv6 시간 초과
  • ICMPv6 목적지에 연결할 수 없음
참고:

ICMPv6 확장은 번호가 지정된 인터페이스에 대해서만 지원됩니다.

ICMP 확장을 활성화하는 방법

ICMPv4 확장을 사용하려면 다음을 수행합니다.

ICMPv4 확장을 비활성화하려면 구성을 삭제합니다.

ICMPv6 확장을 사용하려면 다음을 수행합니다.

ICMPv6 확장을 비활성화하려면 구성을 삭제합니다.