swicth

Màu nền
Font chữ
Font size
Chiều cao dòng

Hoạt động của Switch

I. Layer 2 Switch

Trong các hệ thống mạng dùng shared Ethernet, thiết bị hub thường được dùng. Nhiều host sẽ được kết nối như là một miền broadcast và miền xung đột (collision). Nói cách khác, các thiết bị shared Ethernet hoạt động ở L1.

Mỗi host lúc này phải chia sẽ băng thông sẵn có cho tất cả các host khác đang kết nối vào hub. Khi có một hoặc nhiều host cố gắng truyền ở một thời điểm, xung đột sẽ xảy ra; lúc này tất cả các host phải lui về và chờ một khoảng thời gian để truyền lại. Cơ chế này áp đặt kiểu hoạt động half-duplex cho các host, nghĩa là các host hoặc là truyền, hoặc là nhận ở một thời điểm. Thêm vào đó, khi một host gửi ra một frame, tất cả các host sẽ nghe frame đó.

Ở mức cơ bản nhất, một Ethernet switch sẽ tách các host kết nối vào nó theo những cách sau:

Mỗi collision domain sẽ bị giới hạn lại. Trên từng switchport, mỗi collision domain bao gồm chính port của switch đó và bao gồm các thiết bị kết nối vào port switch. Thiết bị kết nối này có thể là một host hoặc có thể là một hub khác.

Các host có thể hoạt động ở chế độ fullduplex bởi vì không có sự cạnh tranh trên đường truyền. Các host có thể truyền và nhận ở cùng một thời điểm.

Băng thông không còn chia sẻ, thay vào đó, mỗi switchport cung cấp một phần băng thông dành riêng trên switch fabric từ port này đến port kia. Các kết nối này luôn biến động.

Lỗi trong các frame sẽ không được truyền. Thay vào đó, các frame nhận đươc trên từng port sẽ được kiểm tra lỗi. Các frame tốt sẽ được tái tạo khi nó tiếp tục được chuyển đi. Cơ chế này còn gọi là store-and-forward.

Bạn có thể giới hạn broadcast traffic đến một mức cho trước.

Switch có thể hỗ trợ các kiểu lọc traffic thông minh.

Khái niệm transparent bridging (TB)

Một layer 2 switch là một transparent bridge có nhiều cổng, trong đó mỗi switchport là một Ethernet segment, tách biệt với những segment khác. Quá trình đẩy frame đi chỉ dựa hoàn toàn vào địa chỉ MAC chứa bên trong từng frame. Một switch sẽ không chuyển một frame cho đến khi nào nó biết địa chỉ đích của frame.

Toàn bộ quá trình đẩy các Ethernet frame đi trở thành quá trình tìm ra những địa chỉ MAC address nào kết hợp với switchport nào. Một switch phải được chỉ dẫn từong minh các host nằm ở đâu (cấu hình MAC tĩnh) hoặc phải tự học các thông tin này. Nếu cấu hình MAC address tĩnh, quá trình này sẽ nhanh chóng quá tải khi các host thay đổi port.

Để học vị trí của một máy, một switch sẽ lắng nghe các frame đi vào và lưu giữ một bảng các thông tin địa chỉ. Khi một frame đến một switchport, switch sẽ kiểm tra MAC nguồn. Nếu địa chỉ MAC nguồn này chưa có trong bảng MAC, địa chỉ MAC, vị trí port và cả thông tin VLAN sẽ được lưu trong bảng. Như vậy, quá trình học vị trí của một host thì dễ dàng và nhanh chóng.

Các frame đi vào cũng có chứa địa chỉ MAC. Một lần nữa, switch sẽ tìm kiếm địa chỉ này trong bảng MAC với hy vọng tìm thấy cổng ra của switch. Nếu tìm thấy, frame có thể được chuyển đi. Nếu địa chỉ không tìm thấy, switch sẽ phát tán frame ra tất cả các port nằm trong cùng một vlan. Động thái này gọi là unknow unicast flooding. Xem hình bên dưới.

Một switch sẽ liên tục lắng nghe các frame đi vào trên các switchport của nó, học các địa chỉ MAC. Tuy nhiên, quá trình này chỉ được phép chỉ khi STP đã quyết định là một port có ổn định cho quá trình sử dụng bình thường hay không. Thuật toán STP sẽ quan tâm đến việc duy trì một mạng không bị loop, khi mà frame không bị đẩy vào vòng bất tận. Đối với các frame chứa địa chỉ broadcast, frame cũng sẽ bị phát tán.

Dòng chảy của frame trong switch

Phần này sẽ khảo sát tiến trình của một frame khi nó đi qua một L2 switch. Khi một frame đến trên một port, frame sẽ được đặt vào hàng đợi inbound. Mỗi hàng đợi có thể chứa các frame các mức ưu tiên khác nhau. Switchport có thể được hiệu chỉnh sao cho các frame quan trọng được xử lý trước. Chức năng này cho phép các dữ liệu quan trọng không bị loại bỏ khi có nghẽn xảy ra.

Khi các hàng đợi được phục vụ và frame được giải phóng ra khỏi hàng đợi, switch phải xác định không chỉ port đích mà còn phải xác định là có nên đẩy các frame đó không (whether) và bằng cách nào (how). Ba quyết định cơ bản cần phải được thực hiện: một quyết định liên quan đến tìm ra cổng ra, hai quyết định còn lại là tìm ra chính sách để đẩy frame đi. Cả ba quyết định này được thực hiện đồng thời bởi các thành phần phần cứng độc lập của switch. Các thành phần này là:

Bảng L2 forwarding: Địa chỉ đích chứa trong frame sẽ đựoc dùng như là thông số để so sánh vào bảng CAM. Nếu địa chỉ là tìm thấy, cổng ra của switch và thông tin vlan tương ứng sẽ được đọc và sử dụng. Nếu không tìm thấy, frame sẽ được đánh dấu để phát tán.

Các ACL bảo mật có thể đựoc dùng để lọc các frame theo địa chỉ MAC, kiểu giao thức, thông tin L4. Bảng TCAM sẽ chứa các ACL trong một dạng đã được biên dịch sao cho quyết định forward một frame hay không sẽ được thực hiện chỉ trong một động tác tìm kiếm bảng TCAM.

Các QoS ACL có thể phân loại các frame đi vào theo các thông số QoS hoặc để định hình hay kiểm soát tốc độ của dòng traffic. Bảng TCAM cũng được dùng trong quá trình quyết định này.

Sau khi quá trình tìm kiếm trong bảng CAM hay TCAM đã diễn ra, frame sẽ được đặt bên trong hàng đợI của outbound switchport. Các hàng đợi outbound được xác định bằng các thông số QoS chứa trong frame hay thông số được truyền cùng với frame.

Hoạt động của Multilayer switch

Các Catalyst switch, chẳng hạn như 3560, 4500 và 6500 có thể đẩy các frame dựa trên thông tin L3 và L4 chứa trong gói tin. Tiến trình này gọi là chuyển mạch đa tầng (multilayer switching - MLS). Một cách tự nhiên, tiến trình L2 switch cũng phải được thực hiện vì suy cho cùng, các giao thức lớp cao hơn vẫn phải chứa trong các Ethernet frame.

Các kiểu MLS

Có hai thế hệ MLS: route-caching (thế hệ đầu) và topology-based (thế hệ thứ 2). Hiện nay các dòng switch như 3560, 4500 và 6500 chỉ hỗ trợ thế hệ thứ hai của MLS.

Route-caching: Thế hệ đầu. Kiểu công nghệ này đòi hỏi về mặt phần cứng phải trang bị thêm một route processor RP và một switch engine SE. RP phải xử lý gói tin đầu tiên của một dòng các traffic để tìm ra địa chỉ đích. SE sau đó sẽ lắng nghe cả gói tin đầu tiên và địa chỉ đích cần đích, sau đó tạo ra một đường đi tắt trong cache. SE sau đó sẽ đẩy các gói tin kế tiếp trong cùng một dòng traffic dựa trên thông tin trong cache. Kiểu hoạt động MLS này còn được gọi là netflow LAN Switching, flow-based hoặc "route once, switch many". Ngay cả khi ngày nay kiểu chuyển mạch này không được dùng trong các Catalyst switch, kỹ thuật này vẫn được dùng để tạo ra các thông tin về dòng lưu lượng và các thông tin thống kê.

Topology-based: Thế hệ thứ hai của MLS sử dụng các phần cứng chuyên dụng. Các thông tin định tuyến lớp 3 sẽ được xây dựng và đưa vào một cơ sở dữ liệu về toàn bộ sơ đồ mạng. Cơ sở dữ liệu này, bản chất sẽ được kèm theo một cơ chế tìm kiếm bằng phần cứng rất hiệu quả, sẽ được tham khảo sao cho các gói tin có thể được đẩy đi ở tốc độ rất cao. Khi có một so trùng dài nhất được tìm thấy (longest match), kết quả này sẽ được dùng. Khi cấu trúc mạng thay đổi, database chứa trong phần cứng này cũng sẽ được cập nhật động trong thời gian rất ngắn. Kiểu MLS này được gọi là Cisco Express Forwarding CEF. Một tiến trình định tuyến chạy trên phần cứng của switch sẽ download bảng định tuyến thông thường vào trong bảng FIB.

Dòng chảy của gói tin trong switch L3

Đường đi mà một gói tin lớp 3 đi vào một MLS thì cũng tương tự như của L2 switch. Rõ ràng, một vài cách thức để xử lý thông tin lớp 3 cần phải được thêm vào. Hình dưới đây mô tả một MLS switch tiêu biểu và các tiến trình quyết định bên trong.

Các gói tin đến một switchport sẽ được đặt trong hàng đợi phù hợp giống như trong L2 switch.

Mỗi gói tin sẽ được lấy ra khỏi hàng đợi và kiểm tra cả thông tin L2 và L3. Ở thời điểm này, switch quyết định đẩy gói tin về đâu sẽ được dựa trên hai bảng địa chỉ. Cũng giống như trong L2 switching, tất cả các quyết định chuyển mạch MLS sẽ được thực hiện đồng thời bằng phần cứng.

Bảng L2 forwarding: Địa chỉ MAC được dùng như một thông số trong bảng CAM. Nếu frame chứa một gói tin L3 cần phải được chuyển đi, địa chỉ MAC đích là địa chỉ MAC của port L3 trên switch. Trong trường hợp này, kết quả của bảng CAM chỉ được dùng để quyết định rằng frame nên được xử lý ở L3.

Bảng L3 forwarding: Khi switch tham khảo đến bảng FIB, địa chỉ đích của gói tin sẽ được dùng. Nếu tìm thấy một hàng trong bảng FIB theo nguyên tắc longest match (trùng cả phần địa chỉ và phần mask), địa chỉ next-hop L3 sẽ được ghi nhận. Bảng FIB cũng chứa địa chỉ L2 MAC và cổng ra của switch sao cho quá trình tìm kiếm trong bảng về sau là không cần thiết.

Các ACL bảo mật sẽ được biên dịch vào thành các hàng của bảng TCAM sao cho các quyết định đẩy gói tin sẽ chỉ cần xác định thông qua một động tác tìm kiếm trong bảng.

Các chức năng QoS khác như phân loại gói tin, định hình và đánh dấu có thể được thực hiện như là một quá trình tìm kiếm duy nhất trong bảng TCAM. Cũng giống như trong L2 switch, cuối cùng, gói tin cũng phải được đặt trong các hàng đợi phù hợp trên cổng ra của switch.

Tuy nhiên cũng cần nhớ rằng trong quá trình chuyển mạch MLS, địa chỉ next-hop sẽ nhận được từ bảng FIB cũng giống như một router nào đó. Sau khi đã có địa chỉ L3, thông thường router/L3 switch sẽ xác định giá trị nexthop và tìm địa chỉ L2 của nó. Sau đó, chỉ có địa chỉ L2 được dùng, sao cho L2 frame có thể được gửi. Tiến trình này chính là quá trình encapsulation. Địa chỉ L2 nexthop phải được đặt vào frame thay cho địa chỉ đích ban đầu (chính là địa chỉ L2 của MLS switch). Địa chỉ nguồn L2 của frame cũng sẽ được đổi lại thành địa chỉ L2 của MLS switch trước khi nó được gửi đến thiết bị nexthop. Nghĩa là, cả địa chỉ nguồn MAC và địa chỉ đích MAC của một frame khi đi qua một L3 switch sẽ phải thay đổi.

Ngoài ra, cũng giống như trong routers, giá trị TTL trong gói tin L3 phải được trừ đi 1. Bởi vì nội dung của gói tin L3 (giá trị TTL) đã thay đổi, giá trị L3 header checksum phải được tính toán lại. Và bởi vì cả nội dung L2 và L3 cũng đã thay đổi, giá trị L2 checksum cũng phải được tính toán lại. Nói cách khác, toàn bộ frame phải được viết lại trước khi nó đi ra hàng đợi bên ngoài. Toàn bộ quá trình này hoàn tất bằng phần cứng.

Các ngoại lệ đối với quá trình MLS

Để đẩy gói tin đi dùng các quyết định đồng thời được mô tả ở trên, gói tin phải là dạng "MLS-ready". Ví dụ, CEF có thể đẩy gói tin IP đi trực tiếp giữa các host. Điều này diễn ra khi cả địa chỉ nguồn và địa chỉ đích là đã biết và không có một thông số IP nào cần phải thao tác. Các gói tin dạng khác không thể chuyển mạch theo kiểu CEF thì phải được xử lý chi tiết hơn. Các gói tin/ traffic dạng như sau sẽ bị đánh dấu và gửi về CPU của switch để xử lý theo kiểu process switching:

ARP requests and replies.

IP packets requiring a response from a router (TTL has expired, MTU is exceeded, fragmentation is needed, and so on)

IP broadcasts that will be relayed as unicast (DHCP requests, IP helper-address functions).

Routing protocol updates.

Cisco Discovery Protocol packets.

IPX routing protocol and service advertisements.

Packets needing encryption.

Packets triggering Network Address Translation (NAT)

Other non-IP and non-IPX protocol packets (AppleTalk, DECnet, and so on)

__________________

Bạn đang đọc truyện trên: Truyen2U.Pro