TCP协议

tcp · 浏览次数 : 0

小编点评

TCP协议是一种面向连接的、可靠的、基于一对一通信的协议,旨在适应支持多网络应用的分层层次协议。它为每个字节分配一个序列号,通过校验和机制来判定数据是否损坏,从而确保数据的正确传输。TCP协议还具有自动重传功能,当发送端未接收到接收端的确认应答信号时,会重新发送数据。 TCP协议的连接机制采用三次握手,包括客户端调用connect()和服务器调用accept(),其中accept()优先于connect()调用。握手过程分为以下几个步骤: 1. 客户端调用connect(),向服务器发起连接请求。 2. 服务器接收到连接请求后,调用accept()函数,接受客户端的连接请求。 3. 客户端和服务器之间建立连接,可以进行数据传输。 通过这一系列的机制,TCP协议能够实现高度可靠的通信。

正文

传输控制协议(TCP)

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

TCP协议 的特点

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

TCP协议的可靠性

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

TCP的连接机制

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

image

与TCP协议相似的内容:

TCP协议

目录传输控制协议(TCP)TCP协议 的特点TCP协议的可靠性TCP的连接机制 传输控制协议(TCP) 传输控制协议(TCP)用于作为包交换计算机通信网络中的主机以及此类网络的互连系统中的高度可靠的主机对主机协议。 TCP协议 的特点 TCP协议是面向连接的,端到端可靠的协议,该协议被设计适应支持多

TCP协议的秘密武器:流量控制与拥塞控制

本文将深入探讨TCP协议的关键机制,包括流量控制和拥塞控制,以解密其在网络数据传输中的作用。通过了解TCP协议的工作原理,我们可以更好地理解网络通信的稳定性和可靠性,为我们的网络体验提供更安全、高效的保障。无论您是网络爱好者、技术从业者还是普通用户,本文将为您揭开TCP协议的神秘面纱,带您进入网络传输的奇妙世界。

基于WebSocket的modbus通信(一)- 服务器

ModbusTcp协议是基于tcp的,但不是说一定要通过tcp协议才能传输,只要能传输二进制的地方都可以。比如WebSocket协议。 但由于目前我只有tcp上面的modbus服务器实现,所以我必须先用tcp连接借助已有工具来验证我的服务器是否写正确。 效果 ModBusTCP协议报文 ModBus

[转帖]什么情况下适合用UDP协议,什么情况下适合用TCP协议?

TCP与UDP基本区别 基于连接与无连接TCP要求系统资源较多,UDP较少;UDP程序结构较简单流模式(TCP)与数据报模式(UDP);TCP保证数据正确性,UDP可能丢包TCP保证数据顺序,UDP不保证 UDP应用场景: 面向数据报方式网络数据大多为短消息拥有大量Client对数据安全性无特殊要求

[转帖]什么情况下适合用UDP协议,什么情况下适合用TCP协议?

TCP与UDP基本区别 基于连接与无连接TCP要求系统资源较多,UDP较少;UDP程序结构较简单流模式(TCP)与数据报模式(UDP);TCP保证数据正确性,UDP可能丢包TCP保证数据顺序,UDP不保证 UDP应用场景: 面向数据报方式网络数据大多为短消息拥有大量Client对数据安全性无特殊要求

【Socket】解决TCP粘包问题

TCP粘包是指在使用TCP协议进行数据传输时,发送方连续发送的多个数据包在接收方收到时被黏合成一个大的数据包。这种现象可能会导致接收方无法正确解析数据,从而影响应用程序的正常运行。

[转帖]TCP之Nagle、Cork、Delay ACK(延迟确认)

https://www.jianshu.com/p/167ba81206fb 参考资料 TCP协议中的Nagle算法 TCP中的Nagle算法 Linux下TCP延迟确认(Delayed Ack)机制导致的时延问题分析 TCP-IP详解:Delay ACK 1. Nagle 算法 1.1. 原理 N

[转帖]tcp、http和socket的区别

https://www.jianshu.com/p/88d69454bdde 一:tcp协议 tcp协议属于传输层协议(UDP也属于传输层协议,但是UDP协议是无状态的)。建立一个TCP连接需要三次握手,断开一个TCP连接需要四次挥手。手机能够使用联网功能,是因为手机底层实现了TCP/IP协议,使用

[转帖]面试必备!TCP协议经典十五连问!

https://juejin.cn/post/6983639186146328607 前言 TCP协议是大厂面试必问的知识点。整理了15道非常经典的TCP面试题,希望大家都找到理想的offer呀 公众号:捡田螺的小男孩 github地址,感谢每一颗star 1. 讲下TCP三次握手流程 开始客户端和

[转帖]TCP三次握手详解,滑动窗口,拥塞窗口,网络包路由过程,全连接队列,半连接队列

众所周知,网络分层有传统的OSI七层模型和后来的基于TCP/IP的四层模型: 那么在一次网络的传输过程中具体的流程是怎么样的,我们先从一个数据包的传输说起(以TCP为例): TCP协议根据上层应用提供的信息生成TCP报文 TCP报文在交由下面的IP层(网络层)进行处理,委托IP模块将TCP报文封装成