Giao thức UDP (User Datagram Protocol)

Một phần của tài liệu đề tài '''' điều khiển thiết bị qua mạng internet '''' (Trang 33 - 36)

Data (max 65535 bytes)

2.6.5.1.Giao thức UDP (User Datagram Protocol)

UDP (User Datagram Protocol) là một nghi thức không tin cậy, chỉ cố gắng hết

mình để phân phát dữ liệu. UDP chỉ cung cấp cơ bản cần thiết cho phân phát end-to- end. Nó không cung cấp bất cứ chức năng đánh số thứ tự nào và do đó không thể làm rõ gói nào bị hỏng khi báo cáo về lỗi. UDP có thể khám phá ra một lỗi đã xuất hiện tức là ICMP có thể thông báo phía gửi là một user datagram đã hỏng và bị loại. Tuy nhiên nó không có khả năng biết là gói nào bị mất. UDP cho phép truyền dữ liệu trên mạng với chi phí thấp do sự phân phát dữ liệu không tin cậy. Các dịch vụ dùng UDP là TFTP, DSN, SNMP…

Mỗi gói thông tin UDP gọi là một Datagram được phân làm 2 phần header và data trong đó header chứa thông tin về địa chỉ cổng nguồn, địa chỉ cổng đích, độ dài của gói và checksum.

Chech sum: 16 bits là số bù 1 của tổng bù 1của các 2 bytes trong phần header, dữ liệu và phần header giả (pseudo header) . Nếu phần header và text chứa một số lẻ bytes thì byte cuối cùng được đệm vào bên phải với 0 để đủ 16 bit cho mục đích Checksum. Phấn đệm thì không được truyền như một phần của header.

Source port Destination port

Message length Checksum

Data Data Data Destination Address Source Address Type field IP header UDP data CRC

Hình 2-9 Đóng gói UDP vào khung Ethernet

Phân kênh, hợp kênh và Ports.

Phân kênh, hợp kênh chính là việc lựa chọn những tiến trình ứng dụng trong một số lớn các tiến trình sử dụng giao thức UDP, người ta chọn ra những ứng dụng tương ứng với gói thông tin chuyển đến.

Port 1 Port 2 Port 3

UDP: Demultiplexing Based on Port

IP Layer

UDP Datagram arrives

Hình 2-10 Sự phân kênh và hợp kênh của ARP

Việc này giải quyết bằng “cơ chế cổng” Port mechanism cơ chế này gắn mỗi ứng dụng với một con số gọi là port number và mỗi gói thông tin mà nó gửi đi đều mang một trường SOURCE PORT.

Tại nơi nhận, dựa vào thông tin trường DESTINATION PORT mà gói thông tin đó được truyền đến cổng tương ứng với ứng dụng. Ví dụ mọi bảng TCP/IP đều có dịch vụ FTP (File Transfer Protocol) gắn với cổng 21 và TFTP (Trivial File Transfer Protocol) gắn với cổng 69 của UDP.

Việc sử dụng các port number cũng có nhiều cách.

o Dùng những cổng dành riêng cho từng ứng dụng đã được đăng ký trước (Well-known port assignment).

o Một port number sẽ được sinh ra khi có một ứng dụng đòi hỏi (Dynamic binding).

Cách tiếp cận kết hợp các kiểu trên (Hybrid) trong đó người ta vừa sử dụng Well- known port assignment cho một số port number vừa có thể định nghĩa các port number khác khi cần thiết. Một khung tại lớp giao vận dùng địa chỉ port 16 bits, đủ dùng cho các ports từ 0 đến 65535.

Vì sao người lập trình ứng dụng lựa chọn UDP như một dịch vụ giao vận? Có một số lý do:

Một số lượng lớn các gói thông tin nhỏ được truyền, thông tin cho việc kết nối và sửa lỗi có thể lớn hơn nhiều so với thông cần truyền. Trong trường hợp này, UDP là giải pháp hiệu quả nhất.

Những ứng dụng kiểu “Query-Respon” cũng rất phù hợp với UDP, câu trả lời có thể dùng làm sự xác nhận của một câu hỏi. Nếu không nhận được sự trả lời sau một thời gian nào đó, ứng dụng chỉ cần gửi đi một câu hỏi khác.

Một số ứng dụng đã tự nó cung cấp công nghệ riêng để chuyển giao thông tin cậy, và không đòi hỏi dịch vụ này của transport layer.

Đây là giao thức đơn giản và truyền nhanh, nên nó thường được sử dụng trong các ứng dụng điều khiển thời gian thực. Do đó trong Luận Văn này chọn giao thức UDP làm giao thức truyền khung điều khiển của lớp trên.

Một phần của tài liệu đề tài '''' điều khiển thiết bị qua mạng internet '''' (Trang 33 - 36)