TCP协议(一) 概述

特点

1,  面向连接可靠的字节流服务

2,  只有两方通信,不能用于广播或多播

3,  应用数据被TCP分隔为最合适发送的数据段,传给IP协议栈

4,  发送端并启动定时器,超时重传

5,  接收端需要发送确认

6,  检验和错误的数据包将被丢弃,并不确认收到此数据包(希望超时重传)

7,  重新排序,因为TCP数据包是IP报文的数据,而ip协议不保证数据按顺序到达,所以需要重新排序。

8,  同理,ip包会发生重复,所以TCP需要排重。

9,  流控制,TCP的每一方有固定大小的缓冲空间,接收端只允许发送端发送能容纳的数据。

10, 提供全双工服务。

字节流服务

TCP报文结构

字段解释:

插口对:IP头部的ip+tcp头部的端口唯一确定一个应用程序,而相对的插口称为插口对唯一确定tcp双方。

序号:标识发端向收端发送的数据字节流,表示这个报文中的第一个数据字节。序号对每个字节计数,序号为32bit无符号数据,到达232-1 回到0

SYN:当建立一个新的连接的时候SYN变为1,此时序号字段包含主机选择的初始序号ISN(Initial Squence Number),该主机发送的第一个字节序号为ISN+1。

确认序号:等于上次已经成功收到的字节序号加1,只有ACK标识为1时确认序号才有效。连接一旦建立确认序号总是被设置。

因为TCP提供全双工的服务,所以连接的每一方必须保存传输数据序号。

TCP可以表述为一个没有选择确认和否认的滑动窗口协议,收到数据包后不能确定或否定该数据包的对与错,而只是回复相应的确认序号。

首部长度:给出首部32bit字的数目,为4bit所以,首部长度最长为60字节,不加选项为20字节。存在这个字段的原因是选项长度是可变的。

标识位:

滑动窗口大小:TCP的流量控制由连接双方声明窗口大小提供,窗口大小的单位为字节,起始于确认序号指定的值,窗口大小字段为16bit,所以窗口最大为65535字节。

校验和:覆盖首部和数据,强制性字段,由发端计算和存储,由接收端校验。

紧急指针:当URG为1时才有效,是一个正的偏移量,和序号相加表示紧急数据最后一个字节的序号。

选项:最常见的选项是最大报文大小MSS(Maximum Segment Size).

转载于:https://www.cnblogs.com/manziluo/p/5862882.html

TCP/IP详解 笔记十三相关推荐

  1. TCP/IP详解笔记----第一章:概述

    第一章 概述 这一章主要介绍了TCP/IP的概貌.包括分层.网络地址.客户-服务器模型.常见知名应用层服务端口号等等.需要重点掌握和了解的是以下知识点. 1.TCP/IP的重要作用: 很多不同厂商生产 ...

  2. TCP/IP详解 笔记八

    UDP协议 UDP是传输层协议,提供无连接不可靠的数据传输,其优点失效率高,确定确定是无序不可靠. 报文格式 UDP头部 TCP和UDP的端口号是独立的 UDP长度是指UDP数据报的总长度 UDP的校 ...

  3. TCP/IP详解 笔记九

    广播和多播 多播和广播只能用于UDP包,TCP明确在两个进程间建立连接. 多播:帧只传送给属于多播组的多个接口 主机对帧的过滤过程: 通常网卡只接收那些目的地址为本物理接口地址或广播地址的帧:设置为混 ...

  4. TCP/IP 详解笔记

    最早的 TCP 协议文档是 RFC793. TCP 提供一种面向连接的.可靠的字节流服务. 面向连接容易理解,那么什么是字节流服务呢? 答:两个应用程序通过 TCP 连接交换 8 bit 字节构成的字 ...

  5. TCP/IP详解 笔记十一

    域名服务系统(DNS) DNS:名字到IP转换:电子邮件选路信息:分布式数据库 解析器:是通过gethostbyname(3)和gethostbyaddr(3)来实现的 最常用的名字服务器是BIND ...

  6. TCP/IP详解--第十三章

     第13章 IGMP:Internet组管理协议   13.1   引言   12.4节概述了 IP多播给出,并介绍了 D类IP地址到以太网地址的映射方式.也简要说明了 在单个物理网络中的多播过程,但 ...

  7. TCP/IP详解学习笔记(9)-TCP协议概述

    终于看到了TCP协议,这是TCP/IP详解里面最重要也是最精彩的部分,要花大力气来读.前面的TFTP和BOOTP都是一些简单的协议,就不写笔记了,写起来也没啥东西. TCP和UDP处在同一层---运输 ...

  8. 《TCP/IP详解卷1:协议》第6章 ICMP:Internet控制报文协议-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  9. TCP/IP详解--学习笔记(9)-TCP协议概述

    终于看到了TCP协议,这是TCP/IP详解里面最重要也是最精彩的部分,要花大力气来读.前面的TFTP和BOOTP都是一些简单的协议,就不写笔记了,写起来也没啥东西. TCP和UDP处在同一层---运输 ...

最新文章

  1. Codeforces 1329 题解
  2. 6 MyBatis基于Mapper接口CURD
  3. linux与虚拟化实验室,Linux·学习笔记(2)虚拟化与仿真
  4. PL/SQL Developer连接Oracle 11g在Win8 64位系统下乱码
  5. java获取当前电脑的ip_使用Java获取当前计算机的IP地址
  6. JFinal interceptor - Deal with session attributes
  7. Git - Pull Request工作流
  8. 调试 高通_高通平台调整通话音量
  9. [Java]Socket和ServerSocket学习笔记
  10. 优酷网架构学习和揭秘
  11. 利用Ejb开发WebService
  12. python之论文降重工具
  13. 王源就抽烟致歉 | 大数据分析禁烟对烟草行业的影响有多大
  14. 【小程序按钮控制视频播放暂停】
  15. (4层)域名系统 DNS
  16. 关于友情的励志故事------火炉的故事
  17. [转载]Michael Peng:北美求职记
  18. 如何用VBA保护工作表
  19. 关于Mysql查询时间粒度DATA_FORMAT使用说明
  20. 简单版四人扑克牌(python)

热门文章

  1. 独立式环境与宿主式环境————《标准C语言指南》读书笔记01
  2. ❤️你还在用visio画图吗?已经落伍啦!快来试试轻量级绘图神器draw.io吧!❤️
  3. Java的Map接口,以及Collection和Collections的区别
  4. Contextualizing Airbnb by Building Knowledge Graph
  5. android后台截屏实现(2)--screencap源码修改
  6. pandas python groupby_pandas之分组groupby()的使用整理与总结
  7. 打印机支持打印html页面吗,vue下调用打印功能,打印html页面
  8. html中下拉列表监听事件,ExtJS 下拉框监听事件、日期选择器监听事件、实现动态给items添加删除数据...
  9. 支持回调处理 php函数,PHP支持回调的函数有哪些
  10. 查看PLC IP 端口_三种方法实现以太网远程访问西门子PLC!