Các kĩ thuật chọn đường trong mạng máy tính

Một phần của tài liệu Bài Giảng Mạng Máy Tính (Trang 30 - 48)

Chức năng quan trọng nhất của tầng mạng là chọn đường đi tối ưu cho các gói tin từ trạm nguồn đến trạm đích. Kĩ thuật chọn đường (bao gồm cả thuật toán chọn đường, các tiêu chuẩn thực hiện và sự cập nhật thông tin) là một phần của phần mềm lớp mạng có nhiệm vụ quyết định chọn một đường ra mà

I,1,4 RR,2 DISC UA

gói tin sẽ được truyền trên đó. Một kĩ thuật chọn đường do vậy phải thực hiện 2 chức năng sau đây:

(i) Quyết định chọn đường theo những tiêu chuẩn (tối ưu) nào đó.

(ii) Cập nhập thông tin chọn đường, tức là thông tin dùng cho chức năng (i).

Có rất nhiều kĩ thuật chọn đường khác nhau. Sự phân biệt giữa chúng chủ yếu căn cứ vào các yếu tố liên quan đến 2 chức năng trên.

Các yếu tố đó thường là:

(a) Sự phân tán của các chức năng chọn đường trên các nút của mạng.

(b) Sự thích nghi với trạng thái hiện hành của mạng.

(c) Các tiêu chuẩn (tối ưu) để chọn đường.

Dựa trên yếu tố (a) ta có kĩ thuật chọn đường tập trung hoặc phân tán. Dựa trên yếu tố (b) ta có kĩ thuật chọn tĩnh hoặc thích nghi.

Cuối cùng, các kĩ thuật chọn đường cùng loại lại có thể phân biệt bởi yếu tố (c). Tiêu chuẩn (tối ưu) để chọn đường được xác định bởi người quản lý hoặc người thiết kế mạng, nó có thể là:

- Độ trễ trung bình của việc truyền gói tin.

- Số lượng nút trung gian giữa nguồn và đích của gói tin.

- Độ an toàn của việc truyền tin.

- Cước phí truyền tin.

Việc chọn tiêu chuẩn (tối ưu) như vậy phụ thuộc vào nhiều bối cảnh mạng (thông lượng, mục đích sử dụng ....). Các tiêu chuẩn có thể thay đổi vì bối cảnh mạng cũng có thể thay đổi theo thời gian.

3.2.2. Kĩ thuật chọn đường tập trung và kĩ thuật chọn đường phân tán

* Kĩ thuật chọn đường tập trung

Đó là giải pháp tồn tại một trung tâm điều khiển mạng thực hiện việc chọn đường, sau đó gửi các bảng chọn đường tới các nút liên quan dọc theo con đường đã chọn đó. Thông tin tổng thể của mạng cần dùng cho việc chọn đường chỉ được cất giữ tại trung tâm điều khiển mạng. Trung tâm điều khiển sẽ cập nhật các bảng chọn đường theo các thông tin nhận được từ các nút mạng. Các nút mạng có thể không gửi thông tin hoặc gửi theo định kỳ hoặc chỉ gửi khi xảy ra một sự kiện nào đó về trung tâm điều khiển.

* Kĩ thuật chọn đường phân tán

Đó là giải pháp quyết định chọn đường được thực hiện tại mỗi nút của mạng. Điều này đòi hỏi các nút mạng phải trao đổi thông tin với nhau để có thể quyết định gửi thông tin đi theo đường nào.

3.2.3. Kĩ thuật chọn đường tĩnh và kĩ thuật chọn đường thích nghi

* Kĩ thuật chọn đường tĩnh

Trong kĩ thuật này có thể là tập trung hoặc phân tán nhưng nó không đáp ứng với mọi sự thay đổi trên mạng. Trong trường hợp này, việc chọn đường thực hiện mà không có sự trao đổi thông tin, không đo lường và không cập nhập thông tin. Tiêu chuẩn (tối ưu) để chọn đường và bản thân con đường được chọn một lần cho toàn cuộc, không hề có sự thay đổi giữa chúng. Kĩ thuật chọn đường này rất đơn giản, do vậy được sử dụng rộng rãi, đặc biệt trong các mạng tương đối ổn định ít có thay đổi về địa hình và lưu thông trên mạng.

* Kĩ thuật chọn đường thích nghi

Kĩ thuật này đã thu hút sự quan tâm đặc biệt những nhà thiết kế mạng do khả năng đáp ứng với các trạng thái khác nhau của mạng. Đây là một yếu tố rất quan trọng, đặc biệt đối với các ứng dụng thời gian thực trong đó yếu cầu đầu tiên của người sử dụng mạng là phải có khả năng cung cấp được các con đường khác nhau để dự phòng sự cố và thích nghi nhanh chóng với các thay đổi trên mạng. Mức độ thích nghi này được đặc trưng bởi sự trao đổi thông tin chọn đường trong mạng. Đơn giản nhất là không trao đổi gì hết. Mỗi nút (hoặc trung tâm điều khiển trong trường hợp kĩ thuật tập trung) hoạt động một cách độc lập với thông tin riêng của mình để thích nghi với sự thay đổi của mạng theo một phương pháp nào đó. Ở mức độ cao hơn, thông tin về trạng thái của mạng có thể được cung cấp từ các nút láng giềng hoặc từ tất cả các nút khác.

Thông thường, các thông tin được đo lường và sử dụng cho việc chọn đường bao gồm:

- Các trạng thái của đường truyền.

- Các độ trễ truyền dẫn.

- Mức độ lưu thông.

- Các tài nguyên khả dụng.

Khi có sự thay đổi trên mạng (ví dụ thay đổi do sự cố hoặc do sự phục hồi của một nút mạng v.v...) các thông tin trên cần phải được cập nhật. Thực tế cho thấy rằng phần lớn các kĩ thuật chọn đường phân tán và thích nghi đáp ứng nhanh với các “tin lành” nhưng lại đáp ứng chậm đối với các “tin xấu”. Chẳng hạn thông tin về sự cố của một đường truyền nằm trên một con đường đã chọn đôi khi không được truyền với tốc độ cần thiết làm cho các gói tin vẫn được gửi đến đường truyền đó gây nên hiện tượng tắc nghẽn, chúng ta cần phải có các giải pháp cho vấn đề này.

Trong kĩ thuật chọn đường phân tán và thích nghi cũng gặp một số các hiện tượng khác nhau. Ví dụ như các gói tin bị quẩn trong mạng và không bao giờ đến được đích.

3.2.4. Quá trình chọn đường trong mạng TCP/IP

TCP/IP là họ giao thức liên mạng nổi tiếng được Vint Cerf (Đại học Stanford) và Rebert Kahn (BBN) phát triển trong quá trình hình thành và phát

triển mạng ARPANET, đó cũng là tiền thân của mạng Internet ngày nay cho phép kết nối các máy tính trên bình diện rộng lớn bao gồm nhiều quốc gia.

Cơ sở hạ tầng cho quá trình định tuyến trong mạng TCP/IP bao gồm các thành phần sau:

- Thiết bị định tuyến (Router/Gateway): Có chức năng quyết định đường đi của các gói tin trên mạng dựa vào thông tin của các bảng định tuyến được lưu trữ tại RAM. Một router sẽ phải học các đường (paths) hay các route từ việc cấu hình bằng tay bởi người quản trị hay có thể tự động cập nhật từ các router khác trong hệ thống dựa vào các giao thức định tuyến.

- Bảng định tuyến (Routing Table): là bảng chứa danh sách các đường định tuyến. Bảng định tuyến của mỗi giao thức định tuyến là khác nhau, nhưng có thể bao gồm nhữnh thông tin sau: địa chỉ đích của mạng, mặt nạ mạng của địa chỉ đích, địa chỉ IP của router chặng kế tiếp, cổng giao tiếp vật lý phải sử dụng để đi đến router kế tiếp, khoảng cách đến đích.

- Giao thức định tuyến (Routing Protocol): là ngôn ngữ để một router trao đổi với router khác để chia sẻ thông tin định tuyến về khả năng đến được cũng như trạng thái của mạng: RIP, IGRP, EIGRP, OSPF, IS-IS.

- Đường kết nối (Link Path): Các đường nối kết giữa các nút mạng với nhau

- Các thiết bị đầu cuối (host/terminal): Các thiết bị đầu cuối, nơi gửi và nhận dữ liệu

Hình 2.2: Các thành phần trong mạng TCP/IP Bảng định tuyến (tĩnh) lưu trữ trong Router A:

Entr

y Network

Address Netmask Gateway Interface

1 192.168.1.0 255.255.255.0 192.168.1.1 192.168.1.1

Router Link Path

Hub/Switch

Host

2 192.168.2.0 255.255.255.0 10.0.1.2 10.0.1.1

3 192.168.3.0 255.255.255.0 10.0.1.2 10.0.1.1

Để chọn lựa phương án triển khai giải quyết vấn đề chuyển gói tin trong mạng, người ta thường quan tâm hàng đầu đến độ tin cậy, ổn định và chi phí thực hiện của chúng. Một trong số các phương pháp định tuyến đã được nghiên cứu và triển khai áp dụng trong quá trình định tuyến trong mạng TCP/IP hiện nay:

- Phương pháp cố định/tĩnh (Fixed Routing)

- Phương pháp thích nghi/động (Adaptive Routing)

Hầu hết các mạng viễn thông truyền thống được xây dựng theo mô hình mạng phân cấp, mô hình này cho phép sử dụng định tuyến tĩnh trên quy mô lớn. Trong khi định tuyến tĩnh vẫn còn tồn tại thì tính chất độc lập giữa người sử dụng và mạng vẫn ở mức cao; định tuyến tĩnh chủ yếu dựa trên mong muốn của người sử dụng nhiều hơn là tình trạng của mạng hiện thời.

Mạng hiện đại ngày nay có xu hướng hội tụ các dịch vụ mạng, yêu cầu đặt ra từ phía người sử dụng là rất đa dạng và phức tạp. Các phương pháp định tuyến động được sử dụng nhằm nâng cao hiệu năng của mạng mới này, cho phép người sử dụng tham gia một phần vào quá trình quản lý mạng, tăng thêm tính chủ động, mềm dẻo, đáp ứng tốt hơn yêu cầu người sử dụng dịch vụ.

3.2.4.1. Phương pháp cố định (Fixed Routing)

* Nguyên lý hoạt động

Quá trình định tuyến theo phương pháp cố định (tĩnh) được thực hiện theo nguyên lý nội dung dữ liệu trong bảng định tuyến tại các nút mạng được người quản trị mạng cấu hình sẵn và không có sự thay đổi (cập nhật) trong suốt quá trình hoạt động của mạng.

Quá trình truy vấn chọn đường được thực hiện như sau

+ Trước tiên lần lượt thực hiện toán tử AND giữa địa chỉ đích đến trong gói với bitmask (Netmask) của route được chọn. Mỗi một route trong bảng được phân biệt với nhau bằng đích đến trong mạng của nó.

+ Với mỗi route, kết quả thu được sau khi thực hiện phép toán AND sẽ được so sánh với trường địa chỉ đích của route, nếu tương xứng thì điều đó có nghĩa là route có thể được sử dụng để chuyển tiếp nó tin này đến địa chỉ đích của nó. Nếu có nhiều route cho kết quả hợp lệ thì sẽ sử dụng route tương xứng dài nhất (route có mặt nạ mạng có bit 1 cao nhất). Nếu đây không phải là một kết quả tương xứng duy nhất thì sẽ sử dụng sự tương xứng có mức hao phí thấp nhất (Metric). Cuối cùng, nếu có nhiều tương xứng có cùng một mức hao phí thấp nhất thì sẽ chọn một cách ngẫu nhiên một trong số những route như vậy để sử dụng.

+ Sau cùng sẽ sử dụng thuật toán dưới đây để quyết định những gì cần thực hiện tiếp theo:

- Nếu trường Gateway của route tương xứng với địa chỉ của một trong những giao diện mạng trên máy chủ (hoặc nếu Gateway là trống) thì sẽ gửi gói tin trực tiếp đến địa chỉ đích của nó bằng giao diện được chỉ định trong route.

- Nếu trường Gateway của route không tương xứng với địa chỉ của bất kỳ giao diện mạng nào trên máy chủ thì Windows sẽ gửi gói tin đến địa chỉ trong trường Gateway của route.

* Ví dụ minh họa

Chúng ta hãy xem xét một mô hình định tuyến trong hệ thống mạng được cho bên dưới theo phương pháp cố định (tĩnh).

Hình 2.3: Sơ đồ mạng minh họa trong định tuyến tĩnh

Trong đó dữ liệu của Routing Table tại Gateway G1 được quản trị mạng cấu hình cố định như sau:

Routing table tại gateway G1 Entr

y

Network Destinatio

n Netmask Next-hop

(Gateway) Interface Hop- coun

t 1 128.192.6.0 255.255.255.0 128.192.6.250 128.192.6.250 0 2 128.192.150

.0 255.255.255.0 128.192.150.2

50 128.192.150.2

50 0

3 128.192.232

.0 255.255.255.0 128.192.232.2

50 128.192.232.2

50 0

4 131.144.4.1

0 255.255.255.2

55 128.192.232.2 128.192.232.2

50 1

5 168.15.0.0 255.255.0.0 128.192.232.2 128.192.232.2

50 2

6 0.0.0.0 0.0.0.0 128.192.232.2 128.192.232.2

50 1

Quá trình xử lý chọn đường xảy ra tại Gateway G1 đối với một số gói tin chuyển đến như sau:

Ví dụ 1: Gói tin có địa chỉ đích là: 128.192.150.24

Sau khi thực hiện phép AND giữa địa chỉ đích và Netmask, ta có kết quả như sau

Entry Netmask

128.192.150.

AND24 Netmask

(Router) Network Destination 1 255.255.255.

0 128.192.150.0 128.192.6.0 2 255.255.255.

0 128.192.150.

0 128.192.15

0.0 3 255.255.255.

0 128.192.150.0 128.192.232.

0 4 255.255.255.

255 128.192.150.2

4 131.144.4.10

5 255.255.0.0 128.192.0.0 168.15.0.0

6 0.0.0.0 0.0.0.0 0.0.0.0

Từ bảng định tuyến trên, ta có thể thấy được kết quả của phép tính AND cho hai kết quả tương xứng là 2 và 6 vì vậy sẽ sử dụng router 2 (router có sự tương xứng dài nhất) để chuyển gói tin đến địa chỉ đích của nó. Đây là những gì route này thể hiện trong bảng định tuyến.

(Router) Network

Destination Netmask Next-hop

(Gateway) Interface Hop- coun

t 128.192.150.

0 255.255.255.

0 128.192.150.25

0 128.192.150.25

0 0

Ví dụ 2: Gói tin có địa chỉ đích là: 168.15.44.39

Sau khi thực hiện phép AND giữa địa chỉ đích và Netmask, ta có kết quả như sau

Entry Netmask

168.15.44.3 9 NetmaskAND

(Router) Network Destination 1 255.255.255.0 168.15.44.0 128.192.6.0 2 255.255.255.0 168.15.44.0 128.192.150.

0

3 255.255.255.0 168.15.44.0 128.192.232.

0 4 255.255.255.25

5 168.15.44.3

9 131.144.4.10

5 255.255.0.0 168.15.0.0 168.15.0.0

6 0.0.0.0 0.0.0.0 0.0.0.0

Từ bảng định tuyến trên, ta có thể thấy được kết quả của phép tính AND cho hai kết quả tương xứng là 5 và 6 vì vậy sẽ sử dụng router 5 (router có sự tương xứng dài nhất) để chuyển gói tin đến địa chỉ đích của nó. Đây là những gì route này thể hiện trong bảng định tuyến.

(Router) Network Destination

Netmask Next-hop

(Gateway) Interface Hop-count

168.15.0.0 255.255.0.0 128.192.232.2 128.192.232.250 2

Ví dụ 3: Gói tin có địa chỉ đích là: 193.24.56.149

Sau khi thực hiện phép AND giữa địa chỉ đích và Netmask, ta có kết quả như sau

Entry Netmask

193.24.56.14 AND9 Netmask

(Router) Network Destination 1 255.255.255.0 193.24.56.0 128.192.6.0 2 255.255.255.0 193.24.56.0 128.192.150.

0

3 255.255.255.0 193.24.56.0 128.192.232.

0 4 255.255.255.2

55 193.24.56.0 131.144.4.10 5 255.255.0.0 193.24.0.0 168.15.0.0

6 0.0.0.0 0.0.0.0 0.0.0.0

Từ bảng định tuyến trên, ta có thể thấy được kết quả của phép tính AND cho một kết quả tương xứng là 6 vì vậy sẽ sử dụng router 6 để chuyển gói tin đến địa chỉ đích của nó. Đây là những gì route này thể hiện trong bảng định tuyến.

(Router) Network Destinatio

n

Netmas k

Next-hop

(Gateway) Interface Hop- coun

t 0.0.0.0 0.0.0.0 128.192.232.

2 128.192.232.25

0 1

3.2.4.2. Phương pháp thích nghi (Adaptive Routing)

* Nguyên lý hoạt động

Phương pháp thích nghi là quá trình mà trong đó giao thức định tuyến dựa trên thông tin trạng thái hiện thời của mạng để tìm ra đường tốt nhất trong mạng và duy trì chúng. Thông tin trạng thái có thể đo hoặc dự đoán và tuyến đường có thể thay đổi khi topo mạng hoặc lưu lượng mạng thay đổi. Thông tin định tuyến cập nhật vào trong các bảng định tuyến của các nút (node) mạng trực tuyến, và đáp ứng tính thời gian thực nhằm tránh tắc nghẽn cũng như tối ưu hiệu năng mạng.

Như vậy khác với phương pháp tĩnh, vấn đề dữ liệu trong các bảng định tuyến tại các nút mạng sẽ được tự động cập nhật dựa trên thông tin trạng thái thực tế của hệ thống mạng. Định tuyến thích nghi động xây dựng trên hai yếu tố cơ bản: Mô hình tính toán và thông tin trạng thái. Có hai kiểu mô hình tính toán sử dụng trong định tuyến động là mô hình tập trung và mô hình phân tán.

Các thông tin trạng thái được trao đổi và cập nhật theo các giao thức định tuyến (RIP, IGRP, EIGRP, OSPF, IS-IS)

Kĩ thuật định tuyến thích nghi động trong mạng TCP/IP được thực hiện qua các bước sau:

 Quyết định chọn đường:

Mỗi nút mạng (router) có một cơ sở dữ liệu mô tả tổng thể trạng thái của mạng (topo, độ trễ truyền dẫn,…). Các thông tin chứa trong cơ sở dữ liệu này được dùng để tính tóan các con đường tối ưu tới các nút khác (tức là tính cây chọn đường - Routing Tree) và đẩy các gói tin (datagram) theo các liên kết ra thích hợp.

Giải thuật chọn đường tối ưu là giải thuật của Bellman-Ford hoặc Dijkstra đã được cải tiến. Tiêu chuẩn chọn đường được sử dụng trong giải thuật này được tính bởi độ trễ trung bình của các datagram trên các liên kết.

 Đo độ trễ

Độ trễ của một liên kết được đo như sau: Giả sử

dt là độ trễ truyền một gói tin giữa hai nút hai đầu một liên kết dp là độ trễ truyền dẫn của liên kết (là hằng số đối với mỗi liên kết) dq là độ trễ xử lý và đợi trong nút gởi (nút nguồn)

Khi đó, độ trễ tổng cộng d được tính như sau:

d = dt+dp+dq

Độ trễ trung bình trên liên kết được tính sau 10 giây một cho tất cả các datagram đi qua. Nếu độ trễ được tính này khác với độ trễ cũ (quá một ngưỡng cho trước nào đó) thì nó sẽ gởi đến tất cả các nút khác nhờ các đơn vị dữ liệu điều khiển (thông báo cập nhật). Ngoài ra, để đảm bảo độ tin cậy của việc cập nhật, một thông báo cập nhật sẽ luôn được gởi đi:

- Sau một khỏang thời gian T, ngay cả nếu không có sự thay đổi nào; hoặc - Ngay sau khi có sự thay đổi trạng thái của một liên kết.

 Cập nhật nội dung routing table

Với giải thuật chọn đường mô tả ở trên, trong đó mỗi nút phải biết thông tin tổng thể của mạng, vấn đề truyền thông tin chọn đường (ở đây là độ trễ) trở nên rất quan trọng. Các thông báo cập nhật phải được nhận đúng để cho tất cả cơ sở dữ liệu ở các nút là như nhau (gắn bó dữ liệu).

Phương pháp cập nhật nội dung routing table trong mạng TCP/IP như sau:

- Mỗi thông báo cập nhật của một nút chứa thông tin về độ trễ của tất cả các liên kết của nút đó.

- Mỗi nút gởi thông báo cập nhật của mình tới tất cả các nút láng giềng (sau một khỏang thời gian T hoặc ngay lập tức sau khi có sự thay đổi đối với 1 liên kết).

- Một router láng giềng khi nhận được một broadcast để cập nhật, router này sẽ so sánh với thông tin trong bảng định tuyến hiện giờ. Nếu trong các thông tin đó có một mạng mới, hay đường tới một mạng mới mà với độ trễ tốt hơn, chúng sẽ cập nhật vào bảng định tuyến. Sau đó router này sẽ tiếp tục broadcast thông tin trong bảng định tuyến của mình cho các router kế tiếp của nó.

 Xử lý và chuyển gói tin

Sau khi router nhận packet, the router sẽ gỡ bỏ header lớp 2 để tìm địa chỉ đích lớp 3. Sau khi đọc xong địa chỉ đích lớp 3 nó tìm kiếm trong routing table cho địa chỉ đích đó. Giả sử đỉa chỉ đích đó có trong routing table, router sẽ xác định địa chỉ của next-hop. Sau đó packet được đẩy ra buffer của interface tương ứng, router sẽ khám phá loại encapsulation lớp 2 nào được sử dụng giữa interface đi ra của gói tin và next-hop. Packet được đóng gói và chuyển xuống lớp 2 rồi đưa xuống môi trường truyền dẫn dưới dạng bit, tín hiệu điện, quang…

Quá trình này sẽ tiếp tục cho đến khi packet được đưa đến đích.

Như vậy một router phải xử lý và cập nhật thông tin bảng định tuyến của mình vừa đồng thời là một bộ chuyển tiếp (repeater) đối với các thông báo cập nhật đến từ các nút láng giềng của nó.

Một phần của tài liệu Bài Giảng Mạng Máy Tính (Trang 30 - 48)

Tải bản đầy đủ (DOCX)

(149 trang)
w