Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

플로우 배포 및 패킷 주문

이 주제에서는 SRX5000 라인 디바이스에서 로드 배포 및 패킷 주문에 대해 설명합니다.

SRX5000 라인 디바이스의 로드 배포 이해

SRX5800, SRX5600 및 SRX5400 디바이스에서 지원되는 로드 배포 알고리즘은 세션 용량 및 처리 능력을 기반으로 조정됩니다. (실제 플랫폼 지원은 설치 시 Junos OS 릴리스에 따라 다릅니다.)

해시 기반 세션 배포는 해시 테이블을 사용합니다. SPU 세션 가중치 테이블은 세션 배포 해시 테이블의 각 해시 인덱스에 SPU ID를 할당하는 데 사용됩니다. 이렇게 하면 해시 기반 배포를 사용하여 각 SPU에서 생성된 세션 수는 SPU 세션 가중치 테이블의 SPU 가중치에 비례합니다. 또한 각 NPU는 NPU 세션과 일치하지 않는 패킷을 전달하기 위해 SPU를 선택하는 데 사용하는 동일한 SPU 세션 가중치 테이블과 세션 배포 해시 테이블을 유지합니다.

SPU에 장애가 발생할 경우, 라우팅 엔진 세션 배포를 위해 해시 테이블 일관성을 유지하기 위해 IOC 및 NPC를 포함한 데이터플레인의 모든 카드를 재설정합니다.

해시 기반 세션 배포에서 가중치는 세션 용량을 기반으로 합니다. 대용량 세션 용량이 필요한 경우 해시 세션 배포 모드를 권장합니다.

참고:

SRX5000 라인 디바이스의 로드 배포는 항상 해시 기반입니다.

SPC를 삽입하고 제거하면 섀시가 삽입 후 재부팅해야 하기 때문에 중앙 지점 초기화 시간에 SPU 세션 중량 테이블을 다시 계산합니다.

릴리스 15.1X49-D30 Junos OS SRX5000 시리즈 디바이스에 대해 더 높은 동시 세션 및 초당 연결(cps)을 처리하도록 중앙 포인트 아키텍처가 향상되었습니다.

중앙 포인트 아키텍처 개선은 트래픽 관리를 SPU에 오프로드하여 데이터 패킷이 중앙 지점을 통과하는 것을 방지합니다. 중앙점의 세션 제한이 제거됨에 따라 시스템 세션 용량이 확장됩니다.

SPU ID 계산

SRX3K-SPC-1-10-40, SRX5K-SPC-2-10-40 또는 SRX5K-SPC3 서비스 처리 카드(SPC)가 장착된 디바이스의 SPU ID는 다음과 같이 계산됩니다.

SRX3K-SPC-1-10-40, SRX5K-SPC-2-10-40, SRX5K-SPC3에는 카드당 PIC 2개, 카드당 PIC 4개, 카드당 PIC 2개가 각각 포함되어 있습니다. 예를 들어 디바이스에는 슬롯 1(FPC ID 0)과 슬롯 2(FPC ID 1)에 2개의 카드가 포함되어 있으며, 예상되는 SPU ID는 다음과 같습니다.

  • SPC1의 경우: (0, 1) 및 (4, 5), 총 4개의 SPU(카드 2개)가 포함됩니다.

  • SPC2: (0, 1, 2, 3) 및 (4, 5, 6, 7), 총 8개의 SPU(카드 2개).

  • SPC3의 경우: (0, 1) 및 (4, 5), 총 4개의 SPU(카드 2개)가 포함됩니다.

FPC1(두 번째 카드) 및 PIC1(카드의 두 번째 PIC)의 경우 SPU ID는 다음과 같이 계산됩니다.

CLI 및 SNMP에 대한 SPU ID를 참조하는 동안 이 규칙을 사용합니다.

SRX5K-MPC, SRX5K-MPC3-40G10G(IOC3) 및 SRX5K-MPC3-100G10G(IOC3)에 대한 해시 기반 포워딩

이러한 SRX 시리즈 디바이스에서 패킷은 수신에서 송신 처리로 진행되는 동안 다양한 구성 요소와 관련된 일련의 이벤트를 진행합니다. datapath 패킷 포워딩 기능을 사용하면 SRX 5000 디바이스 제품군에서 I/O 트래픽을 신속하게 전달할 수 있습니다.

SRX5K-MPC, SRX5K-MPC3-40G10G(IOC3) 및 SRX5K-MPC3-100G10G(IOC3)는 SRX5400, SRX5600 및 SRX5800 디바이스에서 지원되는 인터페이스 카드입니다. MPC(Modular Port Concentrator)는 해시 기반 포워딩 방법을 사용하여 SPU(Services Processing Unit)에 대한 로드 밸런싱 서비스를 제공합니다.

해시 기반 포워딩에서 패킷은 MPC에 의해 중앙 지점 대신 선택된 SPU(DCP)로 전달될 수 있습니다. 이 접근 방식은 세션 확장을 향상하고 중앙 지점의 과부하를 방지합니다.

해시 값 계산에는 다음 단계가 포함됩니다.

  • IPv4 패킷의 경우 해시 기반 포워딩 모듈은 다른 레이어 4 프로토콜 유형에 따라 레이어 3 및 레이어 4 정보를 기반으로 해시 값을 생성합니다.

  • 스트림 제어 전송 프로토콜(SCTP), TCP, UDP, 인증 헤더(AH), 에지 서비스 프로바이더(ESP), ICMP(Internet Control Message Protocol) 프로토콜의 경우 해시 모듈은 레이어 4 정보를 사용하여 해시 값을 생성합니다. 다른 프로토콜의 경우, 해시 생성에는 레이어 3 정보만 사용됩니다.

  • IPv4 패킷의 경우, 해시 값은 레이어 3 정보만 사용하여 계산됩니다. 이는 또한 패킷의 첫 번째 부분에도 적용됩니다.

  • 비 IP 패킷의 경우 해시 기반 포워딩 모듈은 레이어 2 정보를 사용하여 해시 값을 계산합니다.

패킷의 레이어 2, 레이어 3 또는 레이어 4 정보에 따라 해시 값이 계산되면, SPU ID는 세션 배포 해시 테이블의 각 해시 인덱스에 할당됩니다.

참고:

SRX5K-MPC(IOC2), SRX5K-MPC3-40G10G(IOC3) 및 SRX5K-MPC3-100G10G(IOC3)는 해시 기반 세션 배포를 위해 구성된 SRX5400, SRX5600 및 SRX5800 디바이스에서만 사용할 수 있습니다.

해시 기반 세션 배포 모드가 활성화되면 시스템은 SRX5K-MPC, SRX5K-MPC3-40G10G(IOC3) 및 SRX5K-MPC3-100G10G(IOC3)가 디바이스에 설치될 때 동작을 세션 용량 기반 모드로 변경합니다.

참고:

SRX5K-MPC가 활성화된 SRX5000 라인 디바이스에서 SRX5K-MPC3-40G10G(IOC3) 또는 SRX5K-MPC3-100G10G(IOC3)가 설치된 경우, 시스템 또는 SPU 재부팅 중에 해시 기반 세션 배포 모드가 활성화된 경우에만 트래픽이 모든 SPU가 재부팅된 후에 전달됩니다.

IOC3의 MPC는 모든 기존 IOC 및 SPC와 상호 연결하기 위해 해시 기반 datapath 패킷 포워딩을 수행하여 SPU를 위한 로드 밸런싱 서비스를 제공합니다.

IOC3는 수신 및 송신 패킷을 처리합니다. IOC3는 수신 패킷을 구문 분석하여 플로우 세션 조회, 영역 및 정책 검사, VPN, ALG 등을 포함한 추가 보안 처리를 위해 SPU로 보냅니다.

IOC3는 패킷 조회 및 캡슐화 기능을 위해 패킷 데이터 메모리와 패브릭 큐잉을 관리합니다.

참고:

Junos OS 릴리스 15.1X49-D10 및 Junos OS 릴리스 17.3R1부터 해시 기반 세션 배포는 SRX5400, SRX5600 및 SRX5800 디바이스의 기본 모드입니다. 해시 키 선택은 애플리케이션 프로토콜에 따라 다릅니다.

Junos OS 릴리스 17.4R1부터는 해시 기반 세션 배포 알고리즘을 기반으로 트래픽이 IOC에 의해 서로 다른 SPU에 해시되고 배포됩니다. 이 향상된 기능은 더 큰 고정 길이 해시 테이블을 사용하여 모든 SPU 간에 해시 분포를 제공합니다. 이전 Junos OS 릴리스에서 트래픽 분포는 고정 길이 해시 테이블로 인해 모든 SPU 사이에서 고르지 않았습니다.

IOC3는 키, 결과 테이블 및 패킷 메모리를 포함한 보안 플로우 테이블(IPv4 및 IPv6)을 설정합니다.

다음 기능은 플로우 테이블과 함께 제공됩니다.

  • 플로우 조회

  • 플로우 삽입 및 삭제

  • 노후화된 보안 플로우

  • 보안 플로우 통계

SRX5000 라인 디바이스의 패킷 주문 기능 이해

SRX5400, SRX5600 및 SRX5800, 디바이스 및 vSRX 지원되는 패킷 주문 기능은 애플리케이션 중앙 지점에서 XLP 프로세서의 패킷 주문 엔진에 내장된 패킷 주문 엔진 기능을 활성화하여 디바이스의 성능을 향상시킵니다.

지원되는 패킷 주문 모드의 두 가지 유형은 하드웨어 및 소프트웨어입니다.

패킷 주문 기능이 하드웨어로 설정된 경우, 패킷 주문 엔진에 로드 밸런싱 스레드(LBT)와 POT(packet-ordering thread)가 오프로드되고 패킷 처리가 수행될 수 있도록 리소스가 해제됩니다. 패킷 주문 기능이 소프트웨어로 설정된 경우, SPU에서 로드 밸런싱 스레드(LBT) 및 POT(packet-ordering thread)가 실행됩니다. 기본적으로 패킷 주문 엔진(하드웨어)을 사용하는 패킷 주문 모드는 디바이스에서 활성화됩니다. 재부팅이 필요한 구성 변경으로 비활성화할 수 있습니다.

flow 스레드는 패킷을 수신하고, 처리하고, 송수신합니다. 주문이 필요하지 않은 패킷의 경우 플로우 스레드는 NAE(Network Acceleration Engine) 송신에 패킷을 송수신하도록 통보합니다. 주문이 필요한 패킷의 경우 플로우 스레드는 패킷 주문 엔진에 주문 목록에서 패킷을 디프로우(dequeue)하고 패킷을 순서대로 보내거나 삭제하도록 통보합니다.

SRX5000 라인 디바이스의 패킷 주문 모드 변경

패킷 주문 엔진을 사용하는 패킷 주문 기능은 차세대 SPC가 있는 SRX5400, SRX5800 및 SRX5600 디바이스에서 지원됩니다. (플랫폼 지원은 설치 시 Junos OS 릴리스에 따라 다릅니다.) 기본적으로 패킷 주문 엔진을 사용하는 패킷 주문 모드가 활성화되어 있습니다. 패킷 주문 엔진을 사용하여 패킷 주문 기능을 비활성화하려면 디바이스의 패킷 주문 모드를 업데이트해야 합니다.

지원되는 패킷 주문 모드:

  • 소프트웨어 - 패킷 주문 엔진을 사용하여 패킷 주문 모드를 비활성화합니다.

  • 하드웨어 - 패킷 주문 엔진을 사용하여 패킷 주문 모드를 활성화합니다. 이것은 기본 옵션입니다.

패킷 주문 엔진을 사용하여 패킷 주문 모드를 비활성화하려면 다음을 수행합니다.

  1. 패킷 주문 모드를 지정하려면 CLI 구성 프롬프트에 다음 명령을 입력합니다.

  2. show security forwarding-process 명령을 사용하여 구성을 검토합니다.

  3. 커밋하기 전에 구성 변경 사항을 확인합니다.

  4. 구성을 커밋합니다.

  5. 적절한 시간에 디바이스를 재부팅합니다.

  6. show security flow status 명령을 사용하여 패킷 주문 모드를 확인합니다.

적응 모드에서 SRX5000 라인 디바이스에 대한 세션 배포 이해하기

릴리스 15.1X49-D30 및 Junos OS 릴리스 17.3R1 Junos OS 시작하여 적응 모드 세션 배포를 중앙 포인트 아키텍처의 향상된 기능으로 대체했습니다.

적응 모드 세션 배포는 Junos OS 릴리스 15.1X49-D30 및 Junos OS 릴리스 17.1R1 이전 혼합 모드에서 실행되는 SRX5000 시리즈 디바이스에서 구현됩니다. 적응형 모드 세션 배포는 서비스 처리 유닛(SPU) 용량과 사용 가능한 리소스를 고려하여 시스템 리소스의 사용을 극대화합니다. XLR/XLP 혼합 모드에서 실행되는 SRX5000 시리즈 디바이스에서만 활성화되며, 이는 서로 다른 유형의 SPU가 서로 다른 조합으로 사용되는 섀시 구축 환경에서만 활성화됩니다. SRX5800, SRX5600 또는 SRX5400 디바이스에 차세대 서비스 프로세싱 카드(SPC)와 기존 SPC가 혼합되어 있는 경우, 어댑티브 모드 세션 배포는 기본값으로 가정됩니다. 혼합 모드에서 실행되지 않는 SRX5000 시리즈 디바이스의 경우 해시 기반 로드 밸런싱이 기본값입니다.

SPC(Services Processing Card)에는 하나 이상의 SPU가 포함되어 있으며, 각 SPU는 중앙점(CP)에 의해 분산된 세션에 대해 구성된 보안 기능 및 기타 서비스에 따라 플로우 패킷을 처리합니다. SPU의 CPU 로드가 수시로 변경됩니다. 변화하는 가용 용량을 완전히 활용하고 그에 따라 세션 분포를 조정하기 위해 어댑티브 모드에서 시스템은 모든 SPU에 동적으로 가중치를 할당합니다. 세션 분포를 결정하는 것은 SPU의 중량입니다.

각 SPU는 CPU 사용 정보를 중앙 지점(CP)에 주기적으로 보냅니다. 중앙 포인트는 이러한 값을 확인하고, 1초마다 가중치를 계산하며, 전체 시스템 성능을 극대화하는 방식으로 세션을 배포합니다. 즉, 적응 모드에서 세션 배포는 유형에 관계없이 모든 SPU의 전체 용량 활용을 허용하여 실시간으로 계산되는 동적 가중 할당 시스템을 기반으로 합니다.

이는 능동 모드 세션 분포와 WRR(Weighted Round-Robin) 세션 분포를 구별하는 가중치의 동적 계산입니다. WRR은 다양한 유형의 SPU에 가중치를 계산하고 할당하여 SPU와 CPU 용량을 차별화하지만 계산과 할당은 정적입니다. 즉, 초기화 시 한 번만 수행됩니다. 적응 모드는 WRR의 고정 비율 세션 분배 프로세스를 개선합니다. WRR은 사용 가능한 처리 능력을 고려하지 않고 SPU 및 CPU 용량의 유형에만 따라 세션 처리 제한이 설정되기 때문에 시스템 리소스의 활용도를 밑도는 것으로 이어집니다.

적응 모드 세션 배포의 경우, 다음 공식은 SPU에 할당된 가중치를 계산하는 데 사용됩니다.

Wi = Sum(W1-n)*Ci*Si/Sum(C1-n*S1-n)

어디:

  • Wi- SPU에 할당된 중량.

  • Sum(W1-n)- 총 시스템 중량. 이 값은 지속됩니다.

  • n—총 SPU 수.

  • Ci—SPU의 사용 가능한 CPU 계산 성능.

  • Si—SPU의 사용 가능한 세션 용량.

적응 모드에서 하나의 SPU에서 CPU 사용량이 높은 경우 해당 SPU에 분산되는 세션이 더 적습니다. 다음 예제에서는 계산에 대해 설명합니다.

SPU가 두 개 있는 디바이스를 고려합니다. 각 SPU의 세션 용량은 1백만 개입니다.

특정 시간:

  • SPU1에 세션이 500,000개 있는 경우, CPU 사용량은 10%입니다.

    • SPU1(C1)의 사용 가능한 CPU 용량 = 1~10% = 90(퍼센트).

    • SPU1(S1) = 1-500,000/1M = 50(퍼센트)의 사용 가능한 세션 용량.

  • SPU2에 400,000개의 세션이 있으면 CPU 사용량이 20%입니다.

    • SPU2(C2)= 1~20% = 80(퍼센트)의 가용 용량.

    • SPU2(SPU2)= 1-400,000/1M= 60(퍼센트)의 사용 가능한 세션 용량.

전체 시스템의 중량이 100인 경우, 각 SPU에 대한 별도의 중량 값은 다음과 같습니다.

  • SPU1 중량(W1) = 100*90*50/(50*90+80*60) = 48

  • SPU2 중량(W2) = 100*80*60/(50*90+80*60) = 52

수신 세션의 경우 세션의 48%가 SPU1에 할당되고 패킷의 52%는 SPU2에 할당됩니다.

가중치 수치는 중앙 지점이 런타임 사용 정보를 확인하고 가중치를 새로운 값으로 조정하기 전에 짧은 기간 내에 시스템에 적용될 수 있습니다.

릴리스 기록 테이블
릴리스
설명
17.4R1
Junos OS 릴리스 17.4R1부터는 해시 기반 세션 배포 알고리즘을 기반으로 트래픽이 IOC에 의해 서로 다른 SPU에 해시되고 배포됩니다. 이 향상된 기능은 더 큰 고정 길이 해시 테이블을 사용하여 모든 SPU 간에 해시 분포를 제공합니다. 이전 Junos OS 릴리스에서 트래픽 분포는 고정 길이 해시 테이블로 인해 모든 SPU 사이에서 고르지 않았습니다.
15.1X49-D30
릴리스 15.1X49-D30 Junos OS SRX5000 시리즈 디바이스에 대해 더 높은 동시 세션 및 초당 연결(cps)을 처리하도록 중앙 포인트 아키텍처가 향상되었습니다.
15.1X49-D30
릴리스 15.1X49-D30 및 Junos OS 릴리스 17.3R1 Junos OS 시작하여 적응 모드 세션 배포를 중앙 포인트 아키텍처의 향상된 기능으로 대체했습니다.
15.1X49-D10
Junos OS 릴리스 15.1X49-D10 및 Junos OS 릴리스 17.3R1부터 해시 기반 세션 배포는 SRX5400, SRX5600 및 SRX5800 디바이스의 기본 모드입니다. 해시 키 선택은 애플리케이션 프로토콜에 따라 다릅니다.