Chương 1: Giới thiệu Chương 2: Lý thuyết xếp hàng và ứng dụng Chương 3: Mạng hàng đợi Chương 4: Điều khiển luồng kết hợp(Go back N, Selective Repeat,Window) Chương 5: Điều khiển luồng và chống tắc nghẽnChương 6: Định tuyến trong mạng viễn thông Chương 7: Thuật toán Dijikstra, Bellman Ford Chương 8: Bài tập
Trang 1Cơ sở mạng thông tin
Trang 2Đại học Bách Khoa Khoa Điện tửViễn thông
Trang 3Đại học Bách Khoa Khoa Điện tửViễn thông
Trang 4Đại học Bách Khoa Khoa Điện tửViễn thông
Trang 5Đại học Bách Khoa Khoa Điện tửViễn thông
[ 9] http://ptolemy.eecs.berkeley.edu/ptolemyII/index.htm
[ 10] http://www.omnetpp.org/
Trang 6Đại học Bách Khoa Khoa Điện tửViễn thông
[ 9] http://ptolemy.eecs.berkeley.edu/ptolemyII/index.htm
[ 10] http://www.omnetpp.org/
Trang 7Đại học Bách Khoa Khoa Điện tửViễn thông
Tài liệu tham khảo
[ 11] http://www.topology.org/soft/sim.html
[ 12] Kishor Shridharbhai Trivedi, Probability and Statistics with Reliability, Queuing, and Computer Science
Trang 8Đại học Bách Khoa Khoa Điện tửViễn thông
• Khi phân tích hay tổng hợp một hệ thống thông tin, một yêu cầu hàng đầu là phải khảo sát các đặc tính và hiệu năng hoạt động của các hệ thống
• Ví dụ, một nhà cung cấp dịch vụ điện thoại di động
GSM muốn mở rộng vùng phủ sóng của mình. Với các tham số đầu vào cho trước bao gồm:
– Lưu lượng đầu vào λ , được tính bằng số yêu cầu kết nối trong một đơn vị thời gian. Tham số này được
Trang 9Đại học Bách Khoa Khoa Điện tửViễn thông
Trang 10Đại học Bách Khoa Khoa Điện tửViễn thông
Trang 11Đại học Bách Khoa Khoa Điện tửViễn thông
• Thực tế, quá trình phân tích một hệ thống thực thông thường tương đối khó khăn và tốn kém. Để khẳng định tính chất của một hệ thống về hiệu năng hoạt động, tính kinh tế .v.v.,
cậy, các dữ liệu đầu vào của mô hình phải phù hợp với hệ
thống thực tế
Tổng quan
Trang 12Đại học Bách Khoa Khoa Điện tửViễn thông
mô hình toán học và mô hình mô phỏng
• Phân tích (analysis): Được hiểu là quá trình tìm hiểu, khám
phá các đặc điểm hoặc chức năng của hệ thống. Trong bước này, đặc điểm hoặc phản ứng của một hệ thống sẽ được
nghiên cứu tương ứng với các thông số đầu vào cho trước
Các bước mô hình hóa
Trang 13Đại học Bách Khoa Khoa Điện tửViễn thông
Trang 14Đại học Bách Khoa Khoa Điện tửViễn thông
Các bước mô hình hóa
Trang 15Đại học Bách Khoa Khoa Điện tửViễn thông
Trang 16Đại học Bách Khoa Khoa Điện tửViễn thông
• Trong quá trình mô hình hóa người ta chỉ giới hạn xem xét
một số thông số quan trọng của hệ thống. Vì vậy kết luận về đặc tính hoạt động của một hệ thống nào đó bao giờ cũng
có dạng:
“Hệ thống A tốt hơn hệ thống B về mặt C”
• Việc kết luận chung chung theo kiểu “hệ thống A tốt hơn hệ thống B” thông thường không chính xác do khi xét theo một tiêu chuẩn đánh giá nào đó, một hệ thống có thể tối ưu
nhưng khi xét theo một tiêu chuẩn khác, hệ thống đó lại có
những nhược điểm đáng kể
Các tiêu chuẩn đánh giá
Trang 17Đại học Bách Khoa Khoa Điện tửViễn thông
Trang 18Đại học Bách Khoa Khoa Điện tửViễn thông
Trang 19Đại học Bách Khoa Khoa Điện tửViễn thông
Trang 20Đại học Bách Khoa Khoa Điện tửViễn thông
• Phương pháp xấp xỉ (approximation method)
– Trong nhiều trường hợp, phương pháp phân tích toán học quá phức tạp để có thể mô tả một hệ thống.
Phương pháp xấp xỉ cơ thể áp dụng trong những
trường hợp này.
Các phương pháp đánh giá
Trang 21Đại học Bách Khoa Khoa Điện tửViễn thông
• Phương pháp mô phỏng (simulative techniques) miêu tả một quá trình xảy ra trong thực tế thông qua các
Trong nhiều trường hợp, mô phỏng là phương pháp khả thi nhất về mặt thời gian và tài chính (không phải mua
một hệ thống thực).
Phương pháp mô phỏng
Trang 22Đại học Bách Khoa Khoa Điện tửViễn thông
mô phỏng với các tham số đầu vào mà giá trị đầu ra
đã được biết trước, sau đó so sánh các kết quả mô
phỏng so với kết quả đo đạc được trong thực tế
Phương pháp mô phỏng
Trang 23Đại học Bách Khoa Khoa Điện tửViễn thông
• Đo đạc được sử dụng để đo các thông số cần thí
nghiệm trong các hệ thống thực (như thông lượng, băng thông, trễ, tuyến đường mà một gói IP đi qua .v.v.).
• Đo đạc được sử dụng để bổ trợ cho phương pháp phân tích toán học và phương pháp mô phỏng; các tham số đầu vào sử dụng trong các mô hình toán học và mô
phỏng đều được đo đạc trong thực tế. Mặt khác, đo đạc cũng được sử dụng để kiểm tra độ chính xác của một
mô hình so với hệ thống thực tế.
• Các công cụ đo đạc hay được sử dụng trong thực tế
bao gồm: Ethereal, tcpdump, netsnmp, netperf, dbs .v.v.
Phương pháp đo đạc
Trang 24Đại học Bách Khoa Khoa Điện tửViễn thông
• Phương pháp này kết hợp cả phương pháp phân tích
toán học và phương pháp mô phỏng ở trên. Trong
phương pháp này, một hệ thống sẽ được phân tách
thành các khối chức năng. Đối với từng khối, người ta có thể sử dụng phương pháp mô phỏng hoặc phân tích
toán học.
Phương pháp kết hợp (hybrid)
Trang 25Bài trợ giáo 3
Đo lường tham số hàng đợi trên mạng viễn thông
Trang 31set qsize [open queue.size w]
puts $qsize "$now [$qmon_size set pkts_]"
Chiều dài hàng đợi
Trang 33set qlost [open queuelost.tr w]
puts $qlost "$now $pdrops_ $bdrops_"
Tỷ lệ mất thông tin
Trang 35Thay đổi các tham số nguồn lưu lượng, dung lượng hàng đợi và tham số liên kết. Nhận xét mối quan hệ giữa chúng và khả thông, kích thước hàng đợi, và tỷ lệ mất thông tin
Bài tập về nhà
Trang 36Bài thực hành 1 Cài đặt phần mềm mô phỏng NS2
Trang 45Page: 1
Khoa Điện tử-Viễn thông
©Copyright by Pham Van Tien
Định tuyến động (dynamic routing)
Trang 46Page: 2
Khoa Điện tử-Viễn thông
©Copyright by Pham Van Tien
• Các nút mạng tự động tìm ra đường đi tối ưu Việc tìm ra
tuyến đi được thực hiện một cách phân tán tại các nút chứ
không do một nút trung tâm tính toán
• Các nút chủ động trao đổi thông tin liên quan đến cấu hình
mạng với nhau
Trang 47Page: 3
Khoa Điện tử-Viễn thông
©Copyright by Pham Van Tien
• Từ các thông tin thu thập được, mỗi nút tự tìm ra đường đi tối
ưu đến các nút khác rồi lập ra bảng định tuyến
• Mỗi khi có gói tin đến, nút mạng tra bảng định tuyến đưa ra
quyết định định tuyến
• Bảng định tuyến thường xuyên được cập nhật mỗi khi có thay đổi cấu hỉnh mạng, tắc nghẽn…
Trang 48Page: 4
Khoa Điện tử-Viễn thông
©Copyright by Pham Van Tien
Phân loại thuật toán
• Cây bắc cầu tối thiểu (MST)
Trang 49Page: 5
Khoa Điện tử-Viễn thông
©Copyright by Pham Van Tien
Cây bắc cầu tối thiểu MST
• Giá của cây được định nghĩa là tổng các chi phí liên kết (link cost) của
cây đó
• MST của một graph liên thông là cây bao gồm tất cả các nút của graph
đó, có giá tối thiểu
• Cho graph , phải tìm ra cây , sao cho:G = {V,E}
min '
) ( )
Trang 50Page: 6
Khoa Điện tử-Viễn thông
©Copyright by Pham Van Tien
Thuật toán Kruskal
1 Khởi tạo: T lúc đầu là một đồ thị rỗng
2 Nếu T đã gồm đúng n-1 cạnh của G thì T là cây bao trùm
cần tìm Kết thúc
3 Nếu T còn chưa đủ n-1 cạnh, thì vì G liên thông, nên G
có không ít hơn n-1 cạnh, do đó còn các cạnh của G
chưa thuộc T Trong các cạnh của G chưa thuộc T có
các cạnh không tạo ra chu trình với các cạnh đã có trong
T, chọn cạnh v có trọng số nhỏ nhất trong các cạnh ấy
bổ sung (cùng với các đỉnh chưa thuộc T của nó) vào T
Loại bỏ những cạnh tạo thành chu trình
4 Quay lại 2
Trang 51Page: 7
Khoa Điện tử-Viễn thông
©Copyright by Pham Van Tien
Thuật toán Kruskal
DF được chọn.
Tiếp theo, CE là cạnh có giá nhỏ nhất không tạo thêm
cycle nào, nó được chọn
AD và CE đều có giá nhỏ nhất; AD được chọn một các
ngẫu nhiên
Graph ban đầu.
Trang 52Page: 8
Khoa Điện tử-Viễn thông
©Copyright by Pham Van Tien
Thuật toán Kruskal
Cuối cùng EG được chọn và ta có MST
BE được chọn, các liên kết tiếp theo bị loại là BC, DE, và FE Chọn AB, DB bị loại bỏ (chắc chắn không được lựa chọn ở
các bước sau)
Trang 53Page: 9
Khoa Điện tử-Viễn thông
©Copyright by Pham Van Tien
Thuật toán Prim
1 Chọn một đỉnh s bất kỳ của G cho vào cây T Khi đó T là
một cây chỉ có một đỉnh và chưa có cạnh nào
2 Nếu T đã gồm tất cả các đỉnh của G thì T là cây bao trùm
cần tìm Kết thúc
3 Nếu G còn có các đỉnh không thuộc T, vì G liên thông
nên có các cạnh nối một đỉnh trong T với một đỉnh ngoài
T, chọn một cạnh có trọng số nhỏ nhất trong số đó cho
vào T
4 Quay lại 2
Trang 54Page: 10
Khoa Điện tử-Viễn thông
©Copyright by Pham Van Tien
Thuật toán Prim
Xét ví dụ:
Trang 55Page: 11
Khoa Điện tử-Viễn thông
©Copyright by Pham Van Tien
Nhận xét chung về MST
• Có thể tìm được nhiều MST với cùng giá W(T)
• Phạm vi áp dụng MST chủ yếu trong mạng LAN
Trang 56Page: 1
Khoa Điện tử-Viễn thông
©Copyright by Pham Van Tien
Định tuyến trong mạng viễn thông
Trang 57Page: 2
Khoa Điện tử-Viễn thông
©Copyright by Pham Van Tien
• Định tuyến là quá trình tìm đường đi giữa hai điểm trong
mạng theo một số yêu cầu cho trước
– Đường đi ngắn nhất ?
– Đường có băng thông rộng nhất ?
• Đường đi phải thường phải tối ưu theo một tiêu chí nào đó
• Các gói tin được gửi đi theo đường đi này Thực tế chúng
cũng có thể được gửi đi đồng thời trên nhiều đường
Trang 58Page: 3
Khoa Điện tử-Viễn thông
©Copyright by Pham Van Tien
• graph G=(V, E) được định nghĩa bởi tập hợp các đnh
(vertex) V và tập hợp các cnh E (edge) Các đỉnh thường
được gọi là các nút, các cạnh được gọi là các liên kt
• Ký hiệu V={v i | i=1,2, N}; E={e i | i=1,2, M}
e j =(v i ,v k ) hoặc e j =(i,k)
Trang 59Page: 4
Khoa Điện tử-Viễn thông
©Copyright by Pham Van Tien
Định nghĩa
• Nút kề nhau (láng giềng): nút i và k gọi là kề nhau nếu tồn tại một liên
kết (i, k) giữa chúng
• Bậc của nút là số lượng liên kết đi tới nút
– Là số lượng nút láng giềng nếu giữa hai nút có không nhiều hơn một liên
kết
• Liên kết có hướng được gọi là cung: ký hiệu: a j =[v i ,v k ] hoặc a j =[i, k]
Trang 60Page: 5
Khoa Điện tử-Viễn thông
©Copyright by Pham Van Tien
• Nếu giữa hai nút, tồn tại hai liên kết tách biệt thì chúng được gọi là các
liên kết song song
– Graph có chứa các liên kết song song được gọi là multigraph
• Vòng lặp: liên kết nối một nút với chính nó
• Đường dẫn (path) giữa hai nút là tập hợp các liên kết nối tiếp nhau
• Chu trình (cycle): là đường dẫn có điểm đầu và cuối trùng nhau
• Graph liên thông (connected graph): giữa hai nút bất kỳ đều tồn tại ít
nhất một đường dẫn
Trang 61Page: 6
Khoa Điện tử-Viễn thông
©Copyright by Pham Van Tien
Định nghĩa
• Graph con (subgraph) G’ của G ?
• Cây (tree): là graph liên thông không chứa chu trình
– Định lý: cây N nút luôn có N-1 cạnh
– Nút cha (parent node) của một nút là nút liền kề liên kề và gần nút gốc hơn
– Sao (star): là graph với một nút duy nhất có bậc lớn hơn 1
– Xích (chain): là graph mà tất cả các nút đều có bậc không lớn hơn 2
• Graph có trọng số (weighted graph): mỗi cạnh được gán các con số
thực được gọi là trọng số
– Thực tế, trọng số thường trực hoặc gián tiếp biểu đạt một tham số mạng
thông tin như băng thông, chiều dài…gọi là link cost
– Định tuyến là việc tìm đường dẫn có tổng link cost nhỏ nhất
Trang 62Page: 7
Khoa Điện tử-Viễn thông
©Copyright by Pham Van Tien
Phân loại định tuyến
Trang 63Page: 8
Khoa Điện tử-Viễn thông
©Copyright by Pham Van Tien
Định tuyến ngẫu nhiên: flooding
• Khi nhận được mỗi gói tin, nút mạng sẽ gửi đi tất cả các nút kế cận, trừ
nút đã gửi gói tin cho nó
• Hiệu quả truyền thấp chỉ được áp dụng trong một số ít trường hợp: ví
dụ như quân sự, cập nhật bảng định tuyến
• Đường ngắn nhất nằm trong số các đường đi mà gói tin đi qua: chắc
chắn có mẫu gói đi theo đường ngắn nhất
Trang 64Page: 9
Khoa Điện tử-Viễn thông
©Copyright by Pham Van Tien
Định tuyến ngẫu nhiên: random walk
• Gói tin được gửi đến mỗi đầu ra với một xác suất nào đó
• So với flooding, số lượng gói truyền đi nhỏ hơn
• Đường đi ngắn nhất có thể không nằm trong số đường được lựa chọn
Trang 65Page: 10
Khoa Điện tử-Viễn thông
©Copyright by Pham Van Tien
Định tuyến ngẫu nhiên: hot potato
• Có tên là isolated adaptive algorithm, tức là việc quyết định tuyến đi dựa trên trạng thái của chính nút mạng
• Gói tin được gửi đến đầu ra có hàng đợi ngắn nhất với mong muốn trễ
sẽ thông tin sẽ nhỏ nhất
• Trễ thực tế chưa chắc đã nhỏ nhất do … ?
Trang 66Điều khiển luồng và chống tắc nghẽn
Trang 67Đại học Bách Khoa Khoa Điện tửViễn thông
Trang 68Đại học Bách Khoa Khoa Điện tửViễn thông
Trang 69Đại học Bách Khoa Khoa Điện tửViễn thông
Trang 70Đại học Bách Khoa Khoa Điện tửViễn thông
• Điều khiển luồng là chức năng không thể thiếu trong
các mạng thông tin
• Nếu thiếu điều khiển luồng, tắc nghẽn cục bộ tại một nút
mạng sẽ gây ra phát lại gói, ảnh hưởng đến các nút và liên kết lân cận, có thể dẫn đến lan truyền tắc nghẽn trên toàn
mạng
• Phía thu sử dụng bộ đệm để lưu gói trước khi gửi lên lớp trên. Do đó phải khống chế tốc độ phía phát để không
bị mất gói
• Các cơ chế điều khiển luồng lớp 2: HDLC, ISDN, X.25, LLC…
• Các cơ chế điều khiển luồng và chống tắc nghẽn ở lớp truyền như TCP
Cơ bản
Trang 71Đại học Bách Khoa Khoa Điện tửViễn thông
Trang 74Đại học Bách Khoa Khoa Điện tửViễn thông
Trang 76Đại học Bách Khoa Khoa Điện tửViễn thông
Trang 77Đại học Bách Khoa Khoa Điện tửViễn thông
• Giả định các liên kết đều có dung lượng 1Mbps
• Thông lượng của mạng sẽ đạt cực đại (bằng 3Mbps) nếu các kết nối 2, 3 và 4 được sử dụng toàn bộ 1 Mbps băng thông
và kết nối 1 không được cung cấp lượng băng thông nào cả
• Cho mỗi kết nối sử dụng 0,5Mbps băng thông. Lúc này tổng thông lượng của mạng sẽ là 2Mbps
Trang 78Đại học Bách Khoa Khoa Điện tửViễn thông
Trang 79Đại học Bách Khoa Khoa Điện tửViễn thông
Trang 80Đại học Bách Khoa Khoa Điện tửViễn thông
• Điều khiển luồng áp dụng cơ cho các ứng dụng phi thời gian thực (FTP, HTTP, SMTP) được kết hợp với kỹ thuật ARQ
Trang 81Đại học Bách Khoa Khoa Điện tửViễn thông
– Cơ chế định thời biểu gói (packet scheduling), ví dụ WFQ
Điều khiển luồng kết hợp ARQ
Trang 82Điều khiển luồng sử dụng phương pháp
cửa sổ
Trang 83Đại học Bách Khoa Khoa Điện tửViễn thông
Trang 84Đại học Bách Khoa Khoa Điện tửViễn thông
• Nếu phát liên tục, tốc độ phát gói đạt giá trị:
• Nếu có khống chế kích thước cửa sổ thì tốc độ phát gói là:
• Do đó, tốc độ phát gói lớn nhất có thể đạt được
Trục thời
gian bên phát
Trục thời gian bên thu
Kích thước cửa sổ W = 3
Trang 85Đại học Bách Khoa Khoa Điện tửViễn thông
Trang 86Đại học Bách Khoa Khoa Điện tửViễn thông
• Mỗi nút mạng có các cửa sổ độc lập dùng cho các kênh
làm việc khác nhau (kênh ảo). Kích thước cửa sổ thường chỉ là 2 hoặc 3 do trễ truyền lan nhỏ (trừ thông tin vệ tinh)
• Nút thu có bộ đệm với dung lượng W gói cho mỗi liên kết
và nó sẽ gửi ACK cho nút nguồn nếu trong bộ đệm còn
chỗ trống. Nút thu sẽ xóa gói tin trong bộ đệm nếu nó đã được truyền thành công đến nút kế tiếp trên đường truyền hay đã đi ra khỏi mạng
Trang 87Đại học Bách Khoa Khoa Điện tửViễn thông
• Trong trường hợp có tắc nghẽn xảy ra tại một nút nào đó,
bộ đệm của nút này bị đầy bởi W gói tin và theo hệ quả,
bộ đệm của các nút phía trước nút đó cũng sẽ dần dần bị đầy. Hiện tượng này được gọi là backpressure
Trang 88Đại học Bách Khoa Khoa Điện tửViễn thông
• Khi mạng có khả năng mang thông tin của người dùng, kích
thước cửa sổ sẽ được đặt ở một mức nào đó. Khi mạng nặng tải và có tắc nghẽn xảy ra, phía phát sẽ giảm kích thước cửa
Kích thước cửa sổ nhỏ
Kích thước cửa sổ lớn
Trang 89Đại học Bách Khoa Khoa Điện tửViễn thông
• Các thiết bị không thông minh có thể dựa vào ACK/NACK để
điều chỉnh cửa sổ
Cửa sổ thích ứng
Trang 90Đại học Bách Khoa Khoa Điện tửViễn thông
• Có thể có nhiều nút trung gian cùng tham gia vào quá trình
tắc nghẽn
• Có hai phương thức thông báo tắc nghẽn:
– Nút tắc nghẽn báo cho nút trước đó để giảm kích thước cửa sổ (back pressure)
Trang 91Đại học Bách Khoa Khoa Điện tửViễn thông
Trang 92Đại học Bách Khoa Khoa Điện tửViễn thông
• Cơ chế kiểm soát băng thông đảm bảo lượng thông tin của
người dùng đưa vào mạng không vượt quá một mức nào đó nhằm tránh tắc nghẽn trong mạng
Điều khiển luồng theo băng thông
Hàng đợi cho gói tin đến
Gáo rò có thể chứ a đư ợc W thẻ bài Thẻ bài đến với tốc độ r thẻ /s
Mỗi gói tin muốn đi vào mạng cần phải nhận đư ợc một thẻ bài
Trang 93Điều khiển luồng kết hợp ARQ
Stopandwait