Ghi chú về một số công nghệ switch

Bản thân tôi hiện không có đồ để test nên bài viết sẽ không có demo nhưng bù lại sẽ nhiều hình minh họa :D

Bài viết được lấy cảm hứng từ buổi trao đổi với một đàn anh làm về network.

VLAN

Là một công nghệ cho phép chia nhỏ một miền broadcast. Mỗi miền broadcast thường là nhóm các máy tính có chung vai trò nhiệm vụ hoặc cùng cung cấp một dịch vụ nhất định. Các máy tính trong cùng một vlan không cần có ràng buộc về vị trí địa lý nào cả. Chúng có thể nằm cách xa nhau như giữa các tầng trong một tòa nhà.

alt text

Miền broadcast là gì:

Là một không gian logic mà các máy tính trong đó có thể trao đổi với nhau bằng các frame ở mức data link layer. Mỗi một vlan là một miền broadcast. Một switch không hỗ trợ vlan thì toàn bộ các máy tính, thiết bị cắm vào switch đó nằm trong một miền broadcast.

Ứng dụng vlan:

Ví dụ các phòng ban khác nhau có các vlan khác nhau. Xuất phát từ nhu cầu thực tế, các đơn vị cùng trong một phòng ban sẽ có các nhu cầu trao đổi dữ liệu chủ yếu trong phòng ban đó thôi. Ở mức server, các cụm server cung cấp các dịch vụ độc lập thì cũng được cấu hình để nằm trong các vlan riêng biệt.

Lợi ích:

  • Nếu không có thêm cấu hình đặc biệt, các máy tính chỉ có thể giao tiếp với nhau trong cùng vlan. Nhờ vậy có thể loại bỏ các traffic không cần thiết ở mức data link.

  • Chia nhỏ thành các vlan cũng giúp cho việc khoanh vùng xử lý sự cố nhanh hơn.

Trunk link:

Khi nhu cầu lớn hơn, các nhân viên trong các phòng ban khác nhau muốn giao tiếp với nhau. Khi đó, giữa các switch phải hình thành một truk link. Trunk link là một đường kết nối mà mỗi đầu được cấu hình port kiểu trunk. Trunk link cho phép vận chuyển frame có vlan id khác nhau.

Trunk port:

Được dùng để cho phép kết nối với một switch và hình thành trunk link. Frame trước khi đi qua trunk port sẽ được gán (tag) một vlan id vào frame để switch ở đầu bên kia biết cần đẩy frame này đến các port thuộc vlan nào.

Access port:

Access port chỉ thuộc về một vlan duy nhât. Access port thường dùng để nối với các thiết bị đầu cuối của người dùng hoặc các switch không hỗ trợ vlan. Trước khi đẩy frame đến một access port, vlan id trên frame sẽ bị gỡ bỏ.

Quá trình:

alt text

Diễn giải toàn bộ quá trình trên:

Mỗi switch có một vlan database: định nghĩa tất cả vlan mà switch có. Một nhóm port sẽ nằm trong một vlan. Mỗi port chỉ được định nghĩa nằm trong một vlan duy nhất ngoại trừ trunk port.

Khi máy tính trong vlan2 gửi frame (broadcast hoặc unicast frame tùy vào thông tin trong bảng CAM của switch ), frame sẽ được send đến trunk port. Tại đây, frame được tag thêm một vlan id để nhận diện. Sau khi đi xuyên qua trunk link, frame được switch đầu bên kia gỡ tag vlan id trước khi đẩy vào các access port thuộc vlan 2.

Native vlan:

Mặc định tất cả các port của switch sẽ nằm trong native vlan id (vlan id có gía trị là 1). Vlan id 1 không thể bị delete. Với các frame thuộc native vlan thì switch sẽ không tag vlan id trước khi đẩy vào trunk port. Native vlan id trên hai switch phải giống nhau để truyền thông trong cùng native vlan trên hai switch thực hiện được.

Mặc định, khi mới khui hộp, các thiết bị cisco sẽ cấu hình các port là trunk thuộc vlan 1 (Tôi chưa dùng hết các sản phẩm cisco nhưng các sản phẩm tôi từng dùng thì đều mặc định như vậy). Một thiết bị thông thường như laptop hay các switch không hỗ trợ vlan sẽ không thể hiểu được frame được tag vlan id. Nhưng nhờ cơ chế không tag với frame đi từ port thuộc native vlan nên các thiết bị cisco có thể đem về dùng được luôn mà không cần thêm cấu hình gì.

Link aggregation group (LAG)

Mô hình vlan và kết nối các switch dùng trunk link đã đạt được mục đích ở khía cạnh business nhưng ở khía cạnh một network admin thì mô hình này không có tính dự phòng. Nếu trunk link mà bị down thì gần như truyền thông giữa các máy tính bị sụp đổ.

Giải pháp cho vấn đề trên là LAG. Đặc điểm của LAG:

  • High reliability: Down một đường cũng không ảnh hưởng
  • Redundancy: Có đường dự phòng
  • Increase bandwidth: Do sử dụng cùng lúc nhiều đường vật lý để truyền thông

Hình minh họa dưới sẽ thể hiện đầy đủ các đặc điểm của LAG.

alt text

Chú ý:
LAG chỉ nâng cao bandwidth không phải là throughtput của kết nối

alt text

Lý do: Các frame thuộc cùng một packet sẽ được chuyển qua cùng một physical link nhằm đảm bảo thứ tự các frame khi ráp nối. Tất cả các frame của cùng một cặp sender-receiver sẽ luôn đi qua cùng một physical link. Tưởng tượng giống như bạn di chuyển trên đường quốc lộ có 4 làn. Xe của bạn chỉ được phép di chuyển trong một làn trong bốn làn đó mỗi lần sử dụng. Bandwidth ở đây là đường quốc lộ 4 làn còn throughtput là một làn đường mà bạn được phép sử dụng.

Về khác biệt giữa bandwidth và throughtput, bạn có thể xem đoạn video thú vị sau trên youtube.

Cấu hình LAG:

Static LAG: Bạn phải cấu hình cả hai đầu

Dynamic LAG: Sử dụng protocol LACP. LACP có hai mode hoạt động active và standby

  • Active mode: Port cấu hình LACP sẽ send LACP packet định kỳ đến partner port
  • Standby mode: Port sẽ không send LACP packet cho đến khi nhận LACP packet từ partner port. Mục đích của LACP packet để thực hiện đàm phán kết nối (negotiation)

Etherchannel:
Là implementation của LAG.

Port channel:
Là logical interface hình thành từ các physical port được gom chung lại với nhau

alt text

VTP

Là một công nghệ cho phép đồng bộ vlan database giữa các switch thuộc cùng một domain. Domain ở đây là một logic group hình thành giữa các switch. Trong mỗi một domain sẽ có một vtp server. Network admin chỉ cần tạo vlan database trên vtp server. Tất cả những thay đổi về vlan database trên vtp server sẽ được đẩy xuống vlan client qua các bản tin vtp advertisement. Đây là lợi ích quản trị rất rõ rệt.

alt text

VTP mode:

Có 4 mode:

  • vtp server (default): nơi bạn sẽ thực hiện cấu hình vlan database.
  • vtp client: nhận cấu hình vlan database từ vtp server trong cùng domain qua các bản tin vlan advertisement.
  • vtp transparent: Không tiếp nhận các vtp advertisement, không đồng bộ vlan database với vtp server nhưng sẽ forward vtp advertisment trong domain
  • vtp off: bao gồm các hành vi của vtp transparent ngoại trừ việc không forward vtp advertisement

VTP pruning

alt text

Hình vẽ trên minh họa cách hoạt động của vtp pruning và cả bài toán mà vtp pruning giải quyết

Một switch khi nhận được unknown unicast hoặc một broadcast frame sẽ forward frame đến tất cả các máy tính thuộc cùng vlan. Nếu không có vtp pruning, root switch sẽ forward frame đó đến tất cả các đường trunk kể cả đường trunk mà ở đó không có vlan 2. Rõ ràng đây là một sự lãng phí. VTP pruning giống như tên gọi sẽ cắt tỉa các traffic rác này bằng cách disallow trên trunk port một số vlan mà nó biết không hiện diện ở đầu kia của trunk link.

Điều kiện cần để thực hiện vtp pruning là các switch phải được cấu hình vtp.

Mặc định vtp pruning bị disable. VTP pruning chỉ cần được enable trên vtp server. Các vtp client sẽ học từ vtp server nên bạn không cần phải cấu hình trên vtp client.

Nguyên tắc hoạt động:

alt text

Switch sẽ thông báo cho các switch lân cận danh sách các active vlan của nó qua vtp join message. Switch nhận được sẽ đọc danh sách và tự đông disallow trên đường trunk nó nhận được message một số vlan mà bản thân nó có nhưng trong vtp join message không có.

Mặc định tất cả các vlan trên cisco catalyst đều có thể bị prune ngoại trừ vlan 1. Bạn hoàn toàn có thể điều chỉnh danh sách này.

Stackwise switch (stackable switch hay stacking)

Là một công nghệ cho phép gom nhiều switch lại với nhau, cho phép quản lý một nhóm swicth giống như một switch. Đây là công nghệ cho phép failover giữa các switch mà không có downtime.

alt text

alt text

Một số ích lợi:

  • Quản lý tập trung
  • Scalable: Thêm một switch vào stack đơn giản.
  • Redundancy và high availability cho mỗi member trong stack. Với nguyên tắc đi dây để nối các member trong stack như trên hình, bất kỳ một switch nào trong stack down thì cũng không làm ảnh hưởng toàn bộ stack. Thậm chí nhiều hơn một member down cũng vậy.
  • Đơn giản. Trước khi có công nghệ stacking, việc đảm bảo failover cho switch rất phức tạp, người ta phải thiết lập etherchannel giữa các switch rồi duplicate cấu hình trên cả hai con. Mô hình failover dùng port channel càng mở rộng thì càng phức tạp. Còn với stack thì chúng ta có thể tăng thêm member trong stack mà vẫn không làm mất đi tính đơn giản của mô hình.
  • Không lo bị loop: Nhìn cách đi dây có thể nghĩ các switch bị loop nhưng bằng cách ảo hóa khiến một nhóm switch được quản lý như một single switch nên dù không cần STP thì vẫn không có loop xảy ra.

Nhược điểm:

  • Dây nối giữa các switch trong stack là dây chuyên dụng
  • Bị giới hạn về khoảng cách: Các switch trong cùng một stack phải đặt gần nhau
  • Chi phí cao.
  • Số member trong stack tối đa là 9.

Flex stack:
Là một implementation của công nghệ stack trên các dòng sản phẩm cisco.

Enterprise architecture

Kiến trúc switch thường chia làm ba layer: core, distributed, và access. Đôi khi do nhu cầu không cao, người ta gộp hai layer đầu lại chỉ còn: core, access. Access switch là switch nối với các thiết bị đầu cuối của end user hoặc server.

Áp dụng các công nghệ etherchannel vào stackable switch ta có mô hình như sau:

alt text

Đó là mô hình vật lý. Sau khi được trừu tượng hóa bởi các công nghệ etherchannel và stacking thì ở mức logic mô hình đơn giản hơn như sau:

alt text

Kết thúc bài viết. Hi vọng bài viết giúp các bạn có một cái nhìn tổng quan về một số công nghệ dành cho switch hiện nay.

Nguồn tham khảo:

1.


2.https://www.thomas-krenn.com/en/wiki/Link_Aggregation_and_LACP_basics
3.https://www.packetmischief.ca/2012/07/20/4-types-of-port-channels-and-when-theyre-used/
4.https://learningnetwork.cisco.com/thread/35171
5.http://www.9tut.com/vlan-trunk-protocol-vtp-tutorial
6.http://www.cisco.com/c/en/us/support/docs/lan-switching/vtp/10558-21.html
7.https://www.informit.com/library/content.aspx?b=CCNP_Studies_Switching&seqNum=26
8.http://www.cisco.com/c/en/us/products/collateral/switches/catalyst-2960-series-switches/white_paper_c11-578928.html
9.http://www.cisco.com/c/en/us/td/docs/solutions/Enterprise/Campus/HA_campus_DG/hacampusdg.html

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

Male avatar

manhdung

44 bài viết.
239 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
Male avatar
67 11
Giới thiệu RabbitMQ là một message broker ( messageoriented middleware) sử dụng giao thức AMQP Advanced Message Queue Protocol (Đây là giao thức ph...
manhdung viết hơn 2 năm trước
67 11
Male avatar
45 4
Giả định bạn tiếp nhận một server mới toanh, bạn cần tìm một số thông tin về nó như loại CPU, loại main, loại memory, memory dùng của hãng nào... c...
manhdung viết hơn 1 năm trước
45 4
Male avatar
38 7
Giới thiệu MongoDB là một giải pháp nosql database. Data được lưu ở dạng các bson document. Hỗ trợ vertical scaling và horizontal scaling, dynamic...
manhdung viết hơn 2 năm trước
38 7
Bài viết liên quan
Male avatar
1 0
Kiến Trúc Spine và Leaf Cisco ACI về cơ bản được xây dựng trên nền tảng Clos Network. Khác hẳng mô hình truyền thống được phân chia thành 3 lớp Co...
trinq viết hơn 2 năm trước
1 0
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


Male avatar
{{userFollowed ? 'Following' : 'Follow'}}
44 bài viết.
239 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!