网络应用基础 ——(2023新星计划文章二)
一,TCP/UDP报头
1.1TCP报文头部详解
Source port :源端口号与Destination port 目标端口号: 在TCP(传输控制协议)协议中,源端口和目标端口字段用于标识通信会话的端点。 (1)源端口是一个16位字段,用于标识本地主机上的发送应用程序或进程。它由发送主机选择,并由接收主机用于将响应数据包发送回正确的端口。 (2)目标端口是一个16位字段,用于标识远程主机上的接收应用程序或进程。它由发送主机指定,并由接收主机用于将传入数据包定向到正确的应用程序或进程。 (3)源端口和目标端口字段 一起形成一个唯一的套接字(Socket) ,它标识两个主机之间特定的通信会话。源端口和目标端口的组合允许多个应用程序或进程在同一主机上与不同的端点建立多个通信会话。Sequence number 和Acknowledge numbe : 在TCP协议中,序列号和确认号字段用于提供可靠的数据传输。发送方可以根据确认号确定接收方已经成功接收到哪些数据,从而可以重传丢失的数据。接收方可以使用序列号来将接收到的数据按正确的顺序进行组装,从而保证数据的完整性和正确性。 (1)Sequence number:TCP链接中的每个报文都有序列号 。序列号是一个32位的字段,用于标识TCP报文段中第一个字节的序列号。由于TCP报文段可能会分成多个IP数据包进行传输,序列号可以用于确定报文段中的字节在数据流中的顺序。 (2)Acknowledge numbe:,用于对收到的报文的确认的确认号 。确认号是一个32位的字段,用于指示期望接收的下一个字节的序列号。当接收方成功接收到一个TCP报文段时,它会发送一个确认报文段回到发送方,其中确认号字段被设置为已接收的最大序列号加1,表示下一个期望接收的字节的序列号。 Window Size : 用于窗口TCP的流量控制 ,根据接收者能力进行调节,这个值表明当前接受端可接受的最大数据总数(字节),如果没有这个流量控制,传输方会尽最大能力传输数据,如果接收方一次不能接受完所有数据就会导致丢包,还需要重新传送。Checksum 字段: 在计算机网络中,Checksum(校验和)是一种用于检测数据传输中错误的技术。在TCP协议中,Checksum字段用于检测TCP报文段中的错误。 (1)Checksum字段是一个16位的字段,用于存储计算出的校验和值。发送方在发送TCP报文段时,计算校验和并将其添加到Checksum字段中。接收方在接收到TCP报文段后,也会计算校验和并将其与Checksum字段中的值进行比较,以检测是否存在数据传输中的错误。 (2)计算校验和的方法是将TCP报文段中的每个16位字(包括报文头和报文数据)两两相加,得到一个总和。如果总和大于16位,则将低16位与高16位相加,直到得到一个16位的结果。然后将这个16位结果取反,得到的值就是校验和。 (3)通过Checksum字段,TCP协议可以检测到数据传输中的错误,例如数据丢失、损坏或被篡改等。如果接收方检测到Checksum值与计算得到的校验和值不同,则说明TCP报文段中存在错误,接收方会丢弃这个报文段并要求发送方重新发送数据。 因此,Checksum字段是TCP协议实现可靠数据传输的重要组成部分之一。
1.2滑动窗口
概念 :滑动窗口是TCP协议中用于流量控制和拥塞控制的机制之一,它允许发送方和接收方之间的通信进行自适应调整,以适应网络条件的变化。作用 : (1)在TCP协议中,发送方和接收方都维护一个滑动窗口,用于控制数据的传输。发送方的滑动窗口表示可以发送的数据量,而接收方的滑动窗口表示可以接收的数据量。这个滑动窗口大小可以根据网络条件进行动态调整。 (2)发送方根据接收方的滑动窗口大小来发送数据,确保不会发送超过接收方缓冲区大小的数据。接收方通过发送确认消息来告知发送方它的滑动窗口大小,从而通知发送方可以发送多少数据。 (3)通过滑动窗口,TCP协议可以自适应地调整数据的传输速率,以适应网络的拥塞和性能变化。如果网络拥塞,接收方可以减小滑动窗口的大小,从而减少发送方的数据量,避免网络拥塞加剧。如果网络条件良好,滑动窗口可以增大,从而提高数据传输速率。
1.3UDP报文头部详解
二, TCP三次握手
三,
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/492965.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!