GIAO THỨC UDP

Một phần của tài liệu Giáo trình quản trị hạ tầng mạng phần cứng căn bản Truyền thông và mạng máy tính (Trang 56 - 59)

CHƯƠNG 1 : MƠ HÌNH TCP/IP

1.3.7 GIAO THỨC UDP

UDP - So sánh giữa chi phí thấp và độ tin cậy

UDP là một giao thức đơn giản ở lớp Transport, nó chỉ cung cấp những tính năng cơ bản để vận chuyển dữ liệu. Chi phí vận chuyển của nó thấp hơn nhiều so với giao thức TCP. Bởi vì nó khơng có các cơ chế giống như TCP chẳng hạn như: thiết lập kết nối trước khi truyền dữ liệu thực sự, truyền lại đối với những dữ liệu bị mất, đánh số thứ tự các segment và điều khiển luồng. Điều này khơng có nghĩa là các ứng dụng sử dụng giao thức UDP để vận chuyển thì ln ln khơng tin cậy. Nó chỉ đơn giản là làm sao vận chuyển dữ liệu cho nhanh và tính năng tin cậy được thực hiện ở lớp Application nếu cần.

Một số ứng dụng, như trò chơi trực tuyến hay VoIP, có thể chấp nhận mất một vài dữ liệu. Nếu các ứng dụng này dùng TCP thì độ trễ lớn do TCP phát hiện dữ liệu bị mất và truyền lại. Độ trễ này sẽ gây ra nhiều thiệt hại cho ứng dụng hơn là việc mất một vài dữ liệu nhỏ. Một vài ứng dụng, như DNS, sẽ truy vấn lại nếu không nhận một trả lời từ DNS server và vì thế chúng khơng cần sử dụng TCP để phân phát thông điệp tin cậy.

Hình 26: Vận chuyển dữ liệu với giao thức UDP

Sắp xếp lại các UDP Datagram

Bởi vì UDP là giao thức không kết nối, các sesseion không được thiết lập trước khi cuộc trao đổi diễn ra giống như giao thức TCP. Khi một ứng dụng có dữ liệu muốn gửi, đơn giản là nó cứ gửi dữ liệu ra mạng.

Hình 27: UDP: khơng kết nối và khơng tin cậy

Nhiều ứng dụng UDP có khối lượng dữ liệu nhỏ đặt vừa khớp trong một gói. Tuy nhiên, có những ứng dụng sẽ gửi khối lượng dữ liệu rất lớn. Khi đó, giống như giao

xem như một datagram. Thuật ngữ segment và datagram thỉnh thoảng được dùng hoán đổi cho nhau để mô tả một PDU của lớp Transport.

Khi có nhiều datagram được gửi đến đích, chúng có thể được truyền trên nhiều đường đi khác nhau và đến đích khơng đúng thứ tự. Trong UDP header khơng có sequence number và UDP cũng không theo dõi việc truyền các datagram như thế nào giống như TCP đã làm. Do đó, UDP khơng có cách nào để sắp xếp lại các datagram thành một chuỗi dữ liệu ban đầu mà máy gửi đã gửi.

Các tiến trình trên Server và yêu cầu của client

Hình 28: UDP server lắng nghe các request từ các client

Giống như các ứng dụng dựa trên TCP, các ứng dụng trên server phổ biến dựa trên UDP cũng được gán một port trong Well Known hoặc Registered. Khi các ứng dụng hay tiến trình này đang chạy, chúng sẽ chấp nhận dữ liệu mà nó phù hợp với port được gán. Khi UDP nhận một datagram, nó chuyển dữ liệu đến ứng dụng thích hợp dựa trên port đích trong datagram.

Các tiến trình trên UDP client

Hầu hết các cuộc trao đổi giữa client và server thường được bắt đầu từ phía client, client bắt đầu bằng cách gửi yêu cầu đến server mà mình muốn truy cập. Giống như các ứng dụng client/server dựa trên TCP, các ứng dụng client dựa vào UDP cũng được cấp phát động một port ngẫu nhiên lớn hơn 1024 và port này được xem như là source port trong UDP header. Port đích sẽ là port của ứng dụng server mà client muốn truy cập đến.

Port nguồn được cấp phát động và ngẫu nhiên cũng giúp ích cho việc bảo mật. Nếu có một quy định trước đối với việc cấp phát port nguồn, một người có ý đồ xấu có thể dễ dàng truy cập đến một client bằng cách cố gắng kết nối đến port thường được mở nhất. Do UDP không tạo session, nên ngay từ khi dữ liệu đã được sẵn sàng để gửi và port được xác định, UDP có thể tạo ngay thành datagram và chuyển nó đến lớp Network để đánh địa chỉ và các lớp thấp hơn để gửi trên mạng.

Nhớ rằng, khi một client đã chọn port nguồn và đích, cặp port này được dùng trong header của tất cả datagram trong giao dịch này. Đối với dữ liệu của server phản hồi cho client, port nguồn và đích trong header được đảo lại.

Một phần của tài liệu Giáo trình quản trị hạ tầng mạng phần cứng căn bản Truyền thông và mạng máy tính (Trang 56 - 59)

Tải bản đầy đủ (PDF)

(184 trang)