Professional Documents
Culture Documents
MPLS Co Ban
MPLS Co Ban
a. Đơn giản trong việc vận hành với chỉ 1 hạ tầng mạng chung cho đa dịch vụ
Với MPLS, chúng ta có thể mở rộng khả năng truyền tải đa dịch vụ. Bằng cách gán thêm nhãn cho
các gói tin, mạng IP MPLS có khả cung cấp hạ tầng truyền dẫn cho nhiều giao thức L2, L3 khác như:
IPv4, IPv6, Ethernet, HDLC, PPP …Các router trong miền MPLS không cần phải có khả năng xử lý
giao thức được đóng gói bên trong (Payload), chỉ cần có khả năng chuyển mạch traffic đã được đóng
nhãn
H2: Minh họa về transport các giao thức L2 qua hạ tầng IP MPLS
c. Thuận tiện cho việc triển khai peer-to-peer VPN model so với overlay VPN model
Kết nối VPN là một môi trường mạng private được thiết lập trên một hạ tầng mạng chung, kết nối
VPN yêu cầu cung cấp khả năng kết nối giữa các site của khách hàng và kết nối này phải tách biệt
hoàn toàn với kết nối VPN của khách hàng khác. Để làm được việc đó Service Provider có 2 giải pháp
chính là :
Overlay VPN Model
Peer-to-peer VPN Model
Ở mô hình Overlay, Service provider cung cấp kết nối điểm – điểm hoặc kênh ảo (VC) giữa router
của khách hàng thông qua hạ tầng transport của mình. Giữa router của khách hàng và Service
Provider không trao đổi thông tin định tuyến. Service provider đơn thuần là thiết lập môi trường kết
nối giữa các router khách hàng, các router khách hàng về L3 nhìn thấy nhau như kết nối connected
trực tiếp
H5: Tổng quan mô hình VPN Overlay
Ở mô hình peer-to-peer, router của Service provider tham gia vào việc trao đổi định tuyến với các
router khách hàng. Thông qua đó để có thông tin định tuyến phục vụ việc truyền tải dữ liệu
b. Lable stacking
Trong mạng MPLS, router có thể cần sử dụng nhiều hơn 1 nhãn để chuyển tiếp gói tin đi qua mạng
MPLS. Khi đó tập nhãn sử dụng được đóng gói thành 1 lable stack
b. Label distribution
Để việc chuyển tiếp gói tin được đánh nhãn được chính xác, cần phải có cơ chế trao đổi thông tin
nhãn giữa các LSR.
Ví dụ đơn giản nhất của mạng MPLS là mạng Plain IPv4 over MPLS, giao thức định tuyến được sử
dụng là IGP (OSPF, ERGIP, IS-IS..) Để có thể hoạt động chính xác thì giữa các LSR cần trao đổi
thông tin nhãn nào được sử dụng dành cho mỗi prefix. Dựa vào thông tin nhãn trao đổi qua lại giữa
các router LSR láng giềng mà các router LSR có thể xác định swap giữa incoming và outgoing labels
cho phù hợp
Có 2 giải pháp được đề ra để xử lý việc phân phối nhãn:
- Mở rộng khả năng phân phối nhãn trên giao thức routing: Ưu điểm của phương án này là
định tuyến và phân phối nhãn luôn đồng bộ. Nhược điểm là đối với các giao thức link-
state thông tin trao đổi giữa các neighbor là trạng thái đường link, không phải thông tin về
prefix sẽ cần có cơ chế riêng để phân phối nhãn cho các prefix không phải do router sinh
ra. Hiện nay không có giao thức IGP nào được thiết kế thêm để triển khai phương án này.
Chỉ có BGP là giao thức EGP có khả năng phân phối nhãn, giao thức BGP được sử dụng
chính trong môi trường mạng MPLS VPN
- Xây dựng giao thức phân phối nhãn riêng biệt: Ưu điểm là độc lập với giao thức định
tuyến, chuyên xử lý việc phân phối nhãn nên có thể làm việc với đa giao thức định tuyến.
Nhược điểm là trên các router LSR cần chạy thêm 1 giao thức phân phối nhãn nữa. Các
giao thức phân phối nhãn hiện tại gồm : LDP và RSVP
Với mỗi 1 prefix trong bảng IP routing talbe, mỗi router LSR tạo ra 1 local binding. LSR router sau
đó quảng bá prefix + local binding đến các LDP neighbor. Binding này trở thành remote binding đối
với các LDP neighbor
Local và remote binding được lưu trữ trong bảng LIB
Đối với cơ chế gán nhãn per-platform, mỗi prefix chỉ có 1 local binding. Còn remote binding thì có
thể có nhiều. Để xây dựng bảng LFIB cần bảng routing-table xác định next-hop của prefix, LSR
router chọn remote binding nhận từ downstream LSR, là router là next-hop trong bảng routing-table
cho prefix
d. LFIB
LFIB là bảng thông tin sử dụng cho chuyển mạch nhãn. Nó chứa các thông tin về incoming và
outgoing labels cho các đường chuyển mạch (LSPs). Incoming label là nhãn local của router cho
prefix cụ thể. Còn outgoing label là nhãn remote được chọn bởi router từ các nhãn remote. Nhãn
remote được chọn dựa trên thông tin định tuyến – best route cho prefix
Bảng LFIB cũng chứa thông tin nhãn không phải do LDP chỉ định, trong trường hợp MPLS TE –
nhãn được phân phối bởi giao thức RSVP. Đối với MPLS VPN, nhãn được phân phối bởi BGP. Tuy
nhiên, trong mọi trường hợp, LFIB luôn được sử dụng để chuyển tiếp gói tin được đánh nhãn
incoming
Đối với cơ chế Per-platform: Việc xác định packet nào thuộc FEC nào chỉ dựa trên giá trị nhãn
Note: Hiện nay, đối với các thiết bị Cisco thì CEF là giao thức chuyển mạch IP duy nhất hỗ trợ đánh
nhãn cho packet. Vì thế cần enable CEF trên các router chạy MPLS
Implicit NULL Label: implicit null label có giá trị là 3. Router engress LSR chỉ định giá trị
này cho 1 FEC nếu nó không muốn router upstream thực hiện việc gán nhãn cho FEC đó. Khi
đó router upstream sẽ thực hiện việc bóc nhãn cho FEC. Thông thường router engress sẽ
quảng bá nhãn Implicit null cho các route connected và các route sumarizied. Việc này giúp
lược bỏ bớt 1 tiến trình lookup nhãn tại engress router. Sử dụng nhãn implicit null tại điểm
cuối của LSP được gọi là Penultimate hop popping (PHP)
H18: Tiến trình xử lý nhãn khi sử dụng implicit null
Explicit NULL Label: Việc sử dụng implicit null mạng lại lợi ích nhưng cũng có yếu điểm là
tại router áp chót của LSP, việc bóc nhãn sẽ làm mất thông tin trường EXP phục vụ cho việc
QoS. Nên đối với các trường hợp cần giữ trường EXP đến engress router, việc sử dụng
implicit null là không khả thi. Sử dụng nhãn 0 – Explicit null giúp giải quyết vấn đề này. Khi
router áp chót gửi gói tin được đánh nhãn với nhãn 0, router engress đọc trường EXP trên
nhãn trước khi gỡ nhãn và thực hiện lookup
a. Discovery
Router LSR chạy giao thức LDP gửi gói tin hello trên tất cả các link được bật LDP
Bản tin hello sử dụng UDP port 646
Trong bản tin hello có trường Holdtime, nếu router không nhận được bản tin hello nào từ neighbor
trước khi holdtime hết hạn, nó sẽ remove neighbor đó.
Trong trường hợp tham số Holdtime hoặc hello giữa 2 peer LDP khác nhau, tham số thời gian ngắn
hơn sẽ được chọn bởi LDP discovery source
Mỗi router chạy LDP có LDP ID có độ dài 6 byte, 4 bytes để định danh và 2 bytes để xác định cơ chế
sử dụng nhãn là per-platform ( 2 byte cuối = 0) hay per-interface ( 2 byte cuối khác 0 )
LDP ID có thể set cố định, nếu không xét cố định thì LDP sẽ lấy địa chỉ IP loopback cao nhất làm
LDP IP, nếu không có loopback thì router sẽ lấy địa chỉ interface vật lý cao nhất làm LDP IP
Trên thiết bị cisco , LDP ID của router cần có trong bảng routing-table của neighbor, nếu không
router neighbor không thể thiết lập LDP session
Mỗi LSR gán 1 nhãn cho 1 prefix trong bảng routing-table – gọi là local label. Nhãn này được lưu
trong bảng LIB của router. Thông tin nhãn và prefix đc gán với nhãn được quảng bá qua các LDP
peer. Các LDP peer coi thông tin nhãn này là remote binding, nhận thông tin nhãn và lưu trữ trong
bảng FIB
Vì việc gán nhãn chỉ bao gồm thông tin LDP ID và lable nên cần có 1 cơ chế để khi nhãn được chọn
làm nhãn forward gói tin, bảng LFIB có thể chỉ ra thông tin outgoing interface. Để làm được điều này
các LDP peering gửi thông tin LDP neighbor kèm theo địa chỉ các interface của mình (Addresses
bound to peer LDP Ident)
V. CEF
1. Sơ lược về các chế độ chuyển mạch:
Xét về các chế độ switching, đối với Cisco có 3 chế độ được xem xét bao gồm: process switching, fast
switching và CEF
- Process switching: là cơ chế chuyển mạch lâu đời nhất và cũng là cơ chế chuyển mạch
chậm nhất. Với mọi gói tin nhận được, router đều sử dụng tài nguyên vi xử lý để xác định
next-hop, outgoing interface và thông tin rewrite layer 2 header
- Fast switching: là cơ chế chuyển mạch nhanh hơn bằng giải pháp sử dụng phương án
cache. Gói tin đầu tiên đến 1 địa chỉ đích sẽ vẫn được xử lý bằng vi xử lý của router để
xác định next-hop, outgoing interface và thông tin rewrite layer 2 header. Thông tin này
sẽ được lưu trong bảng fast cache để sử dụng cho việc chuyển tiếp các gói tin tới đích
tương tự tiếp theo.Thông tin cache này không vĩnh cửu mà được refresh để tối ưu bộ nhớ.
Khi địa chỉ đích của gói tin là đa dạng thì việc sử dụng cơ chế caching này là không hiệu
quả đối với các router có số lượng route là rất lớn và thay đổi liên tục như router Internet
- CEF: là cơ chế chuyển mạch nâng cao tính tối ưu của fast cache, khác với fast switching –
việc xây dựng bảng cache dựa trên nhu cầu chuyển mạch. Đối với CEF bảng thông tin
chuyển mạch được xây dựng ngay từ đầu, trước khi việc chuyển tiếp gói tin diễn ra. Với
mỗi thông tin định tuyến trong bảng định tuyến, CEF cũng sinh ra 1 entry về thông tin
chuyển mạch
Điểm khác biệt quan trọng giữa bảng CEF và bảng định tuyến là với mỗi prefix trong bảng CEF,
thông tin next-hop được tính toán ngay lập tức và chỉ rõ. Ví dụ như với mỗi prefix được học qua BGP,
trong bảng định tuyến, thông tin prefix được học đi kèm với thông tin BGP next-hop quảng bá prefix
đó. Tuy nhiên đối với bảng CEF, thông tin đi kèm với prefix là thông tin next-hop để chuyển tiếp gói
tin đến BGP next-hop (Thông tin này được tra từ IGP)
3. Cơ chế hoạt động của CEF
Khi gói tin đi vào router, thông tin Layer 2 được gỡ ra. Sau đó router thực hiện việc lookup địa chỉ IP
đích trong bảng CEF (FIB) và quyết định việc chuyển tiếp gói tin qua outgoing interface nào.
Từ thông tin outgoing interface này, router tra trong bảng Adjacency để xác định thông tin Layer 2
cần rewrite trước khi chuyển tiếp gói tin đi tiếp
Router chỉ sử dụng bảng CEF để forward gói tin IP. Đối với gói tin đã được gán nhãn, việc forward
dựa trên thông tin của bảng LFIB
CEF chỉ đánh nhãn cho gói tin IP, việc đánh nhãn cho gói tin đã đc đánh nhãn do LFIB quyết định
4. Distributed CEF
CEF có một ưu điểm rất lớn, đó là có thể hoạt động theo cơ chế distribute. Bảng CEF và Adjacency
có thể được phân phối xuống các CPU trên line-card. Từ đó việc chuyển tiếp gói tin sẽ được thực hiện
ngay trên line-card. Tối ưu hóa độ khả dụng của CPU trung tâm
Router chỉ sử dụng bảng CEF để forward gói tin IP. Đối với gói tin đã được gán nhãn, việc forward
dựa trên thông tin của bảng LFIB
Đối với các router Cisco, khi CEF hoạt động ở chế độ distribute thì LFIB cũng hoạt động ở chế độ
distribute theo
5. Cơ chế chuyển mạch CEF ở mức độ hardware
Để đạt được tốc độ chuyển mạch cao, router có thể sử dụng vi xử lý chuyên dụng trên bo mạch hoặc
trên line-card (ASICs)
Thông tin CEF và Adjacency được đẩy vào ASICs từ đó ASICs có thể xử lý việc chuyển tiếp gói tin
chính xác và ở tốc độ cao. Cũng tương tự như Distributed CEF, thông tin LFIB cũng được đẩy vào
ASICs
6. Loadbalancing trong CEF
CEF có khả năng load balancing hoặc load sharing lưu lượng qua nhiều out-going interface.
Việc load balancing dựa vào thông tin các tuyến có metric bằng nhau trong bảng định tuyến và cấu
hình maximun path – tham số chỉ ra số tuyến có thể được xem xét có tuyến tốt nhất cho 1 prefix trong
một giao thức định tuyến cụ thể
CEF có 2 cơ chế cân tải là load per-packet và load per-dest. Đối với load per-packet các gói tin sẽ
được phân phối theo vòng. Cơ chế load mặc định là per-dest, việc load sẽ sử dụng hàm băm địa chỉ
đích và địa chỉ nguồn để xác định out-going interface.
Cơ chế load per-packet mang đến sự cân tải tuyệt đối nhưng sẽ gây ảnh hưởng không tốt đến các ứng
dụng nhạy cảm như Voice do việc các gói tin đi qua các đường khác nhau có thể gây ra các lỗi về out
of sequence
H31: MPLS Fast-reroute chuyển tiếp lưu lượng khi nhận biết có sự cố link
3. BGP – MPLS VPN
Môi trường MPLS giúp việc triển khai VPN mode peer-to-peer dễ dàng, xử lý vấn đề hạn chế về khả
năng mở rộng của VPN Over layer model đối với mạng VPN có số lượng site lớn. Giải quyết bài toán
về overlap địa chỉ IP giữa các site
VPN L3 bao gồm các thành phần: VRF, RD, RT, quảng bá route qua MP-BGP và forward gói tin
được label
VRF: Đối với mỗi 1 instance VPN L3 khác nhau, 1 VRF được sinh ra, VRF bao gồm bảng routing và
bảng CEF riêng biệt cho VPN instance đó
RD: Các prefix VPN L3 được quảng bá qua mạng MPLS VPN bằng MP-BGP. Để không bị nhầm lẫn
về thông tin prefix giữa các VPN instance khác nhau cần có cơ chế đánh dấu để phân biệt thông tin
prefix giữa các VPN này, các prefix phải là duy nhất – không trùng lặp. RD được sinh ra để giải quyết
vấn đề này. Ý tưởng là đối với mỗi prefix nhận được từ 1 khách hàng được đánh dấu bằng 1 giá trị
RD (Trường 64 bit) , giá trị này là không trùng lặp giữa các VRF khác nhau. 1 prefix bao gồm trường
RD và thông tin prefix IPv4 được gọi là prefix vpnv4
Prefix vpnv4 có thể thể hiện ở 2 dạng ASN:nn or IP-address:nn
RTs: Nếu chỉ dùng RD để phân biệt route VPN, thì việc kết nối giữa các VPN instance khác nhau
(Extranet model) sẽ gặp vấn đề do không cùng giá trị RD. Vì thể để control việc kết nối giữa các VPN
instance, người ta sử dụng RT, RT là giá trị BGP community dùng để xác định route vpnv4 nào được
import vào VRF nào, và ngược lại – route trong 1 VRF khi được quảng bá qua MP-BGP thì được gán
thêm giá trị RT nào
Để 1 route được import vào 1 VRF, route đó chỉ cần có giá trị RT trùng với 1 giá trị RT được cấu hình
dưới mode VRF
Khi 1 route từ 1 vpn khác (RD khác) import vào 1 vpn bằng cơ chế import RT thì RD của route đó
trong VPN instance đổi thành RD của VPN
VPNv4 Route Propagation in the MPLS VPN Network
Giao thức được chọn làm giao thức quảng bá các route VPN trong mạng MPLS là giao thức BGP do
khả năng xử lý được khối lượng route lớn và là giao thức chú trọng về việc control
Packet Forwarding in an MPLS VPN Network
Gói tin truyền qua mạng MPLS VPN sẽ bao gồm 2 nhãn, 1 nhãn IGP (top label) sử dụng để forward
gói tin trong miền MPLS, 1 nhãn VPN do MP-iBGP (bottom label) được sử dụng để xác định chính
xác gói tin cần forward đến VRF nào
Chuyển tiếp gói tin từ CE này đến CE đầu xa của 1 VPN instance bao gồm việc đánh nhãn cho prefix
của khách hàng dùng thông tin trao đổi qua MP-iBGP, sau đó việc đánh nhãn bên ngoài sẽ là nhãn
IGP (do LDP hoặc RSVP.. phân phối)
4. Pseudo wire
MPLS Pseudo wire cung cấp môi trường giả lập kết nối layer 2 điểm – điểm. Pseudo wire này
chuyển tiếp L2 frame qua miền MPLS
Ý tưởng của ứng dụng này là các frame L2 (PPP, Ethernet, HDLC…) được MPLS đóng gói bằng
1 label stack bao gồm 2 nhãn.
Nhãn thứ nhất (top label) được sử dụng để chuyển frame đến router biên (PE) kết nối với site đầu
xa của khách hàng.
Nhãn thứ hai (bottom label) được báo hiệu qua targeted LDP session giữa 2 router biên để xác
định out-going interface trên router biên đầu xa