IPv6-over-IPv4 터널
MPLS를 위한 IPv6 터널링 구성
MPLS 기반 IPv4 네트워크를 통해 IPv6 트래픽을 터널링하도록 MPLS에 대한 IPv6 터널링을 구성할 수 있습니다. 이 구성을 사용하면 IPv4 기반 네트워크 코어를 통해 여러 개의 소형 IPv6 네트워크를 상호 연결할 수 있으므로 코어 네트워크의 스위치를 업그레이드하지 않고도 IPv6 서비스를 제공할 수 있습니다. BGP는 IPv6 네트워크 간에 경로를 교환하도록 구성되며, IPv4 기반 MPLS를 통해 이러한 IPv6 네트워크 간에 데이터가 터널링됩니다.
EX 시리즈 스위치에서 MPLS를 위한 IPv6 터널링을 구성하려면:
예: MPLS IPv4 네트워크를 통한 IPv6 트래픽 터널링
이 예에서는 MPLS 기반 IPv4 네트워크를 통해 IPv6를 터널링하도록 Junos OS를 구성하는 방법을 보여줍니다. 외부 BGP(EBGP)는 고객 에지(CE)와 프로바이더 에지(PE) 디바이스 간에 사용됩니다. 원격 CE 디바이스는 루프 감지를 위한 AS 번호가 다릅니다.
요구 사항
이 예제를 구성하기 전에 디바이스 초기화 이외의 특별한 구성은 필요하지 않습니다.
개요
MPLS를 통한 IPv6의 주니퍼 네트웍스 구현에 대한 자세한 내용은 다음 인터넷 초안에 설명되어 있습니다.
-
인터넷 초안 draft-ietf-l3vpn-bgp-ipv6-07.txt, IPv6 VPN용 BGP-MPLS IP VPN 확장 (2006년 1월 만료)
-
인터넷 초안 draft-ooms-v6ops-bgp-tunnel-06.txt, IPv6 프로바이더 에지 라우터를 사용하여 IPv4 MPLS를 통해 IPv6 아일랜드 연결 (2006년 7월 만료)
이 인터넷 초안은 http://www.ietf.org/ 의 IETF 웹 사이트에서 사용할 수 있습니다.
이 예에서는 IPv4 기반 네트워크 코어를 통해 두 개의 IPv6 네트워크를 상호 연결하여 코어 네트워크의 라우터를 업그레이드하지 않고도 IPv6 서비스를 제공할 수 있는 방법을 보여줍니다. MP-BGP(Multiprotocol Border Gateway Protocol)는 IPv6 네트워크 간에 경로를 교환하도록 구성되며, IPv4 기반 MPLS를 통해 이러한 IPv6 네트워크 간에 데이터가 터널링됩니다.
에서 그림 1라우터 PE1 및 PE2는 듀얼 스택 BGP 라우터이므로 IPv4 및 IPv6 스택이 모두 있습니다. PE 라우터는 고객 에지(CE) 라우터를 통해 IPv6 네트워크를 IPv4 코어 네트워크에 연결합니다. CE 라우터와 PE 라우터는 IPv6 트래픽을 전달할 수 있는 링크 레이어를 통해 연결됩니다. PE 라우터는 CE 라우터 대면 인터페이스에서 IPv6를 사용하고 코어 대면 인터페이스에서 IPv4 및 MPLS를 사용합니다. 연결된 IPv6 네트워크 중 하나는 글로벌 IPv6 인터넷일 수 있습니다.
두 PE 라우터는 IPv4 주소를 사용하는 MP-BGP 세션을 통해 연결됩니다. 이들은 세션을 사용하여 IPv6(값 2) AFI(Address Family Indicator) 및 후속 AFI(SAFI)(값 4)와 IPv6 경로를 교환합니다. 각 PE 라우터는 이 세션에서 보급된 IPv6 경로의 다음 홉을 자체 IPv4 주소로 설정합니다. MP-BGP는 BGP 다음 홉이 NLRI(Network Layer Reachability Information)와 동일한 주소 패밀리에 해당해야 하므로 이 IPv4 주소는 IPv6 형식 내에 포함되어야 합니다.
PE 라우터는 라우팅 프로토콜 RIPng(Routing Information Protocol Next Generation) 또는 MP-BGP를 사용하거나 정적 구성을 통해 연결된 CE 라우터로부터 IPv6 경로를 학습할 수 있습니다. BGP가 PE-router-to-CE-router 프로토콜로 사용되는 경우 PE 라우터와 CE 라우터 간의 MP-BGP 세션은 IPv4 또는 IPv6 TCP(Transmission Control Protocol) 세션을 통해 발생할 수 있습니다. 또한 해당 세션에서 교환되는 BGP 경로에는 SAFI 유니캐스트가 있습니다. IBGP와 EBGP 간에, 그리고 BGP와 다른 프로토콜 간에 경로를 전달하도록 내보내기 정책을 구성해야 합니다.
PE 라우터에는 서로의 IPv4 주소로 라우팅되는 MPLS LSP가 있습니다. IPv4는 LDP 또는 RSVP를 통해 LSP에 대한 시그널링을 제공합니다. 이러한 LSP는 MP-BGP에서 학습된 IPv6 경로의 다음 홉 주소를 해결하는 데 사용됩니다. 다음 홉은 IPv4 매핑된 IPv6 주소를 사용하고 LSP는 IPv4 주소를 사용합니다.
PE 라우터는 항상 RFC 3032, MPLS 레이블 스택 인코딩에 정의된 IPv6에 대한 명시적 null 레이블인 레이블 값 2를 사용하여 IPv6 경로를 서로에게 보급합니다. 그 결과, 원격 PE 라우터에서 학습된 IPv6 경로에 대한 각 포워딩 다음 홉은 일반적으로 두 개의 레이블을 푸시합니다. 내부 레이블은 2(광고 PE 라우터가 주니퍼 네트웍스 라우팅 플랫폼이 아닌 경우 이 레이블은 다를 수 있음)이고, 외부 레이블은 LSP 레이블입니다. LSP가 단일 홉 LSP인 경우 레이블 2만 푸시됩니다.
PE 라우터가 SAFI 유니캐스트를 사용하여 일반 IPv6 경로를 교환하는 것도 가능합니다. 그러나 레이블이 지정된 IPv6 경로를 교환할 때 한 가지 주요 이점이 있습니다. MPLS LSP의 끝에서 두 번째 홉 라우터는 외부 레이블을 팝한 다음 내부 레이블이 있는 패킷을 MPLS 패킷으로 보낼 수 있습니다. 내부 레이블이 없으면 끝에서 두 번째 홉 라우터는 레이어 2 헤더의 프로토콜 필드를 올바르게 설정하기 위해 패킷이 IPv4 또는 IPv6 패킷인지 확인해야 합니다.
의 그림 1 PE1 라우터가 CE1 라우터로부터 IPv6 패킷을 수신하면 IPv6 포워딩 테이블에서 조회를 수행합니다. 대상이 CE2 라우터에서 학습한 접두사와 일치하면 레이블을 푸시할 필요가 없으며 패킷은 단순히 CE2 라우터로 전송됩니다. 대상이 PE2 라우터에서 학습한 접두사와 일치하는 경우 PE1 라우터는 두 개의 레이블을 패킷에 푸시하고 공급자 라우터로 보냅니다. 내부 레이블은 2이고 외부 레이블은 PE2 라우터의 LSP 레이블입니다.
서비스 프로바이더의 네트워크에 있는 각 프로바이더 라우터는 MPLS 패킷과 마찬가지로 패킷을 처리하며, 프로바이더 라우터에서 프로바이더 라우터로 전달될 때 레이블을 바꿉니다. LSP에 대한 PHP(Penultimate-Hop Provider) 라우터는 외부 레이블을 내보내고 패킷을 PE2 라우터로 보냅니다. PE2 라우터는 패킷을 수신하면 패킷의 IPv6 명시적 널 레이블(레이블 2)을 인식합니다. 이 레이블을 내보내고 IPv6 패킷으로 처리하여 IPv6 포워딩 테이블에서 조회를 수행하고 패킷을 CE3 라우터로 전달합니다.
이 예제에는 다음 설정이 포함되어 있습니다.
-
모든 CE 라우터 대면 인터페이스에서 문을 구성하는
family inet6
것 외에도 MPLS를 실행하는 모든 코어 대면 인터페이스에서도 문을 구성해야 합니다. 라우터가 이러한 인터페이스에서 수신하는 모든 IPv6 패킷을 처리할 수 있어야 하므로 두 구성이 모두 필요합니다. 이러한 인터페이스에 도착하는 일반 IPv6 트래픽은 표시되지 않지만 레이블 2 태그가 지정된 MPLS 패킷을 받게 됩니다. 레이블 2 MPLS 패킷이 IPv4로 전송되더라도 이러한 패킷은 기본 IPv6 패킷으로 취급됩니다. -
PE 라우터 구성에 명령문을 포함
ipv6-tunneling
시켜 IPv6 터널링을 활성화할 수 있습니다. 이 명령문을 사용하면 inet.3 라우팅 테이블에 저장된 모든 경로를 IPv4 매핑 IPv6 주소로 변환한 다음 inet6.3 라우팅 테이블로 복사하여 MPLS 네트워크를 통해 IPv6 경로를 확인할 수 있습니다. 이 라우팅 테이블은 inet6 및 inet6-vpn 경로 모두에 대한 다음 홉을 확인하는 데 사용할 수 있습니다.주:BGP는 기본 라우팅 테이블 그룹에서 보조 라우팅 테이블 그룹으로 경로를 복사하는 경우에도 가져오기 정책을 자동으로 실행합니다. IPv4 레이블이 지정된 경로가 BGP 세션에서 도착하는 경우(예: PE 라우터의 계층 수준에서 문을
[edit protocols bgp family inet]
구성한labeled-unicast
경우), inet6.3 라우팅 테이블에 복사 작업을 수행하는 동안 인접 라우터의 가져오기 정책이 실행되므로 BGP 인접 라우터의 가져오기 정책도 IPv6 경로를 허용합니다. -
IPv6 트래픽을 전송하도록 MP-BGP를 구성하면 대상 PE 라우터에서 IPv4 MPLS 레이블이 제거됩니다. 그런 다음 레이블이 없는 나머지 IPv6 패킷을 IPv6 네트워크로 전달할 수 있습니다. 이를 활성화하려면 BGP 구성에 문을 포함합니다
explicit-null
.
구성
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 [edit]
계층 수준에서 명령을 CLI로 복사해 붙여 넣습니다.
디바이스 PE1
set interfaces fe-1/2/0 unit 0 family inet6 address ::10.1.1.2/126 set interfaces fe-1/2/0 unit 0 family mpls set interfaces fe-1/2/1 unit 0 family inet address 10.1.1.5/30 set interfaces fe-1/2/1 unit 0 family inet6 set interfaces fe-1/2/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.1.1.2/32 set protocols mpls ipv6-tunneling set protocols mpls interface fe-1/2/0.0 set protocols mpls interface fe-1/2/1.0 set protocols bgp group toCE1 type external set protocols bgp group toCE1 local-address ::10.1.1.2 set protocols bgp group toCE1 family inet6 unicast set protocols bgp group toCE1 export send-bgp6 set protocols bgp group toCE1 peer-as 65001 set protocols bgp group toCE1 neighbor ::10.1.1.1 set protocols bgp group toPE2 type internal set protocols bgp group toPE2 local-address 10.1.1.2 set protocols bgp group toPE2 family inet6 labeled-unicast explicit-null set protocols bgp group toPE2 export next-hop-self set protocols bgp group toPE2 export send-v6 set protocols bgp group toPE2 neighbor 10.1.1.4 set protocols ospf area 0.0.0.0 interface fe-1/2/1.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ldp interface fe-1/2/1.0 set policy-options policy-statement next-hop-self then next-hop self set policy-options policy-statement send-bgp6 from family inet6 set policy-options policy-statement send-bgp6 from protocol bgp set policy-options policy-statement send-bgp6 then accept set policy-options policy-statement send-v6 from family inet6 set policy-options policy-statement send-v6 from protocol bgp set policy-options policy-statement send-v6 from protocol direct set policy-options policy-statement send-v6 then accept set routing-options router-id 10.1.1.2 set routing-options autonomous-system 65002
디바이스 PE2
set interfaces fe-1/2/0 unit 0 family inet address 10.1.1.10/30 set interfaces fe-1/2/0 unit 0 family inet6 set interfaces fe-1/2/0 unit 0 family mpls set interfaces fe-1/2/1 unit 0 family inet6 address ::10.1.1.13/126 set interfaces fe-1/2/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.1.1.4/32 set protocols mpls ipv6-tunneling set protocols mpls interface fe-1/2/0.0 set protocols mpls interface fe-1/2/1.0 set protocols bgp group toPE1 type internal set protocols bgp group toPE1 local-address 10.1.1.4 set protocols bgp group toPE1 family inet6 labeled-unicast explicit-null set protocols bgp group toPE1 export next-hop-self set protocols bgp group toPE1 export send-v6 set protocols bgp group toPE1 neighbor 10.1.1.2 set protocols bgp group toCE3 type external set protocols bgp group toCE3 local-address ::10.1.1.13 set protocols bgp group toCE3 family inet6 unicast set protocols bgp group toCE3 export send-bgp6 set protocols bgp group toCE3 peer-as 65003 set protocols bgp group toCE3 neighbor ::10.1.1.14 set protocols ospf area 0.0.0.0 interface fe-1/2/0.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ldp interface fe-1/2/0.0 set policy-options policy-statement next-hop-self then next-hop self set policy-options policy-statement send-bgp6 from family inet6 set policy-options policy-statement send-bgp6 from protocol bgp set policy-options policy-statement send-bgp6 then accept set policy-options policy-statement send-v6 from family inet6 set policy-options policy-statement send-v6 from protocol bgp set policy-options policy-statement send-v6 from protocol direct set policy-options policy-statement send-v6 then accept set routing-options router-id 10.1.1.4 set routing-options autonomous-system 65002
디바이스 P
set interfaces fe-1/2/0 unit 0 family inet address 10.1.1.6/30 set interfaces fe-1/2/0 unit 0 family inet6 set interfaces fe-1/2/0 unit 0 family mpls set interfaces fe-1/2/1 unit 0 family inet address 10.1.1.9/30 set interfaces fe-1/2/1 unit 0 family inet6 set interfaces fe-1/2/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.1.1.3/32 set protocols mpls interface fe-1/2/0.0 set protocols mpls interface fe-1/2/1.0 set protocols ospf area 0.0.0.0 interface fe-1/2/0.0 set protocols ospf area 0.0.0.0 interface fe-1/2/1.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ldp interface fe-1/2/0.0 set protocols ldp interface fe-1/2/1.0 set routing-options router-id 10.1.1.3 set routing-options autonomous-system 65002
디바이스 CE1
set interfaces fe-1/2/0 unit 0 family inet6 address ::10.1.1.1/126 set interfaces lo0 unit 0 family inet6 address ::10.255.1.1/128 set protocols bgp group toPE1 type external set protocols bgp group toPE1 local-address ::10.1.1.1 set protocols bgp group toPE1 family inet6 unicast set protocols bgp group toPE1 export send-v6 set protocols bgp group toPE1 peer-as 65002 set protocols bgp group toPE1 neighbor ::10.1.1.2 set policy-options policy-statement send-v6 from family inet6 set policy-options policy-statement send-v6 from protocol direct set policy-options policy-statement send-v6 then accept set routing-options router-id 10.255.1.1 set routing-options autonomous-system 65001
디바이스 CE3
set interfaces fe-1/2/0 unit 0 family inet6 address ::10.1.1.14/126 set interfaces lo0 unit 0 family inet6 address ::10.255.1.5/128 set protocols bgp group toPE2 type external set protocols bgp group toPE2 local-address ::10.1.1.14 set protocols bgp group toPE2 family inet6 unicast set protocols bgp group toPE2 export send-v6 set protocols bgp group toPE2 peer-as 65002 set protocols bgp group toPE2 neighbor ::10.1.1.13 set policy-options policy-statement send-v6 from family inet6 set policy-options policy-statement send-v6 from protocol direct set policy-options policy-statement send-v6 then accept set routing-options router-id 10.255.1.5 set routing-options autonomous-system 65003
디바이스 PE1 구성하기
단계별 절차
다음 예는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색 관련 정보는 Junos OS CLI 사용자 가이드의 구성 모드에서의 CLI 편집기 사용을 참조하십시오.
디바이스 PE1 구성:
-
인터페이스를 구성합니다.
[edit interfaces] user@PE1# set fe-1/2/0 unit 0 family inet6 address ::10.1.1.2/126 user@PE1# set fe-1/2/0 unit 0 family mpls user@PE1# set fe-1/2/1 unit 0 family inet address 10.1.1.5/30 user@PE1# set fe-1/2/1 unit 0 family inet6 user@PE1# set fe-1/2/1 unit 0 family mpls user@PE1# set lo0 unit 0 family inet address 10.1.1.2/32
-
인터페이스에서 MPLS를 구성합니다.
[edit protocols mpls] user@PE1# set ipv6-tunneling user@PE1# set interface fe-1/2/0.0 user@PE1# set interface fe-1/2/1.0
-
BGP를 구성합니다.
[edit protocols bgp] user@PE1# set group toCE1 type external user@PE1# set group toCE1 local-address ::10.1.1.2 user@PE1# set group toCE1 family inet6 unicast user@PE1# set group toCE1 export send-bgp6 user@PE1# set group toCE1 peer-as 65001 user@PE1# set group toCE1 neighbor ::10.1.1.1 user@PE1# set group toPE2 type internal user@PE1# set group toPE2 local-address 10.1.1.2 user@PE1# set group toPE2 family inet6 labeled-unicast explicit-null user@PE1# set group toPE2 export next-hop-self user@PE1# set group toPE2 export send-v6 user@PE1# set group toPE2 neighbor 10.1.1.4
-
OSPF 구성
[edit protocols ospf area 0.0.0.0] user@PE1# set interface fe-1/2/1.0 user@PE1# set interface lo0.0 passive
-
신호 프로토콜을 구성합니다.
[edit protocols] user@PE1# set ldp interface fe-1/2/1.0
-
라우팅 정책을 구성합니다.
[edit policy-options] user@PE1# set policy-statement next-hop-self then next-hop self user@PE1# set policy-statement send-bgp6 from family inet6 user@PE1# set policy-statement send-bgp6 from protocol bgp user@PE1# set policy-statement send-bgp6 then accept user@PE1# set policy-statement send-v6 from family inet6 user@PE1# set policy-statement send-v6 from protocol bgp user@PE1# set policy-statement send-v6 from protocol direct user@PE1# set policy-statement send-v6 then accept
-
라우터 ID 및 AS(Autonomous System) 번호를 구성합니다.
[edit routing-options] user@PE1# set router-id 10.1.1.2 user@PE1# set autonomous-system 675002
결과
구성 모드에서 show interfaces
, show policy-options
, show protocols
및 show routing-options
명령을 입력하여 구성을 확인합니다. 출력 결과가 의도한 구성대로 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오.
user@R1# show interfaces fe-1/2/0 { unit 0 { family inet6 { address ::10.1.1.2/126; } family mpls; } } fe-1/2/1 { unit 0 { family inet { address 10.1.1.5/30; } family inet6; family mpls; } } lo0 { unit 0 { family inet { address 10.1.1.2/32; } } }
user@R1# show policy-options policy-statement next-hop-self { then { next-hop self; } } policy-statement send-bgp6 { from { family inet6; protocol bgp; } then accept; } policy-statement send-v6 { from { family inet6; protocol [ bgp direct ]; } then accept; }
user@R1# show protocols mpls { ipv6-tunneling; interface fe-1/2/0.0; interface fe-1/2/1.0; } bgp { group toCE1 { type external; local-address ::10.1.1.2; family inet6 { unicast; } export send-bgp6; peer-as 65001; neighbor ::10.1.1.1; } group toPE2 { type internal; local-address 10.1.1.2; family inet6 { labeled-unicast { explicit-null; } } export [ next-hop-self send-v6 ]; neighbor 10.1.1.4; } } ospf { area 0.0.0.0 { interface fe-1/2/1.0; interface lo0.0 { passive; } } } ldp { interface fe-1/2/1.0; }
user@R1# show routing-options router-id 10.1.1.2; autonomous-system 65002;
디바이스 구성을 마쳤으면 구성 모드에서 commit
을(를) 입력합니다. 에 표시된 CLI 빠른 구성대로 토폴로지의 다른 디바이스를 구성합니다.
검증
구성이 올바르게 작동하고 있는지 확인합니다.
CE 디바이스가 연결되어 있는지 확인
목적
터널이 작동 중인지 확인합니다.
작업
운영 모드에서 ping
명령을 입력합니다.
user@CE1> ping ::10.1.1.14 PING6(56=40+8+8 bytes) ::10.1.1.1 --> ::10.1.1.14 16 bytes from ::10.1.1.14, icmp_seq=0 hlim=61 time=10.687 ms 16 bytes from ::10.1.1.14, icmp_seq=1 hlim=61 time=9.239 ms 16 bytes from ::10.1.1.14, icmp_seq=2 hlim=61 time=1.842 ms
user@CE3> ping ::10.1.1.1 PING6(56=40+8+8 bytes) ::10.1.1.14 --> ::10.1.1.1 16 bytes from ::10.1.1.1, icmp_seq=0 hlim=61 time=1.484 ms 16 bytes from ::10.1.1.1, icmp_seq=1 hlim=61 time=1.338 ms 16 bytes from ::10.1.1.1, icmp_seq=2 hlim=61 time=1.351 ms
의미
IPv6 CE 디바이스는 코어 IPv4 네트워크를 통해 통신할 수 있습니다.