يصف هذا المستند آلية يتم من خلالها تقليل تبادل بادئات VPNv4 و VPNv6 نحو موجهات Provider Edge (PE) إلى الحد الأدنى اللازم.
باستخدام Multiprotocol Label Switching (MPLS) VPN، يرسل نظير بروتوكول العبارة الداخلية (iBGP) أو عاكس المسار (RR) جميع بادئات VPN4 و/أو VPN6 إلى موجهات PE. يسقط موجه PE البادئات VPN4/6 التي لا يوجد لها إستيراد توجيه VPN وإعادة التوجيه (VRF). هذا سلوك حيث يرسل RR بادئات VPN4/6 إلى موجه PE، والذي لا يحتاج إليه. هذا مضيعة لقوة المعالجة في RR و PE وهدر للنطاق الترددي.
مع قيد هدف المسار (RTC)، يرسل RR البادئات VPN4/6 المطلوبة فقط إلى PE. تعني "مطلوب" أن PE يحتوي على VRF لاستيراد البادئات المحددة.
يقوم RFC 4684 بتحديد RTC. الدعم من خلال عامل تصفية جديد لعائلة العناوين لكل من VPNv4 و VPNv6.
يتم الحصول على معلومات تصفية هدف المسار (RT) من قائمة إستيراد VPN RT من جميع شبكات VRF على موجه PE. يرسل موجه PE معلومات التصفية هذه كتحديث BGP في تصفية فئة العناوين إلى RR. يتم تشفير معلومات التصفية هذه أو عضوية RT في معلومات قابلية الوصول إلى طبقة الشبكة (NLRI) من سمات MP_REACH_NLRI و MP_UNREACH_NLRI.
يترجم نظير BGP المستقبل NLRI هذا إلى مرشح ويثبت هذا المرشح الصادر إلى النظير المرسل. يستخدم نظير BGP المستقبل عامل التصفية هذا لتحديد بادئات VPNv4/6 التي سيتم إرسالها أو عدم إرسالها، وفقا لوجود RTs المرفقة.
لكي يعمل RTC، يحتاج كل من نظراء BGP إلى دعم RTC. وهذا يعني أن الاستجابة السريعة والخلفية بحاجة إلى دعمها. ومع ذلك، يمكن أن يكون النشر تدريجيا، ما يعني أنه لا يلزم لجميع موجهات RR و PE دعمها في عملية انتقال واحدة. يمكن أن يعمل RTC في الشبكة، مع دعم بعض موجهات PE له وبعضها الآخر غير ذلك. على الموجهات التي تدعمها، سيكون RTC نشطا بالفعل. على الموجهات التي لا تدعمها بعد، ستعمل الإعلانات كما كانت من قبل، وذلك دون RTC (هكذا دون أي تصفية صادرة).
يوضح هذا الرقم مبدأ مركز التدريب الإقليمي:
يرسل ال RR كل VPN4/6 بادئات إلى ال PE. فيسقط ال PE تلك التي لا يوجد لها إستيراد من ال RT. تظهر تحديثات Debug BGP البادئات المسقطة. يتم تقديم الرسالة "مرفوض بسبب: مجتمع موسع غير مدعوم".
فيما يلي مثال على البث الأحادي ل VPNv4:
BGP(4): 10.100.1.3 rcvd UPDATE w/ att: nexthop 10.100.1.1, origin i, localpref 100,
metric 0, originator 10.100.1.1, clusterlist 10.100.1.3, merged path 65003,
AS_PATH , extended community RT:1:2
BGP(4): 10.100.1.3 rcvd 1:2:10.100.1.6/32, label 27 -- DENIED due to: extended
community not supported;
فيما يلي مثال على البث الأحادي ل VPNv6:
BGP(5): 10.100.1.3 rcvd UPDATE w/ attr: nexthop ::FFFF:10.100.1.1, origin i,
localpref 100, metric 0, originator 10.100.1.1, clusterlist 10.100.1.3,
merged path 65003, AS_PATH , extended community RT:1:2
BGP(5): 10.100.1.3 rcvd [1:2]2001:10:100:1::6/128, label 23 -- DENIED due to:
extended community not supported;
vrf definition green
rd 1:2
route-target export 1:2
route-target import 1:2
!
address-family ipv4
exit-address-family
!
vrf definition red
rd 1:1
route-target export 1:1
route-target import 1:1
!
address-family ipv4
exit-address-family
!
address-family ipv6
exit-address-family
router bgp 1
bgp log-neighbor-changes
neighbor 10.100.1.3 remote-as 1
neighbor 10.100.1.3 update-source Loopback0
neighbor 10.100.1.4 remote-as 1
neighbor 10.100.1.4 update-source Loopback0
!
address-family vpnv4
neighbor 10.100.1.3 activate
neighbor 10.100.1.3 send-community both
neighbor 10.100.1.4 activate
neighbor 10.100.1.4 send-community both
exit-address-family
!
address-family rtfilter unicast
neighbor 10.100.1.3 activate
neighbor 10.100.1.3 send-community extended
exit-address-family
!
address-family ipv4 vrf green
neighbor 10.1.6.6 remote-as 65003
neighbor 10.1.6.6 activate
neighbor 10.1.6.6 send-community both
exit-address-family
!
address-family ipv4 vrf red
neighbor 10.1.5.5 remote-as 65001
neighbor 10.1.5.5 activate
neighbor 10.1.5.5 send-community both
exit-address-family
router bgp 1
bgp log-neighbor-changes
neighbor 10.100.1.1 remote-as 1
neighbor 10.100.1.1 update-source Loopback0
neighbor 10.100.1.2 remote-as 1
neighbor 10.100.1.2 update-source Loopback0
!
address-family vpnv4
neighbor 10.100.1.1 activate
neighbor 10.100.1.1 send-community both
neighbor 10.100.1.1 route-reflector-client
neighbor 10.100.1.2 activate
neighbor 10.100.1.2 send-community both
neighbor 10.100.1.2 route-reflector-client
exit-address-family
!
address-family rtfilter unicast
neighbor 10.100.1.1 activate
neighbor 10.100.1.1 send-community both
neighbor 10.100.1.1 route-reflector-client
neighbor 10.100.1.1 default-originate
exit-address-family
عندما يتم إنشاء نظير BGP، يقوم النظراء بتبادل إمكانية RTFILTER، وهي 1/132 (ل VPNV4 و VPNV6).
RR1# show bgp rtfilter unicast all neighbors 10.100.1.1
BGP neighbor is 10.100.1.1, remote AS 1, internal link
BGP version 4, remote router ID 10.100.1.1
BGP state = Established, up for 00:14:28
Last read 00:00:01, last write 00:00:56, hold time is 180,
keepalive interval is 60 seconds
Neighbor sessions:
1 active, is not multisession capable (disabled)
Neighbor capabilities:
Route refresh: advertised and received(new)
Four-octets ASN Capability: advertised and received
Address family IPv4 Unicast: received
Address family VPNv4 Unicast: advertised and received
Address family VPNv6 Unicast: advertised and received
Address family RT Filter: advertised and received
Enhanced Refresh Capability: advertised and received
Multisession Capability:
Stateful switchover support enabled: NO for session 1
Message statistics:
InQ depth is 0
OutQ depth is 0
Sent Rcvd
Opens: 1 1
Notifications: 0 0
Updates: 6 7
Keepalives: 17 18
Route Refresh: 0 0
Total: 24 30
Default minimum time between advertisement runs is 0 seconds
For address family: VPNv4 Unicast
Session: 10.100.1.1
BGP table version 65, neighbor version 65/0
Output queue size : 0
Index 19, Advertise bit 1
Route-Reflector Client
19 update-group member
RT Filter activate
Community attribute sent to this neighbor
Slow-peer detection is disabled
Slow-peer split-update-group dynamic is disabled
Sent Rcvd
...
For address family: VPNv6 Unicast
Session: 10.100.1.1
BGP table version 5, neighbor version 5/0
Output queue size : 0
Index 3, Advertise bit 1
Route-Reflector Client
3 update-group member
RT Filter activate
Community attribute sent to this neighbor
Slow-peer detection is disabled
Slow-peer split-update-group dynamic is disabled
...
For address family: RT Filter
Session: 10.100.1.1
BGP table version 52, neighbor version 52/0
Output queue size : 0
Index 13, Advertise bit 0
Route-Reflector Client
13 update-group member
NEXT_HOP is always this router for eBGP paths
Community attribute sent to this neighbor
Default information originate, default sent
Slow-peer detection is disabled
Slow-peer split-update-group dynamic is disabled
Sent Rcvd
Prefix activity: ---- ----
Prefixes Current: 1 2 (Consumes 160 bytes)
Prefixes Total: 1 2
Implicit Withdraw: 0 0
Explicit Withdraw: 0 0
Used as bestpath: n/a 2
Used as multipath: n/a 0
Outbound Inbound
Local Policy Denied Prefixes: -------- -------
Bestpath from iBGP peer: 2 n/a
Total: 2 0
Number of NLRIs in the update sent: max 1, min 0
Last detected as dynamic slow peer: never
Dynamic slow peer recovered: never
Refresh Epoch: 1
Last Sent Refresh Start-of-rib: never
Last Sent Refresh End-of-rib: never
Last Received Refresh Start-of-rib: never
Last Received Refresh End-of-rib: never
Sent Rcvd
Refresh activity: ---- ----
Refresh Start-of-RIB 0 0
Refresh End-of-RIB 0 0
Address tracking is enabled, the RIB does have a route to 10.100.1.1
Connections established 16; dropped 15
Last reset 00:14:28, due to Peer closed the session of session 1
Transport(tcp) path-mtu-discovery is enabled
Graceful-Restart is disabled
debug bgp all
BGP: 10.100.1.3 active rcvd OPEN w/ optional parameter type 2 (Capability) len 6
BGP: 10.100.1.3 active OPEN has CAPABILITY code: 1, length 4
BGP: 10.100.1.3 active OPEN has MP_EXT CAP for afi/safi: 1/132
BGP: 10.100.1.3 accept RTC SAFI
PE1# show bgp rtfilter unicast rt 1:1
BGP routing table entry for 1:2:1:1, version 3
Paths: (1 available, best #1)
Advertised to update-groups:
13
Refresh Epoch 1
Local
0.0.0.0 from 0.0.0.0 (10.100.1.1)
Origin IGP, localpref 100, weight 32768, valid, sourced, local, best
RT generation: import
rx pathid: 0, tx pathid: 0x0
يستخدم AF RTFILTER أيضا مجموعات التحديث:
PE1# show bgp rtfilter unicast all update-group 13
BGP version 4 update-group 13, internal, Address Family: RT Filter
BGP Update version : 12/0, messages 0
Extended-community attribute sent to this neighbor
Topology: global, highest version: 12, tail marker: 12
Format state: Current working (OK, last not in list)
Refresh blocked (not in list, last not in list)
Update messages formatted 1, replicated 1, current 0, refresh 0, limit 1000
Number of NLRIs in the update sent: max 2, min 0
Minimum time between advertisement runs is 0 seconds
Has 1 member:
10.100.1.3
تحقق من RTFilter الذي تم إرساله بواسطة PE:
PE1# show bgp rtfilter unicast all neighbors 10.100.1.3 advertised-routes
BGP table version is 8, local router ID is 10.100.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 1:2:1:1 0.0.0.0 32768 i
*> 1:2:1:2 0.0.0.0 32768 i
Total number of prefixes 2
يتم ترميز بادئة عضوية المسار الهدف بمقدار 4 بايت لرقم النظام الذاتي و 8 بايت لهدف المسار، وهي سمة مجتمع موسعة. في المثال أعلاه، يتم فك بادئة RTFILTER "1:2:1:1" كما يلي:
يرسل RR عامل التصفية الافتراضي إلى PE (RR-client). وذلك نظرا لأن RR يحتاج من خلال التصميم إلى جميع مسارات VPNv4:
BGP(10): (base) 10.100.1.1 send UPDATE (format) 0:0:0:0, next 10.100.1.3,
metric 0, path Local
يستقبل PE عامل تصفية RT افتراضي ويثبته. على سبيل المثال، يرسل كل شيء إلى RR:
(تحديثات البث الأحادي ل debug bgp rtfilter)
BGP(10): 10.100.1.3 rcvd UPDATE w/ attr: nexthop 10.100.1.3, origin i,
localpref 100, metric 0, community no-export
BGP(10): 10.100.1.3 rcvd 0:0:0:0
BGP(4): Default RT filter installed for 10.100.1.3
يستقبل RR عامل تصفية المسار من PE1 ويثبته:
(تحديثات البث الأحادي ل debug bgp rtfilter)
BGP(10): 10.100.1.1 rcvd UPDATE w/ attr: nexthop 10.100.1.1, origin i,
localpref 100, metric 0
BGP(10): 10.100.1.1 rcvd 1:2:1:1
BGP(4): 1:2:1:1 RT filter installed for 10.100.1.1
BGP: installing rt filter on 10.100.1.1
BGP: add installed RT filter 1:2:1:1 for 10.100.1.1
BGP(10): 10.100.1.1 rcvd 1:2:1:2
BGP(4): 1:2:1:2 RT filter installed for 10.100.1.1
BGP(4): 1:2:1:2 Initiating an incremental table walk for 10.100.1.1
BGP: installing rt filter on 10.100.1.1
BGP: add installed RT filter 1:2:1:2 for 10.100.1.1
تحقق من عوامل التصفية المستلمة على RR:
RR1# show bgp vpnv4 unicast all neighbors 10.100.1.1 received rtfilters
Address family: VPNv4 Unicast
Extended community filter has: 2 entries with default filtering disabled
Incremental refresh walk mode
Status codes: * valid, S Stale > installed
Route-Target Outbound Filter
*> Extended Community RT:1:2
*> Extended Community RT:1:1
لا يقوم PE بتثبيت عامل تصفية RT باستخدام RTs معينة. تلقى PE عامل تصفية RT الافتراضي من RR، لذلك يرسل PE جميع بادئات VPNv4/v6:
PE1# show bgp vpnv4 unicast all neighbors 10.100.1.3 received rtfilters
Address family: VPNv4 Unicast
Extended community filter has: 1 entries with default filtering enabled
Incremental refresh walk mode
لإنشاء عامل تصفية RT افتراضي، قم بتكوين "neighbor x.x.x.x default-originate" أسفل AF RTFILTER.
سيتم إنشاء هذا تلقائيا على RR لقيم عملاء RR.
router bgp 1
address-family rtfilter unicast
neighbor 10.100.1.1 activate
neighbor 10.100.1.1 send-community both
neighbor 10.100.1.1 route-reflector-client
neighbor 10.100.1.1 default-originate
exit-address-family
عند تكوين إستيراد RT جديد أو عند إزالة إستيراد RT، يتم إرسال تحديث مسار من PE إلى RR لعائلات العناوين VPNv4/6.
عند تكوين تردد VRF جديد، يرسل PE تحديث توجيه إلى RR.
في كلا الحالتين مع RTC نشط، لا يرسل ال RR جميع بادئات VPNv4/6 إلى PE. إنها ترسل المجموعة فقط وفقا لعامل تصفية RT.
المراجعة | تاريخ النشر | التعليقات |
---|---|---|
1.0 |
30-Apr-2013 |
الإصدار الأولي |