Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

IPv6 플로우 기반 처리 개요

SRX 시리즈 방화벽이 IPv6 패킷, IPv6 확장 헤더 및 ICMPv6 패킷을 처리하는 방법에 대해 알아보십시오.

IPv6 패킷 헤더 및 SRX 시리즈 개요

모든 IPv6 패킷에는 최소 40바이트(320비트) 길이의 기본 패킷 헤더가 있습니다. IPv6 패킷 헤더에는 선택적으로 네트워크 디바이스에 대한 추가 정보가 포함된 확장 헤더가 있습니다.

IPv6 패킷의 경우 플로우 처리는 다음과 같은 방식으로 확장 헤더와 전송 계층 헤더를 구문 분석합니다.

  • 소프트웨어가 TCP, UDP, ESP, AH 또는 ICMPv6 헤더를 발견하면 헤더를 구문 분석하고 패킷 페이로드가 지정된 프로토콜 유형에 해당한다고 가정합니다.

  • 소프트웨어가 hop-by-hop 헤더, 라우팅 및 대상 헤더 또는 단편화 헤더를 발견하면 다음 확장 헤더를 계속 구문 분석합니다.

  • no-next-header 확장 헤더가 발견되면 소프트웨어는 패킷이 알 수 없는 프로토콜(프로토콜이 0과 같음)의 패킷임을 감지합니다.

  • 다른 확장 헤더의 경우, 소프트웨어는 헤더를 구문 분석하고 패킷이 확장 헤더에 의해 표시된 프로토콜에 속하는 것으로 식별합니다.

IPv6 패킷 헤더 확장 이해

IPv6 확장 헤더에는 네트워크 디바이스(예: 라우터, 스위치 및 엔드포인트 호스트)에서 IPv6 패킷을 전달하거나 처리하는 방법을 결정하는 데 사용하는 추가 정보가 포함되어 있습니다. 각 확장 헤더의 길이는 8 옥텟의 정수 배수입니다. 이렇게 하면 후속 확장 헤더가 8-옥텟 구조를 사용할 수 있습니다.

확장 헤더가 뒤에 오는 모든 헤더에는 확장 헤더 유형을 식별하는 Next Header 값이 포함됩니다. 확장 헤더는 패킷에서 IPv6 헤더와 상위 레이어 헤더 사이에 배치될 수 있습니다. 그림 1 은 hop-by-hop 옵션 헤더가 있는 IPv6 패킷을 보여줍니다. 마찬가지로 IPv6 헤더는 0개, 1개 또는 그 이상의 확장 헤더를 전달할 수 있으며, 각 헤더는 이전 헤더의 다음 헤더 필드로 식별됩니다. 확장 헤더는 항상 표 1에 표시된 순서대로 기본 IPv6 헤더를 따릅니다.

그림 1: IPv6 확장 헤더 IPv6 Extension Header
표 1: IPv6 확장 헤더

헤더 이름

목적

다음 헤더 값

홉 바이 홉(hop-by-hop) 옵션

대상 호스트 경로의 각 홉에서 배달 매개 변수를 지정합니다.

hop-by-hop 옵션은 IPv6 기본 헤더 다음에만 나타날 수 있습니다. 사용되는 경우 첫 번째 확장 헤더여야 합니다. 다른 확장 헤더 뒤에 나타날 수 없습니다.

0

대상 옵션

중간 대상 장치 또는 최종 대상 호스트에 대한 패킷 전달 매개 변수를 지정합니다. 패킷이 이 헤더를 사용하는 경우.

60

라우팅

패킷에 대한 엄격한 소스 라우팅과 느슨한 소스 라우팅을 정의합니다. (엄격한 소스 라우팅의 경우 각 중간 대상 디바이스는 단일 홉 떨어져 있어야 합니다. 느슨한 소스 라우팅을 사용하면 중간 대상 디바이스가 하나 이상의 홉 떨어져 있을 수 있습니다.)

43

조각

IPv6 단편화 및 리어셈블리 서비스를 수행하는 방법을 지정합니다.

소스 노드는 단편화 확장 헤더를 사용하여 단편화된 패킷의 크기를 대상 노드에 알려 대상 노드가 패킷을 리어셈블할 수 있도록 합니다.

44

인증

인증, 데이터 무결성 및 안티리플레이 보호 기능을 제공합니다.

51

캡슐화 보안 페이로드

ESP(Encapsulated Security Payload) 패킷에 대한 데이터 기밀성, 데이터 인증 및 재전송 방지 보호 기능을 제공합니다.

50

대상 IP 주소

IPv6 패킷을 전송할 호스트 장치 또는 노드의 인터페이스를 식별합니다.

대상 주소는 소스 IP 주소 다음에 오는 홉 제한 이후의 첫 번째 인스턴스와 최종 확장 헤더 뒤에 두 번째 인스턴스가 두 번 나타날 수 있습니다.

60

IPv6에 대한 자세한 내용은 RFC2460를 참조하십시오 .

SRX 시리즈 방화벽이 ICMPv6 패킷을 처리하는 방법 이해하기

이 주제에서는 ICMP(Internet Control Message Protocol), ICMP 메시지 및 SRX 시리즈 방화벽용 Junos OS에서 이를 사용하는 방법에 대해 설명합니다.

ICMP는 진단 목적 및 구현별 기능을 위해 패킷 처리 오류를 보고하기 위한 프레임워크를 제공합니다. ICMP 오류 메시지를 통해 한 노드가 다른 노드에 데이터 전송 중에 문제가 발생했음을 알릴 수 있습니다. IP 버전 6(IPv6)이 정의되었을 때 IP 버전 4(IPv4)와 IP 버전 4(IPv4) 간의 차이는 새 버전의 ICMP가 필요할 정도로 컸습니다.

모든 ICMPv6 메시지 앞에는 IPv6 헤더와 0개 이상의 IPv6 확장 헤더가 있습니다. ICMPv6 헤더는 바로 앞 헤더에서 다음 헤더 값 58로 식별됩니다. 이는 IPv4에 대한 ICMP를 식별하는 데 사용되는 값과 다릅니다. 모든 ICMPv6 오류 메시지에는 패킷 수신자가 포함된 호출 패킷을 찾는 데 도움이 되는 32비트의 유형별 데이터가 있습니다.

대부분의 ICMPv6 패킷은 일반 IPv6 패킷과 동일한 특성 및 동작을 가지며, Junos OS 플로우 모듈은 일반 IPv6 패킷과 동일한 방식으로 첫 번째 경로 및 빠른 경로 처리를 통해 패킷을 처리합니다. 표 2 는 플로우 모듈이 일반 ICMPv6 패킷과 다르게 처리하는 ICMPv6 임베디드 패킷 유형을 보여줍니다.

이러한 패킷의 경우 flow 모듈은 포함된 ICMPv6 패킷에서 생성한 튜플을 사용하여 일치하는 세션을 검색합니다. 인터페이스에 대해 ICMPv6 패킷이 너무 큼(ICMPv6 Packet Too Big) 메시지를 수신하지 않는 한 일치하는 세션을 찾을 때까지 최대 전송 단위(MTU)를 수정하지 않고 패킷을 계속 처리합니다. 이 경우 해당 인터페이스의 MTU 크기를 수정합니다. 플로우 모듈이 일치하는 세션을 찾지 못하거나 내장된 페이로드에서 유효한 IPv6 헤더를 가져올 수 없는 경우 패킷을 삭제합니다.

메모:

패킷이 너무 큼 메시지는 플로우 모듈이 인터페이스를 수정하도록 하는 유일한 ICMPv6 패킷 종류입니다.

표 2: Junos OS가 다른 ICMPv6 패킷과 다르게 처리하는 ICMPv6 패킷

메시지

의미

01-목적지 도달 불가

전송 방식에 문제가 있어 패킷을 전달할 수 없는 경우 패킷 전달이 실패한 이유를 포함하여 소스에 문제를 알릴 수 있는 피드백 메커니즘이 있으면 유용합니다. IPv6의 경우 Destination Unreachable(대상에 연결할 수 없음) 메시지가 이 용도로 사용됩니다.

각 메시지에는 패킷 배달 실패의 원인이 된 문제의 특성을 나타내는 코드가 포함되어 있습니다. 또한 소스 디바이스가 문제를 해결하는 데 도움이 되도록 전달하지 못한 패킷의 전부 또는 일부를 포함합니다.

플로우 모듈이 임베디드 패킷 헤더 데이터가 세션의 5튜플 데이터와 일치하는 도달 불가 대상 ICMP 패킷을 발견하면 소프트웨어가 세션을 종료합니다.

02-패킷이 너무 큼

플로우 모듈이 의도한 ICMPv6 패킷이 너무 큼(ICMPv6 Packet Too Big) 메시지를 수신하면, 플로우 모듈은 라우팅 엔진의 ICMP 프로토콜 스택으로 패킷을 전송하여 경로 최대 전송 단위(경로 MTU) 검색 프로세스에 참여합니다.

패킷이 너무 큼 메시지가 디바이스와 관련이 없고 전송 패킷인 경우 디바이스는 포함된 5튜플 데이터를 세션과 일치시키려고 시도합니다.

  • 일치하는 세션이 존재하는 경우 디바이스는 이를 소스 노드로 전달합니다.

  • 일치하는 세션이 존재하지 않으면 디바이스는 패킷을 삭제합니다

메모:

패킷이 너무 큼 메시지는 플로우 모듈이 인터페이스를 수정하도록 하는 유일한 ICMPv6 패킷 종류입니다.

03회 초과

플로우 모듈은 기본 헤더 hop-by-hop 필드에 지정된 홉 수를 초과하여 전달할 수 없는 패킷을 수신하면 이 메시지를 전송하여 패킷이 이러한 이유로 폐기되었음을 패킷의 소스 노드에 알립니다.

04-파라미터 문제

디바이스가 IPv6 헤더 또는 확장 헤더의 필드에서 패킷 처리를 불가능하게 만드는 문제를 발견하면, 소프트웨어는 이를 폐기하고 이 ICMPv6 메시지를 패킷의 소스 노드로 전송하여 문제의 유형과 위치를 나타냅니다.