1. Trang chủ >
  2. Luận Văn - Báo Cáo >
  3. Công nghệ thông tin >

II. Một số giao thức phổ biến

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



Xem Thêm
Tải bản đầy đủ (.pdf) (99 trang)

×