441
Mục tiêu của cấu trúc dự phòng là loại bỏ điểm tập trung của sự cố. Tất cả
các hệ thống mạng cần phải có dự phòng để nâng mức độ bảo đảm.
Hệ thống đờng giao thông là một ví dụ về cấu trúc có tính dự phòng. Nếu
có một con đờng bị đóng lại để sửa chữa thì sẽ luôn có đờng khác để đi đến đích.
ờng đi vào thị
Ví dụ có một công đồng cách trung tâm thị trấn bởi có một con sông. Nếu
chỉ bắc một chiếc cầu qua sông đó thì có nghĩa là chỉ có một con đ
trấn. Cấu trúc nh vậy là không có sự dự phòng.
Nếu cây cầu này bị ngập hoặc bị h hỏng do tai nạn thì sẽ không thể đi vào
thị trấn bằng chiếc cầu này đợc nữa.
Bắc thêm một chiếc cầu thứ hai qua sông để tạo cấu trúc có dự phòng. Khi
đó ngời dân ở ngoại ô sẽ không còn bị cắt đứt với trung tâm thị trấn khi một cây
cầu bị h hỏng nữa.
442
Hình 7.1.2. mô hình có dự phòng và không có dự phòng.
7.1.3. Cấu trúc chuyển mạch dự phòng.
Hệ thống mạng có thiết bị và đờng dự phòng sẽ có khả năng tồn tại cao
hơn, tránh đợc mô hình chỉ có một điểm trung tâm của sự cố vì nếu một đờng kết
nối hoặc một thiết bị gặp sự cố thì đờng dự phòng hoặc thiết bị dự phòng sẽ lãnh
trách nhiệm thay thế.
Ví dụ nh hình 7.1.3, nếu Switch A bị h, lu lợng từ segment 2 sang
segment 1 và sang router vẫn có thể đi qua Switch B.
Switch B.
Nếu port 1 trên Switch A bị h thi giao thông vẫn có thể đi qua port 1 trên
443
Hình 7.1.3
ó, nhờ đó nó có
thể ông biết gì về địa chỉ của máy
đích thì nào nó học đợc địa chỉ
MA đợc chuyển ra tất cả các
por ủ
hình 7.1.3 có thể sẽ gây ra
trận ã g địa chỉ MAC không ổn định.
á.
ợc switch sử lý giống nh gói quảng bá là chuyển ra
tất
Switch học địa chỉ MAC của thiết bị kết nối vào port của n
chuyển dữ liệu đến đúng đích. Nếu switch kh
nó sẽ chuyển gói ra tất cả các port cho đến khi
C của thiết bị này. Gói quảng bá và multicast cũng
t c a switch.
Chính vì vậy, cấu trúc chuyển mạch dự phòng nh
b o quảng bá, chuyển nhiều lợt frame và bản
7.1.4. Trận bão quảng b
Gói multicast cũng đ
cả các port trừ port nhận gói vào.
444
H×nh 7.1.4.a
H×nh 7.1.4.b. HËu qu¶ lµ g©y ra mét trËn b·o qu¶ng b¸ trªn m¹ng.
445
Ta xét ví dụ trên hình 7.1.4.a: giả sử Host X gửi một gói quảng bá và gói yêu
cầu ARP để hỏi địa chỉ lớp 2 của router chẳng hạn. Khí đó switch A nhận đợc gói
quảng bá này sẽ chuyển gói quảng bá này sẽ chuyển gói ra tất cả các port. Switch B
cũng thực hiện nh vậy. Kết quả là Switch B sẽ nhận lại các gói quảng bá đợc gửi
từ Switch A và ngợc lại, Switch A cũng nhận lại các gói quảng bá đợc gửi từ
á của nhau và lại chuyển tiếp ra
tất cả các port.
Cứ nh vậy, mỗi một gói quảng bá mà switch nhận vào sẽ đợc nhân ra tất
cả các port gây lên trận bão quảng bá trên mạng. Trận bão quảng bá này sẽ đợc
tiếp tục cho đến khi nào một trong hai switch bị ngắt kết nối ra. Switch và các thiết
bị đầu cuối sẽ bị quá tải vì phải sử lý quá nhiều các gói quảng bá và không thể sử lý
đợc các gói dữ liệu khác của user. Khi đó hệ thống mạng xem nh bị tê liệt.
7.1.5. Truyền nhiều lợt frame.
Cấu trúc mạng chuyển mạch dự phòng có thể làm cho thiết bị đầu cuối nhận
đợc nhiều frame trung lặp nhau.
Switch B. Cả hai Switch này nhận đợc gói quảng b
Hình 7.1.5
Ta xét ví dụ trên hình 7.1.5: giả sử rằng cả hai switch vừa mới xoá địa chỉ
chỉ MAC của router Y trong bảng ARP của mình lên nó gửi một frame trực
i Route
MAC của Router Y trên bảng địa chỉ vì hết thời hạn và giả sử rằng Host X vẫn còn
giữ địa
tiếp tớ r Y. Router Y nhận đợc gói giữ liệu này vì nó nằm trong cùng
segment với Host X.
446
Router Y trên bảng địa chỉ nên nó chuyển frame ra tất cả các port của nó. Tơng tự
trên switch B cũng vậy. Kế ợc nhiều frame trùng nhau.
Đi n
h.
Cấu trúc mạng chuyển mạch dự phong có thể làm cho các switch học đợc
thông tin sai về địa chỉ, switch sẽ học đợc một địa chỉ MAC trên một port mà
trong khi địa chỉ MAC này thật sự nằm trên port khác.
Switch A cũng nhận đợc frame này nhng không có địa chỉ MAC của
t quả là Router Y nhận đ
ều ày làm cho các thiết bị tốn tài nguyên để xử lý nhiều frame không cần thiết.
7.1.6. Cơ sở dữ liệu địa chỉ MAC không ổn địn
Hình 7.1.6
Ta xét ví dụ nh trên hình 7.1.6: giả sử địa chỉ MAC của Router Y không có
trong bảng địa chỉ của cả hai switch.
Giả sử host X gửi một gói dữ liệu trực tiếp đến Router Y. Switch A và B đều
nhận đợc gói gữi liệu này và học đợc địa chỉ MAC của Host X là nằm trên port
0. Sau khi đó dữ liệu này đợc hai switch chuyển ra tất cả các port vì trên hai
switch đều cha có địa chỉ MAC của Router Y. Kết quả là switch A nhận lại gói dữ
liệ ừ
Switch A vào port 1.
trê
7.2. Giao thức Spanning Tree (Giao thức phân nhánh cây).
7.2.1. Cấu trúc dự phòng và Spanning Tree.
u này từ switch B vào port 1 và ngợc lại, Switch B cũng nhận lại dữ liệu t
Khi đó Switch A và B học lại là địa chỉ MAC của Host X nằm
n port 1, kế tiếp, khi Router Y gửi một gói dữ liệu cho Host X, Switch Avà B
cũng đều nhận đợc gói dữ liệu từ Router Y đến Host X sẽ bị rơi vào vòng lặp.
447
Cấu trúc mạng dự phòng đợc thiết kế để bảo đảm mạng tiếp hoạt động khi
có một sự cố xảy ra, user sẽ ít bị gián đoạn công việc của họ hơn. Mọi sự gián đoạn
do sự cố gây ra càng ngẵn càng tốt.
Hình 7.2.1.a. Một ví dụ về cấu trúc dự phòng.
Trong hệ thống mạng, chúng ta tạo nhiều kết nối giữa các switch và bridge
để dự phòng. Các kết nồi này sẽ tạo ra các vòng lặp vật lý trong mạng nhng nếu có
một kết nối bị đứt thi lu lợng có thể đợc chuyền sang kết nối khác.
Switch hoạt động ở lớp 2 của môi hình OSI và thực hiện quyết định chuyển
gói ở lớp này. Khi Switch không xác định đợc port đích thì nó sẽ chuyển gói ra tất
cả rt
nhận gói vào. Do đó,
To L
ông tin lớp 2 trong gói dữ liệu không có
ào vòng lặp lớp 2 của cấu trúc mạng chuyển
mạch, nó sẽ bị lặp vòng đến vô tận vì khô rong frame giúp loại
bỏ ống mạng tiêu tốn băng thông và có thể
dẫn ế
các port. Gói quảng bá và multicast cũng đợc gửi ra tất cả các port trừ po
mạng chuyển mạch không đợc có vòng lặp, vì nh vậy sẽ
gây ra nhiều sự cố nh đã phân tích ở các phần trên.
ở lớp 3, mỗi khi gói dữ liệu đi qua một Router, trờng thời gian sống (Time
Live TTL) sẽ giảm đi một giá trị và gói dữ liệu sẽ bị huỷ bỏ khi trờng TT
đạt đến giá trị 0. Trong khi đó, phần th
trơng TTL. Do đó, nếu frame bị rơi v
ng có thông tin nào t
frame khi bị lặp vòng. Điều đó làm hệ th
đ n bị tê liệt.
448
Tóm lại, mạng chuyển mạch với switch và bridge không thể có vòng lặp
nhng chúng ta vẫn cần xây dựng cấu trúc mạng vật lý có vòng lắp để dự phòng khi
spanning - tree. Thuật toán này tồn tại khá nhiều thời
xảy ra sự cố, nhằm đảm bảo hoạt động của hệ thống mạng.
Vậy giải pháp là vẫn cho phép cấu trúc vật lý có vòng lặp nhng chúng ta sẽ
tạo cấu trúc luận lý không có vòng lặp. Ví dụ nh trên hình 7.2.1.a, giao thông từ
các user kết nối vào Cat - 4 đến server Farm kết nối vào Cat - 5 sẽ đi qua đờng kết
nối giữa Cat - 1 và Cat - 2 mặc dù có tồn tại đờng kết nối vật lý giữa Cat - 4 và Cat
- 5.
Cấu trúc luận lý không vòng lặp là một cấu trúc dạng phân nhánh cây, tơng
tự nh cấu trúc luận lý hình sao hay hình sao mở rộng.
Thuật toán đợc sử dụng để tạo cấu trúc luận lý không vòng lặp là thuật toán
gian để hội tụ. Do đó có một
thuật toán mới hơi gọi là rapid spanning - tree với thời gian tinh toán cấu trúc luận
lý không vòng lặp rút ngắn hơn.
Hình 7.2.1.b. Cấu trúc luận lý không vòng lặp đợc tạo ra bởi Spanning - Tree.
Cấu trúc này theo dạng phân nhánh hình cây, tơng tự nh cấu trúc luận lý hình
sao mở rộng.
449
7.2.2. Giao thức Spanning - Tree.
Ethernet bridge và switch có thể triển khai giao thức Spanning - Tree
IEEE802.1D và sử dụng thuật toán spanning - tree để xây dựng cấu trúc mạng ngắn
nhất không vòng lặp.
Để xây dựng mạng theo dạng phân nhánh hình cây, trớc tiên giao thức
Spanning - Tree phải chọn một điểm làm gốc (root bridge). Xuất phát từ một bridge
gốc này, các đờng liên kết đợc xem xét và tính toán để phân nhánh ra tạo cấu
trúc mạng theo dạng hình cây, bảo đảm rằng chỉ có một đờng duy nhất đi từ gốc
đến từng node trong mạng. Những đờng kết nối nào d thừa trong cấu trúc hình
cây sẽ bị khoá lại. Tất cả các gói dữ liệu nhận đợc từ đờng liên kết bị khoá này sẽ
bị huỷ bỏ.
Hình 7.2.2.a. Giao thức Spanning - Tree xây dựng mạng hình luận lý hình cây. Kết
nối nào d thừa, tạo thành vòng lặp sẽ bị khoá lại.
Giao thức Spanning - Tree đòi hỏi thiết bị mạng phải trao đổi thông tin với
nhau để có thể phát hiện ra vòng lặp trong mạng. Thông điệp trao đổi này đợc gọi
là Bridge Protocol Data Unit (BPDU). Kết nối nào tạo thành vòng lặp sẽ bị đặt vào
trạng thái khoá. Trên kết nối này không nhận gói dữ liệu nhng vẫn nhận các gói
BPDU để xác định kết nối đó còn hoạt động hay không. Nếu có một kết nối bị đứt
hay một thiết bị h hỏng thì một cấu trúc hình cây mới sẽ đợc tính toán lại.
BPDU chứa đầy đủ các thông tin giúp cho switch thực hiện đợc các việc
sau:
450
Chọn một switch làm gốc cho cấu trúc hình cây.
Tính toán đờng ngắn nhất từ mỗi node đến switch gốc. Đờng ngắn nhất
đờng có chi phí thấp nhất. Chi phí của đờng kết nối đợc tính toán dựa trên tốc
ộ của đờng kết nối đó.
Trong từng LAN segment, chỉ định ra một switch gần nhất với switch gốc.
Switch đợc chỉ định (designated switch) sẽ lắm giữ mọi thông tin liên lạc giữa
LAN và switch gốc.
Trên mỗi switch không phải là gốc chọn một port làm port gốc (root port)
là port có đờng kết nối ngắn nhất về gốc.
Các port còn lại đợc xem xét để làm port chỉ định (designated port).
Những port nào không đợc chỉ định đều bị khoá lại.
là
đ
Hình 7.2.2.b. Giá trị chi phí mặc đinh tơng ứng với tốc độ của đờng kết nối.
7.2.2.c. Các thông tin nằm trong gói BPHình DU.
451
Hìn hi
t
quá trình bầu chọn bridge gốc Từ bridge gốc, hai nhánh
từ port 1/1, 1/2 đợc mở lên
ợc chọn làm port
ợc chọn làm port gốc để nối về gốc. Sau khi
đã xác định xong port gốc để
xem
segme t LAN chỉ có một
sw
và Cat - C sẽ chỉ định ra một switch đ
Cat - B
Cat - C
ning - tree.
ng mạng tuân theo các nguyên tắc
h 7.2.2.d. Một ví dụ để kết quả tính toán của giao thức Spanning - Tree. Sau k
ính toán xong, về mặt luận lý, cấu trúc mạng sẽ có dạng rẽ nhánh cây, không còn
vòng lặp nữa.
Ta xét ví dụ nh hình 7.2.2.c. Ba switch Cat - A, Cat - B và Cat - C đợc nối
thành vòng tròn với nhau. Nh vậy là tồn tại một vòng lặp về mặt vật lý. Đầu tiên,
đã chọn Cat - A làm gốc.
để kết nối xuống hai switch Cat - B và Cat - C. Trên
Cat - B, port 1/1 có chi phí nối về gốc thấp nhất nên port này đ
gốc. Tơng tự trên Cat - C, port 1/1 đ
thiết lập kết nối về bridge gốc, Cat - B và Cat - C sẽ
xét các port còn lại. Chúng nhận thấy port 1/2 của chúng cùng nối vào một
nt LAN. Để tạo cấu trúc hình cây, trong mỗi segmen
itch đợc mở một đờng để kết nối từ gốc vào segment LAN đó. Do đó, Cat - B
ợc truy xuất vào segment LAN này. Kết quả,
đợc chọn và port 1/2 của nó đợc chỉ định mở kết nối vào segment LAN.
không đợc chỉ đinh nên port 1/2 của nó bị khoá lại.
7.2.3. Hoạt động của span
Khi mạng đã ổn định và hội tụ chỉ có một cây duy nhất trong một mạng.
Để đạt đợc kết quả này, các switch tro
sau:
452
Chỉ có một bridge gốc duy nhất cho một mạng.
Trong từng segment LAN, chỉ đợc duy nhất một port đi vào segment LAN
Po
Các port không đợc chỉ định sẽ huỷ bỏ dữ
port khoá (B - Bloking).
7.2.4. Quá trình chọn bridge gốc.
Muốn xây dựng cấu trúc hình cây thì trớc tiên phải có một điểm làm gốc để
đó ph
chọn ra một bridge gốc sẽ tác động đến dòng giao thông trong mạng.
Khi các switch mới đợc bật điện, chúng sẽ tr
và dựa gó
Trờng BID bao gồm giá trị độ u tiên của switch và địa chỉ MAC của switch đó.
Giá trị u tiên mặc định của switch là 32768. Mặc định, các gói BPDU đợc gi đi
iây/lầ
Trên mỗi bridge không phải là gốc chỉ có một port duy nhất làm port gốc
là port kết nối về gốc ngắn nhất.
đó.
Không sử dụng các port nào không đợc chỉ
rt gốc và port đợc chỉ định làm các port đ
định.
ợc sử dụng để chuyển dữ liệu.
liệu. Các port này đợc gọi là
từ ân nhánh cho cây. Do đó việc đầu tiên là tất cả các switch trong mạng phải
ao đổi các gói BPDU với nhau
i này để chọn ra bridge gốc. vào thông tin bridge ID (BID) trong các
2 g n.
Hình 7.2.4.a. Nội dung gói BPDU.
453
Hình 7.2.4.b. Cấu trúc của trờng BID. 2 byte đầu là giá trị u tiên của switch. Giá
trị này nằm trong khoảng từ 0 - 65535, giá trị mặc định là 32768. 6 byte sau là địa
chỉ MAC của switch.
Đầu tiên mỗi switch đều tự cho nó là gốc. Do đó trong gói BPDU đầu tiên
mà mỗi switch gửi đi, trờng Root BID và sender BID đều có giá trị u tiên và địa
chỉ MAC của chính nó. Sau đó mỗi switch sẽ lần lợt nhận đợc các goi BPDU từ
những switch khác. Mỗi khi switch nhận đợc một gói BPDU có trờng Root BID
thấp hơn Root BID nó đang có thì nó sẽ thay thế Root BID thấp hơn vào gói BPDU
rồi gửi đi. Cứ nh vậy, cuối cùng các switch sẽ thống nhất đợc với nhau switch
nào có BID thấp nhất làm bridge gốc.
Hình 7.2.4.c. Một ví dụ về nội dung gói BPDU đầu tiên của Cat - A gửi đi.
Nếu không cấu hình gì cả, giá trị mặc định trên các switch đều bằng nhau và
bằng 32768. Do vậy switch nào nào có địa chỉ MAC nhỏ nhất (địa chỉ MAC thì
không bao giờ trùng nhau giữa các switch) sẽ có BID nhỏ nhất và switch đó sẽ làm
gốc. Ngời quản trị mạng muốn tác động vào việc quyết định chọn bridge gốc thì
454
có thể cài đặt giá trị u tiên của switch nhỏ hơn giá trị mặc định, khi đó BID của
switch sẽ có giá trị nhỏ hơn. Tuy nhiên bạn chỉ lên làm điều này khi bạn nắm rõ
luồng giao thông trong mạng của mình.
Hình 7.2.4.d. Sau một quá trinh trao đổi gói BPDU, các switch sẽ chọn ra đợc
switch nào có BID nhỏ nhất làm gốc.
7.2.5. Các trạng thái port Spanning - Tree.
Thông tin trao đổi của các giao thức phải mất một khoảng thời gian mới
truyền đi hết cho toàn bộ hệ thống mạng. Khi một phân nào đó của cấu trúc mạng
bị thay đổi thì cả hệ thống không thể nhận biết đợc điều này cùng một lúc và ngay
lập tức mà phải lần lợt sau đó một khoảng thời gian. Đó chính là thời gian trễ lan
truyền. Chính vì vậy, nếu switch đổi trạng thái của một port từ thụ động sang hoạt
động ngay lập tức có thể sẽ gây ra vòng lặp.
Trên switch sử dụng giao thức Spanning - Tree, mỗi port sẽ ở một trong năm
trạng thái nh hình 7.2.5.a.
ở trạng thái khoá, port chỉ nhận gói BPDU. Các gói dữ liệu khác sẽ bị huỷ bỏ
và không hề có học địa chỉ ở trạng thái này. Mất khoảng 20 giây để chuyển từ trạng
thái này sang trạng thái kế tiếp là trạng thái nghe.