TCP与UDP区别
TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。
UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快
Overview
TCP (Transmission Control Protocol) is the most commonly used
protocol on the Internet. The reason for this is because TCP offers
error correction. When the TCP protocol is used there is a
"guaranteed delivery." This is due largely in part to a method
called "flow control." Flow control determines when data needs to
be re-sent, and stops the flow of data until previous packets are
successfully transferred. This works because if a packet of data is
sent, a collision may occur. When this happens, the client
re-requests the packet from the server until the whole packet is
complete and is identical to its original.
UDP (User Datagram Protocol) is anther commonly used protocol on
the Internet. However, UDP is never used to send important data
such as webpages, database information, etc; UDP is commonly used
for streaming audio and video. Streaming media such as Windows
Media audio files (.WMA) , Real Player (.RM), and others use UDP
because it offers speed! The reason UDP is faster than TCP is
because there is no form of flow control or error correction. The
data sent over the Internet is affected by collisions, and errors
will be present. Remember that UDP is only
concerned with speed. This is the main reason why streaming media
is not high quality.
On the contrary, UDP has been implemented among some trojan horse
viruses. Hackers develop scripts and trojans to run over UDP in
order to mask their activities. UDP packets are also used in DoS
(Denial of Service) attacks. It is important to know the difference
between TCP port 80 and UDP port 80. If you don't know what ports
are go here.
Frame Structure
As data moves along a network, various attributes are added to
the file to create a frame. This process is called
encapsulation. There are different methods of
encapsulation depending on which protocol and topology are being used. As a result, the
frame structure of these packets differ as well. The images below
show both the TCP and UDP frame structures.
TCP FRAME STRUCTURE
UDP FRAME STRUCTURE
The payload field contains the actually data. Notice that
TCP has a more complex frame structure. This is largely due to the
fact the TCP is a connection-oriented protocol. The extra fields
are need to ensure the "guaranteed delivery" offered by TCP.
UDP
与 TCP 的主要区别在于 UDP 不一定提供可靠的数据传输。事实上,该协议不能保证数据准确无误地到达目的地。UDP
在许多方面非常有效。当某个程序的目标是尽快地传输尽可能多的信息时(其中任意给定数据的重要性相对较低),可使用 UDP。ICQ
短消息使用 UDP 协议发送消息。
TCP
ACK)。如果在某个时限内未收到相应的
ACK,将重新传送数据包。如果网络拥塞,这种重新传送将导致发送的数据包重复。但是,接收计算机可使用数据包的序号来确定它是否为重复数据包,并在必要时丢弃它。
TCP与UDP的选择