Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.8 MB, 99 trang )
Luận văn cao học – Nghiên cứu thuật toán WLDA+
2007
Các cơ chế điều khiển lưu lượng trình bày ở trên của TCP bị hạn
chế trong mạng hỗn hợp do tình trạng mất dữ liệu không phải do lỗi tắc
nghẽn mà là do lỗi truyền dẫn và do tính cơ động của các node, đây chính
là đặc trưng của mạng có đường truyền không dây. Để khắc phục những
vướng mắc này người ta đã cải tiến thuật toán điều khiển thông thường
bằng những thuật toán phù hơn trong môi trường mạng hỗn hợp:
3.1 Indirect-TCP:
Ra đời vào những năm 1995 với tư tưởng là chia kết nối TCP thành
hai phần là phần cố định có dây và phần không dây :
Hình 2.1 Indirect-TCP
Từ những trạm máy tính cố định, thường được gọi là trạm đối tác,
ký hiệu là CH (Coresspondent host) kết nối với các máy tính trong mạng
không dây - MH (Mobile Host) thông qua Access Point (AP) hay Foreign
Agent (FA), do đó từ CH đến AP có thể sử dụng TCP chuẩn, không phải
thay đổi các kỹ thuật TCP đã tồn tại trong Internet. Access point sẽ hoạt
động như một Proxy, có nghĩa là nó trở thành điểm kết thúc của kết nối
TCP thay vì mobile host (MH), do đó AP được xem như là MH đối với
CH và là CH đối với MH. Kết nối TCP giữa AP và MH có thể thay đổi
hoặc không. Nếu CH gửi một gói số liệu cho MH thì AP biên nhận gói tin
này và chuyển tiếp gói tin đó tới MH. Nếu MH nhận được gói tin này sẽ
biên nhận lại. Tuy nhiên biên nhận này chỉ được biết bởi AP. Nếu gói tin
này bị mất trên đường truyền Wireless vì đường truyền lỗi thì CH không
Trang 50
Luận văn cao học – Nghiên cứu thuật toán WLDA+
2007
được thông báo thông tin này. Foreign Agent sẽ truyền cục bộ lại gói tin
này để đảm bảo tính tin cậy của truyền dữ liệu. Tương tự, nếu MH gửi
một gói tin, FA biên nhận gói tin đó cho MH và chuyển tiếp gói tin này
tới CH. Nếu gói tin này bị mất trên đường truyền không dây – WL
(Wireless Link), MH có thể được thông báo nhanh hơn và có thể trực tiếp
truyền lại gói tin. Gói tin bị mất trên đường truyền có dây được quản lý
bởi FA.
Ưu điểm:
I-TCP không yêu cầu phải thay đổi giao thức TCP đang được sử
dụng rỗng rãi trên Internet.
Vì kết nối được chia làm hai nên lỗi trên đường truyền không
dây không bị lan truyền vào mạng cố định.
Độ trễ là ít giữa MH và FA và độc lập với các luồng lưu lượng
khác. Do đó, một kỹ thuật TCP khác có thể được sử dụng để
bảo đảm việc truyền lại nhanh nhất có thể.
Việc phân chia kết nối làm hai phần cũng cho phép sử dụng các
giao thức lớp vận chuyển khác nhau giữa FA và MH hoặc cho
phép nén phần header của các gói dữ liệu. FA có thể họa động
như một GateWay để truyền dữ liệu giữa các giao thức khác
nhau.
Nhược điểm:
Xảy ra tình trạng mất ngữ nghĩa end-to-end do việc biên nhận
hộ của FA; khi thực thể gửi nhận được một biên nhận thì nó coi
như thực thể nhận đã nhận được biên nhận đó, nhưng thực tế
biên nhận đó là do FA gửi hộ, đồng nghĩa với việc chưa chắc
thực thể nhận đã nhận được gói tin do thực thể gửi đã gửi đi.
Việc chuyển điều khiển giữa các FA cũng là một việc khó giải
quyết vì khi một MH chuyển đến vùng do một FA khác đảm
bảo việc truyền thông thì các gói tin gửi cho MH này trong một
Trang 51
Luận văn cao học – Nghiên cứu thuật toán WLDA+
2007
khoảng thời gian nhất định vẫn phải chuyển đến FA cũ trước
khi được định hướng sang FA mới.
FA phải là một thực thể tin tưởng vì nếu áp dụng mã hóa đầu
cuối (end-to-end) theo chuẩn RFC1827 thì FA cũng phải được
tích hợp các kỹ thuật mã hóa ở trong đó.
3.2 Snoop - TCP
Với cách tiếp cận này FA lưu giữ tất cả các gói tin với đích là
mobile host và thêm vào kỹ thuật “snoops” vào trong luồng gói tin ở cả
hai hướng
Hình 2.2 Snoop-TCP
Lý do phải lưu gói tin lại ở FA là để có thể thực hiện lại việc phát
lại nhanh trong trường hợp gói tin bị mất trên đường truyền WL. FA lưu
giữ lại mọi gói tin cho đến khi nó nhận được biên nhận từ MH. Nếu FA
không nhận được biên nhận từ MH trong một khoảng thời gian hoặc nhận
một Ack lặp thì nó coi nguyên nhân là do gói tin hoặc biên nhận bị mất.
FA có thể phát lại nhanh gói tin bị mất này từ bộ đệm do đó sẽ nhanh hơn
là phát lại từ trạm cố định (CH). Nhưng để đảm bảo việc phát lại là trong
suốt đối với các thực thể TCP ở hai đầu kết nối, FA không được gửi biên
nhận hộ cho CH. Tuy nhiên FA có thể lọc ra các ACK lặp để ngăn ngừa
việc phát lại không cần thiết. Nếu FA bị sụp thì thời gian time-out tại CH
vẫn được kích hoạt để phát lại gói tin. Hơn thế nữa, FA có thể loại bỏ các
gói tin lặp của các gói tin đã được truyền lại cục bộ và được biên nhận
Trang 52
Luận văn cao học – Nghiên cứu thuật toán WLDA+
2007
bởi MH, ngăn ngừa những lưu lượng thông tin không cần thiết trên
đường WL.
Khi dữ liệu được truyền từ MH tới CH , FA “nhòm” vào trong các
luồng dữ liệu phát hiện ra các khoảng trống trong số dãy số thứ tự các gói
tin của TCP. Nhờ đó, FA có thể phát hiện nhanh chóng sự mất thông tin,
nó sẽ gửi ngay NACK cho MH để MH có thể phát lại ngay tức thì. Việc
sắp xếp lại các gói tin sẽ diễn ra tự động tại CH bởi thực thể nhận TCP.
Ưu điểm:
Bảo vệ được ngữ nghĩa end-to-end, ngay cả khi FA gặp trục trặc
Không phải thay đổi giao thức TCP tại CH, các cải tiến chỉ thực
hiện trên FA.
Không phải lo ngại về tình trạng MH di động sang vùng của các
FA khác vì sự kiểm soát timeout cho việc phát lại vẫn thuộc CH
nên nếu gói tin đã được phát quá thời gian timeout mà chưa
nhận được ACK thì CH có thể truyền lại theo địa chỉ mới.
Nhược điểm:
Không hoạt động tốt được trên đường WL như TCP.
Dùng NACK giữa FA và MH nên cách tiếp cận này là không
trong suốt với MH.
Vẫn bị ảnh hưởng bởi sự mã hóa end-to-end đối với FA.
3.3 Mobile - TCP
Cách tiếp cận này giống I-TCP và snoop-TCP là chia cắt kết nối
TCP thành 2 phần, nhưng thực hiện bảo vệ cửa sổ truyền của thực thể gửi
không bị co lại nếu nguyên nhân mất gói tin là lỗi bit hoặc bị ngắt kết nối
do đường truyền WL gây ra, chứ không phải do tắc nghẽn trong mạng.
Mục đích của M-TCP là cải thiện những nhược điểm của hai phương
pháp trên để cho độ trễ thấp hơn và vẫn duy trì được ngữ nghĩa end-toend của TCP, đồng thời tăng hiệu suất đối với việc chuyển giao cuộc gọi
Trang 53
Luận văn cao học – Nghiên cứu thuật toán WLDA+
2007
(hand off) giữa các FA và thích ứng với các đường truyền dài và việc
ngắt kết nối xảy ra thường xuyên.
Máy chủ đứng giữa kết nối TCP gọi là máy kiểm soát – SH
(Supervisory host-SH). Sử dụng TCP chuẩn giữa kết nối CH-SH và điều
chỉnh TCP của kết nối giữ SH-MH. Máy kiểm soát SH chịu trách nhiệm
trao đổi dữ liệu giữa hai phần tương tự máy chủ ủy quyền (proxy).
Mobile-TCP coi tỷ lệ lỗi bit là thấp vừa phải trên đường truyền WL, do
đó nó không lưu giữ hoặc phát lại dữ liệu từ SH. Nếu gói tin bị mất trên
đường WL nó phải được truyền lại từ thực thể gửi để lưu giữ ngữ nghĩa
end-to-end TCP.
SH kiểm soát tất cả các gói tin được gửi từ MH và những ACK
được gửi lại từ MH. Nếu SH không nhận được một ACK, nó coi như MH
đã bị ngắt kết nối và kìm giữ thực thể gửi bằng cách đặt kích cỡ cửa sổ
gửi bằng 0 (nghĩa là báo cho thực thể gửi rằng thực thể nhận vẫn muốn
nhận, nhưng hiện tại chỉ có thể nhận 0 byte số liệu), đưa thực thể gửi về
chế độ persistent (thực thể gửi sẽ không cố gắng phát lại dữ liệu trong
khoảng thời gian thực thể nhận đang bị ngắt kết nối). Ngay khi SH cũ
hoặc mới phát hiện có kết nối trở lại nó sẽ mở lại cửa sổ của thực thể gửi
với giá trị cũ nên thực thể gửi có thể truyền với tốc độ đầy đủ như lúc
trước. Kỹ thuật này không yêu cầu thay đổi TCP của thực thể gửi.
Bên phần mạng không dây, một điều chỉnh của TCP được sử dụng
để có thể nhận lại được các gói tin bị mất nhanh hơn. TCP này không sử
dụng Slow start, do đó M-TCP cần quản lý dải thông để triển khai việc
chia sẻ công bằng đường truyền không dây.
Ưu điểm:
M-TCP lưu giữ được ngữ nghĩa end-to-end của giao thức TCP.
SH chỉ chuyển tiếp ACK chưc không tự gửi ACK.
Nếu MH bị ngắt kết nối, M-TCP tránh việc truyền lại, pha slow
start hoặc ngắt kết nối bằng cách rút lại cửa sổ truyền bằng 0.
Trang 54
Luận văn cao học – Nghiên cứu thuật toán WLDA+
2007
M-TCP không lưu giữ dữ liệu tạm trong SH như I-TCP nên nó
không cần thiết chuyển tiếp dữ liệu từ bộ đệm đến một SH mới
khi có việc chuyển cuộc gọi (hand off). Những gói tin bị mất sẽ
được tự động truyền lại tới SH mới.
Nhược điểm:
M-TCP giả thiết rằng tỷ lệ lỗi bit thấp là không luôn luôn đúng.
Một TCP điều chỉnh trên WL không chỉ yêu cầu phải sửa phần
mềm giao thức tại MH mà còn phải có thêm những phần tử
mạng mới để quản lý băng thông.
Ngoài Mobile-TCP ra còn một số phương pháp khác như Fast
retransmit/ Fast Recovery hoặc Tranmission/ time-out freezing hay
Selective retranmission và transaction oriented TCP để cải tiến hiệu suất
làm việc của TCP trong môi trường mạng hỗn hợp. Các phương pháp này
có thể kết hợp với nhau nhằm bổ sung những ưu điểm và khắc phục
nhược điểm cho nhau.
Có thề tổng kết ưu nhược điểm của một số kỹ thuật như sau:
Phương pháp
Kỹ thuật
Ưu điểm
Nhược điểm
I-TCP
Chia kết nối Tách biệt được Mất ngữ nghĩa E2E
TCP thành hai mạng không dây.
Lỗi tiềm tàng khi
kết nối
chuyển cuộc goi
Thiết kế đơn giản
giữa các FA
Snoop-TCP
Nhìn vào dữ Trong suôt với Có vấn đề với mã
liệu và phát lại các thực thể E2E.
cục bộ
Có thể tích hợp Không
với
giao
Chia kết nối Giữ
tách biệt
thức được tuyệt đối liên
kết không dây.
MAC
M-TCP
hóa
được
ngữ Không
tách biệt
TCP thành 2 nghĩa E2E của tuyệt đối WL.
Trang 55
Luận văn cao học – Nghiên cứu thuật toán WLDA+
kết nối.
2007
Phải quản lý băng
TCP.
Điều tiết cửa sổ Duy trì kết nối thông và tốn chi
của thực thể trong khoảng thời phí xử lý.
gửi
gian dài và mất
kết nối lâu trên
WL.
Fast
Tránh
thuật Đơn giản và hiệu Không trong suốt,
Retransmit/
toán khởi động quả
Recovery
chậm
kết hợp đa lớp
khi
chuyển
vùng
của MH
Transmission/
Đóng
băng Độc lập với các Thay đổi yêu cầu
Time-out
đồng hồ phát kỹ
freezing
lại của thực thể khác.
thuộc
gửi TCP lúc
MAC
thuật
TCP của
TCP,
phụ
vào
lớp
ngắt kết nối,
khôi phục lại
sau kết nối.
Selective
Chỉ truyền lại Rất hiệu quả
Phần mềm thực thể
retranmission
những dữ liệu
nhận phức tạp hơn,
mất
cần nhiều bộ đệm
hơn
Transaction
Kết hợp thiết Hiệu quả cho một Yêu cầu phải thay
oriented TCP
lập, giải phóng số ứng dụng
đổi
kết
trong suôt.
nối
và
TCP,
không
truyền dữ liệu
Hình 2.3 So sánh các phương pháp cải tiến của TCP
Trang 56
Luận văn cao học – Nghiên cứu thuật toán WLDA+
2007
Tuy nhiên, các kỹ thuật này cũng chưa thực sự tốt với những ứng
dụng multimedia trong môi trường mạng hỗn hợp. Chúng tôi xin trình
bày tiếp một vài kỹ thuật TCP-friendly cho các ứng dụng đa phương tiện
trong mạng hỗn hợp mà trọng tâm sẽ là phân tích kỹ thuật WLDA+.
4. Kỹ thuật TCP-friendly
Phần lớn ứng dụng hội thảo đa phương tiện được dùng trên Internet
hiện nay, ví dụ như VIC, VAT đều dựa trên giao thức lớp vận chuyển
UDP, là một giao thức vận chuyển không đảm bảo chất lượng, độ tin cậy
không cao do không có cơ chế điều khiển lưu lượng và do đó có thể
không đảm bảo bất kỳ một cấp độ QoS nào. Trong khi trên thực tế, tình
trạng mạng luôn thay đổi trong các tuyến đường từ nguồn tới đích của
một gói tin, đặc biệt là trong môi trường mạng hỗn hợp dẫn đến việc
những ứng dụng đa phương tiện khó có được kết quả tốt nhất. Ngoài ra,
khi triển khai những giao thức không có cơ chế điều khiển lưu lượng,
tránh tắc nghẽn sẽ làm mất sự cân bằng về lưu lượng với các luồng TCP
tương tranh dẫn đến những kết nối TCP đang chiếm khoảng 95% lưu
lượng Internet có thể bị giảm tốc độ truyền của chúng một cách đáng
kể… Do vậy, khi xây dựng những ứng dụng multimedia trong mạng hỗn
hợp, một yếu tố rất cần được lưu ý là các thuật toán cần phải đảm bảo
tính đúng của thời gian thực nhưng không được để những luồng đa
phương tiện lấn chiếm băng thông của các luồng TCP, cụ thể hơn những
nguồn UDP cần được cải tiến để có cơ chế điều khiển thích nghi tránh
tắc nghẽn tương tự như cơ chế điều khiển tắc nghẽn của TCP nhằm mục
tiêu giảm tình trạng mất dữ liệu, tăng hiệu dụng của băng thông đồng
thời tạo sự cân bằng với những luồng TCP tương tranh, tránh tình trạng
sụp đổ tắc nghẽn (Congestion collapse) những kỹ thuật như vậy người
ta gọi là TCP-friendly. Một luồng là TCP-friendly được định nghĩa như
Trang 57
Luận văn cao học – Nghiên cứu thuật toán WLDA+
2007
một luồng có tốc độ truyền dữ liệu trong một khoảng thời gian dài không
vượt quá bất kỳ một luồng TCP thích nghi nào trong cùng điều kiện đó.
Những lược đồ này thường được chia làm hai loại, một số lược đồ
là end-to-end bao gồm kỹ thuật dựa trên cửa sổ với việc tăng theo cấp số
cộng và giảm theo cấp số nhân (AIMD Windows-base) và kỹ thuật dựa
trên tốc độ (rate-based). Một loại khác là kỹ thuật điều khiển tắc nghẽn
theo từng chặng (hop-by-hop). Trong phạm vi luận văn này chúng ta chỉ
tập trung vào giải pháp end-to-end.
Kỹ thuật điều khiển tắc nghẽn TCP-Friendly End-to-end
Lược đồ AIMD-based:
Lược đồ AIMD dựa trên khái niệm AIMD (Additive Increase
Multiplicative Decrease). Kết nối TCP thăm dò để mở rộng băng thông
bằng cách tăng kích cỡ cửa sổ của nó lên một cách tuyến tính theo thời
gian và giảm cửa sổ phát của nó đi nhiều lần khi phát hiện tắc nghẽn nên
thuật toán AIMD có thể biểu diễn là AIMD (α,β) hoặc:
I: Tăng cửa sổ khi nhận được biên nhận trong khoảng thời gian Round
trip time
D: Giảm cửa sổ khi phát hiện mất dữ liệu
ωt : kích cỡ cửa sổ tại thời gian t
R: Round trip time của luồng
α=1 packet
β=1/2
Kỹ thuật AIMD window là một sự lựa chọn tốt cho hầu hết các ứng
dụng hiện nay, nó rất hiệu quả vì sự tăng nhanh băng thông sử dụng khi
băng thông trở nên sẵn sàng. Tuy nhiên, với các ứng dụng real-time,
multimedia thì yêu cầu thay đổi đều đặn về tốc độ truyền là quan trọng
Trang 58
Luận văn cao học – Nghiên cứu thuật toán WLDA+
2007
hơn so với việc tăng nhanh băng thông nên với các ứng dụng này thường
không sử dụng trực tiếp kỹ thuật điều khiển tắc nghẽn của TCP nói trên
để tránh việc chia đôi tốc độ truyền một cách đột ngột khi một gói tin bị
hủy. Do đó, lược đồ trên được sửa đổi khi áp dụng cho các ứng dụng realtime.
Lược đồ Window-based:
Với điều kiện k+l=1, l <=1; (Nếu k=0, l=1 trở về thuật toán AIMD
của TCP cho ứng dụng dữ liệu thông thường). Khi thêm các tham số với
l<1 thì ứng dụng real- time sẽ giảm tình trạng giảm đột ngột hơn cách
thức của TCP và có thể chấp nhận được cho một số trường hợp yêu cầu
về chất lượng dịch vụ không quá cao.
Lược đồ của Jacobs
Jacobs trình bày một lược đồ sử dụng kỹ thuật điều khiển tắc nghẽn
của TCP, tuy nhiên lược đồ này nêu rằng sẽ không truyền lại gói tin bị
mất. Thực thể gửi lưu giữ một cửa sổ truyền dựa trên những biên nhận
của thực thể nhận. Dựa trên kích cỡ của cửa sổ truyền này, thực thể gửi sẽ
ước lượng tốc độ truyển thích hợp. Bằng cách đó các kết nối thích nghi
được bảo đảm dành được cùng dải băng thông như kết nối TCP trong
cùng một điều kiện mất dữ liệu và độ trễ. Nhưng việc cần biên nhận cho
mỗi gói tin như thế sẽ giới hạn hiệu suất, đặc biệt là trong liên lạc unicast
thì các gói tin biên nhận cũng làm tăng lưu lượng qua mạng đáng kể…
Lược đồ khác
Floyd [7] đề xuất mô hình đo thông lượng của kết nối TCP khi biết
các điều kiện về độ trễ và tình trạng gói dữ liệu bị mất:
Trang 59
Luận văn cao học – Nghiên cứu thuật toán WLDA+
2007
với M là độ dài lớn nhất của một gói tin, RTT là độ trễ toàn phần của kết
nối và l là giá trị mất dữ liệu trung bình được đo trong suốt thời gian sống
của kết nối. Dựa trên sự ước lượng này những hệ thống cuối (end
systems) đo tình trạng mất dữ liệu và độ trễ trên mạng đồng thời cấm tốc
độ truyền của chúng tới giá trị trên. Tuy nhiên phương pháp này cũng
giảm tốc độ truyền đi một nửa khi phản ứng lại tình trạng mất dữ liệu và
cũng chỉ tăng cửa sổ truyền lên một gói tin sau mỗi round trip time dẫn
đến kết quả là việc tăng giảm không đều đặn, ảnh hưởng lớn đến hiệu
suất của cá ứng dụng multimedia.
Các kỹ thuật trên nếu áp dụng cho các luồng lưu lượng real-time là
không thích hợp do sự dao động quá lớn về tốc độ truyền. Thêm vào đó,
với kỹ thuật AIMD windows-base thì việc chọn các tham số cho ứng
dụng khác nhau cũng không phải là đơn giản. Ta xét một số lược đồ
AIMD rate-base sau:
Lược đồ AIMD rate-based
Lược đồ RAP
Lược đồ AIMD dựa trên rate-base như RAP (Rate Adaptive
Protocol - RAP) do Rejaie [11] trình bày sẽ điều chỉnh tốc độ truyền một
cách liên tục. Lược đồ này sẽ gửi tiếp những gói tin khác nếu những gói
tin trước đó đã được biên nhận. Việc phát hiện ra những dữ liệu bị mất
dựa vào số tuần tự của những gói tin biên nhận bị thiếu hoặc quá thời
gian phát timeout. Thực thể gửi ước lượng độ trễ toàn phần dựa vào thuật
toán Jacobson/Karel’s thông qua các gói tin biên nhận, tuy nhiên RAP
không biên nhận từng gói tin một mà có thể gửi một vài gói tin rồi mới
biên nhận. Nếu mất dữ liệu không được phát hiện, thực thể gửi tăng một
Trang 60