Bài viết chuyên đề
Router hoạt động như một Switch
04/12/2017 01:55:45
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 – switching và CEF, 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ơ đồ:
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):
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) và 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):
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:
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