I. CÁC KHÁI NIỆM
Phần này mô tả những lợi điểm của việc triển khai chuyển mạch ở lớp 3 (L3 Switching) trong vấn đề định tuyến giữa các vlan. Switch lớp 3 (L3 Switch) được sử dụng trong định tuyến giữa các VLAN (Inter-VLAN Routing) hơn là dùng Router vì các lí do sau. Hiệu năng và chi phí: Chúng ta đã biết lượng lưu lượng trong các VLAN là rất lớn, vì thế nếu sử dụng L3 switching cho việc định tuyến giữa các VLAN rất hiệu quả về mặt giá cả. Hiệu năng của L3 switch cũng cao hơn nhiều so với router. Nó mang một lượng lớn dữ liệu của các VLAN đi với tốc độ rất cao. Ví dụ một Catalyst3550-24 EMI có giá là 4.990$ cung cấp 1 tốc độ luân chuyển lưu lượng lên đến 6.6 triệu gói tin/giây (packet/s), với 24 * 10/100BASE-T ports, 2*1000BASE-X ports. Tuy nhiên một con router Cisco 7300 chỉ chuyển gói tin với tốc độ 3,5 triệu packet/s và có 2*1000BASE-T ports nhưng nó lại có giá lên đến 22.000$. Lưu ý, ở đây ta đang so sánh hiệu quả sử dụng và giá cả trong việc thực hiện Inter-VLAN routing giữa L3 switch với router. Rõ ràng Cisco 7300 router vẫn có những tính năng đặc biệt và cung cấp nhiều tùy chọn Wan, tuy nhiên những tính năng này lại không cần thiết trong việc thực hiện inter-VLAN routing. L3 switch cũng không thể nào làm được những công việc mà Router 7300 đang làm. L3 switch cung cấp mật độ cổng cao, trong khi đó ở router ta thường thấy chỉ có một hoặc hai cổng FastEthernet. Tính uyển chuyển: L3 switch cho phép bạn chuyển đổi qua lại giữa hai chế độ L2 switch và L3 switch. Bình thường, bạn có thể để nó hoạt động như một switch lớp 2 (switch L2) truyền thống nhưng khi cần thì có thể bật tính năng lớp 3 lên. Ví dụ:
Trong hình là 3 VLAN đang được định tuyến bằng switch lớp 3 (L3 switch). L3 switch sử dụng một bộ bộ phận phần cứng đặc biệt gọi là mạch tích hợp ứng dụng đặt trưng (ASICs) được lập trình sẵn và thiết kế để định tuyến giữa các cổng Ethernet với tốc độ cao. Nếu người dùng lưu lượng cần đi ra ngoài và sử dụng dịch vụ mạng diện rộng (WAN) thì sẽ sử dụng Router. L3 switch chỉ làm nhiệm vụ Inter-VLAN routing. Bạn cũng có thể sử dụng router để inter-VLAN routing nhưng lượng lớn người dùng lưu lượng ở các VLAN đổ về có thể dẫn đến nghẽn cục bộ. Bạn có thể mua router với khả năng xử lý cao hơn nhưng giá cả lại không cho phép. Do đó nên sử dụng L3 switch cho việc định tuyến giữa các VLAN.
So sánh định tuyến lớp 3 (L3 routing) và chuyển mạch lớp 3 (L3 switching):
Cả 2 khái niệm mở ra vài điều cần phải làm sáng tỏ. Sự khác nhau giữa chúng có thể được giải thích tốt nhất qua việc xem xét làm thể nào mà một gói tin IP được định tuyến đi. Tiến trình định tuyến một gói tin có thể được chia ra làm 2 giai đoạn:
Mặt phẳng điều khiển: có nhiệm vụ xây dựng và duy trì bảng định tuyến. Đây là nơi mà một gói tin ip sẽ được xác định sẽ định tuyến ra giao diện nào với địa chỉ đích là bao nhiêu; sẽ đến bước nhảy kế tiếp (next-hop) là bao nhiêu và bước nhảy kế tiếp có đến được hay không. L3 routing thường được đề cập đến như là hoạt động của mặt phẳng điều khiển.
Mặt phẳng dữ liệu: thực sự làm nhiệm vụ định tuyến một gói tin ip dựa trên những thông tin học được từ mặt phẳng điều khiển. Trong khi mặt phẳng điều khiển định nghĩa ra giao diện mà gói tin (packet) đưa ra thì mặt phẳng dữ liệu lại định nghĩa gói tin này được định tuyến đi bằng cách nào? Mặt phẳng dữ liệu đưa ra những thông tin về địa chỉ lớp 2 để gói tin IP có thể đến được trạm kế tiếp. Nó cũng cung cấp các thông số cần thiết cho định tuyến IP hoạt động như: thời gian sống (TTL), thông tin kiểm soát lỗi ở phần đầu gói tin IP (ip header checksum). L3 switching thường được đề cập đến như là hoạt động của Mặt phẳng điều khiển. Ví dụ: mô tả sự khác nhau trong hoạt động của mặt phẳng dữ liệu và mặt phẳng điều khiển.
Máy tính A gửi gói tin đến máy tính B và phải đi qua 2 router A và router B. Địa chỉ IP của máy tính A là 1.1.1.10, địa chỉ IP của máy tính B là 3.3.3.10. Máy tính A nhận thấy địa chỉ IP đích nằm trên một mạng khác nên nó sẽ phải gửi đến cổng ra mặc định (default gateway) là router A. Máy tính A muốn đến được Router A phải đóng gói gói tin ip trong khung (frame) Ethernet do kết nối giữa máy tính A và router A là kết nối Ethernet. Trước khi đóng gói gói tin IP vào frame Ethernet, máy tính A phải biết được rằng địa chỉ MAC đích là bao nhiêu (là địa chỉ MAC của router A). máy tính A phải tìm kiếm trong bảng ARP của nó xem có MAC address của Router A hay không? Giả sử rằng máy tính A không biết MAC address của Router A, máy tính A sẽ phát tán yêu cầu ARP (ARP request) cho tất cả các thiết bị trong LAN để hỏi địa chỉ MAC ứng với địa chỉ Ip = 1.1.1.1 là bao nhiêu (ip 1.1.1.1 là ip trên cổng Ethernet của router A).
Vì router A được cấu hình cổng Ethernet có địa chỉ là 1.1.1.1 kết nối với máy tính A , nó sẽ trả lời bằng 1 gói trả lời ARP (ARP reply), cung cấp địa chỉ MAC của nó là 0000.0001.0001. Bây giờ máy tính A có thể đóng gói gói tin ip vào Ethernet Frame và gửi nó cho Router A. Địa chỉ MAC trong frame bây giờ là của Router A, địa chỉ đích IP vẫn không đổi. Trong suốt quá trình từ địa chỉ nguồn đến địa chỉ đích thì địa chỉ IP của nguồn và đích đều không đổi, chỉ có địa chỉ MAC nguồn và địa chỉ MAC đích là thay đổi. Router A nhận được Ethernet Frame và tiến trình xử lý của Mặt phẳng điều khiển bắt đầu. Để Router A có thể chuyển gói tin ra đúng giao diện (Interface) thì nó phải biết được giao diện kế tiếp (next hop interface) là gì và địa chỉ MAC của next hop interface. Để biêt interface next hop là gì, router sẽ xét địa chỉ IP đích, nó tìm kiếm ở bảng định tuyến (routing table) và thấy rằng để đến địa chỉ IP đích (3.3.3.10) thì phải qua bước kế tiếp (next hop) là 2.2.2.2 (router B). RouterA kết nối trực tiếp với router B cũng bằng Ethernet nên gói tin IP cũng được đóng gói vào khung Ethernet. Địa chỉ MAC nguồn và MAC đích bây giờ được thay đổi lại. Địa chỉ MAC nguồn là MAC của cổng Ethernet của Router A. Địa chỉ MAC đích là địa chỉ MAC cổng Ethernet của Router B. Router B nhận được gói tin (packet) này và lại bắt đầu lại tiến trình tương tự như trên, và packet được đưa đến đúng đích là máy tính B.
Hiện thực mặt phẳng điều khiển và mặt phẳng dữ liệu
Để mặt phẳng điều khiển hoạt động tốt, đòi hỏi những hiểu biết về các giao thức định tuyến (routing protocol) đặt biệt là các giao thức (protocol) phức tạp như OSPF và BGP. Ngươc lại, mặt phẳng dữ liệu hoạt động đơn giản hơn mặt phẳng điều khiển, nó được thực hiện thường xuyên hơn các hoạt động của Mặt phẳng điều khiển, mặt phẳng dữ liệu được thực hiện mỗi lần cho mỗi gói tin đã được định tuyến. Mặt phẳng điều khiển hoạt động khi có sự thay đổi về mô hình mạng và bảng định tuyến (routing table) phải được cập nhật lại. Như vậy cuối cùng thì tốc độ định tuyến gói tin nhanh hay chậm phụ thuộc vào hiệu quả của việc triển khai mặt phẳng dữ liệu trong thiết bị định tuyến. Vì hoạt động của mặt phẳng điều khiển rất phức tạp nên người ta phải nhờ đến những ngôn ngữ lập trình cấp cao của CPU để tính toán và duy trì hoạt động của mặt phẳng điều khiển. Với khía cạnh này thì mặt phẳng điều khiển hoạt động dưới sự điều khiển của phần mêm và cả switch lớp 3 (L3 switch) cũng như router để thực hiên mặt phẳng điều khiển thì đều phải nhờ phần mêm. Mặt phẳng dữ liệu hoạt động để điều chỉnh các thông số sau khi nhận được khung (frame): địa chỉ MAC nguồn và địa chỉ MAC đích, thời gian sống (TTL), thông tin kiểm lỗi ở phần đầu gói tin IP (IP header checksum). Công việc này đơn giản, nhưng đối với Router truyền thống thì nó vẫn được thực hiện bằng phần mêm nên rất chậm. L3 switch đã cải tiến công việc này bằng cách hiện thực bằng phần cứng, dùng ASICs để thực hiện mặt phẳng dữ liệu nhanh hơn.
Kiến trúc của chuyển mạch lớp 3 dựa trên phần cứng
Mặt phẳng dữ liệu (data plain) phải tra cứu thông tin địa chỉ IP của bước nhảy kết tiếp (next hop) và địa chỉ của next hop và sau đó đóng gói lại các thông tin này trong gói tin và khung sẽ bị chậm lại. Để tránh bị tình trạng trì hoãn, L3 switch sử dụng một cấu trúc cơ sở dữ liệu đặc biệt để việc tìm kiếm nhanh chóng hơn. Cấu trúc của cơ sở dữ liệu này có thể được chia ra làm 2 loại:
Bộ đệm của con đường đi (route cache): Là nơi những thông tin của khung chuyển mạch lớp 3 (L3 switch frame) liên quan đến một luồng (flow) dữ liệu nào đó . Một flow là một cuộc trao đổi lưu lượng giữa 2 điểm trong mạng (ví dụ : luồng 1 là sự trao đổi thông tin của máy tính A với máy tính B, luồng 2 lại là sự trao đổi thông tin giữa máy tính A và máy tính C). Đối với gói tin đầu tiên thì luồng đươc chỉ ra bằng phần mềm, gói tin thứ 2 thuộc luồng đó sẽ được chuyển đi bằng phần cứng dựa trên những thông tin được cung cấp trong bộ đệm được thực hiện trước đó bởi phần mêm.
Bảng con đường đi tối ưu tìm kiếm: tìm kiếm tiến trình thường được nghĩ đến là quá trình tìm kiếm để định ra các thông tin về con đường đi (route), chi phí (metric) và AD của con đường đi trong bảng định tuyến. Những thông tin này không liên quan đến hoạt động của mặt phẳng dữ liệu (data plane). Bảng tìm kiếm được dùng bởi data plane là một loạt các thực thể (entry) có thể gọi là bảng láng giềngchứa thông tin về địa chỉ MAC kết hợp với những các giao diện bước nhảy kế tiếp (next hop interface) của các thiết bị mạng. bảng này được thực hiện trong L3 switch với tên gọi CEF.