예: EX4550 스위치에서 OpenFlow 활성화
OpenFlow는 경로를 따라 EX4550 스위치를 포함한 각 디바이스에서 플로우를 생성, 삭제 및 수정하여 네트워크의 트래픽 경로를 제어할 수 있는 개방형 표준입니다. 이 예에서는 EX4550 스위치에서 OpenFlow 지원을 구성하는 방법을 보여줍니다.
요구 사항
이 예에서 사용되는 하드웨어 및 소프트웨어 구성 요소는 다음과 같습니다.
Junos OS 릴리스 13.2X51-D15 이상 릴리스를 실행하는 EX4550 스위치.
설치된 디바이스의 Junos OS 릴리스와 일치하는 소프트웨어 패키지 릴리스가 포함된 OpenFlow 소프트웨어 패키지.
스위치와 OpenFlow 컨트롤러 간의 TCP 연결로, 스위치의 데이터 플레인에 액세스해야 합니다.
스위치의 me0 인터페이스와 관리 네트워크 간의 연결입니다.
개요
이 예에서는 EX4550 스위치에서 OpenFlow에 대한 지원을 구성합니다. 스위치에는 OpenFlow 트래픽 처리 전용 인터페이스 3개(xe-0/0/4.0, xe-0/0/5.0, xe-0/0/6.0)가 있습니다. EX4550 스위치에서는 OpenFlow 인터페이스에 대해 논리 장치 번호 0을 사용하여 단일 논리 장치만 구성할 수 있습니다.
OpenFlow 토폴로지에서 가상 스위치는 OpenFlow 트래픽을 격리하고 제어하는 데 사용됩니다. 계층 수준에서 OpenFlow 가상 스위치 및 OpenFlow 프로토콜 문을 [edit protocols openflow]
구성합니다. 이 예에서 가상 스위치 100에는 논리적으로 별개의 플러드 도메인 역할을 하는 기본 VLAN이 할당됩니다. 가상 스위치 100에 대한 기본 VLAN의 할당은 자동으로 이루어지며, 기본 VLAN을 설정하는 데 구성이 필요하지 않습니다.
또한 가상 스위치(100)는 IP 주소 198.51.100.174에서 TCP 연결을 통해 컨트롤러에 연결됩니다. 가상 스위치 구성에는 OpenFlow에 참여하는 모든 논리 인터페이스가 포함되어야 하며, OpenFlow 트래픽은 이러한 인터페이스에 들어오거나 나가는 것뿐입니다.
플로우 항목은 OpenFlow 인터페이스에 들어오는 패킷을 비교하는 일치 조건과 조건과 일치하는 패킷에 적용되는 작업으로 구성됩니다. 각 OpenFlow 인터페이스에는 하나 이상의 플로우 항목이 있을 수 있습니다. OpenFlow 구성의 문은 default-action
일치하는 플로우 항목이 없는 패킷에 스위치가 적용하는 작업을 나타냅니다. 명령문을 생략 default-action
하는 경우, 기본 작업은 packet-in
이며, 이는 일치하는 플로우 항목이 없는 패킷이 처리를 위해 컨트롤러로 전송됨을 의미합니다. 이 예는 일치하는 플로우 항목이 없는 패킷에 대한 기본 작업으로 명시적으로 를 구성합니다 packet-in
.
또한 이 예에서는 모든 OpenFlow 이벤트를 캡처하고 기록하기 위한 문과 flag all
함께 OpenFlow traceoptions를 구성합니다. 이 예제에서는 로그 파일에 대한 특정 파일 이름을 구성하지 않으므로 OpenFlow 이벤트는 기본 OpenFlow 로그 디렉토리 /var/log/ofd에 기록됩니다.
구성
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 변경하고, 계층 수준에서 명령을 CLI로 [edit]
복사해 붙여 넣은 다음, 구성 모드에서 을 입력합니다 commit
.
set interfaces xe-0/0/4 unit 0 family ethernet-switching set interfaces xe-0/0/5 unit 0 family ethernet-switching set interfaces xe-0/0/6 unit 0 family ethernet-switching set protocols openflow switch 100 controller address 198.51.100.174 set protocols openflow switch 100 controller protocol tcp set protocols openflow switch 100 interfaces xe-0/0/4.0 set protocols openflow switch 100 interfaces xe-0/0/5.0 set protocols openflow switch 100 interfaces xe-0/0/6.0 set protocols openflow switch 100 default-action packet-in set protocols openflow traceoptions flag all
절차
단계별 절차
OpenFlow에 대한 지원을 구성하려면 다음을 수행합니다.
OpenFlow 인터페이스를 레이어 2 인터페이스로 구성합니다.
[edit interfaces] user@switch# set xe-0/0/4 unit 0 family ethernet-switching user@switch# set xe-0/0/5 unit 0 family ethernet-switching user@switch# set xe-0/0/6 unit 0 family ethernet-switching
OpenFlow 가상 스위치를 구성합니다.
[edit protocols openflow] user@switch# set switch 100
OpenFlow 컨트롤러 IP 주소와 연결 프로토콜을 구성합니다.
[edit protocols openflow switch 100] user@switch# set controller address 198.51.100.174 user@switch# set controller protocol tcp
이 가상 스위치 아래에서 OpenFlow에 참여하는 논리적 인터페이스를 구성합니다.
[edit protocols openflow switch 100] user@switch# set interfaces xe-0/0/4.0 user@switch# set interfaces xe-0/0/5.0 user@switch# set interfaces xe-0/0/6.0
일치하는 플로우 항목이 없는 패킷에 대한 기본 작업을 구성합니다.
[edit protocols openflow switch 100] user@switch# set default-action packet-in
OpenFlow traceoptions를 구성합니다.
[edit protocols openflow] user@switch# set traceoptions flag all
구성을 커밋합니다.
[edit] user@switch# commit
결과
운영 모드에서 및 show configuration protocols openflow
명령을 입력하여 show configuration interfaces
구성을 확인합니다. 출력에 의도한 구성이 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오.
user@switch> show configuration interfaces xe-0/0/4 { unit 0 { family ethernet-switching; } } xe-0/0/5 { unit 0 { family ethernet-switching; } } xe-0/0/6 { unit 0 { family ethernet-switching; } }
user@switch> show configuration protocols openflow switch 100 { default-action packet-in; interfaces { xe-0/0/4.0; xe-0/0/5.0; xe-0/0/6.0; } controller { address 198.51.100.174; protocol tcp; } } traceoptions { flag all; }
확인
구성이 올바르게 작동하고 있는지 확인합니다.
OpenFlow Controller 연결이 작동 중인지 확인하기
목적
OpenFlow 컨트롤러 연결이 작동 중인지 확인합니다.
작업
show openflow controller
작동 모드 명령을 실행하고 컨트롤러 연결 상태가 up
인지 확인합니다. 가상 스위치 구성에는 컨트롤러가 하나뿐이므로 구성을 커밋한 후 가상 스위치가 자동으로 컨트롤러에 대한 연결을 시작해야 합니다.
user@switch> show openflow controller Openflowd controller information: Controller socket: 12 Controller IP address: 198.51.100.174 Controller protocol: tcp Controller port: 6633 Controller connection state: up Number of connection attempt: 4 Controller role: equal
의미
출력은 컨트롤러에 대한 다른 정보와 함께 OpenFlow 컨트롤러 up
의 연결 상태가 임을 보여줍니다.
OpenFlow 인터페이스가 작동 중인지 확인
목적
OpenFlow 인터페이스가 상태 Up
인지 확인합니다.
작업
show openflow interfaces
운영 모드 명령을 실행하고 각 OpenFlow 인터페이스의 상태가 인지 Up
확인합니다.
user@switch> show openflow interfaces Switch name: 100 Interface Name: xe-0/0/4.0 Interface port number: 41507 Interface Hardware Address: 00:00:5e:00:53:00 Interface speed: 10Gb Full-duplex Interface Auto-Negotiation: Disabled Interface media type: Fiber Interface state: Up Switch name: 100 Interface Name: xe-0/0/5.0 Interface port number: 44538 Interface Hardware Address: 00:00:5e:00:53:01 Interface speed: 10Gb Full-duplex Interface Auto-Negotiation: Disabled Interface media type: Fiber Interface state: Up Switch name: 100 Interface Name: xe-0/0/6.0 Interface port number: 45549 Interface Hardware Address: 00:00:5e:00:53:02 Interface speed: 10Gb Full-duplex Interface Auto-Negotiation: Disabled Interface media type: Fiber Interface state: Up
의미
출력은 인터페이스에 대한 다른 정보와 더불어 OpenFlow 인터페이스의 Up
상태가 임을 보여줍니다.