首页 > 其他分享 >TCP的校验和与编号

TCP的校验和与编号

时间:2024-06-06 18:55:11浏览次数:18  
标签:接收端 校验 TCP 发送 编号 序列号 数据

TCP的校验和与编号

TCP校验和

特点:

  1. 端到端校验:校验和覆盖TCP首部和TCP数据,确保从发送端到接收端的数据完整性。
  2. 检错能力:TCP校验和具有较强的检错能力,可以检测出在传输过程中发生的位错误。
  3. 伪首部:在计算TCP校验和时,会加上一个12字节的伪首部,包含源IP地址、目的IP地址、保留字节(置0)、传输层协议号(TCP是6)和TCP报文长度(报头+数据)。伪首部的加入增加了TCP校验和的检错能力。

TCP编号(序列号)

作用:

  1. 数据分段与重组:当一次发送的数据长度超过设定的MSS(最大段大小)时,数据会被分成多个带有TCP协议头的段分别发送出去。接收端需根据每个TCP数据段头部的序列号来重组数据。
  2. 数据的可靠性传输:接收端在收到发送端的数据后,通过ACK(确认)返回接收数据的序列号,这样发送端就可以确认数据已抵达接收端。
  3. 流量控制:TCP通过滑动窗口来进行流量控制。通信双方各自维护自身的发送和接收滑动窗口大小,并将自身接收滑动窗口大小和序列号发送给对端,让对端知道当前最大可以发送的数据量。
  4. 防止重复报文:由于TCP的序列号是由32位表示,所以每2^32个字节,就会产生序列号回绕,再次从0开始。这种设计可以防止因序列号重复而导致的混淆。

标签:接收端,校验,TCP,发送,编号,序列号,数据
From: https://www.cnblogs.com/CamelliaWY/p/18235866

相关文章

  • 通过端口复用直接进行正向tcp代理--win会被识别为病毒
    学习项目,win会被识别为病毒,关闭病毒和威胁防护,参考https://blog.csdn.net/u_say2what/article/details/134669122main.gopackagemainimport( "context" "fmt" _"golang.org/x/sys/unix" "golang.org/x/sys/windows" "io" "......
  • JAVAEE值网络编程(2)_TCP流套接字及通信模型、TCP网络编程及代码实例
    前言 在上一节内容中,我们介绍了什么是套接字,以及使用UDP数据报套接字网络编程,最后我们还介绍了Java数据报套接字通信模型以及相关代码实例。在这一节我们将会介绍TCP流套接字编程。一、流套接字及通信模型1.1TCP套接字 TCP,即TransmissionControlProtocol(传输控制......
  • 校验和与编号
    校验和与编号校验和(Checksum)和编号(Numbering)是两种不同的概念,它们在数据处理和通信中扮演着不同的角色。在实际应用中,校验和和编号可以结合使用,以提高数据的完整性和可靠性。例如,在TCP/IP协议中,数据包不仅包含序列号以确保顺序,还包含校验和以检测数据损坏。校验和(Checksum)校验......
  • TCP通信——基于C语言连接
    设计两个程序分别作为服务器和客户端,互相进行连接服务器/*************************************************************************************************************************** filename: tcp_server.c* author :Dazz* date :2024/6/5* functio......
  • 【PB案例学习笔记】-03用户名密码校验
    写在前面这是PB案例学习笔记系列文章的第3篇,该系列文章适合具有一定PB基础的读者。通过一个个由浅入深的编程实战案例学习,提高编程技巧,以保证小伙伴们能应付公司的各种开发需求。文章中设计到的源码,小凡都上传到了gitee代码仓库https://gitee.com/xiezhr/pb-project-example.gi......
  • 怎样给文件夹中的文件依次编号?分享四个方法
    在日常生活和工作中,我们经常需要对文件夹中的文件进行编号,以便更好地管理和查找。给文件编号的过程虽然看似简单,但实际上需要一定的技巧和方法。我们需要明确文件编号的目的。一般来说,文件编号的主要目的是为了方便检索和查找,同时也能够确保文件的顺序和完整性。因此,在进行文件......
  • 使用 Winsock 实现简单的 TCP 服务器和客户端教程
    使用Winsock实现TCP服务器和客户端在这篇博客中,我们将介绍如何使用WinsockAPI在Windows上实现简单的TCP服务器和客户端。Winsock是Windows套接字扩展,提供了网络编程所需的API。通过这两个示例代码,我们将展示如何初始化Winsock库、创建套接字、进行连接以......
  • TCP协议
    目录传输控制协议(TCP)TCP协议的特点TCP协议的可靠性TCP的连接机制传输控制协议(TCP) 传输控制协议(TCP)用于作为包交换计算机通信网络中的主机以及此类网络的互连系统中的高度可靠的主机对主机协议。TCP协议的特点 TCP协议是面向连接的,端到端可靠的协议,该协议被设计适应支持多网......
  • tcp客户端通信
    网络编程客户端通信代码/***************************************************************************************filename:1.c*author: [email protected]*date:2024/06/05*function: tcp客户端通信*note :none*Copy......
  • http1.1 的默认长连接 Connection: keep-alive 与 TCP KeepAlive 之间区别
     HTTP长连接,也称为HTTP持久连接(HTTPPersistentConnection)或HTTP连接重用,是一种在HTTP协议中实现的机制。在传统的HTTP通信中,每个HTTP请求和响应都会伴随着TCP连接的建立和关闭,这在高并发场景下会增加网络开销和延迟。而HTTP长连接则允许客户端和服务器在完成......