PDA

View Full Version : Udp ?



Kamate
18-10-2002, 19:20
Chào các bạn,
Các bạn có thể giải thích giùm mình tại sao UDP là 1 giao thức không có sự tin cậy trong lưu chuyển (unreliable transport protocol) nhưng phần đầu (header) của UDP lại có kiểm tra tổng (checksum) ?
Đa tạ.

Bri-Dennis
18-10-2002, 21:10
Chào,

Thực ra cái check sum trong ip header chỉ là để xem cái packet header đó có bị hư hay không thôi, nếu pac header bị hư thì pac đó sẽ bị discard, vì vậy UDP không tin cậy.
Cứ tưởng tượng số tài khỏan của bạn chuyển bằng UDP, sau khi qua vài node thì bị lỗi, rồi thì pac bị discard, và tất cả thông tin trong pac đó tiêu hết, hì hì, vì vậy người ta nói no không đang tin cậy. Sau nay bạn se biết ve connectionless va connection-oriented
và sự khác biệt giữa tính an tòan cua TCP so với UDP.

Cheers,

Kamate
18-10-2002, 22:42
Cám ơn bạn,
UDP là 1 protocol không tin cậy thì tại sao còn cần checksum ( nghe có vẻ đối nghịch )?

yuna_admirer
18-10-2002, 22:53
Checksum vẩn cần thiết đó bạn , nói là unreliable nhưng thường UDP dùng kèm với các giao thức đã có reliable build-in sẳn rồi và reliability của UDP sẻ do các giao thức đó thực hiện , hoặc UDP dùng trong các non-mission-crittical traffic mà thôi .
Tham khảo :
TCP header :
Sourceport-DestinPort-SequenceNo-Ack-Offset-Reverse-Flag-Window-Checksum-urgent-option-PAD
UDP header :
Sourceport-Destinationport-Length-Checksum

Bạn sẻ tìm thấy kỷ hơn về các field của TCP và UDP packet header trong Routing TCP/IP volumn 1.
Thân

Neo
19-10-2002, 07:57
Hì hì, tớ xin nói một chút về UDP:

UDP viết tắt của Unreliable Datagram Protocol mà bạn dịch là giao thức truyền không đáng tin cậy.
UDP là giao thức kết nối không định hướng (connectionless), không có sự kiểm tra và sửa lỗi.
Các chương trình sử dụng UDP phải tự cài đặt phần kiểm tra dữ liệu. Tuy nhiên, điểm mạnh của UDP là ở chỗ nhanh hơn TCP, sử dụng ít bộ nhớ cũng như thời gian của CPU hơn.

UDP, described in RFC 768, provides an end-to-end datagram (connectionless) service. Some applications, such as those that involve a simple query and response, are better suited to the datagram service of UDP because there is no time lost to virtual circuit establishment and termination. UDP's primary function is to add a port number to the IP address to provide a socket for the application.


0 7 8 15 16 23 24 31
+--------+--------+--------+--------+
| Source | Destination |
| Port | Port |
+--------+--------+--------+--------+
| | |
| Length | Checksum |
+--------+--------+--------+--------+
|
| data octets ...
+---------------- ...

The fields of a UDP datagram are:
 Source Port: Identifies the UDP port at the source side of the connection; use of this field is optional in UDP and may be set to 0.
 Destination Port: Identifies the destination port of the end-to-end connection.
 Length: Indicates the total length of the UDP datagram.
 Checksum: Provides rudimentary bit error detection for the datagram (including the header and data).


Vậy là biết Checksum làm gì rồi ha, bạn xem thêm RFC 768 có đính kèm ở đây, bạn tham khảo cho dzui :) (ftp://ftp.isi.edu/in-notes/rfc768.txt)

Sẵn đây nói luôn cho một số bạn chưa biết:
RFC là gì?
RFC là viết tắt của Request For Comment, là tập hợp những tài liệu, các khuyến nghị, đề xuất và những lời bình luận liên quan trực tiếp hoặc gián tiếp đến công nghệ, nghi thức mạng INTERNET. Các tài liệu RFC đựợc chỉnh sửa, thay đổi đến khi tất cả các kỹ sư thành viên của IETF(Internet Engineering Task Force) đồng ý và duyệt, sau đó những tài liệu này được xuất bản và được công nhận là 1 chuẩn, nghi thức cho Internet. http://www.ietf.org/rfc.html
Còn các tài liệu, khuyến nghị… liên quan đến viễn thông do liên minh viễn thông quốc tế ITU_T phụ trách.

Bri-Dennis
19-10-2002, 16:27
Hi all,

Theo mình thì với kiến thức của CCNA thì bạn nên tạm gác phần chi tiết kĩ thuật lại.

Ứng dụng chính của Check sum là có liên quan tới việc sử dụng hiệu quả Bandwidth, nhất là trên đường Wan.

Bạn cứ tưởng tượng nếu bạn biết một packet bị hư thì tại sao lại phải tốn bandwidth để chuyển packet đó qua một quãng đường dài để rồi thông tin trong packet đó lại không sử dụng được (trong khi bạn phải bỏ tiền ra để thuê đường truyền của wan). Đó chính là ứng dụng thực tế và hợp lý nhất của field checksum.

Cheers,

Neo
19-10-2002, 18:41
Bri-Dennis wrote: Theo mình thì với kiến thức của CCNA thì bạn nên tạm gác phần chi tiết kĩ thuật lại.

Tớ thì ngược với bạn đó, có nền tảng kỹ thuật vững chắc thì học CCNA rất dễ.
Mục đích là hướng cho mọi người học sâu, hiểu vấn đề chứ ko phải học rộng đâu bạn.

Bri-Dennis
20-10-2002, 01:46
Chào bạn,

Thực ra theo mình thì việc học chi tiết về kỹ thuật thì cũng cần thiết, nhưng mà cái đó cần có thời gian, để cho các bạn mới có khái niệm về các thuật ngữ trước đã, và hiểu được ứng dụng của các khái niệm đó nữa. Có thể bạn biết rõ nhó cấu tạo thế nào, hoạt động ra sao, nhưng mà không hiểu ứng dụng nó trong thực tế để làm gì thì những chi tiết bạn biết sẽ cũng chỉ để biết vậy thôi.

Mình xin lỗi Kamate vì tranh luận ra khỏi đề tài của bạn :)

yuna_admirer
20-10-2002, 13:21
NEO nói cũng đúng , mà Bri Dennis nói cũng không sai . Cái đó , những cái chi tiết nhỏ đó , bạn cũng cần nắm thật chắc để sau này học lên cao . Nhưng nếu học CCNA mà học chi tiết những cái như thế thì đôi khi bạn lại cảm thấy quá tải đó .

Có một câu nói vui , mà cũng rất đúng là : học xong CCNP rồi thì xem lại CCNA . Xem , nhưng với tinh thần khác với CCNA newbie . Mình cũng đã từng chứng kiến một người (my senior) rất giỏi (có lẻ cũng có trong diển đàng ấy - tuy ít lên tiếng ) đã có Written-CCIE hiện đang đợi thi LAB (chừng 2 tháng nửa) . Anh ấy nói là bây giờ anh phải đang coi lại những điều cơ bản nhất của CCNA một cách thật chi tiết ấy .

QoS
28-11-2002, 23:30
Bài viết được gửi bởi Neo
Hì hì, tớ xin nói một chút về UDP:

UDP viết tắt của Unreliable Datagram Protocol mà bạn dịch là giao thức truyền không đáng tin cậy.

[/i]

Trời!!!

UDP = User Datagram Protocol.

not.... Unreliable Datagram Protocol :-(.

Tên vậy ai còn dám dùng nữa. :-(.

Neo
29-11-2002, 11:59
UDP - User Datagram Protocol, (aka Unreliable Datagram Protocol), a protocol used for quick, connectionless transfers of information between machines. SNMP, NFS, talk, rwho, routed, and a variety of other protocols use UDP for many if not all of their communications.

Tên gọi đối với tôi không quan trọng, nhưng tôi thường dùng Unreliable Datagram Protocol vì nó bao hàm rộng hơn, lại hay dùng trong các sách chuyên nghành :)

Neo
29-11-2002, 12:14
Cám ơn bạn QoS
.
Hầu hết các bài viết của tôi trong diễn đàn đều..không chính xác do các lý do khách quan và chủ quan(gõ sai, lệch tư tưởng,...). Hơn nữa, khả năng của tôi cũng giới hạn nên không tránh khỏi sai sót.

Bạn vui lòng góp ý thêm về các bài viết của tôi nhé :D.

nguyen071
29-11-2002, 20:30
UDP - connectionless, TCP - connection oriented.
Mà em đâu có bao giờ thấy xài UDP đâu?!
Tự dưng nghĩ ra nhiều giao thức chi cho mệt vậy?

yuna_admirer
29-11-2002, 21:13
Sao lại không ? DNS sài UDP , TFTP xài UDP .
Thông thường UDP dùng với các ứng dụng vốn đã có cơ chế sửa lổi sẳn của nó .