1. Hoạt động đa lớp của switch
Các switch trung gian, như 3570, 4500, và 6500, cũng có thể chuyển tiếp frame dựa vào các thông tin Layer 3 và layer 4 chứa trong gói. Nó còn được gọi là switching đa lớp (MLS). Dĩ nhiên, switching layer 2 cũng sẽ diễn ra trong cùng thời điểm vì việc đóng góicác lớp cao hơn vẫn được chứa trong frame của Ethernet.
Các loại switching đa lớp
Switch trung gian có hỗ trợ 2 loại MLS cơ bản: route caching (route đệm) (MLS đời đầu) và trên nền cấu trúc liên kết (MLS đời 2). Phần này sẽ nói sơ qua cả 2, cho dù chỉ có đời 2 trong các switch dựa trên phần mềm IOS của Cisco, như 3570, 4500 và 6500. 2 loại đó như sau:
• Route caching – MLS đời đầu, yêu cầu 1 bộ xử lý route (RP), và một máy switch (SE). RP phải thực hiện 1 gói truyền lưu lượng đầu tiên đề xác định đích đến. SE sẽ lấy ra trong gói ấy và tạo ra một shortcut trong bộ nhớ cache. SE sẽ chuyển các gói sau theo cùng lưu lượng bằng cùng đường shortcut ấy.
MLS loại này còn được gọi là Netflow LAN switching, flow-based hay demand-based switching, và “route one, switch many”. Switching kiểu này không được dùng trong các catalyst switch trên nền Cisco IOS.
• Topology-base – MLS đời tiếp theo, tận dụng chuyên về phần cứng. Xây dựng thông tin layer 3 routing và tạo 1 csdl đơn cho toàn mạng topology. Cơ sở dữ liệu này, một bảng tra hiệu quả về phần cứng, được dùng để các gói có thể chuyển tiếp với tốc độ cao. Tên dài nhất được tìm thấy trong cơ sở dữ liệu cũng sẽ là đích đến chính xác của Layer 3. Khi routing topology thay đổi theo thời gian, cơ sở dữ liệu chứa trong bộ cứng cũng được cập nhật liên tục mà không ảnh hưởng gì đến tốc độ xử lý.
MLS loại này được biết đến là CEF. Tiến trình routing trên switch sẽ tải csdl trên bảng routing hiện hành về phần Forwarding Information Base (FIB) trên phần cứng.
2. Bảng dùng trong Switching
2.1. Content-Addressable Memory (CAM – Bộ nhớ khả lập địa chỉ nội dung)
Tất cả các mẫu Catalyst switch đều sử dụng bảng CAM cho việc switching Layer 2. Khi các frame được đưa đến switch port, địa chỉ MAC nguồn sẽ được biết và ghi vào trong bảng CAM. Port đến cũng như VLAN đều được ghi lại vào bảng, đính thêm 1 tem thời gian. Nếu địa chỉ MAC được biết trong 1 switch port di chuyển đến 1 port khác, địa chỉ MAC và tem thời gian sẽ được ghi cho port sau cùng được đưa đến. Sau đó, dữ liệu được nhập trước đó sẽ bị xóa đi. Nếu địa chỉ MAC đã có sẵn trong port đến, sẽ chỉ có tem thời gian của chúng là được cập nhật.
Các switch thường có bảng CAM lớn để có thể tra cho việc chuyển tiếp frame. Tuy nhiên, không có đủ chỗ trong bảng để có thể giữ các địa chỉ có thể trong cả network rộng lớn. Để quản lý bảng một cách hiệu quả, các table entry (các địa chỉ trong bảng) không được tra trong một khoảng thời gian nào đó sẽ bị đẩy ra ngoài. Mặc định thì các table entry sẽ được giữ lại trong vòng 300s trước khi bị xóa đi. Ta có thể thay đổi tùy chọn này bằng dòng lệnh
Switch(config)# mac address-table aging-time seconds
Mặc định thì các địa chỉ MAC được biết một cách liên tục từ các frame gửi đến. Ngược lại, ta cũng có thể cấu hình cho các entry trong bảng CAM tĩnh để các địa chỉ CAM trong bảng đó không thể thay đổi. Để làm điều này ta dùng dòng lệnh sau:
Switch(config)# mac address-table static mac-address vlan vlan-id interface type mod/num
2.2. Ternary Content-Addressable Memory (Bộ nhớ khả lập địa chỉ nội dung 3 biến)
Trong routing dạng thông thường, ACL có thể đối chiếu, lọc, hay điều khiển lưu lượng riêng biệt. Access list được tạo nên bởi 1 hay nhiều phần tử access list hoặc so các lệnh để định trị theo thứ tự liên tiếp. Định trị 1 access list có thể mất thêm thời gian, làm tăng độ trễ của gói tin chuyển tiếp.
Tuy nhiên, trong các switch đa lớp, các tiến trình đối chiếu mà ACL cung cấp lại được cài đặt ở trong phần cứng. TCAM cho phép 1 gói được định trị bởi toàn bộ access list trong 1 bảng tra riêng. Đa số các switch có nhiều TCAM nên việc bảo vệ các liên kết trong cũng như liên kết ngoài và QoS ACL được diễn ra lần lượt, hay toàn bộ cùng lúc với quyết định chuyển tiếp tại layer 2 hay layer 3.
Phần mềm Catalyst IOS có 2 thành phần góp phần trong hoạt động của TCAM:
• Quản lý chức năng (Feature Manager – fm) – Sau khi 1 access list được tạo ra hay cấu hình, phần mềm Quản lý chức năng sẽ kết hợp, hoặc là nhập, phần ACE vào mục nhập trong bảng TCAM. TCAM nhờ đó mà hoạt động hết tốc độ chuyển tiếp frame có thể.
• Quản lý cơ sở dữ liệu switching (Switching Database Manager – SDM) – Ta có thể chia TCAM vào một số Catalyst switch thành các vùng cho các chức năng khác nhau. Phần mềm SDM sẽ cấu hình và điều chỉnh các phần của TCAM nếu cần thiết.
Cấu trúc của TCAM
TCAM là 1 phần mở rộng của khái niệm CAM. Nói gọi lại 1 bảng CAM được lấy trong danh mục hoặc 1 giá trị chính (thường là 1 địa chỉ MAC) và dò giá trị kết quả (thường là 1 switch port hay VLAN ID). Việc dò bảng rất nhanh và luôn dựa trên 1 giá trị chính xác bao gồm 2 giá trị input: bit 0 và bit 1.
TCAM cũng sử dụng 1 kiểu tìm kiếm nâng cao làm cho vùng hoạt động được rộng lớn hơn. Nó có 1 giá trị mặt nạ (mask) ngoài 2 giá trị bit 0 và bit 1 để cho ra các giá trị liên quan, giá trị đó là bit X (don’t care – tùy định).
TCAM luôn được sắp xếp theo mask, nơi mỗi mask có 1 giá trị 8 bit theo sau. Ví dụ như Catalyst 6500 TCAM (1 để bảo mật với ACL và 1 cho QoS ACL) có thể lưu giữ đến 4096 mask và 32768 kiểu giá trị. Mẹo ở đây là mỗi cặp giá trị mask được định trị cùng lúc, hay làm song song, cho phép phát hiện giá trị được so nhiều nhất hay dài nhất trong 1 bàng tra đơn.
Lê Đức Thịnh – VnPro
Các switch trung gian, như 3570, 4500, và 6500, cũng có thể chuyển tiếp frame dựa vào các thông tin Layer 3 và layer 4 chứa trong gói. Nó còn được gọi là switching đa lớp (MLS). Dĩ nhiên, switching layer 2 cũng sẽ diễn ra trong cùng thời điểm vì việc đóng góicác lớp cao hơn vẫn được chứa trong frame của Ethernet.
Cisco Catalyst 3750 Series Switches
Các loại switching đa lớp
Switch trung gian có hỗ trợ 2 loại MLS cơ bản: route caching (route đệm) (MLS đời đầu) và trên nền cấu trúc liên kết (MLS đời 2). Phần này sẽ nói sơ qua cả 2, cho dù chỉ có đời 2 trong các switch dựa trên phần mềm IOS của Cisco, như 3570, 4500 và 6500. 2 loại đó như sau:
• Route caching – MLS đời đầu, yêu cầu 1 bộ xử lý route (RP), và một máy switch (SE). RP phải thực hiện 1 gói truyền lưu lượng đầu tiên đề xác định đích đến. SE sẽ lấy ra trong gói ấy và tạo ra một shortcut trong bộ nhớ cache. SE sẽ chuyển các gói sau theo cùng lưu lượng bằng cùng đường shortcut ấy.
MLS loại này còn được gọi là Netflow LAN switching, flow-based hay demand-based switching, và “route one, switch many”. Switching kiểu này không được dùng trong các catalyst switch trên nền Cisco IOS.
• Topology-base – MLS đời tiếp theo, tận dụng chuyên về phần cứng. Xây dựng thông tin layer 3 routing và tạo 1 csdl đơn cho toàn mạng topology. Cơ sở dữ liệu này, một bảng tra hiệu quả về phần cứng, được dùng để các gói có thể chuyển tiếp với tốc độ cao. Tên dài nhất được tìm thấy trong cơ sở dữ liệu cũng sẽ là đích đến chính xác của Layer 3. Khi routing topology thay đổi theo thời gian, cơ sở dữ liệu chứa trong bộ cứng cũng được cập nhật liên tục mà không ảnh hưởng gì đến tốc độ xử lý.
MLS loại này được biết đến là CEF. Tiến trình routing trên switch sẽ tải csdl trên bảng routing hiện hành về phần Forwarding Information Base (FIB) trên phần cứng.
2. Bảng dùng trong Switching
2.1. Content-Addressable Memory (CAM – Bộ nhớ khả lập địa chỉ nội dung)
Tất cả các mẫu Catalyst switch đều sử dụng bảng CAM cho việc switching Layer 2. Khi các frame được đưa đến switch port, địa chỉ MAC nguồn sẽ được biết và ghi vào trong bảng CAM. Port đến cũng như VLAN đều được ghi lại vào bảng, đính thêm 1 tem thời gian. Nếu địa chỉ MAC được biết trong 1 switch port di chuyển đến 1 port khác, địa chỉ MAC và tem thời gian sẽ được ghi cho port sau cùng được đưa đến. Sau đó, dữ liệu được nhập trước đó sẽ bị xóa đi. Nếu địa chỉ MAC đã có sẵn trong port đến, sẽ chỉ có tem thời gian của chúng là được cập nhật.
Các switch thường có bảng CAM lớn để có thể tra cho việc chuyển tiếp frame. Tuy nhiên, không có đủ chỗ trong bảng để có thể giữ các địa chỉ có thể trong cả network rộng lớn. Để quản lý bảng một cách hiệu quả, các table entry (các địa chỉ trong bảng) không được tra trong một khoảng thời gian nào đó sẽ bị đẩy ra ngoài. Mặc định thì các table entry sẽ được giữ lại trong vòng 300s trước khi bị xóa đi. Ta có thể thay đổi tùy chọn này bằng dòng lệnh
Switch(config)# mac address-table aging-time seconds
Mặc định thì các địa chỉ MAC được biết một cách liên tục từ các frame gửi đến. Ngược lại, ta cũng có thể cấu hình cho các entry trong bảng CAM tĩnh để các địa chỉ CAM trong bảng đó không thể thay đổi. Để làm điều này ta dùng dòng lệnh sau:
Switch(config)# mac address-table static mac-address vlan vlan-id interface type mod/num
2.2. Ternary Content-Addressable Memory (Bộ nhớ khả lập địa chỉ nội dung 3 biến)
Trong routing dạng thông thường, ACL có thể đối chiếu, lọc, hay điều khiển lưu lượng riêng biệt. Access list được tạo nên bởi 1 hay nhiều phần tử access list hoặc so các lệnh để định trị theo thứ tự liên tiếp. Định trị 1 access list có thể mất thêm thời gian, làm tăng độ trễ của gói tin chuyển tiếp.
Tuy nhiên, trong các switch đa lớp, các tiến trình đối chiếu mà ACL cung cấp lại được cài đặt ở trong phần cứng. TCAM cho phép 1 gói được định trị bởi toàn bộ access list trong 1 bảng tra riêng. Đa số các switch có nhiều TCAM nên việc bảo vệ các liên kết trong cũng như liên kết ngoài và QoS ACL được diễn ra lần lượt, hay toàn bộ cùng lúc với quyết định chuyển tiếp tại layer 2 hay layer 3.
Phần mềm Catalyst IOS có 2 thành phần góp phần trong hoạt động của TCAM:
• Quản lý chức năng (Feature Manager – fm) – Sau khi 1 access list được tạo ra hay cấu hình, phần mềm Quản lý chức năng sẽ kết hợp, hoặc là nhập, phần ACE vào mục nhập trong bảng TCAM. TCAM nhờ đó mà hoạt động hết tốc độ chuyển tiếp frame có thể.
• Quản lý cơ sở dữ liệu switching (Switching Database Manager – SDM) – Ta có thể chia TCAM vào một số Catalyst switch thành các vùng cho các chức năng khác nhau. Phần mềm SDM sẽ cấu hình và điều chỉnh các phần của TCAM nếu cần thiết.
Cấu trúc của TCAM
TCAM là 1 phần mở rộng của khái niệm CAM. Nói gọi lại 1 bảng CAM được lấy trong danh mục hoặc 1 giá trị chính (thường là 1 địa chỉ MAC) và dò giá trị kết quả (thường là 1 switch port hay VLAN ID). Việc dò bảng rất nhanh và luôn dựa trên 1 giá trị chính xác bao gồm 2 giá trị input: bit 0 và bit 1.
TCAM cũng sử dụng 1 kiểu tìm kiếm nâng cao làm cho vùng hoạt động được rộng lớn hơn. Nó có 1 giá trị mặt nạ (mask) ngoài 2 giá trị bit 0 và bit 1 để cho ra các giá trị liên quan, giá trị đó là bit X (don’t care – tùy định).
TCAM luôn được sắp xếp theo mask, nơi mỗi mask có 1 giá trị 8 bit theo sau. Ví dụ như Catalyst 6500 TCAM (1 để bảo mật với ACL và 1 cho QoS ACL) có thể lưu giữ đến 4096 mask và 32768 kiểu giá trị. Mẹo ở đây là mỗi cặp giá trị mask được định trị cùng lúc, hay làm song song, cho phép phát hiện giá trị được so nhiều nhất hay dài nhất trong 1 bàng tra đơn.
Lê Đức Thịnh – VnPro