天使开杀戒
发表于 2006-9-24 23:58:00
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?快速注册
x
在现今的中控系统或者信息传输过程中,用于信号传输的协议非常多,例如串口、232、485、IR还有TCP与UDP,种类繁多,让一些非专业或者接触少的人只是认识他,而不清楚它们之间有什么区别,今天我们就来简单介绍TCP与UDP和它们之间的区别:
3 i! H1 m( d1 i% N' Q/ h+ k2 I: Y4 }0 n' G2 |- U
TCP:TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。
6 W8 o: r" B' j' G8 d& E! b; j" l8 }% T
当应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,TCP则把数据流分割成适当长度的报文段。之后TCP把数据包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。
[; l) \- Y# i3 }$ t/ ?, m+ }; P3 j! [- a& \* r9 L
, c5 e% ]( B7 a& ?
0 a3 X5 n' Q1 w7 D1 d) d% rTCP为了保证报文传输的可靠,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。
4 Z) B% O! ^( G8 j
: l- J* t! H7 z
2 }1 w- ~; d: e( z
$ M2 b+ N8 V; R, [+ w; z- y) h5 v0 `4 M* z
l 在数据正确性与合法性上,TCP用一个校验和函数来检验数据是否有错误,在发送和接收时都要计算和校验;同时可以使用md5认证对数据进行加密。, U Z1 _) [% e9 H* H4 m/ w
X- D1 {) ?5 }) S
l 在保证可靠性上,采用超时重传和捎带确认机制。) k3 y8 C0 k+ H' E5 }5 o* |
/ Z8 r! k9 i4 E& I* `. Ql 在流量控制上,采用滑动窗口协议,协议中规定,对于窗口内未经确认的分组需要重传。. D5 R# ^7 n6 n5 @, t; C7 w
' K" P" L& d \; o UDP : UDP是User Datagram Protocol的简称,协议全称是用户数据报协议,是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。+ B0 J( B& L1 T7 ~' }' o( e/ g
" j& o% i1 A, S- ]4 n+ \5 l& c, ]8 w, y, i% T) L
$ X+ V+ C/ R, a3 X) j# P$ }3 u( y
UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。与所熟知的TCP(传输控制协议)协议一样,UDP协议直接位于IP(网际协议)协议的顶层。根据OSI(开放系统互连)参考模型,UDP和TCP都属于传输层协议。UDP协议的主要作用是将网络数据流量压缩成数据包的形式。一个典型的数据包就是一个二进制数据的传输单位。每一个数据包的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。
0 H. r5 m; ], V! b8 B
6 D2 H1 v- e8 F: N3 d k9 h$ U. a! H$ u1 [5 r, |
! d) b/ C9 ^ r2 t. c( f5 f/ U5 d
TCP与UDP的区别:' Z" f Z1 \- T* C
; f3 N& s( |6 C1 w) k! @5 P9 j
! M/ ?' t6 ?# A
, `6 I3 c4 E# F; S* X& u
简单点说就是在传输过程中TCP的连接是双向连接的,就是面向连接,传输可靠性高,适用于传输大量数据的情况下,但是传输速度慢;而UDP的连接是单向传输,只能发送出去,也就是面向非连接,传输数据的可靠性也低,一般应用于少量数据的发送,但是传输速度快,所以,在选用TCP与UDP时,要根据自己的实际情况谨慎选择。+ P8 o1 E3 G$ x0 C
; i3 f/ m' S h- h
|
|
|
|
|