1. Trang chủ
  2. » Luận Văn - Báo Cáo

Available bandwidth estimation considering intervening routers with multi queue scheduling

80 10 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 80
Dung lượng 1,47 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đánh dấu tất cả các gói tin đến hàng đợi Thuật toán 1.1 Thuật toán RED Trong đó:  avg: kích thước trung bình của hàng đợi  minth: ngưỡng tối thiểu  maxth: ngưỡng tối đa  pa: xác suấ

Trang 1

MỤC LỤC

Chương 1 Mở đầu 4

1.1 Giới thiệu 4

1.1.1 Giới thiệu đề tài 4

1.1.2 Mục tiêu của đề tài 4

1.1.3 Phạm vi của đề tài 4

1.2 Tổng quan 5

1.2.1 Băng thông hiện hành 5

1.2.2 Băng thông thực tế 8

1.2.3 Các luồng dữ liệu 8

1.3 Các cơ chế hủy gói tin 9

1.3.1 Tắc nghẽn là gì? 9

1.3.2 Kiểm soát tắc nghẽn 10

1.3.3 Các cơ chế quản lý hàng đợi 11

Chương 2 Ước lượng băng thông hiện hành 23

2.1 Các vấn đề của ước lượng băng thông hiện hành 23

2.2 Các hướng tiếp cận chính 23

2.3 Các đóng góp tiểu biểu trong việc ước lượng băng thông hiện hành 26

2.4 Kỹ thuật Pathload 26

2.4.1 Khái quát: 26

2.4.2 Phương pháp xác định xu hướng tăng giảm của chuỗi giá trị OWDs: 29 2.4.3 Dự đoán xu hướng: 30

2.4.4 Xác định đoạn hội tụ: 30

Trang 2

2.5 Kỹ thuật PathChirp: 31

2.5.1 Khái quát: 31

2.5.2 Cách phân vùng 33

2.5.3 Tính toán trên vùng: 34

2.6 Kỹ thuật IGI 34

2.6.1 Khái quát: 34

2.6.2 Mô hình Single-hop: 37

2.7 Kỹ thuật Spruce: 39

2.7.1 Khái quát: 39

Chương 3 Giải pháp – Xây dựng công cụ 41

3.1 Mối liên hệ giữa việc hủy gói tin và tốc độ luồng dữ liệu 41

3.1.1 Giả thiết 41

3.1.2 Xác định và ước tính tốc độ của luồng 41

3.1.3 Hủy gói tin 42

3.1.4 Tốc độ đạt được (Gain rate) 43

3.2 Giải pháp đo băng thông thực tế 48

3.2.1 Luồng không phản hồi 48

3.2.2 Luồng không phản hồi nhỏ 51

3.2.3 Luồng phản hồi 52

3.3 Xây dựng công cụ đo băng thông thực tế 54

3.3.1 Môi trường thực hiện 54

3.3.2 Xây dựng công cụ 54

Chương 4 Thực nghiệm 56

4.1 Mô hình mạng 56

Trang 3

4.1.1 Mạng cục bộ (LAN) 56

4.1.2 Mạng Internet 58

4.2 Sử dụng công cụ 59

4.3 Thực nghiệm và Đánh giá 60

4.3.1 Thử nghiệm 1 60

4.3.1 Thử nghiệm 2 63

4.3.2 Thử nghiệm 3 65

4.3.3 Thử nghiệm 4 66

4.3.4 Thử nghiệm 5 67

4.3.5 Thử nghiệm 6 68

4.3.6 Thử nghiệm 7 68

4.3.7 Thử nghiệm 8 69

Chương 5 Kết luận 71

5.1 Các kết quả đạt được 71

5.2 Các kết quả chưa đạt được 71

5.3 Hướng phát triển 72

Trang 4

DANH MỤC HÌNH VẼ

Hình 1.1 Băng thông hiện hành trong khoảng thời gian [0, T] là bằng băng thông

trừ đi lưu lượng hiện hành 6

Hình 1.2 Băng thông và băng thông hiện hành 7

Hình 1.3 Thuật toán đánh dấu gói tin của RED 13

Hình 1.4 Cơ chế RED-PD trong router 17

Hình 3.1 Tỉ lệ hủy gói tin 46

Hình 3.2 Tốc độ đạt được (Gain rate) 46

Hình 3.3 Mô hình thử nghiệm 47

Hình 3.4 Tốc độ đạt được của luồng UDP 48

Hình 3.5 Tốc độ đạt được của luồng TCP 48

Hình 3.6 Tỉ lệ hủy gói tin 50

Hình 3.7 Luồng tốc độ nhỏ 52

Hình 3.8 Tốc độ nhận bão hòa 53

Hình 4.1 Mô hình mạng LAN 57

Hình 4.2 Mô hình mạng Internet 1 58

Hình 4.3 Mô hình mạng Internet 2 59

Hình 4.4 Tỉ lệ hủy gói tin với lưu lượng nền 25% 61

Hình 4.5 Tỉ lệ hủy gói tin với lưu lượng nền 50% 62

Hình 4.6 Tỉ lệ hủy gói tin với lưu lượng nền 75% 62

Hình 4.7 Tỉ lệ hủy gói tin của luồng UDP 63

Trang 5

DANH MỤC BẢNG BIỂU

Bảng 3.1 Băng thông hiện hành (AWB) - Tốc độ nhận bão hòa (SRR) - Tốc độ

khi có gói tin bị hủy (RFD) 54

Bảng 4.1 Dự đoán tốc độ luồng UDP 64

Bảng 4.2 Kết quả băng thông hiện hành 65

Bảng 4.3 Kết quả băng thông thực tế 66

Bảng 4.4 Kết quả băng thông đường tuyền Internet 1 67

Bảng 4.5 Kết quả băng thông hiện hành của đường truyền Internet 1 68

Bảng 4.6 Kết quả băng thông thực tế của đường truyền Internet 1 69

Bảng 4.7 Kết quả băng thông thực tế của đường truyền Internet 2 69

Trang 6

CÁC CHỮ VIẾT TẮT

ADR Asymptotic Dispersion Range

AFD Approximate Fairness through Differential Dropping

AIMD Additive-Increase/Multiplicative-Decrease

CHOKe CHOose and Keep for responsive flows, CHOose and Kill for

unresponsive flows FIFO First In First Out

FRED Flow Random Early Drop

IGI Initial Gap Increasing

PTD Packet Train Dispersion

RED Random Early Detection

RED-PD RED with Preferential Dropping

Spruce Spread PaiR Unused Capacity Estimate

Trang 7

TÓM TẮT

Đề tài trình bày về giải pháp ước lượng băng thông thực tế - là băng thông mà

một ứng dụng có thể truyền dữ liệu thành công Chúng tôi sẽ phân tích và tiến hành thực nghiệm để chứng tỏ băng thông hiện hành không phải là băng thông thực tế, nghĩa là khi lưu lượng băng thông đã đầy nhưng ứng dụng vẫn có thể truyền đi được thành công một luồng dữ liệu nhỏ Băng thông đạt được của các luồng phản hồi và không phản hồi là khác nhau, và tùy thuộc vào đặc tính của lưu lượng dữ liệu hiện tại băng thông đạt được cũng khác nhau Dựa trên ý tưởng sử dụng tỷ lệ hủy gói tin, chúng tôi tiến hành thực nghiệm và phân tích sau đó đưa ra giải pháp trong việc ước lượng băng thông thực tế Kết quả thực nghiệm cho thấy giải pháp mà chúng tôi đề xuất có độ chính xác khá cao, và rất cạnh tranh với những giải pháp nổi tiếng khác

Trang 8

ABSTRACT

In this work, we study the problem of measuring the achievable bandwidth –

maximum throughput that a flow between two hosts can achieve in the presence of cross-traffic We use analysis and experiments to show that the achievable

bandwidth is not the unused bandwidth – the bandwidth remaining after subtracting

the cross-traffic The achievable bandwidth of a responsive flow is far different from these of an unresponsive flow, and the achievable bandwidth of a flow is highly depends on both the current cross traffic rate and its components Therefore, applying the existed available bandwidth measurement techniques, which based on the cross traffic, to this problem would not give good results In this work, we propose a simple but very powerful method to measure the achievable bandwidth Experiments show that our approach gives a high accuracy in measuring the achievable bandwidth

Trang 9

LỜI CẢM ƠN Nhóm thực hiện đề tài xin chân thành cảm ơn ĐH Quốc Gia TpHCM đã tài trợ cho nghiên cứu này Chúng tôi nhân dịp này cảm ơn ban chủ nhiệm Khoa đã tạo điều kiện thuận lợi về thời gian và nhân lực để thực hiện nghiên cứu

Chúng tôi xin chân thành cảm ơn BM MMT&VT đã hỗ trợ cơ sở vật chất, phòng lab cũng như các điều kiện thuận lợi cho nhóm nghiên cứu Cảm ơn các Thầy Cô trong hội đồng bảo vệ cao học, và đại học của các sinh viên đã tốt nghiệp dựa trên nghiên cứu này, các Thầy Cô đã có những góp ý giúp cho đề tài được hoàn thiện tốt hơn Chúng tôi cũng muốn cảm ơn các đồng nghiệp ở nước ngoài đã đọc và nhận xét bài báo, đã đưa ra các góp ý quan trong cho chúng tôi hoàn thành nghiên cứu được hoàn chỉnh hơn

Cuối cùng, xin được cảm ơn gia đình và bạn bè đã dành cho chúng tôi nhiều thời gian cũng như tình cảm, luôn ủng hộ chúng tôi trong quá trình làm nghiên cứu này

Trang 10

Chương 1 Mở đầu

1.1 Giới thiệu

1.1.1 Giới thiệu đề tài

Từ năm 1997, khi Việt Nam bắt đầu gia nhập mạng truyền thông Internet, thì tốc

độ phát triển Internet của Việt Nam tăng vũ bão, đến hiện nay đã có khoảng hơn 31 triệu1 người sử dụng Internet Cùng với tốc độ phát triển Internet nhanh như vậy thì hàng loạt các ứng dụng sử dụng mạng Internet ra đời

Cùng một lúc có rất nhiều ứng dụng sử dụng mạng trên cùng một đường truyền Làm thế nào để một ứng dụng mạng có thể ước lượng được băng thông hiện tại mà ứng dụng có thể sử dụng được là bao nhiêu để có thể cung cấp dịch vụ cho người dùng hiệu quả Để hỗ trợ cho việc kiểm định chất lượng đường truyền, trong đề tài này chúng tôi sẽ nghiên cứu giải pháp và xây dựng công cụ hỗ trợ việc ước lượng băng thông thực tế nhằm nâng cao chất lượng dịch vụ cho các ứng dụng thời gian thực

1.1.2 Mục tiêu của đề tài

Chúng tôi sẽ nghiên cứu về vấn đề băng thông thực tế – là tốc độ tối đa mà một

ứng dụng mạng có thể truyền dữ liệu thành công Chúng tôi sẽ phân tích và tiến

hành thực nghiệm để chứng tỏ rằng băng thông thực tế không phải là băng thông hiện hành Chúng tôi sẽ đưa ra giải pháp và xây dụng một công cụ đơn giản nhưng

hiệu quả để đo băng thông thực tế

1.1.3 Phạm vi của đề tài

Đề tài giới hạn vào bài toán ước lượng băng thông thực tế của mạng có dây Các gói tin trên đường được giả thiết tuân theo nguyên lý FIFO Các router trung gian sử

Trang 11

dụng nguyên lý store-and-forward Chúng tôi tập trung vào nhóm băng thông phổ biến của mạng Internet ngày nay dao động trong khoảng 0-100Mbps

1.2 Tổng quan

1.2.1 Băng thông hiện hành

Gọi P là một đường truyền Internet (path) từ điểm nguồn đến điểm đích P được cấu thành bởi H đoạn mạng2 (link), mỗi đoạn sử dụng kỹ thuật store-and-forward

Chúng tôi giả thiết rằng P cố định và duy nhất (nghĩa là không có sự thay đổi quá

trình định tuyến trong khi đang ước lượng băng thông hiện hành của đường truyền

P, và giả sử truyền thông giữa một cặp nguồn-đích duy nhất chỉ thông qua một

đường truyền duy nhất)

Băng thông (capacity/ raw bandwidth) của một đoạn mạng là lượng dữ liệu tối đa

mà đoạn mạng này có thể truyền tải trong một đơn vị thời gian, được đo bằng số bit

trên giây Băng thông của đoạn mạng i được kí hiệu C i

 C: băng thông của một đường truyền:

Lưu lượng (traffic) là khối lượng dữ liệu đang truyền trên đường truyền,

được tính bằng đơn vị bit trên giây

 Giả thiết rằng đoạn mạng i đang truyền tải Ci u i bit trong khoảng thời gian T Trong đó u i là phần [trăm] băng thông đang được sử dụng trên đoạn mạng i

2 Đoạn mạng: một đoạn kết nối giữa hai điểm liền kề nhau trên mạng

Trang 12

trong khoảng thời gian T, 0 ≤ u i ≤ 1 Băng thông hiện hành (available bandwidth) của đoạn mạng i:

Ai = Ci(1 − ui)

( 1.3 )

Băng thông hiện hành của một đoạn mạng là phần băng thông còn lại chưa sử

dụng của đoạn mạng, nó phụ thuộc vào lưu lượng truyền tải hiện hành trên đoạn mạng đó

Băng thông hiện hành A của một đường truyền P trong khoảng thời gian T là

băng thông hiện hành nhỏ nhất của các đoạn mạng cấu thành nên đường

truyền P trong khoảng thời gian T:

A = mini=1 H {Ci(1 − ui)} = mini =1 H Ai

( 1.4 )

 Đoạn mạng chật (tight link/ bottleneck link) là đoạn mạng có băng thông

hiện hành nhỏ nhất trong đường truyền Nếu đoạn mạng chật là đoạn mạng j

Trang 13

Ví dụ trong hình 1.2, C i là băng thông của đoạn mạng i và A i là băng thông hiện

hành của đoạn mạng i, chúng ta thấy rằng đoạn mạng chật và đoạn mạng hẹp hoàn

toàn có thể khác nhau Trong ví dụ này, đoạn mạng 3 là đoạn mạng hẹp, tuy nhiên đoạn mạng hai mới là đoạn mạng chật

Hình 1.2 Băng thông và băng thông hiện hành

Chúng tôi lưu ý rằng khái niệm băng thông và băng thông hiện hành là hai khái niệm hoàn toàn khác nhau

Tên thuật ngữ Tiếng Việt Đơn vị (nếu có) Giải thích

nguồn đến nút mạng đích qua các router trung gian Capacity

(Bandwidth)

Băng thông Bit per second (bps) Băng thông tối đa của

đường truyền cung cấp Available

Bandwidth

Băng thông hiện hành

Bit per second (bps) Băng thông còn trống của

một đường truyền, bằng băng thông trừ đi lượng dữ liệu hiện hành

dây hoặc không dây) giữa hai nút mạng liền kề

Trang 14

nhỏ nhất trên đường truyền Dispersion Độ giãn Second (s) Khoảng thời gian giữa hai

gói tin thăm dò liên tiếp nhau

Tight link Đoạn mạng

chật

Đoạn mạng có băng thông hiện hành nhỏ nhất xét trên cùng một đường truyền

Bottleneck link Đoạn mạng

Bit per second (bps) Lưu lượng dữ liệu đang

truyền trên đường truyền Achievable

Bandwidth

Băng thông đạt được

Bit per second (bps) Lượng dữ diệu tối đa có

thể được truyền qua đường truyền

Gain rate Tỉ lệ chiếm

Băng thông thực tế (achieved bandwidth) là băng thông tối đa mà một ứng dụng

mạng có thể truyền dữ liệu thành công

Lưu ý, băng thông hiện hành và băng thông thực tế là khác nhau

1.2.3 Các luồng dữ liệu

Trong đề tài này chúng tôi sẽ đề cập đến hai loại luồng dữ liệu, đó là luồng dữ liệu không phản hồi và luồng dữ liệu phản hồi

Trang 15

1.2.3.1 Luồng dữ liệu không phản hồi

Luồng dữ liệu không phản hồi, tương tự như luồng UDP

UDP là một giao thức phổ biến trong mạng Đặc điểm là đơn giản nhưng không đảm bảo tính đúng đắn của dữ liệu truyền giữa các tiến trình gửi và nhận vì UDP không xác định được phía nhận đã nhận được gói tin từ phía gửi hay chưa UDP được dùng để truyền âm thanh, hình ảnh…

1.2.3.2 Luồng dữ liệu phản hồi

Luồng dữ liệu phản hồi, chủ yếu là TCP

TCP là một trong những giao thức chính trong mạng Phức tạp hơn UDP, vì nó vận chuyển bảo đảm, theo thứ tự và có thể kiểm tra lỗi giữa hai tiến trình gửi và

nhận Ngoài ra nó còn có các cơ chế như kiểm soát luồng dữ liệu (flow control): bên gửi không gửi quá nhanh, làm tràn dữ liệu bên nhận; kiểm soát tắc nghẽn

(congestion control): điều tiết tốc độ gửi dữ liệu khi mạng quá tải TCP được dùng

đề truyền tập tin, mail, web…

Ngoài ra trong tài liệu này chúng tôi còn gọi luồng dữ liệu không phản hồi là luồng “xấu” (misbehaving flow) và luồng dữ liệu phản hồi là luồng “tốt”

1.3 Các cơ chế hủy gói tin

1.3.1 Tắc nghẽn là gì?

Trong việc gửi gói tin, gói tin có thể đến đích nhanh hoặc chậm hoặc có thể chẳng bao giờ đến được đích Ví dụ như khi ta tải về một tập tin, hôm nay có thể sẽ lâu hơn gấp đôi hôm qua Đa số chúng ta đã quen với điều này

Có rất nhiều lý do khiến điều này xảy ra, và một trong những lý do đó là tắc nghẽn (congestion)

Tắc nghẽn xuất hiện khi nhu cầu tài nguyên vượt quá khả năng (capacity), nghĩa

là lượng dữ liệu được truyền đến một gateway vượt quá băng thông tại gateway đó Lúc này với những gói tin không thể được truyền, có hai khả năng mà thiết bị

Trang 16

(router) tại nơi nghẽn có thể làm là: chứa trong bộ đệm hoặc hủy chúng Thông thường các router chứa những gói tin dư thừa trong bộ đệm, hoạt động như mô hình

xử lý FIFO và chỉ hủy gói tin khi hàng đợi này đầy

Khi hàng đợi lớn dần, thì mạng được coi là tắc nghẽn; điều này dẫn tới tăng độ trễ trong việc gửi gói tin, tệ hơn là mất gói tin

1.3.2 Kiểm soát tắc nghẽn

Mục đích của việc kiểm soát tắc nghẽn (congestion control) đơn giản là làm sao

cho việc sử dụng mạng càng hiệu quả càng tốt, tức là đạt thông lượng (throughput) cao nhất có thể được trong khi duy trì được tỉ lệ mất gói tin nhỏ và độ trễ thấp Tắc

nghẽn cần được tránh bởi vì nó sẽ làm cho hàng đợi lớn lên và dẫn tới việc tăng độ trễ và mất gói tin; do đó kiểm soát tắc nghẽn còn được gọi là tránh tắc nghẽn

(congestion avoidance)

Ngày nay, băng thông mạng được cung cấp rất lớn, và câu hỏi “làm cách nào loại

bỏ tắc nghẽn” được chuyển thành “làm sao để sử dụng hiệu quả nhất băng thông hiện hành”

Có hai cách chính để triển khai các cơ chế kiểm soát tắc nghẽn:

 Thiết bị đầu cuối (end-host): cơ chế kiểm soát tắc nghẽn TCP, được triển khai tại thiết bị đầu cuối TCP dựa vào thông tin phản hồi để xác định về tình trạng gửi của gói tin có đến đích hay chưa và dựa vào gói tin bị hủy để xác định tắc nghẽn TCP kiểm soát tắc nghẽn bằng cách thay đổi kích thước window qua cơ chế additive-increase/multiplicative-decrease AIMD

 Routers: có nhiều cơ chế có thể được triển khai trên router như:

o Các thuật toán sắp xếp độ ưu tiên (scheduling algorithms): FIFO, Round-robin/ Weighted round-robin, Weighted fair queuing

o Xác định thứ tự loại dịch vụ

o Các cơ chế quản lý hàng đợi

Trang 17

Ở tài liệu này, về phần kiểm soát tắc nghẽn, chúng tôi chỉ trình bày một số cơ chế quản lý hàng đợi tại router

1.3.3 Các cơ chế quản lý hàng đợi

1.3.3.1 Drop Tail

Drop Tail là một cơ chế quản lý hàng đợi đơn giản nhất được sử dụng bởi các router trong mạng Internet để quyết định khi nào thì hủy gói tin Mỗi gói tin đều được xử lý như nhau Khi hàng đợi đầy, gói tin mới đến sẽ bị hủy (drop) cho đến khi nào hàng đợi có đủ chổ để có thể chấp nhận lưu lượng truy cập đến

Đối với TCP, khi hàng đợi đầy, Drop Tail sẽ hoạt động và các gói tin sẽ bị drop

từ nhiều luồng, và những luồng này sẽ tự động giảm kích thước window của nó cùng một lúc, dẫn đến việc giảm thông lượng của đường truyền Vấn đề này được

gọi là global synchronization

1.3.3.2 Random Early Detection (RED)

Trong mạng tốc độ cao cần có một cơ chế để quản lý hàng đợi, giảm độ trễ, giảm việc hủy gói tin và tránh được global synchronization như đã trình bày ở phần trên

Để thực hiện được những mục tiêu kể trên cho hàng đợi FIFO thì cơ chế Random Early Detection (RED) ra đời

Gateway xác định tắc nghẽn bằng cách tính kích thước trung bình của hàng đợi (average queue size) Gateway có thể cảnh báo các kết nối tắc nghẽn bằng cách hủy

gói tin đến hoặc đánh dấu gói tin đó (thiết lập CE = 1 trong IP header) Khi kích

thước trung bình của hàng đợi vượt qua ngưỡng đã được thiết lập trước, gateway sẽ hủy hoặc đánh dấu từng gói tin với một xác suất nhất định

Thuật toán:

1 for gói tin đến

2 Tính kích thước trung bình của hàng đợi avg

3 if min th ≤ avg ≤ max th

4 Tính xác suất p a

5 Với xác suất p a, đánh dấu các gói tin đến hàng đợi

Trang 18

6 else if max th ≤ avg

7 Đánh dấu tất cả các gói tin đến hàng đợi

Thuật toán 1.1 Thuật toán RED

Trong đó:

 avg: kích thước trung bình của hàng đợi

 minth: ngưỡng tối thiểu

 maxth: ngưỡng tối đa

 pa: xác suất để đánh dấu gói tin

Với mỗi gói tin đến router, thuật toán sẽ tính kích thước trung bình của hàng đợi

avg bằng công thức:

avg = (1 − wq)avg + wqq ( 1.6 )

q là kích thước hàng đợi tức thời và w q là tham số quyết định tốc độ cập nhật

trung bình chiều dài hàng đợi Sau đó kích thước trung bình của hàng đợi avg sẽ được so sánh với hai ngưỡng là min th và max th.Nếu avg nhỏ hơn ngưỡng tối thiểu min th thì sẽ không có gì xảy ra Còn nếu nó lớn hơn ngưỡng tối đa max th mỗi gói tin đến đều bị đánh dấu (hoặc hủy)

Khi kích thước trung bình của hàng đợi nằm trong khoảng min th và max th thì lúc này các gói tin sẽ có một xác suất bị hủy (hủy ngẫu nhiên) trong khoảng từ 0 đến

xác suất tối đa max p Nói cách khác, khi kích thước trung bình của hàng đợi tăng từ

min th , xác suất gói tin bị đánh dấu tăng tuyến tính từ 0 cho đến max p và khi kích

thước trung bình của hàng đợi tăng hơn max th thìtất cả các gói tin đều bị đánh dấu

Trang 19

Hình 1.3 Thuật toán đánh dấu gói tin của RED

Kích thước trung bình của hàng đợi avg thay đổi trong khoảng min th và max th,

xác suất để đánh dấu gói tin p b tăng tuyến tính từ 0 đến max p:

 wq: được xác định bằng kích thước và thời gian của burst (lượt truyền liên tục không gián đoạn) được phép truyền tại gateway Có giá trị từ 0 đến 1

Theo đề nghị thì w q = 0.002

 minth, maxth: hai giá trị này phụ thuộc vào kích thước trung bình của hàng đợi mong muốn Đề nghị maxth nên ít nhất lơn hơn hai lần min th

Trang 20

 maxp: tham số này nên nhỏ vì mục tiêu của RED là không phải để hủy nhiều

gói tin khi đã vượt qua ngưỡng min th Đề nghị max p = 0.1

1.3.3.3 Stabilized RED (SRED)

Cơ chế Stabilized RED (SRED) cũng được dùng để ổn định kích thước hàng đợi

Ý tưởng chính của cơ chế này là thực hiện so sánh Khi có một gói tin đến, gói tin này sẽ được so sánh với một gói tin bất kì đã có trong bộ đệm (buffer) Nếu hai gói

tin này thuộc cùng một luồng thì sẽ được gọi là “hit” Mục đích của hit là dùng để: Uớc lượng số luồng đang hoạt động và tìm luồng “xấu” (misbehaving flow)

 Định nghĩa “hit”: là khi hai gói tin thuộc cùng một luồng, tức là cùng đỉa chỉ nguồn và đích, cùng port và có cùng giao thức Không nhất thiết phải kiểm tra “hit” cho từng gói tin, cũng có thể chọn ngẫu nhiên nhiều hơn một gói tin

để kiểm tra

Việc so sánh này được thực hiện như sau: với mỗi gói tin đến, định danh (địa chỉ nguồn/ đích) của luồng của các gói tin này được thêm vào một danh sách cùng với nhãn thời gian (thời gian gói tin đến) và “Count” (ban đầu được thiết lập bằng 0) cho đến khi danh sách này đầy; sau đó khi có một gói tin đến, nó sẽ được so sánh với một phần tử bất kì trong danh sách Và danh sách này được gọi là danh sách

“zombie” (zombie list)

 Là “hit”: nếu luồng của gói tin đến trùng với “zombie” thì xác định đây là một “hit” “Count” tăng lên 1 và nhãn thời gian được thiết lập lại thành thời gian gói tin đến bộ đệm

 Không là “hit”: Nếu hai gói tin không cùng một luồng, thì xác định đây

không phải là “hit” Trong trường hợp này, với xác suất p, định danh của

luồng của gói tin mới đến được ghi đè lên “zombie” được dùng để so sánh

“Count” được thiết lập bằng 0 và nhãn thời gian được thiết lập thành thời

gian gói tin đến bộ đệm Với xác suất 1 – p thì không có sự thay đổi trong

danh sách

Trang 21

Số lượng luồng N được ước tính từ P(t), là tần số của “hit” trong khoảng M/p gói tin gần nhất trước gói tin thứ t

 M: kích thước danh sách zombie

Số lượng các luồng N trong khoảng thời gian ngắn trước khi gói tin t đến được ước tính là P(t) -1

.Giả sử chỉ có TCP, thì xác suất hủy gói tin sẽ tỉ lệ với N 2

Qui tắc cuối cùng để tính xác suất hủy gói tin p sred như sau:

Trang 22

có thể dùng “hit” để tính trực tiếp xác suất hủy gói tin Điều này dựa trên ý tưởng rằng các luồng “xấu” gần như gây ra nhiều “hit” hơn Bởi vì các luồng “xấu” được cho rằng có nhiều gói tin đến hơn các luồng khác vì thế nên sẽ tạo ra nhiều các so sánh Làm cho chúng xuất hiện nhiều trong danh sách “zombie”

Ta có công thức cho xác suất hủy gói tin như sau:

( 1.12 )

1.3.3.4 RED with Preferential Dropping (RED-PD)

RED-PD, một cơ chế bảo vệ các luồng “tốt” khỏi các luồng “xấu” bằng cách lưu giữ trạng thái của từng luồng có băng thông cao và kiểm soát thông lượng của chúng trong lúc tắc nghẽn

RED-PD xác định các luồng có băng thông cao bằng cách sử dụng lịch sử hủy gói tin của RED, tức là những luồng đã được gửi cảnh báo tắc nghẽn Những luồng

có băng thông cao hơn băng thông mục tiêu (target bandwidth) đã được thiết lập thì được gọi là những luồng được theo dõi (monitored) RED-PD điều chỉnh thông

lượng của các luồng được theo dõi bằng cách hủy các gói tin theo xác suất tại một

bộ lọc (pre-filter) trước khi vào hàng đợi

RED-PD dùng lịch sử drop gói tin của RED để xác định những luồng băng thông cao Bởi vì RED drop gói tin theo xác suất, không phải là do tràn bộ đệm Hơn nữa lịch sử drop gói tin còn cho thấy được những luồng đã gửi tín hiệu tắc nghẽn

Một luồng sẽ được xác định khi có băng thông cao hơn băng thông mục tiêu và

băng thông của nó được thu bởi TCP tham khảo (reference TCP) cùng với RTT mục

tiêu (target RTT) R và tỉ lệ drop gói tin hiện tại là p Cho f(r, p) là tốc độ gửi trung bình (theo gói tin/ giây) của một luồng TCP với RTT là r và tỉ lệ drop gói tin là p

Trang 23

( 1.13 )

Mục tiêu của RED-PD là xác định những luồng nào gửi nhiều hơn f(R, p) là tốc

độ của luồng TCP tham khảo

Hình 1.4 Cơ chế RED-PD trong router

Việc hủy gói tin được bằng cách sử dụng bộ lọc trước hàng đợi Các gói tin từ những luồng được theo dõi bị hủy bởi bộ lọc với một xác suất phụ thuộc vào mức vượt của tốc độ gửi của luồng Các luồng không bị theo dõi sẽ được trực tiếp cho vào hàng đợi

Nhưng sẽ không tốt khi hàng đợi chưa đầy mà các gói tin lại bị hủy tại bộ lọc Để tránh điều này thì khi kích thước trung bình của hàng đợi (tính như RED) nhỏ thì các gói tin sẽ không bị drop tại bộ lọc, và sẽ được chuyển sang cơ chế RED

Cần phải lặp đi lặp lại việc tính toán xác suất hủy gói tin cần thiết để làm giảm

tốc độ của luồng đến f(R, p), băng thông mục tiêu

Một luồng sẽ được xác định lại nếu xác suất hủy gói tin của nó không đủ lớn để

giảm tốc độ đến hàng đợi nhỏ hơn f(R, p) Xác suất hủy gói tin sẽ tăng cho các

luồng này Nếu luồng tự cắt giảm tốc độc gửi và không có trong danh sách hủy gói

Trang 24

tin mới thì xác suất hủy gói tin sẽ bị giảm Với việc tăng giảm được lặp đi lặp lại như thế này, RED-PD xác định được xác suất hủy gói tin cho luồng bị theo dõi Xác suất hủy gói tin sẽ không bị thay đổi sau một khoảng thời gian nhất định sau lần thay đổi gần nhất, để đảm bảo rằng các luồng có thời gian phản ứng với thay đổi mới nhất

1.3.3.5 Flow Random Early Drop (FRED)

Với RED, các gói tin của mỗi luồng đều có xác suất drop gói tin như nhau RED không kiểm soát được các luồng UDP vì UDP không phát hiện việc mất gói tin, UDP không bị giảm tốc độ truyền khi các gói tin của nó bị mất, và RED cũng đối

xử không công bằng với các luồng giống hệt nhau

Vì vậy cơ chế Flow Random Early Drop (FRED) được giới thiệu, được điều chỉnh từ RED để tăng mức độ công bằng với nhiều loại luồng dữ liệu khác nhau

FRED hoạt động giống RED, nhưng FRED sử dụng thêm hai biến là min q

max q dùng để giới hạn tối thiểu và tối đa của số gói tin được cho phép chứa trong bộ

đệm Hơn nữa, FRED còn sử dụng thêm biến avgcq, là kích thước trung bình của

hàng đợi cho mỗi luồng (average per-flow queue length)

FRED đếm số lượng các luồng hoạt động và đếm những gói tin có trong mỗi

luồng FRED chỉ ảnh hưởng đến luồng nào có gói tin trong hàng đợi lớn hơn min q

Không một luồng nào được cho phép vượt qua max q Với các luồng có số lượng

gói tin trong hàng đợi nhiều hơn max q thì FRED sẽ drop tất cả các gói tin đến và

tăng biến strike của luồng đó Nếu luồng nào có strike lớn hơn 1 thì thì luồng đó

không được phép thêm vào hàng đợi nhiều hơn kích thước trung bình của hàng đợi của luồng đó

Kích thước trung bình của hàng đợi của một luồng avgcq được tính bằng cách chia kích thước trung bình của hàng đợi avg (tính như RED) cho số lượng luồng

đang hoạt động

Trang 25

Với RED kích thước trung bình của hàng đợi avg chỉ được tính khi có gói tin đến Điều này làm cho avg có thể sai khi trong một thời gian dài không có gói tin nào đến và các gói tin trong hàng đợi bắt đầu được truyền đi, làm cho avg không được cập nhật Với FRED avg được tính khi có gói tin đến và cả khi gói tin được

truyền đi

1.3.3.6 CHOKe

RED không có tác dụng với các luồng không phản hồi (unresponsive flow) Để

cải thiện điều này thì có cơ chế FRED hoặc RED-DP Tuy nhiên RED-PD thì cần phải thu thập các thông tin về các luồng “không thân thiện” trong khi đó FRED cần

có các thông tin về các kết nối đang hoạt động Ngoài ra còn có cơ chế SRED, SRED ước tính các kết nối đang hoạt động và tìm ra các luồng “xấu” bằng cách sử dụng một cấu trúc dữ liệu gọi là danh sách “zombie” Nhưng việc triển khai SRED khá phức tạp

Giới thiệu CHOKe, một cơ chế tương tự như FRED nhưng không cần phải duy trì bất cứ thông tin nào

Ý tưởng cơ bản của CHOKe là sử dụng nội dung trong bộ đệm FIFO để tạo một thống kê đầy đủ về các lưu lượng đến và có thể dùng để xử lý các luồng “xấu” Khi gói tin đến router bị tắc nghẽn, CHOKe chọn bất kì một gói tin từ bộ đệm FIFO và

so sánh nó với gói tin đến vừa nhận được Nếu cả hai gói tin đó đều cùng một luồng, thì cả hai sẽ bị hủy, ngược lại gói tin được chọn ngẫu nhiên vẫn được giữ lại còn gói tin mới đến sẽ được đưa vào bộ đệm với một xác suất phụ thuộc vào mức

độ tắc nghẽn (xác suất này được tính giống như RED) Trong hàng đợi gần như chứa nhiều gói tin thuộc về luồng “xấu” hơn nên các gói tin này cũng được chọn ngẫu nhiên để so sánh nhiều hơn vì thế các gói tin của luồng “xấu” sẽ bị hủy nhiều hơn các gói tin của luồng “tốt”

Nếu kích thước trung bình của hàng đợi (được tính như RED) nhỏ hơn min th, thì các gói tin đến đều được cho vào hàng đợi Nếu kích thước trung bình của hàng đợi

lớn hơn max th thì các gói tin đến đều bị hủy Khi mà kích thước trung bình của hàng

Trang 26

đợi lớn hơn min th, thì mỗi gói tin đến được so sánh với một gói tin được chọn ngẫu nhiên trong FIFO bộ đệm Nếu hai gói tin này có cùng luồng định danh thì cả hai sẽ

bị hủy Mặt khác, gói tin được chọn ngẫu nhiên vẫn được giữ lại trong bộ đệm và gói tin đến sẽ bị hủy tùy thuộc vào kích thước trung bình của hàng đợi với một xác suất (được tính như RED)

1.3.3.7 Active Queue Management for Flow Fairness and Stable Queue

Length

Hai mục tiêu chính trong quản lý hàng đợi: công bằng giữa các luồng và kích thước hàng đợi ổn định Trong cơ chế này, các luồng băng thông cao sẽ được xác định bằng kĩ thuật cache đa cấp (multilevel caching) Sau đó sẽ tính xác suất hủy gói tin để giải quyết tắc nghẽn, và áp dụng nó cho từng luồng riêng biệt phụ thuộc vào tốc độ gửi của chúng

Để chia sẻ các luồng công bằng thì có hai cách:

 Sắp thứ tự gói tin (packet scheduling): bằng cách chọn gói tin thích hợp trong các gói tin đang trong hàng đợi

 Hủy gói tin: hủy gói tin theo tỉ lệ phụ thuộc vào tốc độ gửi

Việc duy trì kích thước hàng đợi ổn định là rất quan trọng cho việc nâng cao chất lượng dịch vụ cũng như tăng khả năng sử dụng và giảm chi phí bộ đệm Với một hàng đợi ổn định, một luồng có thể có độ trễ cũng như tỉ lệ mất gói tin ổn định Có nhiều cơ chế Active Queue Management (AQM) để làm cho kích thước hàng đợi ổn định ví dụ như RED, Blue… tuy nhiên các cơ chế này không thực hiện kết hợp chia

sẽ công bằng giữa các luồng và duy trì kích thước hàng đợi ổn định cùng với nhau Giới thiệu cơ chế Fairness-enforcing AQM, kết hợp hiệu quả công bằng và xử lý tắc nghẽn Cơ chế này sẽ chỉ xác định và điều chỉnh các luồng băng thông cao Xác suất hủy gói tin của cơ chế này tập trung cho việc ổn định kích thước hàng đợi và được phân phối cho các luồng băng thông cao

Trang 27

Cơ chế này được chia thành hai phần: một là xác định và ước tính tốc độ của các luồng băng thông cao, hai là tính xác suất hủy gói tin

Để xác định và ước tính tốc độ của luồng băng thông cao có một cách đơn giản là đếm tất cả các gói tin đến để tính tốc độ gửi, nhưng mà việc theo dõi tất cả các luồng như thế này tốn nhiều tài nguyên Hoặc có thể sử dụng phương pháp lấy mẫu ngẫu nhiên như RED-PD hay AFD để giảm độ phức tạp Ước tính tốc độ bằng cách lấy mẫu ngẫu nhiên là đủ để xác định các luồng băng thông cao Tuy nhiên việc này không đủ chính xác để thực hiện công bằng cho băng thông, vì dữ liệu lấy mẫu dễ

bị thiên vị

Đề xuất phương pháp lấy mẫu và giữ (sample-and-hold) Với mỗi gói tin được lấy mẫu ngẫu nhiên để xác định một luồng Sau đó tạo một bộ đếm gói tin của luồng, và cập nhật cho mỗi gói tin tiếp theo sau Vì cách này đếm tất cả các gói tin đến của luồng được xác định nên tính được chính xác tốc độ của luồng Không yêu cầu trạng thái của từng luồng

Xác suất mà một luồng được xác định tỉ lệ tuyến tính với tốc độ của luồng Không cần phải duy trì trạng thái của các luồng nhỏ nên có thể giảm xác suất xác định của các luồng này để giảm chi phí Cơ chế này chỉ thiên về các luồng băng thông cao Giảm xác suất của các luồng nhỏ bằng cách dùng xác suất “match-hit” với các gói tin được cache Xác suất “match-hit” có nghĩa là xác suất mà một gói tin đến và một gói tin được chọn ngẫu nhiên trong bộ các gói tin được cache cùng thuộc về một luồng

Cơ chế xác định luồng duy trì một cache bao gồm n cấp trong k bộ ghi song song (parallel register) chứa tổng cộng k * n gói tin Sau khi nhận một gói tin mới, với

mỗi cấp của cache, cơ chế cập nhật ngẫu nhiên bộ ghi được chọn với gói tin mới với xác suất nào đó Do đó có thể giả định rằng mỗi cấp của cache chứa tất cả các gói tin tỷ lệ với tốc độ luồng gửi Cơ chế xác định luồng băng thông cao như sau: khi một gói tin đến, nó được so sánh với cache với một xác suất được cho, và luồng này được xác định là luồng băng thông cao khi mỗi cấp của cache có ít nhất một gói tin

Trang 28

từ luồng này Khi một luồng đã được xác định thì sẽ tạo một entry cho luồng này trong bảng hash, và đếm các gói tin từ luồng này để tính tốc độ gửi của nó

Sau đây là cách xác định xác suất hủy gói tin để chia sẻ băng thông công bằng

cho những luồng băng thông cao đã được xác định Ta có xác suất hủy gói tin P của

một luồng như sau:

( 1.14 )

 Bf: băng thông chia sẻ công bằng

 R0: tốc độ gửi trung bình của luồng

Phương pháp này được gọi là sending-rate-based drop, vì nó tính xác suất hủy gói tin trực tiếp từ tốc độ gửi Phương pháp này cho thấy rằng nó hiệu quả với các luồng không phản hồi Tuy nhiên, với các luồng phản hồi nó có thể gây ra những biến động nghiêm trọng cho tốc độ gửi do việc kiểm soát tắc nghẽn của TCP Với luồng phản hồi, xác suất hủy gói tin được dựa vào tỉ lệ hủy gói tin trung bình của

nó Phương pháp này được gọi là loss-rate-based drop Ta có xác suất hủy gói tin P

cho luồng phản hồi như sau:

( 1.15 )

 P0: tỉ lệ hủy gói tin trung bình Đối với luồng mới thì P 0 được khởi tạo bằng tỉ lệ hủy gói tin của các luồng đã có trước đó

Trang 29

Chương 2 Ước lượng băng thông hiện hành

2.1 Các vấn đề của ước lượng băng thông hiện hành

Lợi ích của việc xác định băng thông hiện hành rất lớn Tuy nhiên, câu hỏi đặt ra: liệu những công cụ đo băng thông hiện hành có đáp ứng chính xác và đầy đủ các yêu cầu của các ứng dụng mạng:

 Ước lượng được băng thông trong khoảng thời gian cho phép theo yêu cầu của các ứng dụng khác nhau

 Có thể ước lượng chính xác trong các môi trường mạng khác nhau:

- Băng thông nhỏ hẹp

- Mạng ad hoc di động không dây

- Mạng vệ tinh (satellite network)

- Mạng băng thông rộng với tốc độ cao (> 1Gbps)

- Mạng với nhiều thiết bị nối kết đa dạng (router, switch layer 2, …)

- Mạng với nhiều cơ chế hàng đợi khác nhau

Trong hướng bị động, các công cụ thông thường được đặt ở các thiết bị trung chuyển dữ liệu như router, switch nên không khả thi trong việc ứng dụng đầu cuối muốn thăm dò băng thông hiện hữu của đường truyền Trong phạm vi đề tài này,

Trang 30

chúng tôi đặt mục tiêu thăm dò băng thông tại các máy tính đầu cuối, nên hướng tiếp cận của chúng tôi sẽ tập trung vào hướng chủ động

Các giải pháp để ước lượng băng thông hiện hành theo hướng chủ động có thể chia làm ba nhóm giải pháp chính: Packet Train Dispersion, Probe Gap Model, và Probe Rate Model

 Packet Train Dispersion (PTD): PTD là phương pháp đơn giản nhất để ước lượng băng thông hiện hành Trong phương pháp này, bên gửi sẽ gửi

liên tục N gói tin (back-to-back packets) cùng kích thước L đến bên nhận

Để ước lượng được băng thông hiện hành, tốc độ gửi N gói tin này phải

lớn hơn băng thông hiện hành của đường truyền Khi các gói tin đến bên nhận, chúng ta có thể đo thông số độ giãn (dispersion: khoảng cách thời

gian) Δ(N) của chuỗi gói tin thăm dò Độ giãn là khoảng thời gian giữa lúc

nhận bit cuối cùng của gói tin thứ nhất và bit cuối cùng của gói tin cuối

cùng Với chuỗi gói tin thăm dò gồm N gói, thì ước lượng băng thông hiện

hành theo công thức sau:

( 2.1 )

cprobe [11] cài đặt theo phương pháp này Cprobe gửi một chuỗi các gói ICMP echo ngắn đến địa chỉ đích và giả thiết sẽ được trả lời bởi các gói ICMP Echo-reply Sau đó bên gửi đo độ giãn của các gói ICMP Reply Chú ý rằng, đường truyền ngược lại có thể là đường truyền khác, nếu vậy thì sẽ ảnh hưởng đến kết quả đo

Hạn chế của phương pháp Packet Train Dispersion: Dovrolis et al chỉ ra trong [12] công thức (2.1) tính toán đại lượng Asymptotic Dispersion Range (ADR) Đại lượng ADR có liên quan đến mức độ tận dụng tất cả đoạn mạng trên đường truyền Nếu không có lưu lượng lưu thông hiện tại

Trang 31

thì ADR chính là băng thông của đường truyền (end-to-end capacity) Trong các trường hợp khác (có lưu lượng hiện hành) thì ADR không có liên hệ trực tiếp đến băng thông hiện hành và rất khó phân tích

Trước tiên, chúng ta xét trường hợp sử dụng hai gói tin gửi liên tiếp nhau Nếu có lưu lượng hiện hành trên mạng thì sẽ có thời gian chờ đợi ở hàng đợi Khi hai gói tin thăm dò đi ngang qua đoạn mạng chật, thì độ giãn của chúng là lớn nhất, nhưng nếu sau đó đến một nút mạng khác, gói tin thứ nhất đợi xử lý ở hàng đợi lâu, gói tin thứ hai đợi xử lý nhanh, như vậy độ giãn của hai gói tin lại bị giảm đi Chính hiệu ứng này làm cho độ giãn đo được ở đầu nhận không có liên quan đến băng thông hiện hành của đường truyền

Trong trường hợp sử dụng một chuỗi các gói tin thăm dò gửi liên tiếp nhau, như vậy độ giãn của chuỗi gói tin sẽ lớn hơn, và dễ dàng hơn trong việc ước lượng băng thông Tuy nhiên chúng ta có thể thấy rằng, khi càng nhiều gói tin được gửi thì sự nhiễu bởi lưu thông hiện tại sẽ lớn hơn Bởi

vì có nhiều khe hở giữa các gói tin thăm dò, không phải chỉ một như trong trường hợp sử dụng một cặp gói tin

 Probe Gap Model: ở nhóm giải pháp này, các công cụ sử dụng khoảng cách giữa hai gói tin ở đầu gửi và đầu nhận để ước lượng băng thông, vì khoảng cách giữa hai gói tin liên tiếp nhau có liên hệ chặt chẽ với lưu lượng dữ liệu đang truyền trên các đoạn mạng chật Vì vậy, nếu lấy băng thông của đoạn mạng chật trừ đi lưu lượng hiện hành đang truyền qua nó

sẽ tìm ra băng thông hiện hành Để tìm băng thông (capacity) của một đường truyền, người sử dụng có thể dùng công cụ nổi tiếng và có độ chính xác cao Pathrate Các giải pháp tiêu biểu trong nhóm tiếp cận này là IGI, Spurce, Abing, Maryni và Davoli

 Probe Rate Model: phương pháp này sử dụng kỹ thuật Self-induced Congestion Kỹ thuật này dựa trên heuristic đơn giản, nếu tốc độ thăm dò

Trang 32

vượt quá băng thông hiện hành thì các gói tin thăm dò sẽ bị “xếp hàng” ở các hàng đợi xử lý và làm tăng thời gian gửi gói tin Ngược lại, nếu các gói tin thăm dò được truyền với tốc độ thấp hơn băng thông hiện hành, thì

sẽ không có sự chậm trễ trong việc truyền các gói tin Băng thông hiện hành có thể được ước lượng tại thời điểm bắt đầu có sự tắt nghẽn Từ đó

có thể ước lượng được băng thông hiện hành Pathload, Pathchirp, PTR, TOPP là các ví dụ sử dụng phương pháp tiếp cận này

2.3 Các đóng góp tiểu biểu trong việc ước lượng băng thông hiện hành

Chúng tôi sẽ lần lượt mô tả các kỹ thuật đo nổi bật trong hai nhóm phương pháp Probe Gap Model và Probe Rate Model Cả hai nhóm Probe Gap Model và Probe Rate Model sử dụng các giả định sau:

 Hàng đợi tại tất cả các router đều sử dụng mô hình xử lý FIFO

 Các gói tin của lưu lượng hiện hành (cross-traffic) có kích thước nhỏ

 Tốc độ trung bình của thông lượng hiện hành thay đổi chậm và phải là hằng số trong mỗi lần đo

 Mô hình Probe Gap giả sử đoạn mạng cổ chai (bottleneck link) là đoạn mạng hẹp đồng thời cũng là đoạn mạng chật

2.4 Kỹ thuật Pathload

2.4.1 Khái quát:

Đây là một kỹ thuật trong nhóm Probe Rate Model Pathload sử dụng phương thức ước lượng băng thông hiện hành Self-Loading Periodic Streams (SLoPS) SloPS dựa trên nguyên tắc Self-induced Congestion Ý tưởng chính của Pathload là bên gửi sẽ gửi một chuỗi gói tin, mỗi gói tin i được gán một nhãn thời gian ti, và đầu nhận sẽ ghi nhận chuỗi thời gian nhận, giả sử ai cho gói tin thứ i Sau đó pathload tính Di = ai – ti, chú ý nếu đồng hồ của hai bên gửi và nhận có khác nhau cũng không ảnh hưởng đến kết quả ước lượng, chỉ có trường hợp đồng hồ hai bên khác nhịp thì sẽ có ảnh hưởng Giá trị D được gọi là relative One-Way Delay

Trang 33

(OWD) Nếu mỗi gói tin kích thước L, được gửi trong khoảng thời gian T thì tốc độ truyền là R = L/T

Khi tốc độ truyền R lớn hơn băng thông hiện hành A thì chuỗi gói tin thăm dò sẽ gây ra quá tải ở đoạn mạng chật, như vậy độ trễ của các gói tin này sẽ tăng lên Như vậy khi R > A thì relative OWDs { , ,…, } sẽ có dạng chuỗi các giá trị tăng dần (biểu đồ2.1) Ngược lại, nếu tốc độ truyền nhỏ hơn băng thông hiện hành thì chuỗi gói tin thăm dò sẽ không gây ra quá tải ở các đoạn mạng chật nên độ trễ của các gói tin ở đầu nhận sẽ không thay đổi đáng kể Nghĩa là khi R <A, thì relative OWDs { , ,…, } sẽ không là chuỗi giá trị tăng dần (biểu đồ2.2) Cuối cùng, khi R có giá trị xấp xỉ A (chênh lệch không quá lớn) thì relative OWDs { , ,…, } không có xu hướng tăng hay giảm rõ ràng (biểu đồ 2.3)

Biểu đồ 2.1 - Sự biến thiên của OWD khi R > A

Sau khi dự đoán được R < A, Pathload sẽ tăng giá trị R tại chuỗi gói tin kế tiếp Ngược lại, Pathload sẽ giảm giá trị R Quá trình được lặp lại cho đến khi R hội tụ về giá trị băng thông hiện hành A Trong kỹ thuật này, điểm mấu chốt nằm ở việc xác định dãy OWDs có xu hướng tăng dần hay không

Trang 34

Biểu đồ 2.2 - Sự biến thiên của OWD khi R < A

Biểu đồ 2.3 - Sự biến thiên của OWD khi R ≈ A

Trang 35

2.4.2 Phương pháp xác định xu hướng tăng giảm của chuỗi giá trị

Xét trường hợp chuỗi OWD phân bố tăng giảm liên tục, lúc đó giá trị PCT cao sẽ dẫn đến ngộ nhận R > A, nhưng thực chất R vẫn nhỏ hơn A Do đó nhóm tác giả đã

đề xuất giá trị PDT để phân biệt trường hợp này

2.4.2.2 PDT:

PDT là giá trị chênh lệch của OWD cuối cùng trừ cho OWD đầu tiên chia cho tổng chênh lệch của tất cả các OWD kề nhau:

Công thức (2) cho -1 ≤ PDT ≤ 1 PDT loại bỏ trường hợp zic zac kể trên vì khi

đó PDT sẽ gần bằng 0 Cũng qua thực nghiệm, nhóm tác giả cho rằng PDT > 0.55 thì PDT có nhãn “tăng”, còn PDT < 0.45 thì PDT có nhãn “giảm”, và trong khoảng [0.45; 0.55] được gán nhãn “không rõ ràng”

Trang 36

Biểu đồ 2.4 - Minh họa giá trị của PCT và PDT với R > A

2.4.3 Dự đoán xu hướng:

Với PCT tăng, PDT tăng hoặc không rõ ràng thì chuỗi OWDs được xem là tăng Một trong hai giá trị PCT hoặc PDT giảm, giá trị còn lại giảm hoặc không rõ ràng thì chuỗi OWD được xem là giảm Nếu cả hai giá trị PCT, PDT đều không rõ ràng, hoặc một giá trị tăng và một giá trị giảm, thì Pathload sẽ hủy kết quả tính toán đối với chuỗi OWD này Bảng 1 tóm tắt giá trị OWD dựa vào nhãn của PDT và PCT

2.4.4 Xác định đoạn hội tụ:

Sau khi xác định được tình trạng của chuỗi OWD, Pathload sẽ quyết định tăng hoặc giảm R cho chuỗi thăm dò tiếp theo Với OWD tăng, tức xảy ra sự tắc nghẽn thì Pathload sẽ điều chỉnh giảm R và ngược lại với OWD giảm Quá trình được lặp lại cho đến khi R hội tụ Ở mỗi lần đo, Pathload lưu giữ giá trị R của lần đo trước

đó, và cập

PCT

Trang 37

Tăng Tăng Hủy Tăng

Không rõ Tăng Giảm Hủy

Bảng 2.5: Tóm tắt xu hướng của chuỗi OWD

dựa vào nhãn của PDT và PCT

nhật giá trị đoạn Sau khi thì dừng thuật toán ( cho trước) và kết luận với giá trị R hiện tại Tuy nhiên với trường hợp hủy kết quả (PDT

và PCT không rõ ràng), Pathload vẫn sử dụng R để điều chỉnh một khoảng giá trị gọi là vùng xám (grey region) Do đó khi đoạn tiếp cận

, hay thì thuật toán cũng dừng lại, với kết luận băng thông hiện hành không thể xác định được

2.5 Kỹ thuật PathChirp:

2.5.1 Khái quát:

Pathchirp là một kỹ thuật thuộc phương pháp Probe Rate Model, nên ý tưởng chính cũng tương tự Pathload Tuy nhiên Pathchirp có nhiều cải tiến so với Pathload, nhất là cải tiến về thời gian trung bình để ước lượng băng thông hiện hành

và giảm tải xử lý của CPU Đặc trưng của pathchirp là khoảng cách của chuỗi gói tin thăm dò (chirp probing train) tăng theo hàm mũ

Hình 2.6 - Một chirp thăm dò của pathchirp

Trang 38

Pathchirp ước lượng băng thông hiện hành bằng cách gửi một loạt chirp, mỗi chirp là một chuỗi N gói tin kích thước P bytes phân bố cách nhau theo quy luật hàm mũ giảm dần với công sai , rồi sẽ phân tích sự phân phối tại đầu nhận Pathchirp giả thiết các nút mạng sử dụng store-and-forward với tốc độ xử lý không đổi (constant service rate), mô hình hàng đợi là FIFO:

Trong đó Ci là băng thông tại đoạn mạng i, Ai[a,b] là lưu lượng truyền giữa thời điểm a và b, pi là thời gian tối thiểu để gói tin từ bên gửi có thể đến router i Khoảng thời gian pi là bao gồm tốc độ truyền (tốc độ ánh sáng) + thời gian xử lý ở các hàng đợi trung gian B[t-τ, t] là băng thông hiện hành trong khoảng thời gian t- τ , t Trong thực tế gói tin thăm dò trong khoảng [t- τ , t] có thể đến router i bên ngoài khoảng thời gian [t- τ +pi, t+pi], vì vậy không đo chính xác giá trị B[t- τ , t]

Gọi Rk là tốc độ gửi gói tin k, ∆k là khoảng thời gian giữa gói tin k và k+1 P là kích thước gói tin Thì Rk = P/∆k Gọi độ trễ (queuing delay), tức là thời điểm máy đích nhận gói tin k trừ đi thời điểm máy nguồn gửi gói tin k đi là qk Thì chúng ta có:

o 0 tức là mạng không tắc nghẽn: B[t k , t k+1 ] > R k

o qk> qk -1, ngược lại mạng tắc nghẽn : B[t k , t k+1 ] ≤ R k

Dựa trên đặc tính này chúng ta sẽ tìm được B[t k* , t k*+1 ] ≥ R k* , trong đó k* là gói tin mà độ trễ bắt đầu tăng Sau đó tính trung bình ước lượng của từng gói tin và rồi trung bình từng chirp để tìm ra giá trị ước lượng cuối cùng là D Tuy nhiên, theo thực tế q không phân bố theo đơn điệu tăng (biểu đồ 2.7) Do đó pathchirp sẽ tiến hành phân vùng (excursion), đối với mỗi vùng khác nhau Pathchirp sẽ có cách tính toán khác nhau

Trang 39

Biểu đồ 2.7 - Phân bố thời gian trễ của gói tin trong kỹ thuật Pathchirp

2.5.2 Cách phân vùng

Dựa vào nguyên lý tắc nghẽn thì

o , tức hiện giờ tốc độ thăm dò lớn hơn băng thông hiện

Trang 40

o bất kỳ sao cho

o với j<i sao cho với , tức là xấp xỉ bằng , coi nhƣ trở về lại giá trị đầu tiên

o Và đặc trƣng này phải có số packet nhiều hơn L packets

Do đó, theo cách tính trên thì biểu đồ 2.7 có hai vùng, trong đó vùng thứ nhất có điểm kết thúc, trong khi vùng thứ hai không tìm đƣợc điểm kết thúc Vùng này sẽ đƣợc tính toán riêng

Do đó nhằm có giá trị chính xác thì nên lấyPhần còn lại: Những phần không thuộc đoạn tăng liên tiếp của chuỗi đặc trƣng hoặc phần là những số thuộc đoạn giảm thì

Ngày đăng: 23/01/2021, 10:35

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] S. Floyd and V. Jacobson, “Random Early Detection Gateways for Congestion Avoidance,” IEEE/ACM Trans. Networking, vol. 1, no. 4, pp.397-413, Aug. 1993 Sách, tạp chí
Tiêu đề: Random Early Detection Gateways for Congestion Avoidance
[2] T.J. Ott, T.V. Lakshman, and L. Wong, “SRED: Stabilized RED,” Proc. IEEE INFOCOM, pp. 1346-1355, Mar. 1999 Sách, tạp chí
Tiêu đề: SRED: Stabilized RED
[3] D. Lin and R. Morris, “Dynamics of Random Early Detection”, ACM SIGCOMM, pp. 1346 – 1355, September 1997 Sách, tạp chí
Tiêu đề: Dynamics of Random Early Detection
[4] R. Mahajan, S. Floyd, and D. Wetherall, “Controlling High Bandwidth Flows at the Congested Router,” Proc. Ninth Int’l Conf. Network Protocols (ICNP ’01), p. 0192, Nov. 2001 Sách, tạp chí
Tiêu đề: Controlling High Bandwidth Flows at the Congested Router
[5] R. Pan, B. Prabhakar, and K. Psounis, “CHOKe, A Statless Active Queue Management Scheme for Approximating Fair Bandwidth Allocation,” Proc.IEEE INFOCOM, pp. 942-951, Mar. 2000 Sách, tạp chí
Tiêu đề: CHOKe, A Statless Active Queue Management Scheme for Approximating Fair Bandwidth Allocation
[7] M. Jain and C. Dovrolis. “Pathload: A measurement tool for end-to-end available bandwidth”. In Proc. Passive and Active Measurement Conference, 2002 Sách, tạp chí
Tiêu đề: Pathload: A measurement tool for end-to-end available bandwidth
[8] N. Hu, P. Steenkiste, “Evaluation and characterization of available bandwidth probing techniques”, IEEE Journal on Selected Areas in Communications 21 (6) (2003) 879–894 Sách, tạp chí
Tiêu đề: Evaluation and characterization of available bandwidth probing techniques
[9] J. Strauss, D. Katabi, F. Kaashoek, “A measurement study of available bandwidth estimation tools”, Proceedings of the 3rd ACM SIGCOMM Conference on Internet Measurement, 2003, pp. 39–44 Sách, tạp chí
Tiêu đề: A measurement study of available bandwidth estimation tools
[10] V. Ribeiro, R. Riedi, R. Baraniuk, J. Navratil, and L. Cottrell. “Path-chirp: Efficient available bandwidth estimation for network paths”. In Proc.Passive and Active Measurement Conference, PAM '03, Apr. 2003 Sách, tạp chí
Tiêu đề: Path-chirp: Efficient available bandwidth estimation for network paths
[11] R. Carter and M. Crovella, “Measuring Bottleneck Link Speed in Packet- switched Networks,” Boston University, Tech. Rep. 1996-006, Mar. 1996 [12] C. Dovrolis, P. Ramanathan, and D. Moore, “What Do Packet DispersionTechniques Measure?” Proc. INFOCOM, Apr. 2001, pp. 905–14 Sách, tạp chí
Tiêu đề: Measuring Bottleneck Link Speed in Packet-switched Networks,” Boston University, Tech. Rep. 1996-006, Mar. 1996 [12] C. Dovrolis, P. Ramanathan, and D. Moore, “What Do Packet Dispersion Techniques Measure
[13] Goldoni, Emanuele, Giuseppe Rossi, and Alberto Torelli. "Assolo, a new method for available bandwidth estimation." Internet Monitoring and Protection, 2009. ICIMP'09. Fourth International Conference on. IEEE, 2009 Sách, tạp chí
Tiêu đề: Assolo, a new method for available bandwidth estimation
[17] MGEN: Multi-Generator, http://pf.itd.nrl.navy.mil/mgen/mgen.html [18] IPTraf: IP Network Monitoring Software, http://iptraf.seul.org/about.html Link
[6] Jong-hwan Kim, Hyunsoo Yoon, and Ikjun Yeom. Active Queue Management for Flow Fairness and Stable Queue Length. IEEE Trans.Parallel Distrib. Syst. 22, 571-579, 2011 Khác
[14] J. Strauss, D. Katabi, F. Kaashoek, A measurement study of available bandwidth estimation tools, in: Proceedings of the 3rd ACM SIGCOMM Conference on Internet Measurement, 2003, pp. 39–44 Khác
[15] J. Navratil, R. Cottrell, ABwE: a practical pproach to available bandwidth estimation, in: Proceedings of the 4th Passive and Active Measurements Workshop, 2003 Khác

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN