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
- Trình tự thời gian các giai đoạn trao đổi số liệu theo phương thức
“hướng kết nối” như: thiết lập kết nối, trao đổi số liệu, và giải phóng kết
nối.
- Phương thức phát hiện và xử lý lỗi truyền số liệu…
Tiếp theo, chúng ta sẽ xem xét một số giao thức phổ biến hiện nay
là giao thức TCP, UDP và RTP.
1. Giao thức TCP
Giao thức TCP là giao thức được thiết kế nhằm trao đổi số liệu một
cách đảm bảo, tin cậy và chính xác giữa hai thực thể cuối trong mạng.
TCP vừa quản lý đúng số tuần tự tính theo byte của dòng số liệu, đồng
thời phải tối ưu hóa giải thông của mạng bằng cách giám sát và điều
khiển lưu lượng từ thực thể gửi tới thực thể nhận. Giao thức TCP có
những đặc điểm sau:
Thiết lập và kết thúc kết nối: TCP là giao thức hướng kết nối, có
nghĩa là hai ứng dụng sử dụng giao thức TCP cần thiết lập kết nối TCP
với nhau trước khi chúng có thể truyền số liệu. Trước khi truyền số liệu,
ứng dụng gửi một thông điệp đồng bộ (SYN). Ứng dụng gửi phải nhận
được biên nhận (gói SYN trả lời) trước khi được phép truyền số liệu tới
thực thể nhận. Để kết thúc kết nối các thực thể TCP gửi/nhận tại trạm
cuối cần trao đổi với nhau thông điệp FIN.
Tính tin cậy: Để đảm bảo liên lạc tin cậy, thực thể nhận biên nhận
tất cả các gói tin nhận được; Thực thể gửi cần lưu lại tại bộ nhớ cục bộ
một bản copy của mỗi gói tin gửi đi cho đến khi nhận được một biên nhận
từ thực thể nhận chỉ ra rằng việc nhận đúng đã xảy ra tại thực thể nhận.
Nếu gói tin không được biên nhận trong một khoảng thời gian t out thì gói
tin được xem như bị mất và được truyền lại. T out phải được đặt là một giá
trị thích hợp cho phép phát hiện nhanh gói tin bị mất đồng thời tránh
Trang 20
Luận văn cao học – Nghiên cứu thuật toán WLDA+
2007
trường hợp gói tin được truyền lại, trong khi gói tin đó vẫn đang trên
đường truyền trên mạng.
Jacobson đề xuất cách tính tout như sau:
Với tmeasure là số đo độ trễ (thời gian khứ hồi) tính được đối với gói
tin được biên nhận mới nhất, tRTT là độ trễ toàn phần trung bình, n là độ
mịn hay độ lệch của thời gian khứ hồi và tout là ước lượng giá trị t_out
sau khi TCP truyền lại một gói tin được báo là chưa biên nhận. Thời gian
khứ hồi tmeasured được ước lượng như là khoảng thời gian giữa việc gửi gói
tin và việc nhận biên nhận cho gói đó. Hệ số khuếch đại của bộ lọc thông
thấp (Low Pass Filter) - thường được đặt là 0.125, thường được đặt là
0,25 và thường được đặt giá trị là 2, nhưng trong phiên bản Reno TCP
được đặt là 4.
Tự thích ứng với đường truyền: TCP có các cơ chế điều khiển lưu
lượng thích ứng với đường truyền dựa trên cơ chế cửa sổ trượt có kích
thước thay đổi được: dùng một cửa sổ truyền một lúc một số gói tin, tăng
kích thước cửa sổ đến tình trạng chớm tắc nghẽn thì có cơ chế điều khiển
thích hợp với trạng thái mạng.
Chia sẻ công bằng đường truyền: TCP tự động tối ưu đường truyền
bằng cách chia sẻ công bằng các luồng dữ liệu trên đường truyền đó. Nếu
băng thông là 10MBs, nếu có 10 luồng TCP cùng chạy qua đường truyền
này, mỗi luồng sẽ nhận được một dải thông là 1MBs.
Với những ưu điểm này. TCP đã trở thành một giao thức chiếm ưu
thế, có đến hơn 90% lưu lượng truyền tải trên Internet là bằng giao thức
TCP. Tuy nhiên, nó cũng có những hạn chế nhất định:
Trang 21
Luận văn cao học – Nghiên cứu thuật toán WLDA+
2007
Hiện tượng đồng bộ toàn cầu: Do tính chất đảm bảo tin cậy,
khi phát hiện ra tắc nghẽn thì TCP giảm tốc độ truyền xuống
mức thấp nhất - ứng với cửa sổ gửi bằng 1 hoặc xuống bằng
½ tốc độ đang truyền tùy thuộc vào thuật toán được cài đặt
cho giao thức. Trong một trường hợp cụ thể nào đó, tất cả
các kết nối TCP sẽ cùng đồng thời giảm tốc độ truyền
xuống mức thấp nhất, dẫn đến tình trạng đồng bộ toàn cầu,
nên hệ số sử dụng băng thông của đường truyền sẽ thấp,
thậm chí giảm đến 0 trong một khoảng thời gian nhất định.
Hiện tượng backoff: Hay còn được gọi là hiện tượng rút lui
của tốc độ truyền. Để đảm bảo tính tính tin cậy truyền tin,
khi thời gian time-out đã hết TCP sẽ lập tức phát lại gói tin.
Tuy nhiên, có thể vì một lý do nào đó, gói tin vẫn đang ở
trong mạng dẫn đến tình trạng mạng bị mất cân bằng. Để
tránh trường hợp đó, giao thức TCP phản ứng lại khi không
nhận được ACK là bật t out bằng 2 lần giá trị tout được sử dụng
trước đó rồi gửi lại gói tin đó. Thông thường backoff tối đa
là 10 lần. Và khoảng thời gian rút lui này cũng ảnh hưởng
không nhỏ đến hiệu suất của TCP trên mạng.
Không đảm bảo QoS: Do tính chất đảm bảo tin cậy của giao
thức TCP nên trong các ứng dụng cần đảm bảo tính kịp thời
của việc vận chuyển lưu lượng tới một mức nào đó thì TCP
không đáp ứng được cho dù có triển khai các giải thuật QoS
trong các thiết bị mạng trung gian. Ví dụ trong môi trường
Multimedia, việc chậm trễ là không thể chấp nhận được
trong việc truyền hình ảnh và đặc biệt là không chấp nhận
được trong truyền Voice, tiếng nói của một người có thể trở
thành tiếng nói của người khác hoặc không thể nhận ra được
nếu tín hiệu bị trễ vượt ngưỡng cho phép.
Trang 22
Luận văn cao học – Nghiên cứu thuật toán WLDA+
2007
2. Giao thức UDP:
Là giao thức vận chuyển không hướng kết nối. Giao thức UDP có
những ưu điểm như thực hiện đơn giản, nhanh nên các dịch vụ như tra
cứu DNS hay một phần dịch vụ thư điện tử sử dụng chúng. Đặc biệt trong
truyền tin multicast hay các ứng dụng multimedia có thể tận dụng những
đặc điểm này để triển khai có hiệu quả. Tuy nhiên, UDP lại có những
nhược điểm như không có cơ chế kiểm soát số tuần tự phát, số tuần tự thu
và kiểm tra lỗi. Và đặc biệt có thể gây ra sự mất cân bằng về chia sẻ
đường truyền với các giao thức khác khi cùng truyền trên một đường đi.
Đó là vì: giao thức UDP không có tính tự thích ứng với đường truyền,
nếu nguồn sinh lưu lượng luôn có yêu cầu vận chuyển, UDP sẽ truyền
liên tục các gói tin lên đường truyền mà không cần quan tâm đến việc gói
tin có đến đích hay bị xung đột hay không, trong khi các giao thức khác
như TCP lại rút lui khi gặp hiện tượng tắc nghẽn, xung đột. Do đó, các
ứng dụng của TCP có thể bị mất cơ hội truyền tin. Mặc dù vậy, với thực
tế là chất lượng và dung lượng các đường truyền liên tục được nâng cao
thì ngày nay có đến 99% các gói số liệu UDP vẫn được truyền đến đích.
Cấu trúc một gói số liệu UDP cũng có phần tiêu đề giả bao gồm địa
chỉ nguồn, địa chỉ đích… nhằm giúp thực thể IP đóng gói số liệu IP tương
ứng để chuyển tiếp trong mạng. Độ dài trong phần tiêu đề giả cho biết độ
dài toàn bộ gói số liệu UDP trong đó có cả phần tiêu đề giả. Độ dài trong
phần tiêu đề của gói số liệu UDP cho biết độ dài số liệu chứa trong
trường số liệu của gói UDP. Số hiệu cổng nguồn và số hiệu đích cho biết
địa chỉ nguồn và địa chỉ đích của các thực thể ứng dụng sử dụng giao
thức UDP. Byte kiểm tra được tính cho cả gói số liệu UDP và phần tiêu
đề giả. Gói số liệu UDP được tự động loại bỏ khi bị lỗi; chỉ những gói số
liệu UDP không bị lỗi mới được chuyển cho các thực thể ứng dụng.
Trang 23
Luận văn cao học – Nghiên cứu thuật toán WLDA+
2007
3. Giao thức RTP
Giao thức TCP cùng với các thuật toán cải tiến hiệu quả của
phương pháp cửa sổ trượt rất hữu ích và đang là một giao thức không thể
thiếu trong mạng truyền số liệu ngày nay. Tuy nhiên, để truyền tín hiệu
thoại hay Video conference thì giao thức này tỏ ra kém hiệu quả do tính
năng phát lại có thể gây nên độ trễ vượt mức chấp nhận được. Đồng thời
TCP cũng không có khả năng thực hiện truyền theo phương thức
multicast, có nghĩa là nếu có n thực thể tham gia thì cần có NxN kết nối.
Ngoài ra, cơ chế kiểm soát luồng, điều khiển tắc nghẽn của TCP trong
môi trường chia sẻ còn có thể gây ra hiện tượng đồng bộ toàn cầu trong
toàn mạng dẫn đến giảm đáng kể hiệu năng của mạng như đã trình bày ở
trên. Giao thức UDP có một vài ưu điểm hơn TCP trong các ứng dụng
Multimedia nhưng lại gây ra sự mất cân bằng đối với các luồng dữ liệu
khác trên cùng đường đi và tính toàn vẹn của dữ liệu lại quá thấp. Giao
thức RTP (Real time transport protocol) được trình bày trong RFC 1889
là giao thức được xem như ở tầng trên của tầng giao vận và tận dụng
được những ưu điểm của UDP đồng thời có những ưu điểm của TCP,
giúp các thuật toán có thể nhận thông tin và xử lý truyền dữ liệu một cách
hiệu quả. Mục đích của giao thức này là làm cho việc phân tán, giám sát,
xây dựng lại, đồng bộ các luồng dữ liệu (data streams) được dễ dàng.
RTP được sử dụng rộng rãi trong các ứng dụng Network’s Real player,
Apple’s Quicktimes và Microsoft Net meeting.
RTP cung cấp những chức năng vận chuyển mạng kiểu end-to-end
cho những ứng dụng thời gian thực như audio, video hay dữ liệu mô
phỏng qua các dịch vụ mạng unicast như các giao thức khác. Ngoài ra,
RTP còn có thể cung cấp các dịch vụ multicast như UDP . Tuy nhiên,
RTP không cung cấp bất kỳ một kỹ thuật bảo đảm về thời gian, đảm bảo
về chất lượng dịch vụ hay phân mảnh, kết hợp dữ liệu. Nhưng dựa trên
Trang 24
Luận văn cao học – Nghiên cứu thuật toán WLDA+
2007
đó, các dịch vụ lớp thấp hơn có thể thực hiện công việc này. Thành phần
của giao thức RTP gồm 2 phần liên kết chặt chẽ với nhau:
- Phần RTP: thực hiện vận chuyển dữ liệu thời gian thực theo
phương thức đánh địa chỉ Unicast hoặc Multicast.
- Phần RTCP: giám sát chất lượng dịch vụ, truyền thông tin của các
thực thể tham gia trong các phiên làm việc liên tục.
Giao thức RTP có thể được sử dụng dựa trên nhiều công nghệ
mạng. Những giao thức truyền chung nhất cho RTP là IP/UDP,
ATM/AAL5 và IPX.
Hình 1.3 Phân loại giao thức
Phần dữ liệu mang dữ liệu thời gian thực - RTP
Hình 1.4 Cấu trúc gói RTP
Trong trao đổi số liệu, RTP được chia thành các phiên. Một phiên
làm việc của RTP là việc gửi và nhận dữ liệu RTP bởi một nhóm tham
gia, mỗi một thành phần tham gia một phiên là một hoặc một cặp địa chỉ
Trang 25
Luận văn cao học – Nghiên cứu thuật toán WLDA+
2007
vận chuyển để liên lạc với một nhóm. Một nguồn RTP được gán một số
ngẫu nhiên 32bit được gọi là SSRC (synchronization source identifier),
một điểm phải phân ra nhiều luồng trong mỗi phiên khác nhau với số
SSRC khác nhau. Một thông điệp RTP cơ bản gồm: SSRC của thực thể
gửi, số tuần tự gửi dấu thời gian và dữ liệu.
Một phiên làm việc của RTP bao gồm nhiều thực thể tham gia. Các
dữ liệu Audio và video được truyền như những phiên riêng biệt.
Hình 1.5 Phiên làm việc RTP
Trong thành phần của giao thức RTP quy định khi triển khai có 2
khái niệm cần lưu ý: Mixers và translator.
Hình 1.6 Hoạt động của Mixer và Translator
Khác nhau cơ bản giữ Mixer và translator là Mixer làm thay đổi
SSRC còn Translator thì không.
Phần mang thông tin điều khiển-RTCP:
Đây chính là ưu điểm nổi bật của giao thức RTP. Với phần giao
thức RTCP được thêm vào trong việc định nghĩa giao thức RTP làm giao
Trang 26
Luận văn cao học – Nghiên cứu thuật toán WLDA+
2007
thức này có khả năng chuẩn đoán các lỗi trong cây Multicast phân tán và
hỗ trợ điều khiển tắc nghẽn. Thông điệp RTCP là một chồng các thông
điệp và các thông này có thể gửi tới các thành viên thông qua một thông
điệp RTCP phức hợp bao gồm nhiều RTCP.
Thực thể gửi và thực thể nhận trong phiên làm việc RTP tuần tự
sinh ra các báo cáo thống kê của các phiên khác nhau với các loại thông
điệp:
• SR (Sender report): tích lũy frame, đếm byte, thời gian. Thống kê
những thực thể tham gia mà được active thành thực thể gửi.
• RR (Receiver report): số gói tin bị mất, tốc độ truyền. Thống kê
những thực thể tham gia mà không được active thành thực thể gửi.
• SDES: Source description, user, hostname, email… gọi là CNAME
• Bye message: Dùng update bảng SSRC và kết thúc của những đối
tượng tham gia.
Giao thức RTCP tính toán số gói tin bị mất dựa trên cách thức sau:
Trong đó:
number of packets lost= number packets expected – number packets
received
number of packets expected=EHSNR- initial sequence number
EHSNR= extended highest sequence number received= number of
sequence number cycles x 216 + last sequence number received
Hình 1.7 Cách tính gói tin bị mất của RTCP
Có thể hiểu đơn giản là số gói tin bị mất bằng số gói tin mong
muốn nhận được trừ đi số gói tin thực tế nhận được hoặc dựa vào những
khoảng trống số tuần tự trong các gói tin liên tiếp.
Giao thức RTCP tính toán độ trễ toàn phần RTT như sau:
Trang 27
Luận văn cao học – Nghiên cứu thuật toán WLDA+
2007
estimated round-trip-time = RR received –SR sent – delay
RR received = time a source received this reception report
SR sent = last SR timestamp received field
delay=delay since last SR report field
Hình 1.8 Cách tính RTT của RTCP
Tức là lấy thời gian mà thực thể gửi nhận được reception report
(thời gian sau một phiên) trừ đi thời gian mà thực thể nhận nhận được
Sender report (SR) cuối cùng và thời gian xử lý để
truyền gói tin
reception report (RR) cho thực thể gửi.
Với việc phát hiện tình trạng mất dữ liệu và thời gian trễ toàn phần
như trên, thực thể gửi sẽ có thể điều chỉnh tốc độ gửi dữ liệu một cách
thích hợp trên đường truyền.
Để tăng hiệu suất truyền tin, những gói tin RTP cũng được nén để
truyền dữ liệu được hiệu quả hơn, ví dụ như thiết bị của Cisco nén: Một
header RTP khoảng 12 byte, header UDP khoảng 8 byte và header IP
khoảng 40byte. Sau khi nén thì header của RTP/UDP/IP chỉ còn 2-5 byte.
Tất nhiên, chúng ta cũng phải mất chi phí cho việc giải nén ở bên thực thể
nhận.
Qua việc tìm hiểu các ưu nhược điểm của các giao thức chúng ta
thấy một số điểm nổi lên là mặc dù những kết nối sử dụng giao thức TCP
vẫn là sự chia sẻ chính của lưu lượng Internet. Tuy nhiên, sự phát triển
của các dịch vụ đa phương tiện mang yếu tố thời gian thực cũng phát
triển không ngừng như IP-telephony, Video conferencing, xem truyền
hình trực tuyến hay liên lạc theo nhóm. Các ứng dụng này luôn đòi hỏi
một cam kết về QoS thật tốt, không chỉ đơn thuần chỉ là tính tin cậy như
các ứng dụng về dữ liệu khác. Do đó, chỉ TCP là không thể đáp ứng
được. Với giao thức UDP truyền nhanh, độ trễ ít nhưng lại không đưa ra
bất kỳ một độ tin cậy hay kỹ thuật điều khiển tắc nghẽn nào. Đồng thời,
Trang 28
Luận văn cao học – Nghiên cứu thuật toán WLDA+
2007
việc triển khai những giao thức không điều khiển tắc nghẽn như UDP trên
mạng có phạm vi rộng như Internet, có thể dẫn đến kết quả mất cân bằng
lớn với những luồng TCP tương tranh đang chiếm đa số giao dịch. Cụ thể
là, khi thực thể gửi TCP phản ứng lại trạng thái tắc nghẽn bằng cách
giảm tốc độ truyền dữ liệu vào đường truyền, còn thực thể gửi UDP thì
không làm việc đó dẫn đến các luồng UDP dần chiếm quyền truyền tin
trên các trục giao thông mạng. Cuối cùng là sự phát triển của công nghệ
mạng không dây phục vụ cho các thiết bị di động cũng ảnh hưởng rất lớn
đến các hiệu suất mạng.
Vậy giải pháp cho những vấn đề trên là gì ? ban đầu một giải pháp
trong mạng có dây đã được đề xuất: nâng cấp các hệ thống xử lý hàng
đợi, đảm bảo QoS. Các ứng dụng dữ liệu thông thường vẫn sử dụng TCP,
các ứng dụng về Multimedia vẫn triển khai trên giao thức UDP, đồng thời
áp dụng các kỹ thuật để đảm bảo tính tin cậy theo cách thức tương tự
TCP nhằm cải tiến hiệu suất của các ứng dụng dựa trên UDP. Các giải
pháp này có mục tiêu không chỉ nhằm tránh sự quá tải mạng mà còn
hướng tới sự cân bằng với những kết nối TCP tương tranh. Nói cách
khác, nếu một kết nối TCP và một luồng điều chỉnh với những cách thức
truyền, điều khiển tắc nghẽn tương tự TCP sẽ có độ trễ và sự mất dữ liệu
như nhau và sẽ nhận được sự chia sẻ băng thông bằng nhau. Tuy nhiên,
nếu áp dụng giải pháp này có thể hữu ích trong mạng có dây thuần túy,
nhưng khi đưa vào môi trường mạng hỗn hợp sẽ không đạt được hiệu quả
tối đa do trong mạng có dây thì việc một gói tin bị mất được xem như
tình trạng quá tải mạng hoặc tắc nghẽn mạng nhưng với môi trường mạng
không dây, mất dữ liệu có thể xuất hiện vì những thành phần kênh kém
hoặc hỏng. Ngoài ra, do tính cơ động của mạng không dây khi một node
chuyển từ điểm truy cập này đến một điểm truy cập khác, gói tin vẫn
được truyền đến điểm truy cập cũ, dẫn đến mất gói tin. Nên áp dụng các
kỹ thuật của mạng cố định vào trong môi trường mạng hỗn hợp có dây và
Trang 29
Luận văn cao học – Nghiên cứu thuật toán WLDA+
2007
không dây thì hiệu quả chắc chắn sẽ không cao. Do đó, để giải quyết vấn
đề này cần đến một số giải pháp mà có thể điều khiển lưu lượng một cách
hiệu quả nhất trong mạng hỗn hợp.
Trong mạng mạng hỗn hợp lại có thể phân thành hai loại ứng dụng,
một là chỉ truyền dữ liệu (không có video, voice) có một số giải pháp dựa
trên giao thức TCP như I-TCP, TCP-snooping, Mobile-TCP. Hai là với
mạng hỗn hợp truyền Multimedia thì việc áp dụng lược đồ WLDA+ là
một trong những lựa chọn, kỹ thuật của lược đồ này sẽ được trình bày chi
tiết hơn trong phần tiếp theo và là một nội dung chính mà luận văn muốn
hướng tới.
Trang 30