志在指尖
用双手敲打未来

tcp udp(tcp udp区别详解)

tcpudp

TCP和UDP协议是TCP/IP协议的中心。TCP传输协议:TCP协议是一TCP(TransmissionControlProtocol)和UDP(UserDatagramProtocol)协议归于传输层协议。其间TCP供给IP环境下的数据牢靠传输,它供给的服务包含数据流传送、牢靠性、有效流控、全双工操作和多路复用。通过面向衔接、端到端和牢靠的数据包发送。通俗说,它是事先为所发送的数据拓荒出衔接好的通道,然后再进行数据发送;而UDP则不为IP供给牢靠性、流控或过失康复功能。一般来说,TCP对应的是牢靠性要求高的使用,而UDP对应的则是牢靠性要求低、传输经济的使用。

tcp

tcpudp区别详解

TCP协议与UDP协议的差异
首要咱们弄清楚,TCP协议和UDP协议与TCP/IP协议的联系,许多人犯糊涂了,一直都是说TCP协议与UDP协议的差异,我觉得这是没有从本质上弄清楚网络通讯!
TCP/IP协议是一个协议簇。里面包含许多协议的,UDP仅仅其间的一个,之所以命名为TCP/IP协议,因为TCP、IP协议是两个很重要的协议,就用他两命名了。
TCP/IP协议集包含应用层,传输层,网络层,网络拜访层。
其间应用层包含:
1、超文本传输协议(HTTP):万维网的基本协议;
2、文件传输(TFTP简单文件传输协议);
3、长途登录(Telnet),供给长途拜访其它主机功用,它允许用户登录internet主机,并在这台主机上执行指令;
4、网络办理(SNMP简单网络办理协议),该协议供给了监控网络设备的办法,以及配置办理,计算信息收集,功能办理及安全办理等;
5、域名系统(DNS),该系统用于在internet中将域名及其公共广播的网络节点转换成IP地址。
其次网络层包含:
1、Internet协议(IP);
2、Internet操控信息协议(ICMP);
3、地址解析协议(ARP);
4、反向地址解析协议(RARP)。
最后说网络拜访层:
网络拜访层又称作主机到网络层(host-to-network),网络拜访层的功用包含IP地址与物理地址硬件的映射,以及将IP封装成帧.基于不同硬件类型的网络接口,网络拜访层定义了和物理介质的衔接.当然我这儿说得不行完善,TCP/IP协议原本便是一门学问,每一个分支都是一个很杂乱的流程,但我信任每位学习软件开发的同学都有必要去仔细了解一番。
下面侧重解说一下TCP协议和UDP协议的差异
TCP(TransmissionControlProtocol,传输操控协议)是面向衔接的协议,也便是说,在收发数据前,有必要和对方树立牢靠的衔接。一个TCP衔接有必要要经过三次“对话”才干树立起来,其间的进程非常杂乱,只简单的描绘下这三次对话的简单进程:
1)主机A向主机B宣布衔接恳求数据包:“我想给你发数据,能够吗?”,这是第一次对话;
2)主机B向主机A发送同意衔接和要求同步(同步便是两台主机一个在发送,一个在接纳,协调作业)的数据包:“能够,你什么时候发?”,这是第2次对话;
3)主机A再宣布一个数据包承认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。
三次“对话”的目的是使数据包的发送和接纳同步,经过三次“对话”之后,主机A才向主机B正式发送数据。
TCP三次握手进程
第一次握手:主机A经过向主机B发送一个含有同步序列号的标志位的数据段给主机B,向主机B恳求树立衔接,经过这个数据段,主机A告知主机B两件事:我想要和你通讯;你能够用哪个序列号作为起始数据段来回应我。
第2次握手:主机B收到主机A的恳求后,用一个带有承认应对(ACK)和同步序列号(SYN)标志位的数据段呼应主机A,也告知主机A两件事:我现已收到你的恳求了,你能够传输数据了;你要用那个序列号作为起始数据段来回应我
第三次握手:主机A收到这个数据段后,再发送一个承认应对,承认已收到主机B的数据段:”我已收到回复,我现在要开端传输实际数据了,这样3次握手就完结了,主机A和主机B就能够传输数据了。
3次握手的特色
没有应用层的数据,SYN这个标志位只要在TCP树立衔接时才会被置1,握手完结后SYN标志位被置0。
TCP树立衔接要进行3次握手,而断开衔接要进行4次
第一次:当主机A完结数据传输后,将操控位FIN置1,提出中止TCP衔接的恳求;
第2次:主机B收到FIN后对其作出呼应,承认这一方向上的TCP衔接将封闭,将ACK置1;
第三次:由B端再提出反方向的封闭恳求,将FIN置1;
第四次:主机A对主机B的恳求进行承认,将ACK置1,双方向的封闭完毕.。
由TCP的三次握手和四次断开能够看出,TCP运用面向衔接的通讯方法,大大提高了数据通讯的牢靠性,使发送数据端和接纳端在数据正式传输前就有了交互,为数据正式传输打下了牢靠的基础。
名词解释
1、ACK是TCP报头的操控位之一,对数据进行承认。承认由目的端宣布,用它来告知发送端这个序列号之前的数据段都收到了。比方承认号为X,则标明前X-1个数据段都收到了,只要当ACK=1时,承认号才有效,当ACK=0时,承认号无效,这时会要求重传数据,确保数据的完整性。
2、SYN同步序列号,TCP树立衔接时将这个方位1。
3、FIN发送端完结发送使命位,当TCP完结数据传输需要断开时,,提出断开衔接的一方将这方位1。
TCP的包头结构:
源端口16位;
目标端口16位;
序列号32位;
回应序号32位;
TCP头长度4位;
reserved6位;
操控代码6位;
窗口巨细16位;
偏移量16位;
校验和16位;
选项32位(可选);
这样咱们得出了TCP包头的最小长度,为20字节。
UDP(UserDataProtocol,用户数据报协议)
1、UDP是一个非衔接的协议,传输数据之前源端和终端不树立衔接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的才能和传输带宽的约束;在接纳端,UDP把每个音讯段放在行列中,应用程序每次从行列中读一个音讯段。
2、由于传输数据不树立衔接,因而也就不需要保护衔接状态,包含收发状态等,因而一台服务机可同时向多个客户机传输相同的音讯。
3、UDP信息包的标题很短,只要8个字节,相对于TCP的20个字节信息包的额外开支很小。
4、吞吐量不受拥堵操控算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机功能的约束。
5、UDP运用尽最大努力交给,即不确保牢靠交给,因而主机不需要维持杂乱的链接状态表(这儿面有许多参数)。
6、UDP是面向报文的。发送方的UDP对应用程序交下来的报文,在增加首部后就向下交给给IP层。既不拆分,也不兼并,而是保存这些报文的边界,因而,应用程序需要选择合适的报文巨细。
咱们常常运用“ping”指令来测试两台主机之间TCP/IP通讯是否正常,其实“ping”指令的原理便是向对方主机发送UDP数据包,然后对方主机承认收到数据包,假如数据包是否到达的音讯及时反应回来,那么网络便是通的。
ping指令是用来勘探主机到主机之间是否可通讯,假如不能ping到某台主机,标明不能和这台主机树立衔接。ping指令是运用IP和网络操控信息协议(ICMP),因而没有涉及到任何传输协议(UDP/TCP)和应用程序。它发送icmp回送恳求音讯给目的主机。
ICMP协议规定:目的主机有必要回来ICMP回送应对音讯给源主机。假如源主机在一定时间内收到应对,则认为主机可达。
UDP的包头结构:
源端口16位
目的端口16位
长度16位
校验和16位
小结TCP与UDP的差异:
1、基于衔接与无衔接;
2、对系统资源的要求(TCP较多,UDP少);
3、UDP程序结构较简单;
4、流形式与数据报形式;
5、TCP确保数据正确性,UDP可能丢包;
6、TCP确保数据顺序,UDP不确保。

未经允许不得转载:IT技术网站 » tcp udp(tcp udp区别详解)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载