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)相关推荐

  1. TCP 传输控制协议(Transmission Control protocol)

    TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的.可靠的.基于字节流的通信协议,数据在传输前要建立连接(三次握手),传输完毕后还要断开连接(四次挥手) ...

  2. 【JavaEE】TCP协议的十大原理保姆讲解(Transmission Control Protocol)

    博主简介:想进大厂的打工人 博主主页:@xyk: 所属专栏: JavaEE初阶 上一篇文章讲了UDP协议,那么这篇文章我来讲讲TCP协议,TCP协议相对UDP协议难一些,内容相对更多. TCP,即Tr ...

  3. TCP/IP协议(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)

    TCP/IP协议 TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇.T ...

  4. java基础 UDP通信 user datagram protocol 用户数据豆协议 TCP transmission control protocol 传输控制协议 多线程TCP...

    无连接通信 UDP 客户端 package com.swift.test;import java.io.IOException; import java.net.DatagramPacket; imp ...

  5. “当高启强遇到陈书婷”与TCP协议

    大家是否经常听别人提起TCP协议的三次握手和四次挥手呢?是否看过很多相关的文章都没看懂或是没记住呢?看过我上篇的小伙伴都应该知道TCP协议是属于传输层中的协议,没有看过的请移步这里 "老默我 ...

  6. C语言实现网络聊天程序的设计与实现(基于TCP协议)

    目录         TCP/IP协议介绍         TCP/IP协议与WinSock网络编程接口的关系         WinSock编程简单流程          VC中socket编程   ...

  7. 计算机网络整理:UDP协议和TCP协议

    系列文章目录 HTTP协议和HTTPS协议 文章目录 系列文章目录 一.TCP/IP 各层协议 二.UDP协议和TCP协议 1.TCP和UDP的区别 2.UDP 协议 3.TCP 协议 1)特点 2) ...

  8. 计算机网络-TCP协议

    目录 1 概述 2 TCP的主要特点 3 TCP的连接 4 可靠传输的工作原理 4.1 停止等待协议 4.1.1 无差错情况 4.1.2 出现差错 4.2 自动重传请求ARQ 4.3 连续 ARQ 协 ...

  9. 通俗大白话来理解TCP协议的三次握手和四次分手

    最近在恶补计算机网络方面的知识,之前对于TCP的三次握手和四次分手也是模模糊糊,对于其中的细节更是浑然不知,最近看了很多这方面的知识,也在系统的学习计算机网络,加深自己的CS功底,就把看过的一些比较好 ...

最新文章

  1. XamarinSQLite教程在Xamarin.Android项目中提取数据库文件
  2. ajax spring mvc 接收json数据,easyui ajax请求获取SpringMVC @ResponseBody返回的Json数据为什么非得eval才能通过对象获取值?...
  3. 案例代码:sprimngboot备份数据库
  4. 妄想性仮想人格障害 新手教程 +改动器
  5. 小白初次攒机配置如何选择?
  6. 不支持的major.minor版本52.0 [重复]
  7. Graphviz样例之集群流程图
  8. python基础编程语法-Python基础语法一
  9. 2021黑马程序员Java面试宝典笔记(完整版)
  10. 祝大家开工大吉,工作顺利。
  11. 2017计算机系书单推荐(排版更新)
  12. 收益率计算年利率以及每期租金
  13. IP 地址冲突检测程序源码(解决某种情况下检测无效的问题)
  14. 一维参照物的摄像机定标
  15. 阅读小结:MSR:From Captions to Visual Concepts and Back
  16. 解决cascader级联选择器报错“level“ of null
  17. 【企业邮箱申请】网易企业邮箱陌生人来信安全提醒功能
  18. excel组合汇总_Excel汇总20140609
  19. Arduino ATmega328P
  20. Spark_SparkSQL

热门文章

  1. Python 实现图像快速傅里叶变换和离散余弦变换
  2. html设置三号字体是多少px,CSS 中二号字体是多少 px?
  3. Jarvisoj_WP
  4. 图文详解在Windows系统中安装JDK
  5. 华科计算机博导刘云生论文,华科白翔老师团队ECCV2018 OCR论文:Mask TextSpotter
  6. 【中英双语】Linux黑客教程从初学者到高级!
  7. 企业Wifi有哪些优势?
  8. BZOJ3510 首都
  9. Python实现自动控制登录网页
  10. 3G移动网络,给WAP带来什么?