Bài viết chuyên đề

Là Router hay là Switch?

01/12/2017 10:46:36

Bài số 1: Chuyên đề Router & Switch

Chúng ta đều biết rằng hai loại thiết bị mạng cơ bản nhất không thể thiếu của một hệ thống mạng là router và switch.

Router là thiết bị chuyên dụng phục vụ công việc định tuyến – tìm đường đi tối ưu đến mọi đích đến trong mạng. Kết quả cuối cùng trong hoạt động định tuyến của router là xây dựng thành công và duy trì được bảng định tuyến. Bảng định tuyến sẽ giúp router chỉ đường đi thích hợp nhất cho mọi gói tin khi nó đi đến router.

Switch là thiết bị chuyển mạch chuyên dụng. Nhiệm vụ chính của switch là trung chuyển dữ liệu đi ngang qua mình ở tốc độ cao nhất. Kể từ khi ra đời, công nghệ switch ngày càng được hoàn thiện để đạt đươc tốc độ chuyển dữ liệu ngày một nhanh hơn.

Hai thiết bị chuyên dụng này đều có vị trí và vai trò cụ thể của nó trong một hệ thống mạng và nhìn chung thường được sử dụng đúng chức năng của mình. Tuy nhiên, trong khá nhiều tình huống chúng ta sẽ gặp các trường hợp mà hai loại thiết bị này thực hiện  công việc của nhau: router hoạt động như một switch và switch hoạt động như một router! Trong loạt bài viết này, chúng ta sẽ cùng khảo sát một số trường hợp thú vị như đã nói ở trên.

Switch hoạt động như một Router

Khi chúng ta sử dụng switch layer 3 trong sơ đồ mạng, các switch này ngoài nhiệm vụ chuyển mạch còn thường phải thực hiện chạy định tuyến với các switch layer 3 khác hoặc các router khác. Với một hệ điều hành được cài đặt full tính năng, các switch layer 3 này có thể chạy được hầu hết mọi phương thức định tuyến vẫn thường gặp trên router. Chúng ta cùng khảo sát điều này thông qua một ví dụ cấu hình:

Hình 1 – Sơ đồ vật lý của ví dụ.
Hình 2 -  Sơ đồ luận lý lớp 3 của ví dụ.

Trên hình 1 là sơ đồ đấu nối vật lý của hai switch lớp 3. Sau khi thực hiện đấu nối với nhau, các switch thực hiện tạo các VLAN như hình vẽ: switch SW1 tạo các VLAN 10 và 20; switch SW2 tạo các VLAN 30 và 40, các VLAN này được giả thiết là sẽ dùng cho người dùng đầu cuối và được gán cho các subnet IP như chỉ ra trong sơ đồ hình 2. Kết nối giữa hai switch là một kết nối trunking 802.1Q, VLAN 12 sẽ được sử dụng để tạo kết nối IP giữa hai switch và được đặt IP như trên hình 2. Hai switch này phải chạy định tuyến với nhau để đảm bảo các user trên các VLAN có thể đi được đến nhau. Khi chúng ta thực hiện công việc định tuyến, các switch này đã ứng xử như những router và sơ đồ tham chiếu để thực hiện cấu hình định tuyến là sơ đồ luận lý lớp 3 ở hình 2.

Bước 1: Chúng ta tạo các VLAN trên các switch.

SW1(config)#vlan 10

SW1(config-vlan)#exit

SW1(config)#vlan 20

SW1(config-vlan)#exit

SW1(config)#vlan 12

SW1(config-vlan)#exit

SW1(config)#

 

SW2(config)#vlan 30

SW2(config-vlan)#exit

SW2(config)#vlan 40

SW2(config-vlan)#exit

SW2(config)#vlan 12

SW2(config-vlan)#exit

SW2(config)#

Bước 2: Thiết lập đường trunk nối giữa hai switch.

SW1(config)#int f0/1

SW1(config-if)#switchport trunk encapsulation dot1q

SW1(config-if)#switchport mode trunk

SW2(config)#int f0/1

SW2(config-if)#switchport trunk encapsulation dot1q

SW2(config-if)#switchport mode trunk

Ta thực hiện kiểm tra rằng đường trunk đã được thiết lập:

SW1#show interfaces trunk

Port        Mode             Encapsulation  Status        Native vlan

Fa0/1       on               802.1q         trunking      1

Port        Vlans allowed on trunk

Fa0/1       1-4094

Port        Vlans allowed and active in management domain

Fa0/1       1,10,12,20

Port        Vlans in spanning tree forwarding state and not pruned

Fa0/1       1,10,12,20

 

SW2#show interfaces trunk

Port        Mode             Encapsulation  Status        Native vlan

Fa0/1       on               802.1q         trunking      1

Port        Vlans allowed on trunk

Fa0/1       1-4094

Port        Vlans allowed and active in management domain

Fa0/1       1,12,30,40

Port        Vlans in spanning tree forwarding state and not pruned

Fa0/1       1,12,30,40

Bước 3: Tạo các interface vlan như trên sơ đồ hình 2.

Trên SW1:

SW1(config)#interface vlan 10

SW1(config-if)#no shutdown

SW1(config-if)#ip address 10.1.10.1 255.255.255.0

SW1(config)#interface vlan 20

SW1(config-if)#no shutdown

SW1(config-if)#ip address 10.1.20.1 255.255.255.0

SW1(config)#int vlan 12

SW1(config-if)#no shutdown

SW1(config-if)#ip address 10.1.12.1 255.255.255.0

Trên SW2:

SW2(config)#interface vlan 30

SW2(config-if)#no shutdown

SW2(config-if)#ip address 10.1.30.1 255.255.255.0

SW2(config)#interface vlan 40

SW2(config-if)#no shutdown

SW2(config-if)#ip address 10.1.40.1 255.255.255.0

SW2(config)#int vlan 12

SW2(config-if)#no shutdown

SW2(config-if)#ip address 10.1.12.2 255.255.255.0

Bước 4: Cấu hình định tuyến trên các switch.

Ta đã thực hiện xây dựng xong sơ đồ layer 3 như hình 2. Tiếp theo, ta thấy rằng để các VLAN 10 và 20 , 30 và 40 có thể đi đến nhau, các switch phải thực hiện chạy định tuyến với nhau.

Đầu tiên, trước khi cấu hình định tuyến trên switch, chúng ta phải bật tính năng định tuyến trên các switch lớp 3. Câu lệnh để bật tính năng định tuyến là “ip routing” trên mode Global configuration.

SW1(config)#ip routing

SW2(config)#ip routing

Sau khi đã bật xong tính năng định tuyến, ta có thể cấu hình nhiều kỹ thuật định tuyến khác nhau trên switch. Tiếp theo đây, chúng ta sẽ cùng thử một số hình thức định tuyến trên hai switch.

Định tuyến tĩnh:

Ta có thể sử dụng định tuyến tĩnh trên switch chỉ đường đi đến các subnet. Cấu hình trên SW1 và SW2:

Trên SW1:

SW1(config)#ip route 10.1.30.0 255.255.255.0 10.1.12.2

SW1(config)#ip route 10.1.40.0 255.255.255.0 10.1.12.2

Trên SW2:

SW2(config)#ip route 10.1.10.0 255.255.255.0 10.1.12.1

SW2(config)#ip route 10.1.20.0 255.255.255.0 10.1.12.1

Ta thực hiện kiểm tra bảng định tuyến:

Trên SW1:

SW1#show ip route static

(Đã lược bớt một số dòng cho gọn kết quả show)

Gateway of last resort is not set

 

      10.0.0.0/8 is variably subnetted, 8 subnets, 2 masks

S        10.1.30.0/24 [1/0] via 10.1.12.2

S        10.1.40.0/24 [1/0] via 10.1.12.2

Trên SW2:

SW2#show ip route static

(Đã lược bớt một số dòng cho gọn kết quả show)

Gateway of last resort is not set

 

      10.0.0.0/8 is variably subnetted, 8 subnets, 2 masks

S        10.1.10.0/24 [1/0] via 10.1.12.1

S        10.1.20.0/24 [1/0] via 10.1.12.1

Ta thấy rằng các route static vừa khai báo đã xuất hiện trong bảng định tuyến của các switch. Ta thực hiện ping kiểm tra:

SW1#ping 10.1.30.1

Type escape sequence to abort.

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

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 1/5/9 ms

SW1#ping 10.1.40.1

Type escape sequence to abort.

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

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 1/4/9 ms

SW2#ping 10.1.10.1

Type escape sequence to abort.

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

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 1/5/9 ms

SW2#ping 10.1.20.1

Type escape sequence to abort.

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

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 1/4/9 ms

Như vậy, định tuyến tĩnh đã được thực hiện thành công trên các switch.

Tiếp theo, chúng ta cùng thử một số giao thức định tuyến trên hai switch:

Giao thức RIPv2:

Trước hết, chúng ta gỡ bỏ các route static đã cấu hình trước đó.

SW1(config)#no ip route 10.1.30.0 255.255.255.0 10.1.12.2

SW1(config)#no ip route 10.1.40.0 255.255.255.0 10.1.12.2

SW2(config)#no ip route 10.1.10.0 255.255.255.0 10.1.12.1

SW2(config)#no ip route 10.1.20.0 255.255.255.0 10.1.12.1

Ta thực hiện cấu hình RIPv2 trên các switch:

SW1(config)#router rip

SW1(config-router)#version 2

SW1(config-router)#no auto-summary

SW1(config-router)#network 10.0.0.0

SW2(config)#router rip

SW2(config-router)#version 2

SW2(config-router)#no auto-summary

SW2(config-router)#network 10.0.0.0

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

SW1#show ip route rip

(Đã lược bớt một số dòng cho gọn kết quả show)

      10.0.0.0/8 is variably subnetted, 8 subnets, 2 masks

R        10.1.30.0/24 [120/1] via 10.1.12.2, 00:00:08, Vlan12

R        10.1.40.0/24 [120/1] via 10.1.12.2, 00:00:08, Vlan12

 

SW2#show ip route rip

(Đã lược bớt một số dòng cho gọn kết quả show)

      10.0.0.0/8 is variably subnetted, 8 subnets, 2 masks

R        10.1.10.0/24 [120/1] via 10.1.12.1, 00:00:30, Vlan12

R        10.1.20.0/24 [120/1] via 10.1.12.1, 00:00:30, Vlan12

Ta thấy RIP đã hội tụ trên hai switch, phản ánh đầy đủ các subnet trên hai switch. Ta có thể thực hiện ping kiểm tra giữa các subnet để kiểm chứng rằng các subnet đã đi đến được tương tự như đã thực hiện ở bước cấu hình định tuyến tĩnh.

Giao thức OSPF:

Ta gỡ bỏ các tiến trình RIP đã cấu hình trên các switch ở trên:

SW1(config)#no router rip

SW2(config)#no router rip

Thực hiện cấu hình OSPF:

SW1(config)#router ospf 1

SW1(config-router)#network 10.1.12.1 0.0.0.0 area 0

SW1(config-router)#network 10.1.10.1 0.0.0.0 area 0

SW1(config-router)#network 10.1.20.1 0.0.0.0 area 0

SW2(config)#router ospf 1

SW2(config-router)#network 10.1.12.2 0.0.0.0 area 0

SW2(config-router)#network 10.1.30.1 0.0.0.0 area 0

SW2(config-router)#network 10.1.40.1 0.0.0.0 area 0

Các thông điệp syslog cho thấy hai switch đã chạy OSPF thành công với nhau:

*Mar  1 00:20:52.612: %OSPF-5-ADJCHG: Process 1, Nbr 10.1.40.1 on Vlan12 from LOADING to FULL, Loading Done <- Trên SW1

*Mar  1 00:20:07.372: %OSPF-5-ADJCHG: Process 1, Nbr 10.1.20.1 on Vlan12 from LOADING to FULL, Loading Done <- Trên SW2

Ta kiểm tra bảng neighbor trên hai switch, các switch đã thiết lập quan hệ full:

SW1#show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface

10.1.40.1         1   FULL/DR         00:00:37    10.1.12.2       Vlan12

SW2#show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface

10.1.20.1         1   FULL/BDR        00:00:38    10.1.12.1       Vlan12

Các subnet cũng đã xuất hiện đầy đủ trong bảng định tuyến của hai switch:

SW1#show ip route ospf

(Đã lươck bớt một số dòng cho gọn kết quả show)

      10.0.0.0/8 is variably subnetted, 8 subnets, 2 masks

O        10.1.30.0/24 [110/2] via 10.1.12.2, 00:00:55, Vlan12

O        10.1.40.0/24 [110/2] via 10.1.12.2, 00:00:45, Vlan12

SW2#show ip route ospf

(Đã lược bớt một số dòng cho gọn kết quả show)

      10.0.0.0/8 is variably subnetted, 8 subnets, 2 masks

O        10.1.10.0/24 [110/2] via 10.1.12.1, 00:01:54, Vlan12

O        10.1.20.0/24 [110/2] via 10.1.12.1, 00:01:44, Vlan12

Ta thấy hai switch đã hội tụ khi chạy định tuyến OSPF với nhau. Tương tự như các bước trước, ta có thể ping kiểm tra đến các subnet trên các switch để chắc chắn các subnet có thể đi đến được.

 Giao thức EIGRP:

Ta tiếp tục kiểm tra việc chạy giao thức EIGRP trên các switch. Tương tự các bước trước, chúng ta thực hiện gỡ bỏ OSPF đã cài trước đó:

SW1(config)#no router ospf 1

SW2(config)#no router ospf 1

Ta chạy EIGRP trên SW1 và SW2:

SW1(config)#router eigrp 100

SW1(config-router)#no auto-summary

SW1(config-router)#network 10.1.12.1 0.0.0.0

SW1(config-router)#network 10.1.10.1 0.0.0.0

SW1(config-router)#network 10.1.20.1 0.0.0.0

SW2(config)#router eigrp 100

SW2(config-router)#no auto-summary

SW2(config-router)#network 10.1.12.2 0.0.0.0

SW2(config-router)#network 10.1.30.1 0.0.0.0

SW2(config-router)#network 10.1.40.1 0.0.0.0

Hai switch chạy EIGRP, thiết lập quan hệ neighbor với nhau:

*Mar  1 00:58:30.976: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 10.1.12.2 (Vlan12) is up: new adjacency <- Trên SW1

*Mar  1 00:57:45.736: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 10.1.12.1 (Vlan12) is up: new adjacency <- Trên SW2

Bảng neighbor trên hai switch:

SW1#show ip eigrp neighbors

EIGRP-IPv4 Neighbors for AS(100)

H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq

                                            (sec)         (ms)       Cnt Num

0   10.1.12.2               Vl12              12 00:08:33    9   200  0  5

 

SW2#show ip eigrp neighbors

EIGRP-IPv4 Neighbors for AS(100)

H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq

                                            (sec)         (ms)       Cnt Num

0   10.1.12.1               Vl12              13 00:08:53   16   200  0  4

Các subnet cũng đã xuất hiện đầy đủ trong bảng định tuyến:

SW1#sh ip route eigrp

(Đã lươck bớt một số dòng cho gọn kết quả show)

      10.0.0.0/8 is variably subnetted, 8 subnets, 2 masks

D        10.1.30.0/24 [90/3072] via 10.1.12.2, 00:10:24, Vlan12

D        10.1.40.0/24 [90/3072] via 10.1.12.2, 00:10:19, Vlan12

SW2#show ip route eigrp

(Đã lược bớt một số dòng cho gọn kết quả show)

      10.0.0.0/8 is variably subnetted, 8 subnets, 2 masks

D        10.1.10.0/24 [90/3072] via 10.1.12.1, 00:10:49, Vlan12

D        10.1.20.0/24 [90/3072] via 10.1.12.1, 00:10:49, Vlan12

Ta thấy hai switch cũng đã chạy EIGRP thông suốt với nhau.

Giao thức BGP:

Ta cùng kiểm tra thử xem các switch có chạy được định tuyến ngoài với nhau hay không. Ta thực hiện cấu hình BGP trên SW1 và SW2:

SW1(config)#router bgp 100

SW1(config-router)#neighbor 10.1.12.2 remote-as 100

SW2(config)#router bgp 100

SW2(config-router)#neighbor 10.1.12.1 remote-as 100

Các thông điệp syslog cho thấy hai switch đã thiết lập được quan hệ neighbor với nhau:

*Mar  1 01:15:03.038: %BGP-5-ADJCHANGE: neighbor 10.1.12.2 Up <- Trên SW1

*Mar  1 01:14:17.781: %BGP-5-ADJCHANGE: neighbor 10.1.12.1 Up <- Trên SW2

Ta kiểm tra tình trạng quan hệ láng giểng BGP giữa SW1 và SW2:

SW1#show ip bgp summary

BGP router identifier 10.1.20.1, local AS number 100

BGP table version is 1, main routing table version 1

Neighbor     V     AS  MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

10.1.12.2    4     100       7       7        1    0    0 00:03:59        0

SW2#show ip bgp summary

BGP router identifier 10.1.40.1, local AS number 100

BGP table version is 1, main routing table version 1

Neighbor     V      AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

10.1.12.1    4      100       7       7        1    0    0 00:04:18        0

Ta thử quảng bá một vài subnet vào BGP trên hai switch và quan sát xem các subnet này có xuất hiện trong bảng BGP của các switch hay không.

SW1(config)#router bgp 100

SW1(config-router)#network 10.1.10.0 mask 255.255.255.0

SW2(config)#router bgp 100

SW2(config-router)#network 10.1.30.0 mask 255.255.255.0

Bảng BGP của các switch:

SW1#show ip bgp

   Network          Next Hop            Metric LocPrf Weight Path

*> 10.1.10.0/24     0.0.0.0                  0         32768 i

r>i10.1.30.0/24     10.1.12.2                0    100      0 i

SW2#show ip bgp

   Network          Next Hop            Metric LocPrf Weight Path

r>i10.1.10.0/24     10.1.12.1                0    100      0 i

*> 10.1.30.0/24     0.0.0.0                  0         32768 i

Ta thấy các subnet được quảng bá đã xuất hiện đầy đủ trong bảng BGP của các switch. Như vậy BGP chạy hoàn toàn bình thường trên các switch này.

Từ kết quả thực hiện lab ở trên ta thấy rằng khi switch lớp 3 được sử dụng trong hệ thống mạng, bên cạnh việc thực hiện các công việc thông thường của switch (chuyển mạch lớp 2, chia VLAN, trunking, STP, chuyển mạch IP,…), switch có thể được vận hành như một router thực thụ, chạy các giao thức định tuyến, xây dựng bảng định tuyến để xác định đường đi tối ưu cho gói tin trên mạng.

SDM – Switch Database Manager

SDM – Switch Database Manager là các template trên các switch quy định các thông số cũng như các tính năng được sử dụng như thế nào trên switch; cần phải chọn đúng SDM để có thể chạy được các tính năng như mong muốn. Ví dụ: ta xem xét SDM default của dòng switch 3560 có tên là “desktop default” (câu lệnh để hiển thị thống kê về SDM hiện đang được sử dụng là “show sdm prefer”).

SW1#show sdm prefer

 The current template is "desktop default" template.

 The selected template optimizes the resources in

 the switch to support this level of features for

 8 routed interfaces and 1024 VLANs.

  number of unicast mac addresses:                  6K

  number of IPv4 IGMP groups + multicast routes:    1K

  number of IPv4 unicast routes:                    8K

    number of directly-connected IPv4 hosts:        6K

    number of indirect IPv4 routes:                 2K

  number of IPv4 policy based routing aces:         0

  number of IPv4/MAC qos aces:                      0.5K

  number of IPv4/MAC security aces:                 1K

Từ kết quả show ở trên ta thấy rằng với SDM đang được sử dụng, tổng số route không kết nối trực tiếp tối đa có thể lưu trên bảng định tuyến là 2000 route. Nếu ta muốn chạy định tuyến với một hệ thống mạng mà số route vượt quá 2000 thì SDM này là không phù hợp.

Để thay đổi SDM trên switch nhằm đạt được mục đích mong muốn, chúng ta sử dụng câu lệnh “sdm prefer” trên mode Global configuration. Với ví dụ trên, để switch có thể tiếp thu được số route không kết nối trực tiếp lớn hơn 2000, chúng ta phải sử dụng SDM có tên là “Routing”.

SW1(config)#sdm prefer routing

Changes to the running SDM preferences have been stored, but cannot take effect

until the next reload.

Use 'show sdm prefer' to see what SDM preference is currently active.

 

Sau khi thay đổi xong SDM, chúng ta cần phải khởi động lại switch để SDM mới có thể được sử dụng (SDM Routing cho phép hỗ trợ tới 8000 route không kết nối trực tiếp trên switch).

Chúng ta đã cùng nhau khảo sát việc sử dụng switch lớp 3 như một router, thực hiện các chức năng định tuyến đầy đủ như một router thực thụ. Trong bài viết kế tiếp, chúng ta sẽ cùng khảo sát việc sử dụng router như một switch thực thụ trong một hệ thống mạng.

 

TRUNG TÂM WAREN