Ví dụ

Thứ Tư, 20 tháng 12, 2017

Tự Học CCNA Bài 7 Spanning Tree Protocol(STP)

Tự Học CCNA Bài 7 Spanning Tree Protocol(STP)

Tiếp nối series “Tự Học CCNAx” như mọi người đã biết hệ thống mạng luôn cần có một giải pháp dự phòng(backup) và các “điểm nhạy cảm” trong một giải pháp dự phòng thì có thể gây đe dọa đến toàn hoạt động của hệ thống và tính hội tụ của một giải pháp dự phòng cũng rất quan trọng nên hôm nay mình xin chia sẻ về Spanning Tree (STP) một tính năng chống loop trong giải pháp backup và cách mà SPT hoạt động để xóa bỏ các điểm nhạy cảm trong hệ thống chuyển mạch LAYER 2. Chúng ta bắt đầu với bài 7 trong chuỗi bài “Tự học CCNAx” nhé!
Bài viết nên xem qua :
Series “Tự học CCNA”

STP – SPANNING TREE PROTOCOL

1.Giới thiệu khái quát về STP

Trong một hệ thống mạng có một số điểm nhạy cảm gọi là single point of failure mà nếu tại đây xảy ra lỗi thì cả một hệ thống mạng sẻ bị gián đoạn hoạt động. Ví dụ trong một hệ thống mạng Core của một doanh nghiệp nhỏ chỉ xử dụng một Switch core hay một Router làm Gateway thì khi thiết bị này bị sự cố thì cả một hệ thống mạng bên trong sẻ không hoạt động đi Internet được nữa, khi đó thiết bị Layer 3 này được gọi là một Single point of failure.
Để tránh thì trạng này thì hệ thống mạng cần được thiết kế có tính dự phòng nếu một đường chính (thiết bị chính) bị lỗi thì lập tức thiết bị backup sẻ được kích hoạt để đảm bảo tính thông suốt của hoạt động mạng bên trong.
Trong một hế thống Layer 2 để được tính dự phòng, chúng ta thường đấu nối nhiều Switch lại với nhau mục đích để tăng tính dự phòng và cũng vô tình gây ra Single point of failure đó là loop.
STP-1 Đấu nối dự phòng
Phương thức đấu nối hình bên mô tả tính dự phòng của hoạt động Switch khi chuyển frame nhưng vô tình cũng tạo ra một vòng loop. Các hình thức loop trên Layer 2 có thể kể đến

1.1 Broadcast storm

STP-1 Broadcast Storm
Giả sử PC A tiến hành gửi một broadcast frame vào hệ thống, khi SwX nhận được frame này nó sẻ đẩy frame ra tất cả các port đến SwY nhận được broadcast frame này lại tiếp tục gửi ra tất cả các port trừ port nhận vào và quá trình frame này cứ chạy mãi một vòng giữa SwX và SwY các Sw cứ nhân bản và flood broadcast frame này ra. Số lượng frame này sẻ ngày càng lớn, khi Sw không còn khả năng xử lý nữa thì sẻ khiến Sw bị treo.

1.2 Trùng lập Frame

STP-3 Trùng lập Frame
Khi PCA gửi một unicast frame đến PCB và địa chỉ MAC của B chưa được cập nhật vào bảng MAC của Sw thì Sw sẻ xử lý các frame này như một broadcast frame, flood ra tất cả các port trừ port nhận vào. Khi đó SwX và SwY đều thực hiện chuyển flood frame này ra nhiều port khiến PCB phải xử lí frame này 2 lần.
Để phòng tránh các trường hợp loop có thể xảy ra này thì giao thức STP được ra đời để giải quyết triệt để single point of failure trên Layer 2. STP được IEEE chuẩn hóa trong IEEE 802.1D

2.Tiến trình bầu chọn và hoạt động của STP

STP-4 Mô hình đấu nối dự phòng dùng STP
Hoạt động bầu chọn của một tiến trình STP :
  1. Bầu chọn Root-Bridge
  2. Bầu chọn Root-Port
  3. Bầu chọn các Designated-port
  4. Blocking các port còn lại

2.1 Bầu chọn Root-Bridge của STP

STP-5 Tiến trình STP hoạt động bầu chọn Root-Bridge
Đầu tiên khi tiến trình STP được bật, các Sw sẻ gửi các gói tin BPDU (Bridge Protocol Data Unit) để trao đổi giữa các Switch với nhau, BPDU là một gói tin quan trọng trong tiến trình STP, BPDU chứa một thông tin quan trọng là Bridge-ID của các switch, giá trị này dùng để dịnh danh mỗi Switch khi náo tham gia tiến trình STP.
Bridge-ID dài 8byte :
  • Số Priority(2byte): có giá trị từ 0 – 65535 mặc định là 32768
  • MAC address(6byte)
Tiến trình bầu chọn Root-Bridge sẻ tiến hành như sau :
  • Đầu tiên sẻ so sánh Sw nào có số Priority thấp nhất sẻ là Root-Bridge
  • Nếu các Sw được thiết lập số Priority bằng nhau thì tiến trình thứ 2 là so sánh MAC sẻ thực hiện, Sw nào có MAC nhỏ nhất sẻ làm Root-Bridge. MAC là địa chỉ duy nhất trên thế giới nên sẻ không xảy ra trùng lập được. VD như hình trên SW1 có MAC nhỏ nhất nên sẻ được bầu chọn làm Root-Bridge.
  • Sau khi đã bầu chọn được Root-Bridge thì chỉ có SW làm root mới gửi BPDU ra khỏi cổng để duy trì tiến trình STP ( gửi 2s/lần). Các SW con chỉ nhận, bổ xung thông tin BPDU và forward thông tin BPDU này
STP-6 Root Bridge gửi BPDU ra các cổng đế thực hiện tiến trình STP
<

2.2 Bầu chọn Root-port của STP

Sau khi đã bầu chọn Root-bridge các SW sẻ bầu chọn Root-port, Root-port là port có đường về Root-bridge có tổng cost tích lũy nhỏ nhất.
Mỗi interface của Ethernet LAN đều gán một giá trị gọi là cost, để thực hiện tính toán của STP
10Mbps100
100Mbps19
1Gbps4
10Gbps2
Bảng cost của một số loại Interface Ethernet LAN
Để xác định được cost tích lũy của một port đến Switch làm Root-bridge ta thực hiện tính ngược từ Root về cổng đó theo qui tắc “vào cộng ra không cộng” dựa theo chiều lan truyền BPDU. VD:
STP-7 Bầu chọn Root-port
Trên hình SW1 đã làm Root-bridge nên ta sẻ tiến hành bầu chọn Root-port:
  • SW2 ta tính cost trên cổng e0/1 sẻ là 100, trên cổng e0/3 sẻ là 300 nên cổng e0/1 sẻ được chọn là Root-port trên SW2
  • Tương tự trên SW3 là e0/1
  • Trên SW ta sẻ thấ e0/1 và e0/3 đều có tổng cost là 200 nên SW4 sẻ xem đường đấu nấu giữa 2 port này đến 2 Sw2 và Sw3, SW nào có MAC thấp hơn sẻ được ưu tiên hơn(giả sử default priority) như vậy e0/1 sẻ được bầu chọn làm Root-port trên SW4
Giả sử mô hình ta đấu nối thêm một đường backup giữa SW2 và SW4 như hình :
STP-8 Các thông số theo thứ tự ưu tiên bầu chọn Root-port
Ta thấy tại cổng e0/1 và e0/0 đều có tổng cost là 200 và cùng đấu nấu về một Sw có Sender Bridge ID nên không thể sử dụng cost tích lũy và Sender Bridge ID để bầu chọn. Nên ta phải sử dụng một nhân tố gọi là Port-ID
Thông số Port-ID được dùng để định danh cho mỗi cổng của Ethernet LAN gồm : port-priority(0-255 mặc định là 128) và port-number(là số vị trí vật lý trên port của SW vd: f0/0)
Trong trường hợp này sẻ tiến hành so sánh cổng nào đấu nối đến đầu xa có port-ID nhỏ hơn sẻ được chọn làm Root-port. Trong tiến trình so sánh này sẻ tiến hành so sánh port-priority trước rồi mới đến port-number. Trong VD trên thì cổng e0/0 sẻ được bầu chọn làm Root-port vì nó đấu nối đến e0/2 còn e0/1 thì đấu nối tới e0/3 (2<3) – giả sử các cổng này đều sử dụng port-priority là 128.
Xét đến trường hợp cuối cùng, sơ đồ được đấu nối như hình
STP-9 Phân cấp thứ tự ưu tiên Port-ID trong bầu chọn Root-port
Lúc này e0/1 và e0/2 đều cùng cost tích lũy, Sender-id, port-id đầu xa nên phải dùng port-id đầu gần để bầu chọn, lúc này ta dùng thông số port-number, do (1<2)  nên e0/1 được bầu chọn là Root-port.
Hoạt động bầu chọn Root-port đã hoàn thành
STP-9 Hoạt động bầu chọn Root-port đã hoàn thành
Thông thường các port đấu nếu với Switch làm root-bridge đều là root-port

2.3 Bầu chọn Designated Port

Tiếp theo trong tiến trình STP ta thực hiện bầu chọn Designated port trên các phân đoạn mạng. Designated port là port cung cấp đường về root-bridge có tổng cost nhỏ nhất trên phân đoạn mạng đang xét.
Một link kết nối chỉ có một Designated port
Các qui tắc trong bầu chọn Designated port:
  • Các port của Root-bridge đều là Designated Port
  • Trên một link p2p thì đối diện Root-port là Designated port
  • Nếu trên một link có 2 cổng cung cấp đường về Root-bridge có cost tích lũy bằng nhau, lúc đó sẻ dùng Sender ID để xác định, nếu Sender ID lại bằng nhau thì dùng đến port-ID để xét
Ta chọn được các Designated port như trên sơ đồ của VD trên
STP-10 Hoạt động bầu chọn Designated Port đã hoàn thành
Cổng e0/3 của SW3 trên phân đoạn mạng giữa SW3 và SW4 có tổng cost là 100, e0/3 của SW4 có tổng cost 200 nên e0/3 SW3 sẻ thành Designated port

2.4 Tiến trình Blocking các port còn lại của STP

Tại bước cuối cùng trong tiến trình STP thì các port không có vai trò là Root hay Designated sẻ bị Block và được gọi là Alternated port. VD trên port e0/3 của SW4 sẻ bị block và trở thành Alternated port.
STP-10 Tiến trình STP đã hoàn thành
Tiến trình STP đã hoàn thành và tiến hành khóa port e0/3 trên SW4 để cắt vòng loop. Khi có sự cố e0/1 Sw4 down thì STP sẻ lập tức mở lại e0/3 để các hoạt động mạng được thông suốt.
Luồng BPDU sẻ được Forward qua các Switch và kết thúc ở SW4 vì cổng block port của SW4 chỉ nhận BPDU mà không chuyển tiếp BPDU. Các Switch trong hệ thống dựa vào luồng BPDU để tính độ hội tụ và duy trì tính ổn định của STP. BPDU đi vào Root và blocking port, đi ra khỏi các Designated port.

3.Các nhân tố định thời trong STP

Tiến trình STP sử dụng các định thời : hello timer, forward delay timer, max age timer.
  • Hello timer: default 2s, khoảng thời gian mà Root-bridge tiến hành gửi các gói tin BPDU ra khỏi cổng của nó để duy trì tiến trình STP
  • Forward delay timer: default là 15s, khoảng thời gian các trạng thái Listening, Learning trước khi sang Forwarding để hội tụ.
  • Max age timer: default là 20s. Khi một cổng đang tiến hành nhận BPDU và đột nhiên nhận một BPDU kém hơn(inferior BPDU) port này sẻ chờ hết thời gian Max-age timer rồi mới thực hiện các hoạt động hội tụ mạng
Chất lượng của một gói tin BPDU được đánh giá
  • So sánh bridge ID của Root Switch, BPDU nào có thông số Bridge ID nhỏ hơn được xem là tốt hơn.
  • Nếu các BPDU muốn so sánh đều chung một Root-Bridge ta thực hiện so sánh tổng cost tích lũy đi về Root-bridge, BPDU nào có tổng cost tích lũy nhỏ hơn sẻ tốt hơn
  • Nếu tổng cost bằng nhau tiến hành so sánh Sender Bridge ID của Sw kết nối gửi đến cho SW đang xét, Sender Bridge ID nào nhỏ hơn thì BPDU được xem là tốt hơn.
  • Nếu Sender Bridge ID bằng nhau tiến hành so sánh tiếp đến port-ID: nhỏ hơn thì BPDU này tốt hơn.

4.Các trạng thái trong một tiến trình STP

Các trạng thái trong một tiến trình STP đến khi hội tụ bao gồm:
  • Disabled : cổng này đang ở trạng thái không active
  • Blocking: cổng đang bị khóa Alternated port, chỉ tiếp nhận BPDU mà không cho BPDU đi ra khỏi cổng, không học địa chỉ MAC vào bảng MAC và không forward được dữ liệu
  • Listening: cổng chỉ nhận BPDU hoặc gửi BPDU, không học địa chỉ MAC vào bảng MAC và không forward được dữ liệu
  • Learning: cổng chỉ nhận BPDU hoặc gửi BPDU, có thể học địa chỉ MAC vào bảng MAC và không forward được dữ liệu
  • Forwarding: cổng chỉ nhận BPDU hoặc gửi BPDU, có thể học địa chỉ MAC vào bảng MAC và có thể forward được dữ liệu.
Khi tiến trình STP chạy, cổng bị đưa vào trạng thái Blocking sẻ bị khóa ngay lập tức, còn các cổng như Root và Designated port thì phải trải qua các trạng thái Listening(15s) rồi tiếp tục chuyển sang trạng thái Learning(15s) rồi mới chuyển sang trạng thái Forwarding để forward được dữ liệu.
Đợi tiến trình STP chạy hết để chống loop qua các trạng thái Listening và Learning mất 30s khá lâu cho nên Cisco đã đưa ra một số các tính năng nhằm hạ thấp khoảng thời gian timer này lại như: Portfast, Uplinkfast, Backbonefast hay version Rapid SPAN IEEE 802.1W
————————————————————————————————————–
Bài chia sẻ về “Spanning Tree và hoạt động của STP” của mình xin tạm dừng tại đây. Bài chia sẻ tiếp theo mình xin chia sẻ về” Rapid SPAN và pVST+ một phương thức khác nâng cấp hơn của STP và cách thức hoạt động  trong một hệ thộng mạng chuyển mạch LAN” Hãy theo dõi bài viết tiếp theo trong Series Tự học CCNA tại website và blog itforvn.com nhé. Nếu có thắc mắc hay đóng góp các Anh em hãy comment bên dưới nhé! Thân ái!

Quân Lê – ITFORVN.COM

Không có nhận xét nào:

Đăng nhận xét