首页 > 其他分享 >TCP协议

TCP协议

时间:2024-06-05 23:44:00浏览次数:21  
标签:协议 接收端 校验 TCP 发送 数据

目录

传输控制协议(TCP)

	传输控制协议(TCP)用于作为包交换计算机通信网络中的主机以及此类网络的互连系统中的高度可靠的主机对主机协议。

TCP协议 的特点

	TCP协议是面向连接的,端到端可靠的协议,该协议被设计适应支持多网络应用的分层层次协议。
	TCP协议是基于一对一通信的,不提供广播服务和组播服务

TCP协议的可靠性

	TCP协议必须恢复来自互联网通信系统的被损坏、丢失、复制或无序交付的数据,TCP协议传输数据时会为每个字节分配一个序列号,通过这个序列号就可以判断数据是否重复到达以及数据是否丢失,还可以通过序列号对数据进行排序。
	接收端每次接收到数据之后必须发送确认应答信号(ACK),若在超时时间内发送端没有接受到由接收端发送的应答信号(ACK),则TCP协议会认为数据没有送达,发送端会重新发送数据。
	判段数据是否损坏的方式:给每个数据段增加校验和,接收端通过数据段中的校验和进行校验,校验失败进行丢包,故此也不会发送ACK,发送端会重新传输数据段。

TCP的连接机制

	连接机制采用了三次握手机制:
	TCP的三次握手是在客户端调用connect()期间和服务器调用accept()期间才会发生的,而且是accept()优先于connect()调用。
	握手流程如下图:

image

标签:协议,接收端,校验,TCP,发送,数据
From: https://www.cnblogs.com/LvYaoNan/p/18234165

相关文章

  • 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长连接则允许客户端和服务器在完成......
  • TCP传输协议
    TCP传输协议TCP是一种面向连接的传输协议,提供可靠的数据传输服务。它通过一系列机制确保数据从发送方准确无误地传送到接收方。实现可靠性的原理1、三次握手建立连接第一次握手:客户端发送一个SYN(同步序列号)包给服务器,表明客户端希望建立连接。第二次握手:服务器接收到SYN包,发......
  • 网络编程练习题---利用TCP协议完成客户端与服务端点对点通信
    目录题目一解析代码实现题目二:解析代码实现tcp_client.ctcp_server.c题目一设计程序实现解析www.baidu.com的域名,把获取到的百度的IP地址全部输出到终端并验证是否正确。解析主机打算响应某个网站的网络请求,但是只知道网站域名是无法通信的,需要对域名进行地址解析,得到网站的公......
  • 基于c语言的TCP客户端、服务端基础代码
    基于c语言的TCP客户端、服务端基础代码基本流程:客户端:#include<sys/socket.h>#include<netinet/in.h>#include<arpa/inet.h>#include<stdio.h>#include<errno.h>#include<sys/socket.h>#include<netinet/in.h>#include<netinet/......
  • 用udp协议传输文件
    用udp协议传输文件目录用udp协议传输文件头文件/宏定义客户端服务器头文件/宏定义#include<stdio.h>#include<stdlib.h>#include<string.h>#include<arpa/inet.h>#include<netinet/in.h>#include<sys/types.h>#include<sys/socket.h>#include<ti......
  • 网络编程中UDP协议通信
    #include<stdio.h>#include<sys/types.h>#include<sys/socket.h>#include<errno.h>#include<stdlib.h>#include<time.h>#include<string.h>#include<netinet/ip.h>#include<netinet/in.h>#include&......
  • TCP概述
    概述TPC:传输控制协议,TCP协议是面向连接的、可以实现端对端通信的可靠的协议。TCP协议传输数据时会为每个字节分配一个序列号,通过这个序列号就可以判断数据是否重复到达以及数据是否丢失,还可以通过序列号对数据进行排序。报首格式TCP建立连接的三次握手过程TCP三次挥手过......
  • TCP协议网络通信
    TCP协议网络通信目录TCP协议网络通信头文件/宏定义客户端服务器验证结果客户端服务器头文件/宏定义#include<stdio.h>#include<stdlib.h>#include<string.h>#include<arpa/inet.h>#include<netinet/in.h>#include<sys/types.h>#include<sys/socket.h>#includ......
  • TCP和UDP
    TCP和UDPTCP的可靠性特性序列号(Sequencing):TCP为每个传输的数据段分配一个唯一的序列号,接收端可以根据这些序列号重新组装数据。确认与重传(AcknowledgmentandRetransmission):TCP使用确认机制来确认数据段是否成功到达。如果接收端没有收到某个数据段,发送端会重传它。流量控......