您的位置:首页 > 新闻 > 会展 > 海外域名购买_无极电影网叛逆者_网络营销的认识与理解_电商网站设计模板

海外域名购买_无极电影网叛逆者_网络营销的认识与理解_电商网站设计模板

2024/12/23 15:31:37 来源:https://blog.csdn.net/qq_63781342/article/details/144650463  浏览:    关键词:海外域名购买_无极电影网叛逆者_网络营销的认识与理解_电商网站设计模板
海外域名购买_无极电影网叛逆者_网络营销的认识与理解_电商网站设计模板

目录

TCP协议

TCP协议的关键机制

序列号

确认应答

重传控制

流量控制

拥塞控制

TCP协议应用场景

TCP协议的报头

TCP协议工作原理

TCP三次握手-连接

TCP四次挥手-断开

UDP协议

UDP协议的应用场景

在线游戏

DNS查询

网络广播

流媒体应用

网络测量工具

视频会议与语音通话

网络管理与监控

物联网(IoT)设备

UDP协议的报头

二者的区别

是否面向连接

可靠性

服务实时性

连接模式

资源占用


TCP协议

TCP(传输层控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在网络OSI七层模型中,TCP工作在第四层——传输层,它的主要任务是提供一个可靠的、端对端的数据传输服务

TCP协议的关键机制

序列号

TCP协议为每一个传输的字节分配一个序列号,以便接收方能够按照正确的顺序重新组装数据。

确认应答

接收方在接收到数据后,会发送一个确认应答报文,告知发送方已经成功接收到指定序列号的数据。

重传控制

如果发送方在规定的时间内没有收到某个数据包的确认应答,则会认为该数据包已经丢失,并重新发送该数据包。

流量控制

TCP协议使用滑动窗口机制来控制发送方与接收方的数据传输速度,确保接收方能够及时处理接收到的数据而不会发生数据溢出。

拥塞控制

TCP协议通过慢启动、拥塞避免等机制来控制数据的发送速度,避免网络拥塞并提高网络的利用率。

TCP协议应用场景

TCP协议适用于对数据传输可靠性要求较高的场景,如网页浏览、文件传输等。在这些场景中,数据的完整性、顺序性和可靠性至关重要。TCP协议通过其可靠的传输机制和一系列的控制策略,确保了数据传输的可靠性和稳定性。

TCP协议的报头

  1. 源端口:
    • 占用2字节。
    • 标识发送方应用程序使用的端口号。
  2. 目的端口
    • 占用2字节。
    • 标识接收方应用程序使用的端口号,即发送方应用程序的目标端口号。
  3. 序列号
    • 占用4字节。
    • 标识TCP报文段中的第一个字节数据的序列号。TCP会对数据流中的每个字节数据进行编号,用于保证传输数据的可靠性和顺序性。
  4. 确认号
    • 占用4字节。
    • 标识接收方期望收到的下一个报文段的起始序号。只有标志位ACK为1时,确认号才有效。
  5. 数据偏移
    • 占用4位(0.5字节)。
    • 标识TCP报文段中报文数据的起始位置距离报文段开始位置有多远,即TCP的首部长度。单位是32位(4字节)。由于TCP报头固定长度为20字节,最大长度为60字节,因此数据偏移值最小是5(表示20字节的固定长度),最大是15(表示60字节的最大长度)。
  6. 保留
    • 占用6位(0.75字节)。
    • 预留给未来使用的一组控制位,目前该值设置为0。在RFC 9293版本中,保留位可能有所变化,但通常仍被设置为0。
  7. 标志位
    • 占用8位(1字节),但通常只使用其中的几位。
    • 包括多个标志位,每个标志位占用1位,用于控制TCP的拥塞、连接的建立、管理和关闭等。常见的标志位有:
      • URG:紧急标志字段,用于指示紧急指针字段是否有效。
      • ACK:确认标志字段,用于指示确认字段是否有效。
      • PSH:急迫标志字段,用于要求马上发送数据。
      • RST:复位标志字段,用于对本TCP连接进行复位,还可以用于拒绝非法的数据段或数据连接。
      • SYN:同步标志字段,用于发起连接请求,携带SYN标志的报文段被称为同步报文段。
      • FIN:终止标志字段,用来释放TCP连接,携带FIN标志的报文段被称为结束报文段。
  8. 窗口大小
    • 占用2字节。
    • 通过窗口大小字段的值告知对方自己接收窗口的大小,用于实现TCP的流量控制和差错恢复。
  9. 校验和
    • 占用2字节。
    • 用于校验TCP报文段头部、用户数据以及一个伪TCP头部的正确性。如果校验失败,则认为数据在传输过程中受损。
  10. 紧急指针
    • 占用2字节。
    • 指出本报文段中紧急数据的字节位置,只有在URG=1时才有效。紧急数据会放在TCP报文段数据部分的最前端,紧急指针用于标识紧急数据在TCP报文段数据部分的结束位置。

TCP协议工作原理

TCP三次握手-连接

  • 第一次握手:客户端向服务器发送一个SYN(同步序列编号)报文,并等待服务器确认。
  • 第二次握手:服务器收到SYN报文后,会发送一个SYN-ACK(同步序列编号-确认)报文作为响应,表示同意建立连接,并等待客户端确认。
  • 第三次握手:客户端收到SYN-ACK报文后,会发送一个ACK(确认)报文,表示已确认连接建立。此时,双方进入ESTABLISHED(已建立连接)状态,可以进行数据传输。
TCP四次挥手-断开

  • 第一次挥手:客户端或服务器任一端发送一个FIN(结束)报文,表示希望断开连接。
  • 第二次挥手:对方收到FIN报文后,会发送一个ACK报文作为响应,表示已确认接收到断开连接的请求。
  • 第三次挥手:如果之前还有未传输完的数据,则继续传输。当所有数据都传输完毕后,发送FIN报文的一方再次发送一个FIN报文,表示已没有数据需要传输。
  • 第四次挥手:对方收到这个FIN报文后,发送一个ACK报文作为响应,表示已确认接收到断开连接的最终请求。此时,双方连接完全断开。

UDP协议

UDP用户数据报协议是OSI参考模型中一种无连接的传输层协议,具有低延迟和高效的特性,它适用于许多实时和高性能的应用场景。

UDP协议的应用场景

在线游戏

尤其是实时多人在线游戏,UDP协议能够快速处理海量数据包,确保游戏的流畅进行。

DNS查询

DNS服务基于UDP协议,能够快速解析域名。

网络广播

UDP支持广播功能,可以迅速、高效地传达信息给多个接收者。

流媒体应用

如Spotify和某些直播服务,使用UDP来确保音频和视频的流畅传输。尽管UDP不保证数据的可靠性,但对于实时性较为重要的流媒体应用而言,这是可以接受的。

网络测量工具

如iperf,使用UDP进行网络性能测试。由于UDP的简单和快速特性,它适用于需要快速传输大量数据的性能测试场景。

视频会议与语音通话

如Zoom、Skype、WhatsApp、Viber等,使用UDP进行实时音频和视频传输,确保最低的延迟。

网络管理与监控

如DHCP(动态主机配置协议)、SNMP(简单网络管理协议)等,通过UDP进行信息传递。

物联网(IoT)设备

许多IoT应用使用UDP来传输传感器数据,以减少延迟和节省带宽。

UDP协议的报头

  1. 源端口号
    • 占用2个字节。
    • 表示发送数据报的应用程序所在的端口。
    • 用于标识发送数据报的应用程序,以便接收方能够知道数据是由哪个应用程序发送的。
    • 在需要对方回信时,接收方可以使用这个源端口号作为目的端口号来回复数据。
  2. 目的端口号
    • 占用2个字节。
    • 表示接收数据报的应用程序所在的端口。
    • 用于确定数据报应该交给哪个应用程序处理。
    • 在终点交付报文时,这个字段是必须要使用的。
  3. 数据报长度
    • 占用2个字节。
    • 表示整个UDP数据报的长度,包括UDP头部和数据部分。
    • 这个字段告诉接收方整个数据报的大小,以便接收方能够正确地解析和处理数据报。
    • 最小值是8字节,因为UDP头部的长度固定为8字节。理论上,数据报长度最大可以达到65535字节(包括报文头在内),但实际使用中可能会受到环境限制。
  4. 校验和
    • 占用2个字节。
    • 用于验证UDP报文在传输过程中是否发生了错误。
    • 发送方在发送数据报之前会计算校验和,并将其放在这个字段中。
    • 接收方在收到数据报后,会重新计算校验和,并与发送方提供的校验和进行比较。
    • 如果两者不一致,说明数据报在传输过程中发生了错误,接收方可以选择丢弃这个数据报。

二者的区别

是否面向连接

TCP面向连接,UDP是无连接的
TCP在开始数据传输之前要经过三次握手,UDP却不需要任何准备即可进行数据传输,因此UDP不会引入建立连接的时延

可靠性

TCP提供可靠的服务,UDP尽最大努力交付,即不保证可靠交付
TCP传输数据具有重传机制,如果在传输数据的过程中发生丢包事件,发送方会重传丢失的分组,所以TCP保证发送的分组一定能到达接收方,因此是可靠的。
UDP在应用层得到数据后,附加上用于多路复用/多路分解服务的源端口号和目的端口号字段后,直接将形成的报文段传输给网络,而网络层是不可靠的,因而不能保证数据传输的可靠性。(可以在应用层实现UDP数据传输的可靠性)

服务实时性

UDP具有较好的实时性,工作效率比TCP高
UDP在传输数据前不需要建立连接,没有繁琐的握手过程,没有复杂的拥塞控制算法和重传机制,所以UDP相对于TCP具有较高的效率。

连接模式

每一条TCP连接只能是点到点,UDP支持一对一、一对多、多对多

资源占用

TCP对系统资源要求较多,UDP对系统资源要求较少
TCP建立连接后,会为连接分配发送缓存和接受缓存,维护拥塞控制变量以及序号和确认号的参数,因此需要占用较多的系统资源。而UDP是无连接的,对系统资源要求较少

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com