网络技术协议-弹簧抗疲劳试验机技术协议
在使用TCP/IP架构的网络通信中,这两种协议的使用频率在Internet层仅次于IP协议
TCP/IP架构中应用层的一些协议需要使用TCP在传输层提供的服务
1. UCP(无连接)& TCP(面向连接) 1.1、UDP
如下图,他们在传输层使用UDP协议进行通信,纵坐标是时间
使用UDP协议的通信双方可以随时发送数据
1.2、TCP
使用TCP协议的双方在通信前必须使用“三消息握手”建立TCP连接
TCP连接建立成功后才能进行数据传输
数据传输结束后,必须使用“四包挥手”释放TCP连接
三包握手和四包挥手属于TCP连接管理。 过程比较复杂。 不了解的朋友可以看看之前的文章,这里就不详细解释了。
注意:这里的逻辑连接是指逻辑连接关系,不是物理连接
总之
相关视频推荐
通过10道经典网络面试题,搞懂tcp/ip协议栈所有知识点
10篇网络八卦文,每一篇都非常经典,让你在面试中充满力量
《Tcpip详解第一卷》:150行代码开启协议栈实现篇章
学习地址:c/c++ linux服务器开发/后台架构师
需要C/C++ Linux服务器架构师学习资料加qun812855908获取(资料包括C/C++、Linux、golang技术、Nginx、ZeroMQ、MySQL、Redis、fastdfs、MongoDB、ZK、流媒体、CDN、P2P、K8S、Docker、 TCP/IP、协程、DPDK、ffmpeg等),免费分享
2、UDP(单、多、广播)/TCP(单播)2.1、UDP
如下图,四台主机使用UDP协议进行通信
即UDP支持单播、组播、广播
2.2、TCP
使用TCP协议的双方在数据传输前必须使用“三消息握手”建立TCP连接
通信双方使用这个基于TCP连接的可靠通道进行通信
的
很明显,TCP只支持单播
3. 两种协议对应用数据包的处理 3.1. UDP(面向应用程序的数据包)
发送方的应用进程将应用层的消息传递给传输层的UDP
UDP直接在应用层报文中加上UDP报头网络技术协议,使其成为UDP用户数据报,然后发送
为简单起见,忽略传输层以下各层的处理
接收方UDP收到UDP用户数据报后,去掉UDP报头,将应用层报文投递给应用进程
也就是说,UDP既不合并也不拆分应用层下发的数据包,而是保留了这些数据包的边界
3.2、TCP(面向字节流)发送缓冲区/接收缓冲区
发送方的TCP把应用进程投递的数据块仅仅看作是一系列非结构化的字节流
TCP并不知道这些要传输的字节流的含义,只是对它们进行编号,存放在自己的发送缓冲区中
TCP根据发送策略,从发送缓冲区中提取一定数量的字节,构造一个TCP报文段并发送
接收方的 TCP网络技术协议,
TCP不保证接收方应用进程收到的数据块与发送方发送的数据块有对应的大小关系
例如:发送方的应用进程向发送方的TCP移交了总共10 10 10个数据块
但是receiver应用进程收到的字节流必须是\color{red}必须和sender应用进程发送的字节流完全一样
当然,接收方的应用进程必须能够识别接收到的字节流,并将其还原为有意义的应用层数据
也就是说,TCP是面向字节的
阐明:
实际上,一个 TCP 段包含数千个字节是很常见的。 4. UDP(不可靠)和 TCP(可靠) 4.1。 UDP协议
我们知道,TCP/IP架构中Internet层的上层提供了一种无连接、不可靠的传输服务。
当传输层使用UDP协议时,记住上层也提供无连接和不可靠的传输服务
发送方向接收方发送UDP用户数据报,用户数据报在传输过程中受到干扰,导致误码
接收方UDP可以通过数据报头中校验和字段的值来检查位错误的发生
如果数据报被 Internet 中的路由器丢弃,则发送方向接收方发送 UDP 数据报
因为UDP向上层提供了一种无连接、不可靠的传输服务
基于UDP的特点,UDP适用于实时应用(如:IP电话、视频会议等)
4.2、TCP
虽然Internet层的IP协议向上层提供了一种无连接、不可靠的传输服务
但只要传输层使用TCP协议,就可以向上层提供面向连接的可靠传输服务
无传输错误(位错误、丢失、乱序、重复)
TCP适用于需要可靠传输的应用,如文件传输
5、两个header的比较 5.1、UDP
UDP 用户数据报的报头由两部分组成:报头和数据负载
头部格式如下,只有4 4 4个字段,每个字段长度为2 2 2个字节
由于UDP不提供可靠的传输服务,它只是在Internet层的基础上增加端口来区分应用进程。
5.2、TCP
一个 TCP 报文段由两部分组成:报头和数据负载
报头格式如下,比UDP用户数据报的报头复杂,
它的最小长度是 20 20 20 字节,最大长度是 60 60 60 字节
头部字段较多,头部长度比较长
6.总结