Bài viết chuyên đề

AToM: HDLC và PPP

06/12/2017 11:22:12

Bài số 7: Chuyên đề MPLS

Trong các bài viết trước, chúng ta đã cùng nhau trao đổi về hai ứng dụng nổi bật của MPLS là BGP – Free Core và MPLS – VPN. Trong các bài viết tiếp theo, chúng ta sẽ cùng trao đổi về một ứng dụng khác cũng cực kỳ nổi bật của MPLS là kỹ thuật AToM.

AToM – Any Transport over MPLS là một kỹ thuật cho phép các ISP cung cấp các dịch vụ truyền tải lớp 2 qua hạ tầng MPLS đến các khách hàng. Các khách hàng có thể thực hiện đấu nối lên hạ tầng của ISP bằng các đường link layer 2 thông dụng như HDLC, PPP, Ethernet, Frame – relay,…và ISP sẽ thực hiện truyền tải các dữ liệu layer 2 này qua MPLS core của mình. Với AToM, khách hàng sẽ không cần phải thay đổi hạ tầng đấu nối và có thể sử dụng phương thức truyền tải lớp 2 vốn có. Các ISP khi cung cấp dịch vụ đến khách hàng cũng không cần phải xây dựng nhiều hạ tầng truyền tải khác nhau cho các loại hình truyền tải khác nhau của khách hàng mà chỉ cần một hạ tầng duy nhất là hạ tầng MPLS. Điều này có thể có được là nhờ tính chất đa giao thức của kỹ thuật chuyển mạch nhãn.

Ý tưởng chính của AToM là sử dụng hai nhãn trong việc truyền tải dữ liệu layer 2. Nhãn đầu tiên của chồng nhãn dùng để xác định PE nào ở đầu kia sẽ được dùng để đưa dữ liệu layer 2 đi ra (egress PE). Nhãn thứ hai dùng để xác định khi dữ liệu layer 2 đi ra khỏi egress PE, nó sẽ đi ra theo link layer 2 nào, vì một PE có thể tập trung trên nó nhiều link layer 2 khác nhau (thường được gọi là các Attachment Circuit). Hai router PE ở hai đầu sẽ phải dùng hai session LDP khác nhau để trao đổi các nhãn cho một đường truyền tải layer 2 của khách hàng.

Như với các bài viết trước, để quan sát vấn đề một cách trực quan, chúng ta cùng khảo sát thông qua một ví dụ lab.

Sơ đồ:

Hình 1 – Sơ đồ bài lab cấu hình.

Yêu cầu:

  • Tạo MPLS core.
  • Thực hiện các đường VPN Layer 2 cho các khách hàng A và B:
    • Các site của khách hàng A nối nhau sử dụng kết nối HDLC và chạy định tuyến EIGRP đảm bảo mọi địa chỉ của hai site thấy nhau.
    •  Các site của khách hàng B nối nhau sử dụng kết nối PPP và chạy định tuyến OSPF đảm bảo mọi địa chỉ của hai site thấy nhau.

Thực hiện:

Tạo MPLS – core:

Bước 1: Chạy một giao thức định tuyến IGP trong Core, đảm bảo mọi địa chỉ trong Core thấy nhau. Trong bài lab này ta chọn IGP là OSPF.

R2(config)#router ospf 1

R2(config-router)#network 2.2.2.2 0.0.0.0 area 0

R2(config-router)#network 192.168.23.0 0.0.0.255 area 0

R3(config)#router ospf 1

R3(config-router)#network 3.3.3.3 0.0.0.0 area 0

R3(config-router)#network 192.168.23.0 0.0.0.255 area 0

R3(config-router)#network 192.168.34.0 0.0.0.255 area 0

R4(config)#router ospf 1

R4(config-router)#network 4.4.4.4 0.0.0.0 area 0

R4(config-router)#network 192.168.34.0 0.0.0.255 area 0

Bước 2: Bật MPLS trên tất cả các router PE và P.

R2(config)#interface FastEthernet0/1

R2(config-if)#mpls ip

R3(config)#interface FastEthernet0/0

R3(config-if)#mpls ip

R3(config-if)#interface FastEthernet0/1

R3(config-if)#mpls ip

R4(config)#interface FastEthernet0/1

R4(config-if)#mpls ip

Show kiểm tra việc thiết lập quan hệ LDP:

R3#show mpls ldp neighbor

    Peer LDP Ident: 2.2.2.2:0; Local LDP Ident 3.3.3.3:0

        TCP connection: 2.2.2.2.646 - 3.3.3.3.48539

        State: Oper; Msgs sent/rcvd: 26/26; Downstream

        Up time: 00:16:44

        LDP discovery sources:

          FastEthernet0/0, Src IP addr: 192.168.23.2

        Addresses bound to peer LDP Ident:

          192.168.23.2    2.2.2.2        

    Peer LDP Ident: 4.4.4.4:0; Local LDP Ident 3.3.3.3:0

        TCP connection: 4.4.4.4.48088 - 3.3.3.3.646

        State: Oper; Msgs sent/rcvd: 26/27; Downstream

        Up time: 00:16:43

        LDP discovery sources:

          FastEthernet0/1, Src IP addr: 192.168.34.4       

Thực hiện các đường VPN layer 2 cho các khách hàng:

Thực hiện cho khách hàng A:

Bước 1: Tạo kết nối HDLC qua môi trường MPLS cho R1A và R5A.

R2(config)#int s2/1

R2(config-if)#xconnect 4.4.4.4 100 encapsulation mpls

R4(config)#int s2/1

R4(config-if)#xconnect 2.2.2.2 100 encapsulation mpls

Chú ý: các cổng serial s2/1 của R2 và R4 (các router PE) mặc định sử dụng cách đóng gói dữ liệu là HDLC. Các địa chỉ 2.2.2.2 và 4.4.4.4 là các địa chỉ đại diện cho các router PE trong kết nối LDP. Giá trị 100 được gọi là VC – ID, được dùng để định danh cho đường link HDLC nối đến khách hàng A.

Bước 2: Trên các router của khách hàng thực hiện các cách đóng gói dữ liệu tương ứng với các cổng đấu nối của các router PE và đặt địa chỉ trên các cổng này.

R1A(config)#int s2/0

R1A(config-if)#no sh

R1A(config-if)#ip add 192.168.15.1 255.255.255.0

R5A(config)#int s2/0

R5A(config-if)#no sh

R5A(config-if)#ip add 192.168.15.5 255.255.255.0

Lúc này sơ đồ đấu nối giữa hai site của khách hàng A có thể được vẽ lại như sau (hình 2):

 Hình 2 – Đấu nối HDLC được thiết lập giữa R1A và R5A.

Bước 3: Kiểm tra đường VPN L2 trên các router PE.

Trên R2:

R2#sh mpls l2transport vc 100

 

Local intf     Local circuit              Dest address    VC ID      Status   

-------------  -------------------------- --------------- ---------- ----------

Se2/1          HDLC                       4.4.4.4         100        UP       

Trên R4:

R4#sh mpls l2transport vc 100

 

Local intf     Local circuit              Dest address    VC ID      Status   

-------------  -------------------------- --------------- ---------- ----------

Se2/1          HDLC                       2.2.2.2         100        UP                                                                                    

R2 và R4 thiết lập thêm một kết nối LDP nữa để trao đổi nhãn thứ 2 dùng cho VC 100:

R2#sh mpls ldp nei

    Peer LDP Ident: 3.3.3.3:0; Local LDP Ident 2.2.2.2:0

        TCP connection: 3.3.3.3.46011 - 2.2.2.2.646

        State: Oper; Msgs sent/rcvd: 16/16; Downstream

        Up time: 00:07:29

        LDP discovery sources:

          FastEthernet0/1, Src IP addr: 192.168.23.3

        Addresses bound to peer LDP Ident:

          192.168.23.3    192.168.34.3    3.3.3.3        

    Peer LDP Ident: 4.4.4.4:0; Local LDP Ident 2.2.2.2:0

        TCP connection: 4.4.4.4.16036 - 2.2.2.2.646

        State: Oper; Msgs sent/rcvd: 9/9; Downstream

        Up time: 00:00:12

        LDP discovery sources:

          Targeted Hello 2.2.2.2 -> 4.4.4.4, active, passive

        Addresses bound to peer LDP Ident:

          192.168.34.4    4.4.4.4

R4#sh mpls ldp nei

    Peer LDP Ident: 3.3.3.3:0; Local LDP Ident 4.4.4.4:0

        TCP connection: 3.3.3.3.646 - 4.4.4.4.20769

        State: Oper; Msgs sent/rcvd: 16/17; Downstream

        Up time: 00:07:55

        LDP discovery sources:

          FastEthernet0/0, Src IP addr: 192.168.34.3

        Addresses bound to peer LDP Ident:

          192.168.23.3    192.168.34.3    3.3.3.3        

    Peer LDP Ident: 2.2.2.2:0; Local LDP Ident 4.4.4.4:0

        TCP connection: 2.2.2.2.646 - 4.4.4.4.16036

        State: Oper; Msgs sent/rcvd: 10/10; Downstream

        Up time: 00:00:56

        LDP discovery sources:

          Targeted Hello 4.4.4.4 -> 2.2.2.2, active, passive

        Addresses bound to peer LDP Ident:

          192.168.23.2    2.2.2.2 

R2 và R4 đều sử dụng 02 nhãn:

R2#sh mpls l2transport vc 100 detail

Local interface: Se2/1 up, line protocol up, HDLC up

  Destination address: 4.4.4.4, VC ID: 100, VC status: up

    Next hop: 192.168.23.3

    Output interface: Fa0/1, imposed label stack {17 19}

  Create time: 00:02:48, last status change time: 00:02:41

  Signaling protocol: LDP, peer 4.4.4.4:0 up

    MPLS VC labels: local 19, remote 19

    Group ID: local 0, remote 0

    MTU: local 1500, remote 1500

    Remote interface description:

  Sequencing: receive disabled, send disabled

  VC statistics:

    packet totals: receive 19, send 19

    byte totals:   receive 1529, send 1529

    packet drops:  receive 0, seq error 0, send

 

R4#sh mpls l2transport vc 100 detail

Local interface: Se2/1 up, line protocol up, HDLC up

  Destination address: 2.2.2.2, VC ID: 100, VC status: up

    Next hop: 192.168.34.3

    Output interface: Fa0/0, imposed label stack {16 19}

  Create time: 00:49:05, last status change time: 00:48:52

  Signaling protocol: LDP, peer 2.2.2.2:0 up

    MPLS VC labels: local 19, remote 19

    Group ID: local 0, remote 0

    MTU: local 1500, remote 1500

    Remote interface description:

  Sequencing: receive disabled, send disabled

  VC statistics:

    packet totals: receive 945, send 936

    byte totals:   receive 69827, send 69127

    packet drops:  receive 0, seq error 0, send 0

Bước 4: Kiểm tra kết nối giữa các site của khách hàng.

Thực hiện lệnh câu lệnh “show cdp” trên các router khách hàng. Lúc này, các site khách hàng thấy được thông tin về nhau giống như là kết nối trực tiếp với nhau:

R1A#show cdp neighbors

Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge

                  S - Switch, H - Host, I - IGMP, r - Repeater

 

Device ID        Local Intrfce     Holdtme    Capability  Platform  Port ID

R5A              Ser 2/0            174         R S I     3725      Ser 2/0

R2               Ser 2/0            121         R S I     3725      Ser 2/1

R1A#

R5A#show cdp neighbors

Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge

                  S - Switch, H - Host, I - IGMP, r - Repeater

 

Device ID        Local Intrfce     Holdtme    Capability  Platform  Port ID

R1A              Ser 2/0            178         R S I     3725      Ser 2/0

R4               Ser 2/0            120         R S I     3725      Ser 2/1

Ping kiểm tra:

R1A#ping 192.168.15.5

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.15.5, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 140/236/424 ms

 

R5A#ping 192.168.15.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.15.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 128/206/408 ms

Bước 5: Chạy định tuyến trên các router của khách hàng (khách hàng A chạy EIGRP).

R1A(config)#router eigrp 100

R1A(config-router)#net 192.168.15.0

R1A(config-router)#net 1.1.1.0 0.0.0.0

R1A(config-router)#no auto-summary

R5A(config)#router eigrp 100

R5A(config-router)#net 192.168.15.0

R5A(config-router)#net 5.5.5.0 0.0.0.0

R5A(config-router)#no auto-summary

Thực hiện kiểm tra bảng định tuyến trên hai đầu khách hàng:

Trên R1A:

R1A#show ip route eigrp

     5.0.0.0/32 is subnetted, 1 subnets

D       5.5.5.5 [90/2297856] via 192.168.15.5, 00:04:19, Serial2/0

Trên R5A:

R5A#show ip route eigrp

     1.0.0.0/32 is subnetted, 1 subnets

D       1.1.1.1 [90/2297856] via 192.168.15.1, 00:04:39, Serial2/0

Ta thấy, hai site của khách hàng đã thấy được các mạng của nhau. Tiến hành ping kiểm tra:

R1A#ping 5.5.5.5 source 1.1.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 5.5.5.5, timeout is 2 seconds:

Packet sent with a source address of 1.1.1.1

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 136/216/296 ms

R1A#

R5A#ping 1.1.1.1 source 5.5.5.5

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:

Packet sent with a source address of 5.5.5.5

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 144/176/224 ms

R5A#

Thực hiện cho khách hàng B:

Bước 1: Tạo kết nối PPP qua môi trường MPLS cho R1B và R5B.

R2(config)#int s2/2

R2(config-if)#encapsulation ppp

R2(config-if)#xconnect 4.4.4.4 200 encapsulation mpls

R4(config)#int s2/1

R4(config-if)#encapsulation ppp

R4(config-if)#xconnect 2.2.2.2 200 encapsulation mpls

Chú ý: Giá trị 200 là số VC – ID của kết nối L2 giữa hai site của khách hàng B qua môi trường MPLS. Lưu ý rằng giữa R2 và R4 chỉ có một tunnel nối chúng với nhau, và trên  tunnel này hiện nay có hai đường dây ảo (pseudo wire – pw) dùng để nối các chi nhánh của các khách hàng A và B. Đường dành cho khách hàng A có số VC – ID là 100, trên đó chạy cách đóng gói HDLC. Đường dành cho khách hàng B có số VC – ID là 200, trên đó chạy cách đóng gói PPP. Trên cùng một tunnel giữa hai PE, số VC – ID định danh cho mỗi pseudo wire phải là duy nhất.

Bước 2: Trên các router của khách hàng thực hiện các cách đóng gói dữ liệu tương ứng với các cổng đấu nối của các router PE và đặt địa chỉ trên các cổng này:

R1B(config)#int s2/0

R1B(config-if)#no sh

R1B(config-if)#encapsulation PPP

R1B(config-if)#ip add 192.168.15.1 255.255.255.0

R5B(config)#int s2/0

R5B(config-if)#no sh

R5B(config-if)#encapsulation PPP

R5B(config-if)#ip add 192.168.15.5 255.255.255.0

Lúc này sơ đồ đấu nối giữa hai site của khách hàng B có thể được vẽ lại như sau (hình 3):

Hình 3 – Đấu nối PPP được thiết lập giữa R1B và R5B.

Bước 3: Kiểm tra đường VPN L2 trên các router PE.

Trên R2:

R2#sh mpls l2transport vc 200

 

Local intf     Local circuit              Dest address    VC ID      Status   

-------------  -------------------------- --------------- ---------- ----------

Se2/2          PPP                         4.4.4.4         200        UP    

Trên R4:

R4#sh mpls l2transport vc 200

 

Local intf     Local circuit              Dest address    VC ID      Status   

-------------  -------------------------- --------------- ---------- ----------

Se2/2          PPP                         2.2.2.2         200        UP       

Bước 4: Kiểm tra kết nối giữa các site của khách hàng.

Thực hiện lệnh câu lệnh “show cdp” trên các router khách hàng. Lúc này, các site khách hàng thầy được thông tin về nhau như thể kết nối trực tiếp với nhau:

R1B#show cdp neighbors

Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge

                  S - Switch, H - Host, I - IGMP, r - Repeater

 

Device ID        Local Intrfce     Holdtme    Capability  Platform  Port ID

R5B              Ser 2/0            158         R S I     3725      Ser 2/0

R5B#show cdp nei

Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge

                  S - Switch, H - Host, I - IGMP, r - Repeater

 

Device ID        Local Intrfce     Holdtme    Capability  Platform  Port ID

R1B              Ser 2/0            131         R S I     3725      Ser 2/0

Ping kiểm tra:

R1B#ping 192.168.15.5

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.15.5, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 224/245/292 ms

R5B#ping 192.168.15.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.15.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 124/219/388 ms

Bước 5: Chạy định tuyến trên các router của khách hàng (khách hàng B chạy OSPF).

R1B(config)# router ospf 1

R1B(config-router)# network 0.0.0.0 255.255.255.255 area 0

R5B(config)# router ospf 1

R5B(config-router)# network 0.0.0.0 255.255.255.255 area 0

Thực hiện kiểm tra bảng định tuyến trên hai đầu khách hàng:

Trên R1B:

R1B#show ip route ospf

     5.0.0.0/32 is subnetted, 1 subnets

O       5.5.5.5 [110/65] via 192.168.15.5, 00:38:23, Serial2/0

Trên R5B:

R5B#show ip route ospf

     1.0.0.0/32 is subnetted, 1 subnets

O       1.1.1.1 [110/65] via 192.168.15.1, 00:39:13, Serial2/0

Ta thấy, hai site của khách hàng đã thấy được các mạng của nhau. Tiến hành ping kiểm tra:

R1B#ping 5.5.5.5 source 1.1.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 5.5.5.5, timeout is 2 seconds:

Packet sent with a source address of 1.1.1.1

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 124/245/376 ms

R5B#ping 1.1.1.1 source 5.5.5.5

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:

Packet sent with a source address of 5.5.5.5

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 112/204/276 ms

Chúng ta đã cùng nhau khảo sát cách thức thiết lập một đường truyền AToM qua hạ tầng MPLS với hai giao thức lớp 2 là HDLC và PPP. Trong các bài viết tới, chúng ta sẽ cùng nhau khảo sát tiếp AToM với các giao thức lớp 2 khác.

 

TRUNG TÂM WAREN