Tìm hiểu về BGP (Border Gateway Protocol) Free Core - Cấu hình BGP cơ bản

Thảo luận trong 'Routing' bắt đầu bởi cuongpham, 30/11/17.

  1. cuongpham

    cuongpham New Member

    Các ISP thường xuyên phải chạy định tuyến BGP với các ISP khác trên môi trường Internet để đảm bảo vận chuyển dữ liệu của khách hàng theo những lộ trình tối ưu nhất. Theo phương pháp cũ trong việc triển khai BGP, toàn bộ các Router trong mạng Core của ISP đều phải chạy BGP. Các Router biên chạy eBGP với khách hàng và với các ISP khác, các Router Core còn lại phải chạy iBGP với nhau và với các Router biên. Bản thân giao thức BGP là một loại giao thức rất hao tốn tài nguyên, cộng thêm số lượng route trên môi trường Internet cần lưu giữ là một số lượng khổng lồ nên các Router Core của các ISP sẽ bị sử dụng ở công suất rất cao cho công việc định tuyến.

    MPLS ra đời cho phép thực hiện một giải pháp giúp giảm thiểu tối đa số lượng Router chạy BGP. Các ISP sẽ triển khai một hạ tầng Core chạy MPLS, các Router Core chỉ làm nhiệm vụ vận chuyển dữ liệu, không cần phải ghi nhớ thông tin định tuyến BGP cũng như không cần phải chạy BGP, chỉ các Router biên tiếp tục phải chạy BGP với khách hàng. Số lượng Router phải chạy BGP và ghi nhớ các route trên môi trường Internet giảm xuống đáng kể và chỉ còn lại là các Router biên. Ta cùng nhau khảo sát một ví dụ lab để nắm được nguyên lý của giải pháp này.

    Sơ đồ minh họa :

    upload_2017-11-30_13-47-32.jpeg

    Cấu hình :

    Bước 1: Đặt IP cho các cổng trên các Router theo quy hoạch IP trên sơ đồ hình 1.

    Trên R1:

    R1(config)#interface FastEthernet0/1
    R1(config-if)#no shutdown
    R1(config-if)#ip address 192.168.12.1 255.255.255.0
    R1(config-if)#interface Loopback0
    R1(config-if)#ip address 192.168.1.1 255.255.255.0


    Trên R2:

    R2(config)#interface FastEthernet0/0
    R2(config-if)#no shutdown
    R2(config-if)#ip address 192.168.12.2 255.255.255.0
    R2(config-if)#interface FastEthernet0/1
    R2(config-if)#no shutdown
    R2(config-if)#ip address 192.168.23.2 255.255.255.0
    R2(config-if)#interface Loopback0
    R2(config-if)#ip address 192.168.2.1 255.255.255.255


    Trên R3:

    R3(config)#interface FastEthernet0/0
    R3(config-if)#no shutdown
    R3(config-if)#ip address 192.168.23.3 255.255.255.0
    R3(config-if)#interface FastEthernet0/1
    R3(config-if)#no shutdown
    R3(config-if)#ip address 192.168.34.3 255.255.255.0
    R3(config-if)#interface Loopback0
    R3(config-if)#ip address 192.168.3.1 255.255.255.255


    Trên R4:

    R4(config)#interface FastEthernet0/0
    R4(config-if)#no shutdown
    R4(config-if)#ip address 192.168.34.4 255.255.255.0
    R4(config-if)#interface FastEthernet0/1
    R4(config-if)#no shutdown
    R4(config-if)#ip address 192.168.45.5 255.255.255.0
    R4(config-if)#interface Loopback0
    R4(config-if)#ip address 192.168.4.1 255.255.255.255


    Trên R5:

    R5(config)#interface FastEthernet0/0
    R5(config-if)#no shutdown
    R5(config-if)#ip address 192.168.45.5 255.255.255.0
    R5(config-if)#interface Loopback0
    R5(config-if)#ip address 192.168.5.1 255.255.255.0


    Bước 2: Cấu hình thiết lập core MPLS trên AS 200.

    Đầu tiên, ta chạy một giao thức định tuyến trong (IGP) trên các Router thuộc AS 200. Giao thức này đảm bảo mọi địa chỉ của AS 200 có thể đi đến nhau. Ta có thể chọn bất kỳ giao thức IGP nào, hoặc sử dụng định tuyến tĩnh. Trong bài lab này, IGP được chọn là OSPF.

    Trên R2:

    R2(config)#router ospf 1
    R2(config-router)#network 192.168.2.1 0.0.0.0 area 0
    R2(config-router)#network 192.168.23.2 0.0.0.0 area 0


    Trên R3:

    R3(config)#router ospf 1
    R3(config-router)#network 192.168.3.1 0.0.0.0 area 0
    R3(config-router)#network 192.168.23.3 0.0.0.0 area 0
    R3(config-router)#network 192.168.34.3 0.0.0.0 area 0


    Trên R4:

    R4(config)#router ospf 1
    R4(config-router)#network 192.168.4.1 0.0.0.0 area 0
    R4(config-router)#network 192.168.34.4 0.0.0.0 area 0


    Kiểm tra bảng định tuyến của các Router R2, R3 và R4 để chắc chắn rằng mọi địa chỉ trong AS 200 đã đi được đến nhau sau khi chạy OSPF:

    R2#show ip route ospf

    192.168.4.0/32 is subnetted, 1 subnets
    O 192.168.4.1 [110/21] via 192.168.23.3, 00:19:22, FastEthernet0/1
    O 192.168.34.0/24 [110/20] via 192.168.23.3, 00:19:32, FastEthernet0/1
    192.168.3.0/32 is subnetted, 1 subnets
    O 192.168.3.1 [110/11] via 192.168.23.3, 00:19:51, FastEthernet0/1


    R3#show ip route ospf

    192.168.4.0/32 is subnetted, 1 subnets
    O 192.168.4.1 [110/11] via 192.168.34.4, 00:19:51, FastEthernet0/1
    192.168.2.0/32 is subnetted, 1 subnets
    O 192.168.2.1 [110/11] via 192.168.23.2, 00:20:10, FastEthernet0/0


    R4#show ip route ospf

    O 192.168.23.0/24 [110/20] via 192.168.34.3, 00:20:12, FastEthernet0/0
    192.168.2.0/32 is subnetted, 1 subnets
    O 192.168.2.1 [110/21] via 192.168.34.3, 00:20:12, FastEthernet0/0
    192.168.3.0/32 is subnetted, 1 subnets
    O 192.168.3.1 [110/11] via 192.168.34.3, 00:20:12, FastEthernet0/0


    Ta thực hiện bật MPLS trên các cổng router thuộc AS 200:

    Trên R2:

    R2(config-if)#interface FastEthernet0/1
    R2(config-if)#mpls ip


    Trên R3:

    R3(config)#interface FastEthernet0/0
    R3(config-if)#mpls ip
    R3(config-if)#interface FastEthernet0/1
    R3(config-if)#mpls ip


    Trên R4:

    R4(config-if)#interface FastEthernet0/0
    R4(config-if)#mpls ip


    Ta thực hiện kiểm tra để chắc chắn các mối quan hệ LDP trao đổi nhãn đã được thiết lập giữa các Router R2, R3 và R4:

    R2#show mpls ldp neighbor

    Peer LDP Ident: 192.168.3.1:0; Local LDP Ident 192.168.2.1:0
    TCP connection: 192.168.3.1.34335 - 192.168.2.1.646
    State: Oper; Msgs sent/rcvd: 64/63; Downstream
    Up time: 00:48:28
    LDP discovery sources:
    FastEthernet0/1, Src IP addr: 192.168.23.3
    Addresses bound to peer LDP Ident:
    192.168.23.3 192.168.3.1 192.168.34.3


    R3#show mpls ldp neighbor

    Peer LDP Ident: 192.168.2.1:0; Local LDP Ident 192.168.3.1:0
    TCP connection: 192.168.2.1.646 - 192.168.3.1.34335
    State: Oper; Msgs sent/rcvd: 63/64; Downstream
    Up time: 00:48:54
    LDP discovery sources:
    FastEthernet0/0, Src IP addr: 192.168.23.2
    Addresses bound to peer LDP Ident:
    192.168.12.2 192.168.23.2 192.168.2.1
    Peer LDP Ident: 192.168.4.1:0; Local LDP Ident 192.168.3.1:0
    TCP connection: 192.168.4.1.14851 - 192.168.3.1.646
    State: Oper; Msgs sent/rcvd: 63/64; Downstream
    Up time: 00:48:36
    LDP discovery sources:
    FastEthernet0/1, Src IP addr: 192.168.34.4
    Addresses bound to peer LDP Ident:
    192.168.34.4 192.168.4.1 192.168.45.4


    R4#show mpls ldp neighbor

    Peer LDP Ident: 192.168.3.1:0; Local LDP Ident 192.168.4.1:0
    TCP connection: 192.168.3.1.646 - 192.168.4.1.14851
    State: Oper; Msgs sent/rcvd: 64/63; Downstream
    Up time: 00:48:50
    LDP discovery sources:
    FastEthernet0/0, Src IP addr: 192.168.34.3
    Addresses bound to peer LDP Ident:
    192.168.23.3 192.168.3.1 192.168.34.3


    Từ các kết quả show trên các router R2, R3, R4 ở trên, ta thấy các router đã thiết lập được quan hệ láng giềng LDP với nhau, và như vậy có thể trao đổi thông tin về nhãn cho nhau.

    Ta thử kiểm tra bảng chuyển mạch nhãn trên các Router của AS 200:

    R2#show mpls forwarding-table

    Local Outgoing Prefix Bytes tag Outgoing Next Hop
    tag tag or VC or Tunnel Id switched interface
    16 Pop tag 192.168.3.1/32 0 Fa0/1 192.168.23.3
    17 Pop tag 192.168.34.0/24 0 Fa0/1 192.168.23.3
    18 17 192.168.4.1/32 0 Fa0/1 192.168.23.3


    R3#show mpls forwarding-table


    Local Outgoing Prefix Bytes tag Outgoing Next Hop
    tag tag or VC or Tunnel Id switched interface
    16 Pop tag 192.168.2.1/32 4520 Fa0/0 192.168.23.2
    17 Pop tag 192.168.4.1/32 7328 Fa0/1 192.168.34.4


    R4#show mpls forwarding-table

    Local Outgoing Prefix Bytes tag Outgoing Next Hop
    tag tag or VC or Tunnel Id switched interface
    16 Pop tag 192.168.3.1/32 0 Fa0/0 192.168.34.3
    17 16 192.168.2.1/32 0 Fa0/0 192.168.34.3
    18 Pop tag 192.168.23.0/24 0 Fa0/0 192.168.34.3


    Ta thấy các nhãn phục vụ cho quá trình chuyển mạch đã được trao đổi giữa các router cho mọi subnet IP của AS 200 và xuất hiện đầy đủ trong các bảng chuyển mạch nhãn. Ta đã hoàn tất việc xây dựng core MPLS của AS 200.

    Bước 3: Chạy BGP giữa các AS.

    Đầu tiên, ta thực hiện cấu hình BGP trên AS 200. Lưu ý rằng, ta chỉ chạy BGP trên các router biên PE, không chạy BGP trên router core P.

    Cấu hình iBGP giữa R2 và R4:

    Trên R2:

    R2(config)#router bgp 200
    R2(config-router)#neighbor 192.168.4.1 remote-as 200
    R2(config-router)#neighbor 192.168.4.1 update-source Loopback0
    R2(config-router)#neighbor 192.168.4.1 next-hop-self


    Trên R4:

    R4(config)#router bgp 200
    R4(config-router)#neighbor 192.168.2.1 remote-as 200
    R4(config-router)#neighbor 192.168.2.1 update-source Loopback0
    R4(config-router)#neighbor 192.168.2.1 next-hop-self


    Theo cách cấu hình ở trên, ta sử dụng các địa chỉ loopback của các router R2 và R4 để thiết lập quan hệ láng giềng BGP. R2 và R4 là các router PE giao tiếp với các AS bên ngoài nên ta cấu hình tính năng “next – hop – self” trên hai router này trỏ đến nhau để đảm bảo các route BGP mà R2 và R4 nhận của nhau là hợp lệ.

    Bước tiếp theo, ta thực hiện cấu hình eBGP giữa AS 100 và AS 200, AS 200 và AS 300:

    Trên R1:

    R1(config)#router bgp 100
    R1(config-router)#neighbor 192.168.12.2 remote-as 200
    R1(config-router)#network 192.168.1.0 mask 255.255.255.0
    <--- quảng bá subnet của loopback 0 vào BGP

    Trên R2:

    R2(config)#router bgp 200
    R2(config-router)#neighbor 192.168.12.1 remote-as 100


    Trên R4:

    R4(config-router)#router bgp 200
    R4(config-router)#neighbor 192.168.45.5 remote-as 300


    Trên R5:

    R5(config)#router bgp 300
    R5(config-router)#neighbor 192.168.45.4 remote-as 200
    R5(config-router)#network 192.168.5.0 mask 255.255.255.0
    <--- quảng bá subnet của loopback 0 vào BGP

    Kiểm tra sự hội tụ của BGP:

    1) Kiểm tra các mối quan hệ láng giềng:

    Trên R2:

    R2#show ip bgp summary

    BGP router identifier 192.168.2.1, local AS number 200
    .....
    Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
    192.168.4.1 4 200 95 95 3 0 0 01:30:42 1
    192.168.12.1 4 100 96 96 3 0 0 01:32:06 1


    Trên R4:

    R4#show ip bgp summary

    BGP router identifier 192.168.4.1, local AS number 200
    ....
    Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
    192.168.2.1 4 200 98 98 3 0 0 01:33:01 1
    192.168.45.5 4 300 97 97 3 0 0 01:33:28 1


    Trên R1:

    R1#show ip bgp summary

    BGP router identifier 192.168.1.1, local AS number 100
    .....
    Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
    192.168.12.2 4 200 100 100 3 0 0 01:36:53 1


    Trên R5:

    R5#show ip bgp summary
    .....
    Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
    192.168.45.4 4 200 101 101 3 0 0 01:37:25 1


    2) Kiểm tra các bảng BGP trên các router chạy BGP:

    Trên R1:

    R1#show ip bgp
    .....
    Network Next Hop Metric LocPrf Weight Path
    *> 192.168.1.0 0.0.0.0 0 32768 i
    *> 192.168.5.0 192.168.12.2 0 200 300 i


    Trên R5:

    R5#show ip bgp
    .....
    Network Next Hop Metric LocPrf Weight Path
    *> 192.168.1.0 192.168.45.4 0 200 100 i
    *> 192.168.5.0 0.0.0.0 0 32768 i


    Trên R2:

    R2#show ip bgp
    .....
    Network Next Hop Metric LocPrf Weight Path
    *> 192.168.1.0 192.168.12.1 0 0 100 i
    *>i192.168.5.0 192.168.4.1 0 100 0 300 i


    Trên R4:

    R4#show ip bgp
    .....
    Network Next Hop Metric LocPrf Weight Path
    *>i192.168.1.0 192.168.2.1 0 100 0 100 i
    *> 192.168.5.0 192.168.45.5 0 0 300 i


    Ta thấy rằng các subnet cần quảng bá qua BGP đều đã xuất hiện trong bảng BGP của các router chạy BGP.

    3) Kiểm tra bảng định tuyến của các router BGP:

    R1#show ip route bgp

    B 192.168.5.0/24 [20/0] via 192.168.12.2, 00:14:29

    R2#show ip route bgp

    B 192.168.5.0/24 [200/0] via 192.168.4.1, 00:14:50
    B 192.168.1.0/24 [20/0] via 192.168.12.1, 00:16:11


    R4#show ip route bgp

    B 192.168.5.0/24 [20/0] via 192.168.45.5, 00:15:19
    B 192.168.1.0/24 [200/0] via 192.168.2.1, 00:15:19


    R5#show ip route bgp

    B 192.168.1.0/24 [20/0] via 192.168.45.4, 00:15:34

    Các route BGP đã xuất hiện trong bảng định tuyến của các Router.

    4) Hai mạng của AS 100 và AS 300 đã thấy nhau:

    R1#ping 192.168.5.1 source 192.168.1.1

    Type escape sequence to abort.
    Sending 5, 100-byte ICMP Echos to 192.168.5.1, timeout is 2 seconds:
    Packet sent with a source address of 192.168.1.1
    !!!!!
    Success rate is 100 percent (5/5), round-trip min/avg/max = 108/129/136 ms


    R5#ping 192.168.1.1 source 192.168.5.1

    Type escape sequence to abort.
    Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:
    Packet sent with a source address of 192.168.5.1
    !!!!!
    Success rate is 100 percent (5/5), round-trip min/avg/max = 116/147/176 ms


    Như vậy thông qua định tuyến BGP giữa các AS, các subnet của hai AS 100 và AS 300 đã liên lạc được với nhau.
     
    baogum thích bài này.

trang này