TCP协议(Transmission Control Protocol)
TCP协议是传输层常用传输协议。(Transmission Control Protocol)
1.可靠性
2.面向连接
3.基于字节流
4.在网络状态不佳时会降低重传给系统带来的宽带开销
5.通信连接维护是面向连接的两个端,忽视中间网段与节点。
为了满足这些特点,TCP协议做出了如下规定:
1.数据分片:发送端会将数据分片,并在接受端重组。TCP控制分片数据的大小以及数据分片和重组。
2.到达确认:接受端在接受数据分片后会给发送方发送确认。使用累积确认,以减小宽带消耗
3.超时重发:发送端在发送数据分片时会启动超时计时器,如在规定时间内未接受确认,则认为发送丢失,进行重发。
4.滑动窗口:TCP连接的每一端缓冲空间大小固定,接收端只
接收发送端发送缓冲空间能够容纳的数据大小,TCP在滑动窗口基础上增加了流量控制,防止快的主机造成慢的主机的缓冲溢出。
5.失序处理:使用IP数据报传输TCP数据分片时可能会造成失序现象,TCP会重新将数据分片排序,并将正常顺序数据发送给应用层。
6.重复处理:使用IP数据报传输TCP数据分片时,可能造成分片重复,TCP将会将重复数据分片删除。
7.数据检验:TCP将保持首部与数据的检验和,确保数据在端对端传输过程中无变化。如果检验和有差异,将删除该数据分片并不确认该分片,造成超时,使发送端重新发送该数据分片
3次握手
1.在两端想要建立连接时,客户端TCP会发送SYN(seq=x)的报文传送给服务器。
2.服务器端TCP接收到SYN报文后,发送报文SYN(seq=y)ACK(seq=x+1)报文确认。
3.客户端接收到确认报文后发送ACK(y+1)报文确认。
4次挥手
1.应用程序想要断开与服务器的连接,将会调用‘close’,称为主动关闭,该端的TCP将会发送一个FIN报文给服务器端。
2.服务器端接收到FIN报文后将发送ASK报文确认。
3.服务器端接收报文后执行被动关闭,并发送FIN报文给与发送端。
4.发送端收到FIN报文后,发送ACK报文确认。
断开时不一定是客户端主动断开也可能是服务器端断开。
开始发送FIN时可能会携带数据。
被动断开方发送FIN时是可以携带数据的。
TCP协议(Transmission Control Protocol)相关推荐
- TCP 传输控制协议(Transmission Control protocol)
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的.可靠的.基于字节流的通信协议,数据在传输前要建立连接(三次握手),传输完毕后还要断开连接(四次挥手) ...
- 【JavaEE】TCP协议的十大原理保姆讲解(Transmission Control Protocol)
博主简介:想进大厂的打工人 博主主页:@xyk: 所属专栏: JavaEE初阶 上一篇文章讲了UDP协议,那么这篇文章我来讲讲TCP协议,TCP协议相对UDP协议难一些,内容相对更多. TCP,即Tr ...
- TCP/IP协议(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)
TCP/IP协议 TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇.T ...
- java基础 UDP通信 user datagram protocol 用户数据豆协议 TCP transmission control protocol 传输控制协议 多线程TCP...
无连接通信 UDP 客户端 package com.swift.test;import java.io.IOException; import java.net.DatagramPacket; imp ...
- “当高启强遇到陈书婷”与TCP协议
大家是否经常听别人提起TCP协议的三次握手和四次挥手呢?是否看过很多相关的文章都没看懂或是没记住呢?看过我上篇的小伙伴都应该知道TCP协议是属于传输层中的协议,没有看过的请移步这里 "老默我 ...
- C语言实现网络聊天程序的设计与实现(基于TCP协议)
目录 TCP/IP协议介绍 TCP/IP协议与WinSock网络编程接口的关系 WinSock编程简单流程 VC中socket编程 ...
- 计算机网络整理:UDP协议和TCP协议
系列文章目录 HTTP协议和HTTPS协议 文章目录 系列文章目录 一.TCP/IP 各层协议 二.UDP协议和TCP协议 1.TCP和UDP的区别 2.UDP 协议 3.TCP 协议 1)特点 2) ...
- 计算机网络-TCP协议
目录 1 概述 2 TCP的主要特点 3 TCP的连接 4 可靠传输的工作原理 4.1 停止等待协议 4.1.1 无差错情况 4.1.2 出现差错 4.2 自动重传请求ARQ 4.3 连续 ARQ 协 ...
- 通俗大白话来理解TCP协议的三次握手和四次分手
最近在恶补计算机网络方面的知识,之前对于TCP的三次握手和四次分手也是模模糊糊,对于其中的细节更是浑然不知,最近看了很多这方面的知识,也在系统的学习计算机网络,加深自己的CS功底,就把看过的一些比较好 ...
最新文章
- XamarinSQLite教程在Xamarin.Android项目中提取数据库文件
- ajax spring mvc 接收json数据,easyui ajax请求获取SpringMVC @ResponseBody返回的Json数据为什么非得eval才能通过对象获取值?...
- 案例代码:sprimngboot备份数据库
- 妄想性仮想人格障害 新手教程 +改动器
- 小白初次攒机配置如何选择?
- 不支持的major.minor版本52.0 [重复]
- Graphviz样例之集群流程图
- python基础编程语法-Python基础语法一
- 2021黑马程序员Java面试宝典笔记(完整版)
- 祝大家开工大吉,工作顺利。
- 2017计算机系书单推荐(排版更新)
- 收益率计算年利率以及每期租金
- IP 地址冲突检测程序源码(解决某种情况下检测无效的问题)
- 一维参照物的摄像机定标
- 阅读小结:MSR:From Captions to Visual Concepts and Back
- 解决cascader级联选择器报错“level“ of null
- 【企业邮箱申请】网易企业邮箱陌生人来信安全提醒功能
- excel组合汇总_Excel汇总20140609
- Arduino ATmega328P
- Spark_SparkSQL