Bài viết chuyên đề

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

04/12/2017 01:55:45

Bài số 2: Chuyên đề Là Router hay là Switch

Trong bài viết trước, chúng ta đã cùng khảo sát switch khi switch hoạt động như một router. Trong bài viết tiếp theo này, chúng ta tiếp tục khảo sát điều ngược lại: router hoạt động như một switch.

Thực ra, ngay trong hoạt động bình thường, router đã thực hiện chức năng switching là chuyển mạch các gói tin đi ngang qua nó. Thật vậy, hoạt động định tuyến của router sẽ chỉ cung cấp cho router một bảng định tuyến mô tả đường đi tối ưu đến mọi đích đến trong mạng, nhưng bản thân gói tin khi đi đến router, sau khi tra cứu định tuyến tìm được cổng ra tối ưu, vẫn cần phải được chuyển từ cổng vào sang cổng ra tối ưu ấy. Đây chính là hoạt động chuyển mạch. Router thực hiện các hoạt động chuyển mạch này dựa trên thông tin IP nhận được từ IP header của gói tin nên ta gọi hoạt động chuyển mạch này của router là IP switching. Công nghệ IP switching trên các router ngày càng được hoàn thiện để router có thể cung cấp một tốc độ chuyển mạch ngày càng cao cho luồng dữ liệu IP đi ngang qua mình. Trên các router Cisco, các phương thức chuyển mạch IP được sử dụng là: Process – switching, Fast – switchingCEF, trong đó ưu việt nhất là phương thức CEF. Ngày nay, đa số các router Cisco sử dụng CEF trong hoạt động chuyển mạch của mình.

Trong các core MPLS của các ISP, các router core cũng chính là các thiết bị thực hiện chuyển mạch các gói tin dựa trên thông tin nhãn của chúng; hoạt động chuyển mạch dựa trên nhãn này được gọi là chuyển mạch nhãn, sử dụng công nghệ MPLS (Multi Protocol Label Switching). Phương thức chuyển mạch này có một ưu điểm tuyệt vời là tính chất đa giao thức và được ứng dụng đặc biệt nhiều trong mạng của các ISP để giúp hợp nhất hạ tầng truyền tải và cung cấp các dịch vụ đa dạng đến khách hàng. Chúng ta đã cùng nhau khảo sát một vài ứng dụng tiêu biểu của MPLS trong các bài viết vừa qua.

Bên cạnh hoạt động chuyển mạch đã nêu ở trên, trong nhiều trường hợp, ta có thể cấu hình để router ứng xử như một switch thực thụ:

  • Đóng vai trò như một switch lớp 2 trung chuyển dữ liệu cho một broadcast – domain.
  • Hoặc, giống như một switch lớp 3: trung chuyển dữ liệu cho một broadcast – domain, làm gateway cho broadcast – domain ấy thông qua một interface ảo (tương tự như các interface vlan của các switch lớp 3) và chạy định tuyến với các router khác.

Chúng ta cùng khảo sát điều này qua bài lab như sau:

Sơ đồ:

Hình 1 – Sơ đồ đấu nối các thiết bị.

Mô tả:

Các thiết bị R1, R2 và R3 sẽ đấu nối vào các cổng F0/1, F0/2 và F0/3 của một switch layer 2. Switch này thực hiện tạo các VLAN 10 và 20 và các router R2 và R3 đấu nối vào các VLAN 10 và 20 này (hình 1). Router R1 thiết lập trunking Dot1Q với switch, đường trunk này cho qua các VLAN 10 và 20. Router R1 cũng sử dụng một cổng khác đấu nối lên router R4. Kết quả của việc thiết lập các VLAN và trunking đem đến cho chúng ta sơ đồ luận lý đấu nối giữa các router R1, R2, R3 và R4 như sau (hình 2):

Hình 2 – Sơ đồ luận lý đấu nối giữa các router R1, R2, R3 và R4.

Ta sẽ thực hiện cấu hình để R1 làm một bridge trung chuyển dữ liệu layer 2 giữa VLAN 10 và VLAN 20, từ đó các router R2 và R3 giống như đấu nối chung vào một broadcast – domain và có thể đặt các IP đấu nối cùng subnet (trong ví dụ này là 192.168.23.0/24). Trong khi ấy, R1 vẫn dùng cổng layer 3 F0/1 giao tiếp với R4 qua subnet 192.168.14.0/24.

Thực hiện:

Bước 1: Cấu hình VLAN và trunking trên switch.

SW(config)#vlan 10

SW(config-vlan)#exit

SW(config)#vlan 20

SW(config-vlan)#exit

SW(config)#interface f0/2 <-Cổng nối đến R2

SW(config-if)#switchport access vlan 10

SW(config-if)#exit

SW(config)#interface f0/3 <-Cổng nối đến R3

SW(config-if)#switchport access vlan 20

SW(config-if)#exit

SW(config)#int f0/1 <-Cổng nối đến R1

SW(config-if)#switchport trunk encapsulation dot1q

SW(config-if)#switchport mode trunk

SW(config-if)#exit

Bước 2: Cấu hình các sub – interface và đặt IP trên R1; đặt IP cho R2, R3 và R4.

R1(config)#interface F0/0

R1(config-if)#no shutdown

R1(config-if)#exit

R1(config)#interface F0/0.10 <- Đấu nối vào VLAN 10 đến R2

R1(config-subif)#encapsulation dot1q 10

R1(config-subif)#exit

R1(config)#interface F0/0.20 <- Đấu nối vào VLAN 20 đến R3

R1(config-subif)#encapsulation dot1q 20

R1(config-subif)#exit

R1(config)#interface F0/1

R1(config-if)#no shutdown

R1(config-if)#ip address 192.168.14.1 255.255.255.0

R2(config)#interface F0/0

R2(config-if)#no shutdown

R2(config-if)#ip address 192.168.23.2 255.255.255.0

R2(config-if)#exit

R3(config)#interface F0/0

R3(config-if)#no shutdown

R3(config-if)#ip address 192.168.23.3 255.255.255.0

R3(config-if)#exit

R4(config)#interface F0/0

R4(config-if)#no shutdown

R4(config-if)#ip address 192.168.14.4 255.255.255.0

R4(config-if)#exit

 

Kiểm tra cấu hình VLAN và trunking đã thực hiện:

SW#show vlan brief

VLAN Name                             Status    Ports

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

1    default                          active    Fa0/4, Fa0/5, Fa0/6, Fa0/7

                                                Fa0/8, Fa0/9, Fa0/10, Fa0/11

                                                Fa0/12, Fa0/13, Fa0/14, Fa0/15

                                                Fa0/16, Fa0/17, Fa0/18, Fa0/19

                                                Fa0/20, Fa0/21, Fa0/22, Fa0/23

                                                Fa0/24, Fa0/25, Fa0/26, Fa0/27

                                                Fa0/28, Fa0/29, Fa0/30, Fa0/31

                                                Fa0/32, Fa0/33, Fa0/34, Fa0/35

                                                Fa0/36, Fa0/37, Fa0/38, Fa0/39

                                                Fa0/40, Fa0/41, Fa0/42, Fa0/43

                                                Fa0/44, Fa0/45, Fa0/46, Fa0/47

                                                Fa0/48, Gi0/1, Gi0/2, Gi0/3

                                                Gi0/4

10   VLAN0010                         active    Fa0/2

20   VLAN0020                         active    Fa0/3

1002 fddi-default                     act/unsup

1003 token-ring-default               act/unsup

1004 fddinet-default                  act/unsup

1005 trnet-default                    act/unsup

SW#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,20

 

Port        Vlans in spanning tree forwarding state and not pruned

Fa0/1       1,10,20

Lúc này chúng ta đã thiết lập được sơ đồ luận lý ở hình 2.

Để biến router thành một switch trung chuyển dữ liệu của một broadcast – domain, chúng ta sử dụng tính năng bridging trên router. Khi router được cấu hình tính năng bridging, nó sẽ hoạt động như một switch lớp 2 trung chuyển dữ liệu cho một nhóm cổng và vẫn trao đổi dữ liệu layer 3 cho các cổng còn lại trong vai trò của một router. Router có thể làm bridge ở hai chế độ CRB (Concurrent Routing and Bridging)IRB (Integrated Routing and Bridging).

  • CRB: Ở chế độ này, thành phần bridge và thành phần router trên router hoàn toàn tách rời nhau, lưu lượng ở bridge domain không thể đi qua được phần routed domain.
  • IRB: Với chế độ này, router cung cấp một interface ảo làm gateway cho bridge – domain, lưu lượng của bridge – domain có thể đi qua được routed – domain thông qua interface ảo và ngược lại. Router lúc này rất giống mọt switch layer 3, interface ảo vừa nói đến rất giống một interface SVI trên switch lớp 3.

Bước 3: Cấu hình router hoạt động ở chế độ CRB.

Trong bước này, router R1 sẽ trung chuyển dữ liệu cho hai router R2 và R3, các cổng F0/0.10 và F0/0.20 sẽ biến thành các cổng của một switch layer 2, R2 và R3 tham gia chung một broadcast – domain và sử dụng IP đấu nối cùng subnet. Bên cạnh đó, R1 vẫn dùng cổng F0/1 còn lại của nó để giao tiếp bình thường ở layer 3 với router R4. Như vậy ta có thể coi router R1 như là một tập hợp của một switch lớp 2 và một router độc lập với nhau (hình 3):

Hình 3­ – Mode CRB

Ta thực hiện như sau:

Cấu hình bridge – group trên R1, nhóm 2 cổng F0/0.10 và F0/0.20 vào group này. Trước đó, ta nhớ chọn chế độ bridge là CRB và nhớ bật Spanning – Tree cho thành phần switch này để chống loop:

R1(config)#bridge crb <-Chọn chế độ bridge là CRB

R1(config)#bridge 1 protocol ieee <-Bật STP cho group

R1(config)#interface FastEthernet0/0.10

R1(config-subif)#bridge-group 1

R1(config-subif)#exit

R1(config)#interface FastEthernet0/0.20

R1(config-subif)#bridge-group 1

R1(config-subif)#exit

Thực hiện kiểm tra:

Các router R2 và R3 đã ping được nhau:

R2#ping 192.168.23.3

Type escape sequence to abort.

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

!!!!!

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

R3#ping 192.168.23.2

Type escape sequence to abort.

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

!!!!!

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

R1 chạy STP với switch SW (là switch đấu nối giữa R1, R2 và R3):

R1#show spanning-tree

 

 Bridge group 1 is executing the ieee compatible Spanning Tree protocol

  Bridge Identifier has priority 32768, address 0026.9993.3980

  Configured hello time 2, max age 20, forward delay 15

  We are the root of the spanning tree

  Topology change flag not set, detected flag not set

  Number of topology changes 3 last change occurred 02:07:36 ago

          from FastEthernet0/1

  Times:  hold 1, topology change 35, notification 2

          hello 2, max age 20, forward delay 15

  Timers: hello 1, topology change 0, notification 0, aging 300

 

 Port 26 (FastEthernet0/0.10) of Bridge group 1 is forwarding

   Port path cost 19, Port priority 128, Port Identifier 128.26.

   Designated root has priority 32768, address 0026.9993.3980

   Designated bridge has priority 32768, address 0026.9993.3980

   Designated port id is 128.26, designated path cost 0

   Timers: message age 0, forward delay 0, hold 0

   Number of transitions to forwarding state: 1

   BPDU: sent 4041, received 5

 

 Port 27 (FastEthernet0/0.20) of Bridge group 1 is forwarding

   Port path cost 19, Port priority 128, Port Identifier 128.27.

   Designated root has priority 32768, address 0026.9993.3980

   Designated bridge has priority 32768, address 0026.9993.3980

   Designated port id is 128.27, designated path cost 0

   Timers: message age 0, forward delay 0, hold 0

   Number of transitions to forwarding state: 1

   BPDU: sent 4040, received 3

Ta thấy, R1, hay chính xác là switch “bridge group 1” đang chạy STP với switch SW. Bridge – group 1 có priority là 32768, MAC đại diện là 0026.9993.3980 và Bridge – group 1 đang là root switch (“We are the root”). Ta cũng thấy các giá trị timer được sử dụng là các giá trị mặc định của STP: hello – timer = 2s, forward – delay = 15s và max – age – timer là 20s. Tương tự như với switch thông thường, các công router tham gia group chạy STP cũng có các giá trị đặc thù phục vụ tính toán STP như: cost, port – priority, port – number.

Ta kiểm tra rằng MAC của các cổng F0/0 của R2 và R3 đã được học vảo bridge của router R1:

R1#show bridge 1 verbose

 

Total of 300 station blocks, 298 free

Codes: P - permanent, S - self

 

BG Hash      Address      Action  Interface      VC    Age   RX count   TX count

 1 44/0   0021.a053.94d0 forward  Fa0/0.10        -      0          6          5

 1 76/0   0017.9550.6e18 forward  Fa0/0.20        -      0          6          5

 

Flood ports (BG 1)           RX count    TX count

FastEthernet0/0.10                 18          16

FastEthernet0/0.20                 16          18

Như ta thấy trên hình 3, với mode CRB, thành phần switch và thành phần router của router R1 hoàn toàn độc lập với nhau và vì vậy hai miền bridging domain và routing domain không thể đi đến nhau được.

Bước 4: Cấu hình router hoạt động ở chế độ IRB.

Ở chế độ này, router R1 sẽ cho phép bridging domain đi qua được routing domain. Các router R2 và R3 vẫn tham gia vào chung một broadcast – domain được tạo bởi bridge – group 1. Router R1 cung cấp một gateway cho domain này bằng cách tạo một interface ảo có tên là BVI 1, các router R2 và R3 chỉ default – gateway về BVI 1 để đi ra ngoài khỏi subnet của mình. Ý tưởng của kiến trúc này được thể hiện ở hình 4:

Hình 4 – Mode IRB

Ta thấy lúc này router R1 rất giống một switch layer 3, vừa thực hiện chuyển mạch lớp 2, trên bridge group, vừa thực hiện các thao tác lớp 3: làm default – gateway, chuyển dữ liệu lớp 3. Interface BVI có công dụng giống như các interface VLAN trên các switch lớp 3.

Ta thực hiện như sau:

Trên router R1, đổi mode bridge lại thành mode IRB, tạo và đặt địa chỉ cho interface BVI, bật chức năng định tuyến qua lại giữa các bridge – group:

R1(config)#no bridge crb

R1(config)#bridge irb

R1(config)#interface BVI 1

R1(config-if)#

*Mar 25 04:15:07.883: %LINEPROTO-5-UPDOWN: Line protocol on Interface BVI1, changed state to up

R1(config-if)#ip address 192.168.23.1 255.255.255.0

R1(config-if)#exit

R1(config)#bridge 1 route ip <-giống câu lệnh “ip routing” của SW lớp 3

Chỉ default – gateway trên các router còn lại để thực hiện phần việc định tuyến:

R2(config)#ip route 0.0.0.0 0.0.0.0 192.168.23.1

R3(config)#ip route 0.0.0.0 0.0.0.0 192.168.23.1

R4(config)#ip route 0.0.0.0 0.0.0.0 192.168.14.1

Ta thực hiện ping kiểm tra để thấy rằng các router R2, R3 và R4 đã đi được đến nhau:

R2#ping 192.168.14.4

Type escape sequence to abort.

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

!!!!!

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

R3#ping 192.168.14.4

Type escape sequence to abort.

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

!!!!!

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

R4#ping 192.168.23.2

Type escape sequence to abort.

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

!!!!!

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

R4#ping 192.168.23.3

Type escape sequence to abort.

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

!!!!!

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

Thực hiện kiểm tra STP hay bảng MAC giống như bước 3 ta thấy R1 vẫn thực hiện đầy đủ các chức năng layer 2 trên thành phần bridge của mình. Như vậy ta thấy trong bước 4 này, ta đã cấu hình router thành một thực thể rất giống một switch layer 3.

Chúng ta đã cùng nhau đi qua hai bài viết khảo sát các chức năng routing và switching trên switch và router. Qua các bài lab ta thấy khi cần router có thể hoạt động như một switch và switch có thể hoạt động như một router. Nắm được vấn đề này, chúng ta có thể hiểu thêm về vị trí và vai trò của router và switch trong mạng doanh nghiệp từ đó có thể nắm được ý tưởng thiết kế, đưa ra được các giải pháp phù hợp cũng như thao tác tốt hơn với hai loại thiết bị  cơ bản này.

 

TRUNG TÂM WAREN