You are on page 1of 30

Lý thuyết cơ bản về MPLS

I. Tổng quan về MPLS


1. Điểm yếu của giao thức truyền gói tin IP thông thường và khái niệm về MPLS
Trước khi tìm hiểu về giao thức MPLS, chúng ta cần nhìn nhận các giao thức định tuyến thông
thường có 3 điểm yếu như sau:
- Giao thức định tuyến cần sử dụng trên tất cả các thiết bị nhằm mục đích trao đổi thông tin
định tuyến
- Bất kể là giao thức định tuyến nào được sử dụng, việc chuyển tiếp gói tin được thực hiện
đều chỉ dựa vào địa chỉ IP đích. Trường hợp cá biệt duy nhất là policy-based routing
- Việc truy vấn thông tin định tuyến được thực hiện trên tất cả các router. Mỗi router trong
hệ thống mạng quyết định việc chuyển tiếp gói tin một cách độc lập

H1: Quá trình chuyển tiếp gói tin thông thường


MPLS (Chuyển mạch nhãn đa giao thức) là một công nghệ lai kết hợp những đặc điểm tốt nhất giữa
định tuyến lớp 3 (layer 3 routing) và chuyển mạch lớp 2 (layer 2 switching). MPLS sử dụng cơ chế
đánh nhãn và trao đổi thông tin nhãn giữa các router trong miền MPLS để tạo thành đường chuyển
mạch nhãn. Việc chuyển tiếp gói tin trong mạng MPLS được thực hiện bằng việc tra cứu thông tin
nhãn đơn giản thay cho việc tra cứu thông tin địa chỉ IP phức tạp hơn.
Do việc truyền tải trong mạng MPLS chỉ dựa vào trường nhãn, không quan tâm đến loại giao thức
truyền tải nên MPLS hỗ trợ truyền tải được rất nhiều loại giao thức layer 2, layer 3
Với khả năng hoạt động linh hoạt, sự đa dạng về ứng dụng – MPLS được sử dụng rộng rãi cho mạng
IP của Service Provider

2. Lợi ích của việc sử dụng MPLS trong mạng ISP

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

H3: Minh họa về transport IPv6 qua hạ tầng IP MPLS

b. BGP Free core


Theo đặc tính thông thường của router khi xử lý định tuyến gói tin, thông tin kết nối đến địa chỉ đích
cần phải nằm trong bảng định tuyến của tất cả các router nếu không router sẽ drop gói tin. Trong
trường hợp đích đến của gói tin nằm ngoài vùng mạng của nhà cung cấp, BGP sẽ là giao thức trao đổi
thông tin định tuyến giữa các vùng mạng. Điều đó có nghĩa là tất cả các router của nhà mạng sẽ cần
phải chạy giao thức BGP để đảm bảo việc kết nối thành công
Tuy nhiên MPLS với khả năng gán nhãn, chuyển tiếp gói tin dựa vào nhãn chứ không cần dựa vào
thông tin IP đích mở ra khả năng xử lý linh hoạt, tối ưu tài nguyên thiết bị. MPLS cho phép nhãn
được gán ánh xạ tới bộ định tuyến biên (PE router) thay vì địa chỉ đích của gói tin. Các router nội
miền (P router) chỉ cần dùng thông tin nhãn được gán cùng gói tin để forward gói tin đến đúng router
biên cần thiêt (PE router). Loại bỏ việc cần thiết phải chạy BGP của các router P để có đủ tất cả thông
tin routing external, các router P chỉ cần biết thông tin định tuyến đến các router PE và BGP chỉ cần
chạy trên các router biên để trao đổi thông tin định tuyến ngoài vùng AS
H4: Mô hình tổng quan BGP Free-core khi sử dụng 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

H6: Tổng quan mô hình VPN Peer-to-peer


Trước khi MPLS phát triển, việc triển khai mô hình VPN Peer-to-peer được xem xét là khá khó triển
khai do yêu cầu về tính riêng tư của mạng VPN, Service Provider sẽ phải thực hiện việc lọc thông tin
định tuyến rất nhiều. Mỗi lần có sự mở rộng site kết nối sẽ phải thực hiện thay đổi cấu hình trên tất cả
các site. Mô hình Overlay VPN được sử dụng nhiều hơn
MPLS xuất hiện và mang đến khả năng sử dụng model peer-to-peer dễ dàng hơn với khái niệm vitual
routing/forwarding (VRF). VRF đảm bảo thông tin định tuyến của các khách hàng khác nhau được
phân tách riêng biệt, và các gói tin được chuyển tiếp dựa trên nhãn thay vì thông tin IP đích
H7: Mô hình tổng quan VPN Peer-to-peer sử dụng ứng dụng MPLS
Với MPLS, việc mở rộng thêm site VPN chỉ đơn thuần là add thêm kết nối giữa CE và PE. Service
provider không cần phải thiết lập nhiều VC như mô hình overlay và cũng không cần cấu hình lọc
thông tin định tuyến nhiều như việc triển khai mô hình peer-to-peer trên mạng IP

d. Điều khiển lưu lượng – Traffic Engineering


Ứng dụng TE của MPLS cho phép Service Provider tối ưu khả năng khả dụng của hạ tầng mạng.
Với các giao thức định tuyến thông thường, luồng dữ liệu sẽ được chuyển tiếp theo đường đi được coi
là tốt nhất - có giá trị cost bé nhất. Các đường đi có giá trị cost lớn hơn sẽ không được sử dụng cho
đến khi đường tốt nhất gặp sự cố hoặc do người quản trị chủ động thay đổi giá trị cost
MPLS TE cung cấp khả năng điều khiển lưu lượng dựa trên các đặc tính cụ thể (IP Dest, QoS,
bandwidth, nexthop…) qua đường đi khác với đường đi được coi là tốt nhất . Kết quả là lưu lượng
trong mạng Service Provider được phân bổ tốt hơn, tăng cao độ khả dụng của các link dự phòng

H8: Minh họa về điều khiển lưu lượng


II. Tổng quan các thành phần của mạng MPLS
1. Nhãn MPLS
a. Cấu trúc nhãn MPLS
Cấu trúc nhãn MPLS là 1 trường 32 bit trong đó :

H9 : Cấu trúc khung của nhãn MPLS


20 bit đầu (0-19) được sử dụng để qui định giá trị nhãn. Trong đó 16 giá trị đầu (0-15) được dành ra
để sử dụng làm các nhãn đặc biệt
3 bit (20-22) tiếp theo là các bit EXP, hiện nay được sử dụng phục vụ cho mục đích QoS. Trường IP
Precedence của IP Packet được ánh xạ tới các bit này. Đối với router Cisco, giá trị của trường IP
Precedence được tự động ghi lại vào trường EXP
Bit 23 là BoS (Bottom of Stack), khi một tệp nhãn (Lable stack) được sử dụng thì BoS bit có giá trị =
0 đối với các nhãn nằm trên, với nhãn nằm dưới cùng – giá trị của BoS bit được set = 1
8 bit tiếp theo (24-31) được sử dụng làm TTL bit (Time to live), giá trị của TTL bit giảm đi 1 mỗi khi
đi qua 1 hop. Khi giá trị TTL giảm = 0, gói tin sẽ bị drop. TTL bit có tác dụng chống loop trong mạng
MPLS

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

H10: Mô hình chồng nhãn


Như hình vẽ mô tả cấu trúc của lable stack, ta có thể thấy đối với các nhãn nằm bên trên thì giá trị của
BoS bit là 0. Với nhãn nằm dưới cùng thì giá trị của BoS bit là 1
c. Vị trí nhãn MPLS:
Trong 1 frame thì trường nhãn MPLS được chèn vào giữa Layer 2 và Layer 3 header, vì thế nó được
coi như là layer 2.5

H11: Vị trí nhãn MPLS trong frame L2

2. Lable switch router


Để thực hiện được việc chuyển mạch nhãn, router chuyển mạch nhãn (LSR) phải là router có khả
năng hỗ trợ MPLS, các router này cần có khả năng đọc nhãn MPLS, nhận và chuyển tiếp gói tin đã
được đánh nhãn. Có 3 loại router chuyển mạch nhãn trong mạng MPLS:
- Ingress LSRs: là router nhận gói tin chưa được đánh nhãn, thực hiện đánh nhãn cho gói
tin đó và chuyển tiếp ở lớp data link
- Egress LSRs: là router nhận gói tin đã được đánh nhãn, thực hiện bóc nhãn cho gói tin đó
và chuyển tiếp ở lớp data link. Ingress và Egress router là các router biên của miền MPLS
- Intermediate LSRs : là router nằm hoàn toàn trong miền MPLS, nhận gói tin đã được gán
nhãn, thực hiện 1 tác vụ nhãn trên đó sau đó chuyển tiếp gói tin
LSR router có thể thực hiện các tác vụ : pop (bóc nhãn), push (gán nhãn) và swap (thay thế nhãn)

3. Lable switch path


Một LSP (Label switched path) là 1 tập các router LSR theo trình tự mà gói tin được gán nhãn sẽ
được chuyển tiếp qua. Có thể là qua toàn mạng MPLS hoặc qua 1 phần của mạng MPLS . Router đầu
tiên của 1 LSP được gọi là ingress LSR cho LSP đó, router cuối cùng của 1 LSP được gọi là egress
LSR của LSP. Các router nằm giữa ingress và egress LSR được gọi là intermediate LSRs
Note : Ingress LSR của 1 LSP thì không có nghĩa là router đó là router đầu tiên đánh nhãn cho gói tin.
Gói tin hoàn toàn có thể được đánh nhãn bởi router trước. Trường hợp như vậy được gọi là nested
LSP – 1 LSP nằm trong 1 LSP khác

a. Forwarding Equivalence Class (FEC)


Một FEC là 1 nhóm hoặc luồng các gói tin được chuyển tiếp qua cùng 1 đường chuyển mạch nhãn,
được đối xử như nhau trong cơ chế chuyển mạch. Các gói tin cùng 1 FEC sử dụng chung nhãn.
Router quyết định việc gói tin nào thuộc FEC nào là ingress router. Việc quyết định dựa trên các yếu
tố như:
- Gói tin với địa chỉ đích cùng thuộc 1 prefix nhất định
- Gói tin multicast cùng thuộc 1 group
- Gói tin được xử lý với cơ chế chuyển tiếp giống nhau, dựa trên trường QoS
- Layer 2 frame được chuyển qua hạ tầng mạng MPLS nhận được trên 1 VC hoặc sub-
interface trên ingress router và truyền đi trên 1 VC hoặc sub-interface trên engress router
- Gói tin với địa chỉ IP đích thuộc 1 tập hợp các prefix được học qua BGP với cùng địa chỉ
BGP next-hop

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

c. Phân phối nhãn sử dụng LDP:

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

H12: Control plane LDP


H13: Data plane LDP

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

4. MPLS Lable Space:


Có 2 cơ chế đánh nhãn: Per-interface và Per-platform
Đối với cơ chế Per-interface: Việc xác định packet thuộc FEC nào bao gồm thông tin nhãn và thông
tin cổng đầu vào
H14: Cơ chế đánh nhãn per interface

Đố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

H15: Cơ chế đánh nhãn per platform


5. MPLS Mode:
LSR có thể sử dụng các chế độ khác nhau khi phân phối nhãn tới LSR khác bao gồm 3 chế độ:
- Label distribution mode (Các chế độ phân phối nhãn)
- Label retention mode (Các chế độ lưu trữ nhãn)
- LSP control mode (Các chế độ tạo nhãn)
Label distribution có 2 chế độ :
Downstream-on-demand (DoD) và Unsolicited Downstream
DoD mode , mỗi LSR yêu cầu next-hop LSR của LSP binding nhãn cho FEC. Với mỗi FEC,
mỗi LSR chỉ nhận 1 label được quảng bá từ downstream router
UD mode, mỗi router tự động quảng bá binding nhãn đến các adjacent LSRs, không dựa trên
request
Trên thiết bị Cisco, các loại interface sử dụng UD mode ngoại trừ interface ATM
Label retention có 2 chế độ:
Liberal Label Retention (LLR) mode: lưu trữ tất cả remote binding trong bảng FIB
Conservative Label Retention (CLR) mode: chỉ lưu trữ remote binding của next-hop LSR
Trên thiết bị Cisco, các loại interface sử dụng LLR mode ngoại trừ ATM interface sử dụng
CLR
LSP control mode :
Router có thể tạo local binding cho 1 FEC theo 2 cách:
Independent LSP control mode là cơ chế tạo local binding cho 1 FEC ngay khi nhận ra FEC
đó xuất hiện (Ví dụ: 1 route mới xuất hiện trên bảng routing-table)
Ordered LSP control mode là cơ chế tạo local binding cho 1 FEC chỉ khi router nhận thấy nó
là egress router cho FEC đó hoặc chỉ khi LSR nhận được nhãn binding cho FEC từ router next-hop
Cisco sử dụng Independent mode
III. Cơ chế chuyển mạch nhãn
Việc chuyển mạch nhãn bao gồm 3 hoạt động: Swap, pop và push

H16: Các tác vụ nhãn


Bằng cách lookup nhãn trên cùng của gói tin được đánh nhãn nhận được, và thực hiện tra cứu trên
bảng LFIB. Router xác định tác vụ cần thực hiện đối với gói tin gán nhãn nhận được

1. IP Lookup và lable lookup:


Khi router nhận được 1 gói tin IP, việc lookup được thực hiện bởi tiến trình IP lookup. Đối với thiết bị
Cisco, gói tin được lookup bởi CEF
Khi router nhận được 1 gói tin được đánh nhãn, việc lookup được thực hiện bởi LFIB.
Router xác định gói tin là gói tin IP hay gói tin được đánh nhãn bởi trường protocol field ở Layer 2
header
H17: Cơ chế lookup của gói tin IP và gói tin được gãn 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

2. Loadbalance labeled packets


Nếu tồn tại các đường có giá trị cost bằng nhau (equal-cost paths), Cisco IOS có thể loadbalance gói
tin được gán nhãn
Nếu tồn tại các đường chuyển mạch nhãn và đường qua routing IP thông thường thì Cisco IOS không
xem xét việc loadblance qua đường routing IP thông thường. Nguyên nhân do việc đi qua đường
routing IP thông thường gói tin có thể dẫn tới việc gói tin không tới được đích (MPLS VPN)
3. Unknow label
Khi router nhận được 1 gói tin và thực hiện lookup nhãn trên cùng, nếu router không có thông tin về
nhãn này – nó sẽ thực hiện drop gói tin
4. Các giá trị nhãn đặc biệt
Dải giá trị nhãn đặc biệt được dành riêng trước là từ 0 đến 15. LSR sẽ không sử dụng các nhãn này
cho các trường hợp chuyển mạch thông thường.

 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

5. Trường TTL của gói tin được đánh nhãn


Cũng tương tự như gói tin IP, gói tin được đánh nhãn sử dụng trường TTL phục vụ cho mục đích
chống loop. Tại đầu vào của miền MPLS, khi 1 gói tin IP được đánh nhãn, trường TTL của gói tin sẽ
được copy vào (Sau khi giảm đi 1) các nhãn được gán. Tại đầu ra của miền MPLS, quá trình tương
ứng sẽ được thực hiên, trường TTL tại nhãn trên cùng của gói tin MPLS sẽ được copy trở lại (Sau khi
giảm đi 1) trường TTL của gói tin IP. Đối với các thiết bị Cisco, để đảm bảo hơn việc chống loop nếu
trường TTL của gói tin MPLS lớn hơn trường TTL của gói tin IP, trường TTL của gói tin IP sẽ không
bị ghi đè
H19: Cơ chế copy trường TTL trong mạng MPLS
Đối với gói tin được đánh nhãn MPLS, nếu trường TTL giảm xuống =1, router nhận gói tin sẽ drop
gói tin và gửi 1 bản tin ICMP time exceeded tới IP nguồn. Tuy nhiên bản tin này sẽ được gửi chạy
theo LSP đang chạy với hy vọng router tại điểm cuối của LSP biết thông tin định tuyến về địa chỉ
nguồn của gói tin hết hạn TTL.
Cơ chế sinh bản tin ICMP này chỉ hỗ trợ nếu playload là gói tin IPv4 hoặc IPv6, đối với các loại
payload khác nếu trường TTL hết hạn, router sẽ chỉ thực hiện duy nhất 1 hành động là drop gói tin
IV. Cơ chế phân phối nhãn LDP và các tiện ích nâng cao
trong LDP (MPLS Control Plane)
Để truyền 1 gói tin qua mạng MPLS thành công, tất cả các LSR router cần chạy một giao thức phân
phối và trao đổi thông tin nhãn. Khi tất cả các router LSR đều có nhãn cho FEC cụ thể , gói tin thuộc
FEC đó có thể được truyền trên LSP bằng cơ chế chuyển mạch nhãn tại mỗi LSR. Việc chuyển mạch
nhãn dựa trên thông tin bảng LFIB, mà bảng LFIB lại lấy thông tin nhãn từ bảng LIB. Thông tin nhãn
trong bảng LIB có thể do các giao thức phân phối nhãn như LDP, RSVP hoặc do gán tĩnh. RSVP
được sử dụng cho MPLS-TE, còn LDP được sử dụng như giao thức phân phỗi nhãn cho các giao thức
định tuyến nội mạng
Giao thức LDP hoạt động gồm có 4 tiến trình chính:
_ Tìm kiếm router chạy LDP
_ Khởi tạo và duy trì phiên LDP
_ Quảng bá thông tin nhãn
_ Kiểm tra và thông báo trạng thái phiên LDP

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

b. LDP Session Establishment and Maintenance


Sau quá trình discovery thấy nhau, 2 router chạy LDP tiến hành thiết lập LDP session qua TCP port
646. Khi TCP session được khởi tạo thành công 2 router sẽ trao đổi thông tin về các tham số khởi tạo
bao gồm:
o Timer value
o Label distribution method
o VPI/VCI for label-controlled ATM
o DLCI for LC-Frame Relay
Nếu các thông số trùng khớp phiên TCP sẽ được duy trì, nếu không phiên router sẽ cố gắng nego về
tham số những với tốc độ khởi tạo thiết lập chậm hơn (Tăng theo hàm mũ sau mỗi lần thất bại, default
thời gian tái nego là 15s và maximum là 120s)
Việc duy trì session dựa vào reset timer mỗi khi nhận được gói tin LDP hoặc gói tin keepalive định
kỳ. Keepalive hoặc holdtime của LDP đều có thể đc cấu hình, mặc định holdtime là 180s
Giữa 1 cặp router có thể có 1 hoặc nhiều LDP session qua nhiều link vật lý, đối với cơ chế đánh nhãn
per-platform việc khởi tạo 1 LDP session là đủ. Tuy nhiên đối với cơ chế đánh nhãn per-interface thì
việc phân phối nhãn liên quan tới cả interface nên đối với mỗi interface vật lý sẽ thiết lập 1 LDP
session riêng biệt

c. Advertising of Label Mappings

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)

H20: Mối liên hệ giữa bound address và RIB, FIB, LFIB


d. Label Withdrawing
Khi 1 LDP quảng bá 1 label binding, LDP peer nhận được quảng bá giữ thông tin về label binding đến
khi LDP session down hoặc label được thu hồi. Label được thu hồi khi thông tin về prefix không còn
trong bảng định tuyến
e. Targeted LDP Session
Phiên LDP targeted là phiên LDP giữa các LSRs không kết nối trực tiếp. LDP targeted được sử dụng
trong ứng dụng AToM hoặc TE tunnel trong mạng MPLS VPN. Với AToM, phiên targeted được sử
dụng để trao đổi nhãn service còn đối với TE tunnel router head-end và tail-end cần thiết lập targeted
LDP session để trao đổi nhãn sử dụng cho việc forward tiếp gói tin được đóng nhãn khi ra khỏi tunnel
Sử dụng targeted ldp giúp việc duy trì bảng thông tin nhãn ổn định hơn so với direct LDP session.
Giữa 2 router khởi tạo targeted ldp session, nếu có đường định tuyến backup thì khi down kết nối vật
lý ở giữa, targeted ldp session vẫn có thể được duy trì. Dẫn tới bảng LIB vẫn được giữ ổn định
f. Controlling the Advertisement of Labels via LDP
LDP cung cấp khả năng control nhãn được quảng bá. Việc control bao gồm cho phép quảng bá nhãn
cho prefix nào và đến peer nào. Và việc control quảng bá có thể thực hiện nhiều lần với nhiều peer

g. MPLS LDP Inbound Label Binding Filtering


Việc control bảng LIB cũng có thể thực hiện bằng việc lọc nhãn ở chiều inbound nếu không thể áp ở
chiều ougtbound của các peer quảng bá đi
h. MPLS LDP-IGP Synchronization
Sự đồng bộ có nghĩa là việc chuyển tiếp gói tin chỉ được thực hiện khi cả IGP và LDP đều nhất quán
về outgoing link được sử dụng. Vấn đề về việc mất đồng bộ thường xảy ra trong mạng LDP là khi
LDP session bị phá vỡ trong khi IGP vẫn sử dụng link mà LDP session bị phá vỡ làm link chuyển tiếp
gói tin. Nếu trong mạng thuần IPv4-over-MPLS only thì việc gói tin bị mất nhãn vẫn có thể đến được
đích, tuy nhiên trong trường hợp AToM hoặc MPLS VPN, khi gói tin bị mất nhãn, router P khó có thể
xử lý được và sẽ drop gói tin
H21: Sự mất đồng bộ giữa IGP và LDP
Phương án để xử lý vấn đề này là MPLS LDP-IGP Synchronization. 1 link sẽ ko được sử dụng để
forward traffic khi mà LDP session thiết lập qua link này down. Metric của link sẽ được nâng lên cao
nhất trong thời gian LDP chưa hoàn thành thiết lập (65536)
Chú ý: Có thể xảy ra trường hợp do LDP chưa lên nên OSPF chưa gửi bản tin hello để thiết lập
neighbor OSPF dẫn đến 2 router ko có route của LDP ID. Dẫn đến trạng thái down mãi mãi của cả
LDP và OSPF trên link. Để khắc phục có thể dùng phương án set holddown time, nếu thời giạn đợi để
phiên LDP thiết lập quá holddown time thì OSPF sẽ khởi tạo neighbor IGP
i. MPLS LDP Session Protection
Việc nháy link là vấn đề thường xảy ra trong mạng, gây ảnh hưởng không tốt tới hội tụ khi gây ra việc
down IGP và LDP session qua link dẫn đến viêc thay đổi thông tin trong bảng LIB. Để giảm thiểu có
cơ chế session protection, 1 phiên LDP trực tiếp giữa 2 router khi enable tính năng này sẽ tạo phiên
LDP targetted qua đường dự phòng khác để giữ phiên LDP khi link kết nối trực tiếp giữa 2 peer down

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

2. Sự cần thiết của CEF đối với MPLS


Như đã đề cập ở các phần trước, đối với các gói tin đã được gán nhãn thì việc chuyển mạch dựa vào
thông tin trong bảng LFIB. Xét trong một miền MPLS, gói tin ở đầu vào Ingress LSR là gói tin IP
chưa được gán nhãn, vấn đề đặt ra là cần có 1 giao thức hỗ trợ việc gán nhãn cho gói tin IP. Đối với
Cisco, CEF là giao thức chuyển mạch duy nhất hỗ trợ đóng nhãn cho gói tin

H22: Cơ chế lookup của CEF và LFIB


CEF gồm 2 thành phần là bảng FIB và bảng Adjacency

H23: Các thành phần cơ bản của CEF


Bảng CEF (FIB) bao gồm thông tin phục vụ cho việc chuyển mạch: Prefix, next-hop, ougoing
interface.
Bảng Adjacency lưu trữ thông tin về việc rewrite layer 2 được trao đổi giữa router liền kề

Đ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

VI. Các ứng dụng của MPLS


Phát triển đến ngày nay, mạng MPLS được sử dụng để mang đến rất nhiều ứng dụng theo rất nhiều
hướng phát triển khác nhau. Trong bài viết để tránh dài dòng, chỉ xin liệt kê các ứng dụng tiêu biểu và
ý tưởng hoạt động ngắn gọn của các ứng dụng được nêu
1. MPLS-TE
MPLS-TE mang đến khả năng điều khiển lưu lượng, tăng cao hiệu quả sử dụng tài nguyên mạng lưới
– đặc biệt là băng thông. Tránh trường hợp một phần nào đó của mạng lưới xảy ra hiện tượng nghẽn
trong khi các phần khác không có lưu lượng
Ý tưởng hoạt động của MPLS-TE là định tuyến dựa trên điều kiện - xây dựng đường chuyển mạch
dựa trên các tiêu chí bổ sung ngoài tiêu chí metric như IP routing thông thường như (Bandwidth,
Delay, Jitter, QoS, Next-hop). Đối lập với IP routing thông thường dựa trên destinational-base,
MPLS-TE chuyển tiếp gói tin dựa trên source-base
Cơ chế hoạt động của MPLS-TE bao gồm 2 phần chính: Tính toán đường đi và chuyển mạch lưu
lượng
a. Tính toán đường đi
Information distribution – IGP Extension: Để tính toán đường đi dựa theo các điều kiện bổ sung,
router cần phải có các thông tin mở rộng về topo mạng. Các trường thông tin này được các giao thức
link-state hỗ trợ thu thập
Path selection – CSPF: Thuật toán dùng để tính toán đường đi được phát triển lên từ SPF, thuật toán
bổ sung thêm các trường điều kiện mở rộng vào để tính toán và tìm ra tuyến đường tốt nhất đảm bảo
các điều kiện
Path signaling – RSVP: Sau khi headend router tìm được tuyến đường tốt nhất cần có cơ chế báo hiệu
để yêu cầu tài nguyên, kiểm tra tài nguyên hiện tại trên tuyến và đồng bộ thông tin về nhãn được sử
dụng trên toàn tuyến cho LSP. RSVP được phát triển để xử lý vấn đề này
b. Chuyển mạch lưu lượng
Forwarding – MPLS: Sau khi thông tin về nhãn đã được báo hiệu qua giao thức RSVP trên toàn bộ
các router thuộc LSP, các nhãn này được lưu trữ trong bảng LFIB. LSP được sử dụng theo ý muốn
của người quản trị mạng (Chỉ sử dụng trên head-end router hoặc quảng bá đi qua giao thức link-state
như kết nối thông thường để đưa vào tính toán SPF). Lưu lượng đi qua LSP này được gán các nhãn
tương ứng và thực hiện chuyển tiếp
2. MPLS Fast-reroute
MPLS Fast-reroute mang đến khả năng giảm bớt (Không triệt để) việc mất gói tin trong thời gian
mạng hội tụ lại sau khi có sự cố về định tuyến
Ý tưởng hoạt động của MPLS Fast-reroute là reroute lưu lượng qua một đường LSP dự phòng khác
không đi qua điểm lỗi đã xây dựng từ trước. Việc tính toán đường dự phòng này chỉ có giá trị local
router
H24: MPLS Fast-reroute báo hiệu nhãn reroute

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

You might also like