Giải pháp 6PE thì đơn giản và không quá khó khăn để cấu hình. Phần này sẽ cho ta thấy rằng ta chỉ cần kích hoạt láng giềng iBGP bên dưới họ địa chỉ IPv6 của BGP và thêm vào một từ khóa (lệnh láng giềng iBGP với từ khóa send- label). Tất nhiên, ta cần phải cấu hình một IGP cho IPv6 trên liên kết giữa router PE và CE. Ngoài ra, ta có thể cấu hình eBGP giữa router PE và CE hoặc thậm chí là định tuyến tĩnh cho IPv6.
Chỉ có hai lệnh 6PE cụ thể hiện có :
neighbor ip-address send-label
Lệnh này kích hoạt việc gửi các nhãn MPLS thông qua MP-BGP đối với họ địa chỉ IPv6 và BGP ngang hàng.
mpls ipv6 source-interface type number
Lệnh này chỉ rõ số và loại interface mà từ đó MPLS lấy địa chỉ IPv6 như một địa chỉ nguồn cho lưu lượng IPv6 được tạo ra một cách cục bộ.
Khi cấu hình 6PE, phải đảm bảo rằng lệnh ipv6 cef và ipv6 unicast-routing đã được cấu hình trên tất cả router mà đang chạy IPv6. Trên các router PE, ta cần phải phân phối lại IGP IPv6 vào trong BGP và ngược lại. Ta cần dùng lệnh redistribute connected bên dưới dòng address-family ipv6 của router BGP nếu ta muốn các địa chỉ IPv6 này trên liên kết PE-CE là có thể đến được.
Hình 3-7: Việc phân phối nhãn và định tuyến trong 6PE
Quá trình chuyển tiếp gói tin được hiển thị trong hình 5-8. Ta có thể nhìn thấy hai nhãn trên đỉnh của các gói tin : một nhãn IGP như là nhãn đỉnh và một nhãn BGP như là nhãn đáy. Nhãn IGP là nhãn LDP hoặc RSVP (traffic engineering) cho BGP next hop của router PE đầu ra. BGP next hop này được encode như một địa chỉ IPv4-mapped IPv6 chứa một địa chỉ IPv4 của router PE đầu ra. Như vậy, khi gói tin IPv6 đến router PE đầu vào và cần phải được áp đặt nhãn, thì nhãn IGP được sử dụng là một nhãn kèm theo địa chỉ IPv4 bắt nguồn từ địa chỉ IPv4-mapped IPv6. Nhãn BGP là nhãn mà router PE ở xa đã gửi cho tiền tố IPv6.
Hình 3-8: Việc chuyển tiếp gói tin trong 6PE
Một lợi ích của 6PE đó là router P không cần phải chạy IPv6 hoặc thậm chí là khả năng về IPv6 (IPv6 capable). Do đó, giải pháp 6PE có thể được triển khai nhanh chóng trên một MPLS backbone hiện có. Một lới ích thứ hai đó là các gói tin IPv6 được gán nhãn trực tiếp mà không có một header thêm vào. Trong trường hợp của giải pháp AToM, một header lớp 2 thêm vào được vận chuyển; trong trường hợp các đường hầm IPv6 over IPv4, một header IPv4 thêm vào được vận chuyển. Một phần lý do cho việc triển khai giải pháp 6PE đó là nhiều nhà cung cấp dịch vụ đã có sẵn một MPLS backbone rồi bởi vì sự phổ biến của MPLS VPN. Hoạt động của 6PE thì tương tự như hoạt động của MPLS VPN. Như vậy, những ai đã quen thuộc với MPLS VPN thì sẽ nhanh chóng hiểu được giải pháp 6PE. Sau đây là một số điểm tương tự như MPLS VPN cho IPv4 :
Một mạng lưới đầy đủ (full mesh) là cần thiết của MP-iBGP.
Cần phải có một IGP cho IPv6 hoặc eBGP hoặc định tuyến tĩnh (static routing) giữa các router PE và CE.
Các gói tin IPv6 được gán với hai nhãn.
Có lẽ điều quan trọng nhất đó là giải pháp 6PE đi theo mô hình VPN ngang hàng (peer-to-peer) mà đã được thảo luận trong Chương 1, “Sự phát triển của MPLS”, và được sử dụng trong giải pháp MPLS VPN cho IPv4. Mỗi router CE chỉ có một router định tuyến ngang hàng qua mạng MPLS, cụ thể là router PE được gắn vào trực tiếp.
Bởi vì giải pháp này không liên quan đến các VPN, không liên quan đến các interface VRF tồn tại cho IPv6 trên các router PE; do đó, các router PE và CE có thể sử dụng bất kỳ giao thức định tuyến nào cho IPv6 trong giải pháp 6PE. Các giao thức định tuyến IPv6 này không phải quan tâm đến VRF.
Gói tin IPv6 có hai nhãn khi nó được chuyển tiếp thông qua mạng MPLS. Hiểu một cách nghiêm khắc, gói tin IPv6 có thể được chuyển tiếp thông qua mạng MPLS chỉ với một nhãn trên đỉnh của nó. Bởi vì cơ chế PHP (penultimate hop popping), nên gói tin sau đó sẽ được chuyển tiếp không có nhãn (unlabeled) giữa router P cuối cùng và router PE đầu ra. Điều này chỉ có thể nếu router P cuối cùng có khả năng IPv6. Nếu chỉ có một nhãn MPLS và PHP đang được sử dụng, thì router hop áp chót (penultimate hop router) phải có khả năng biết được MPLS payload là gì trước khi gửi gói tin IPv6 hướng đến router PE đầu ra. Router áp chót phải biết điều này để thiết lập loại giao thức phù hợp trong header lớp 2 khi gửi frame đi. Việc cập nhật header IPv6 (cập nhật các trường Hop Limit và Traffic Class) trước khi chuyển tiếp gói tin IPv6 đến router PE đầu ra có thể cũng là một vấn đề. Để tránh khả năng IPv6 trong các router P, 6PE sử dụng hai nhãn MPLS cho việc chuyển tiếp. Để triển khai
CHƯƠNG IV: XÂY DỰNG MÔ HÌNH THỰC NGHIỆM 4.1 Mục tiêu thực nghiệm:
Sử dụng giải pháp 6PE để mang lưu lượng IPv6 giữa SITE1 và SITE2 thông qua hạ tầng mạng core MPLS IPv4 của ISP.
HÌNH VẼ MÔ TẢ
Mô tả về sơ đồ:
Mô hình được chia làm 3 phần : SITE1, SITE2 và ISP. Trong đó, SITE1 và SITE2 là các Site của khách hàng hoàn toàn chạy giao thức IPv6. ISP là mạng nội bộ của nhà cung cấp dịch vụ và chỉ chạy giao thức IPv4, hoàn toàn không quan tâm về IPv6. MPLS sẽ được chạy bên trong mạng core của ISP.
Trong SITE1 và SITE2 : Hai router R7(CE1) và R8(CE2) đóng vai trò là các router biên của hệ thống mạng khách hàng (Customer Edge Router). Hai Router này sẽ trao đổi dữ liệu IPv6 thông qua mạng core chạy MPLS IPv4 của ISP.
Trong ISP :
Các Router R1, R2, R3 và R4 đóng vài trò là các router core. Và những router này chỉ chạy giao thức IPv4 và hoàn toàn không quan tâm đến IPv6.
Hai Router 6PE1 và 6PE2 đóng vài trò là các router biên của nhà cung cấp (Provider Edge Router). Hai router này sẽ dùng cơ chế dual-stack để chạy cả
SITE2 sẽ được xử lý tại hai router này và sau đó được vận chuyển thông qua mạng core MPLS bên trong.
Tất cả các router bên trong mạng core của ISP (gồm 6 router) điều chạy MPLS ipv4.
4.2 Công cụ thực hiện :
- Phần mềm GNS3 0.8.2 với IOS Router c7200.
4.3 Các bước thực hiện:
Gồm có 4 bước : ( Chi tiết cấu hình xem phần Phụ Lục)
Bước 1:
+ Bật chức năng Ipv6 và CEFv6 trên tất cả các Router chạy Ipv6.
+ Đặt địa chỉ IP cho các Router như trong mô hình ( Tạo các Loopback Interface) + Kiểm tra kết nối các láng giềng bằng lệnh Ping
Bước 2:
+ Định tuyến Ipv6 bằng RIPng trong Site 1 và Site 2
+ Định tuyến Ipv4 bằng OSPF bên trong mạng nội bộ của ISP + Kiểm tra bảng định tuyến và kiểm tra đường truyền.
Bước 3:
+ Định tuyến BGP giữa 2 Router 6PE1 và 6PE2 để mang các thông tin nhãn và Ipv6. + Phân phối lại (Redistribute) các tuyến Ipv6 giữa Site 1 và Site 2 trong RIPng và BGP. + Bật MPLS trong mạng nội bộ của ISP.
Bước 4:
+ Kiểm tra hoạt động của MPLS và kiểm tra kết nối giữa Site 1 và Site 2. + Chỉnh thông số MTU trên các interface chạy MPLS.
4.4 Kết quả đạt được:
+ Kiểm tra qua trình hoạt động của phương pháp 6PE sau khi đã cấu hình
6PE1#show bgp ipv6 unicast 2001:db8:1:2::1/128
6PE1#show bgp ipv6 unicast labels
CE1# show ipv6 route
Như vậy các tuyến IPv6 giữa SITE1 và SITE2 đã được trao đổi thông qua MP-iBGP. Và 2 site này đã có thể trao đổi thông tin với nhau thành công nhờ vào giải pháp 6PE. Ta có thể dùng những lệnh trên để kiểm tra tương tự cho router CE2.
6PE2#show ipv6 route
4.5 DEBUG MPLS 1/ debug mpls enc
To print detailed information about label encapsulations while label rewrites are created or updated and placed in the label-forwarding information base (LFIB), (Để in các thông tin chi tiết về đòng gói nhãn trong khi nhãn viết lại được tạo ra hoặc được cập nhật và được đặt trong các cơ sở thông tin chuyển tiếp nhãn (LFIB),)
Field Description
LFIB Identifies the source of the message as the LFIB subsystem :Nhận ra nguồn của thông báo đó là phân hệ LFIB.
finish res Identifies that the LFIB resolution is being finished : Nhận dạng độ phân giải LFIB được kết thúc
inc tag=26 An incoming (local) label for the LFIB entry is being created. Labels can be numbers or special values: Truyền tới ( cục bộ ) nhãn cho mục LFIB được tạo ra. Nhãn có thể số hoặc giá trị đặc biệt.
outg=22 An outgoing (remote) label for the LFIB entry is being created.: Nhãn ra cho mục LFIB được tạo ra
next_hop=192.168.3.2 IP address of the next hop for the destination: Địa chỉ IP của bước truyền tới từ đích
interface The outgoing interface through which a packet will be sent: Giao diện đi qua đó gói sẽ được gởi đi.
Field Description
get tag adj Identifies that the label switching adjacency to use for the LFIB entry is being determined: Nhận dạng chuyển mạch nhãn để sử dụng cho mục LFIB đang được xác định.
addr = a.b.c.d The IP address of the adjacency: Địa chỉ IP lân cận.
is_p2p=x If x is 1, this is a point-to-point adjacency. If x is 0, it is not: Nếu x là 1, đây là lân cận điểm - điểm. Nếu x là 0, nó không phải.
fibidb = s Indicates the interface of the adjacency:Chỉ cổng tiếp xúc
linktype = x The link type of the adjacency, as follows: Các kiểu cổng : • 7 = LINK_IP
• 90 = LINK_TAG
sizes x,y,z Indicates the following values: Chỉ ra các giá trị sau • x = length of macstring (14)
• y = length of tag encapsulation (18) • z = tag MTU (1520)
type = x Tag encapsulation type, as follows: Kiểu đóng gói thẻ, như sau: • 0 = normal
• 1 = TCATM • 2 = TSP tunnel
idb:s Indicates the outgoing interface: Chỉ cổng đi.
2/debug mpls lfib cef
To print detailed information about label rewrites being created, resolved, and deactivated as Cisco Express Forwarding (CEF) routes are added, changed, or removed . (Để in các thông tin chi tiết về nhãn viết lại được tạo ra, được giải quyết, và vô hiệu hoá như Cisco Express
Field Description
fib complete delete Indicates that the FIB entry is being deleted .
prefix=192.168.3.103/32 A destination prefix.
deactivate tag rew for 192.168.3.103/32
Indicates that label rewrite for specified prefix is being deleted.
set fib rew: pfx 192.168.3.103/32
Indicates that label rewrite is being installed or deleted from the FIB entry for the specified destination for label imposition purposes.
tag_rew->adj=s Adjacency of label rewrite for label imposition.
loadinfo:n Indicates whether the nonrecursive accounting state has changed and whether the loadinfo information in the LFIB needs to be adjusted.
3/debug mpls adjacency
To display changes to label switching entries in the adjacency database (Để hiển thị thay đổi chuyển mạch nhãn trong cơ sở dữ liệu lân cận )
Field Description
add Adding an entry to the database.
update Updating the MAC address for an existing entry.
192.168.3.29 Address of neighbor TSR.
GigabitEthernet Connecting interface.
4/ debug mpls lfib struct :
To trace the allocation and freeing of label-forwarding information base ( LFIB)-related data structures, such as the LFIB itself, label rewrites, and label_info data.( Để theo dõi việc phân bổ và giải phóng các cơ sở thông tin chuyển tiếp nhãn (LFIB) liên quan đến cấu trúc dữ liệu, chẳng hạn như LFIB riêng , nhãn ghi đè, và dữ liệu label_info)
Field Description
LFIB The subsystem issuing the message.
delete tag rew A label rewrite is being freed.
set loadinfo The loadinfo field in the LFIB entry is being set (used for nonrecursive accounting).
tag=s The incoming label of the entry being processed.
no old loadinfo The LFIB entry did not have a loadinfo before.
no new loadinfo
The LFIB entry should not have a loadinfo now.
create tag rewrite
A label rewrite is being created.
5/ debug mpls packets
To display Multiprotocol Label Switching (MPLS) labeled packets switched by the host router (Để hiển thị gói dán nhãn chuyển bởi các bộ định tuyến máy chủ)
Field Description
Gi2/0 The identifier for the interface on which the packet was received or sent.
recvd Packet received.
xmit Packet transmitted.
CoS Class of Service field from the packet label header.
TTL Time to live field from the packet label header.
(no label) Last label was popped off the packet and sent unlabeled.
(Label) A list of labels on the packet, ordered from the top of the stack to the bottom.
To display information about events related to the label distribution protocol (LDP) peer discovery mechanism. (Để hiển thị thông tin về các sự kiện liên quan đến giao thức phân phối nhãn (LDP) cơ chế phát hiện ngang hàng).
Field Description
ldp: Identifies the source of the message as LDP.
adj 0xnnnnnnnn Identifies the data structure used to represent the peer at the transport level. Useful for correlating debug output.
192.168.3.2 (192.168.3.201:0)
Network address and LDP identifier of the peer.
intf_id Interface identifier (non-zero for LC-ATM interfaces; 0 otherwise).
opt 0xn Bits that describe options in the LDP discovery Hello packet: • 0x1--Targeted Hello option
• 0x2--Send targeted Hello option • 0x4--Transport address option
• 0x8--LDP Hello message (as opposed to TDP Hello message)
thể (chẳng hạn như loại tin nhắn, nguồn, và điểm đến) về phân phối Protocol Label (LDP) tin nhắn được nhận từ LDP )
Field Description
ldp: Identifies the source of the displayed information as LDP.
Rcvd xxx msg Type of message received
from 192.168.3.0 Host that sent the message. Used in the early stages of the opening of an LDP session, when the LDP identifier is not yet known.
from
192.168.3.0:0
LDP identifier of the peer that sent the message
(pp 0xnnnnnnnn) Identifies the data structure used to represent the peer at the label distribution level. Useful for correlating debug output.
8/debug mpls ldp messages sent
(chẳng hạn như loại tin nhắn, nguồn, và điểm đến) về phân phối Protocol Label (LDP) tin nhắn được gửi từ LDP )
Field Description
ldp: Identifies the source of the displayed information as LDP.
Rcvd xxx msg Type of message received
To
192.168.3.0:0
to which the message was sent.
(pp
0xnnnnnnnn)
Identifies the data structure used to represent the peer at the label distribution level. Useful for correlating debug output.
9/debug mpls ldp advertisements
To display information about the advertisement of labels and interface addresses to label distribution protocol (LDP) peers (Để hiển thị thông tin về quảng cáo của nhãn và địa chỉ giao diện của giao thức phân phối nhãn ( LDP ) )
Field Description
tagcon: Identifies the source of the message as the label control subsystem.
peer
192.168.3.201:0
LDP identifier of the peer to which the advertisement was targeted.
(pp 0xnnnnnnnn) Identifier for the data structure used to represent the peer at the label distribution level. Useful for correlating debug output.
advertise X Identifies what was advertised to the peer--either an interface address (“a.b.c.d”) or label binding (“a.b.c.d/m, label t (#n)”).
10/ debug mpls ldp session state-machine
To display information about state transitions for label distribution protocol (LDP) sessions (Để hiển thị thông tin về quá trình chuyển đổi trạng thái cho các phiên giao thức phân phối nhãn (LDP))
Field Description
ldp: Identifies the source of the message as LDP.
ptcl_adj:a.b.c.d Identifies the network address of the LDP peer.
(0xnnnnnnnn) Identifies the data structure used to represent the peer at the protocol level. Useful for correlating debug output.
KẾT LUẬN CHUNG
Chuyển mạch nhãn đa giao thức (MPLS) là một công nghệ đã và đang được phát triển mãnh mẽ, nó thiết lập các phương thức mới trong việc truyền dữ liệu qua hạ tầng mạng lõi của ISP. Cùng với MPLS, IPv6 cũng là một giao thức mới đang và sẽ được sử dụng rộng rãi trong tương lai. Tuy nhiên, IPv6 vẫn chưa thể thay thế hoàn toàn cho giao thức IPv4 hiện nay vì hầu hết các cơ sở hạ tầng mạng điều chỉ hỗ trợ cho IPv4, để thay thế IPv6 cần một khoản chi phí rất lớn cho việc nâng cấp hạ tầng. Với đà phát triển của Internet và các thiết bị hỗ trợ Internet như hiện nay thì trong tương lai không xa IPv6 chắc chắn sẽ trở thành giao thức chính hoạt động trong các ISP và mạng doanh nghiệp.
Về lý thuyết :
Tìm hiểu về lịch sử phát triển của MPLS và cơ chế hoạt động của MPLS.
Tìm hiểu được các ưu điểm khi triển khai MPLS trong hệ thống mạng core của ISP.
Tìm hiểu về giao thức định tuyến BGP trong việc phân phối nhãn trên MPLS và một số giao thức định tuyến khác như OSPF, IS-IS, RIP...