TCP报文及传输

TCP报文主要学习的内容包括,报文格式、连接管理、流量控制、差错控制。

TCP报文是由报文头部和数据两个部分组成。占20字节的报文头部包括源端口、位目的端口、序号、、确认号、首部长度、保留、URG、ACK、PSH、RST、SYN、FIN、窗口大小、检验和以及紧急指针。

序号字段的值为本报文段所发送数据的第一个字节序号;确认号字段则是指期望收到对方下一个报文段数据的第一个字节的序号;紧急URG字段表示,当报文URG字段值等于1时,紧急指针字段有效;确认ACK字段表示,当报文ACK字段值等于1时,确认号字段有效;复位RST字段表示,当报文RST字段值等于1时,TCP连接中出现严重错误,必须释放连接,然后再重新建立传输连接;同步SYN字段表示,当报文SYN字段值等于1时,此报文是一个连接请求或连接接受的报文;发送端窗口大小字段值取决于对方设置的发送窗口大小,接收端窗口大小的值取决于接收端的缓冲窗口大小。

TCP建立连接的过程通常被称作三次握手。第一步,客户端的TCP向服务器发出连接请求报文段(SYN=1,seq=x)。第二步,服务器的TCP收到连接请求后,若同意,则发回确认(ACK=1,ack=x+1),同时向客户端发起连接请求(SYN=1,seq=y)。第三步,客户端收到服务器的报文后向服务器给出确认(ACK=1,ack=y+1)。至此,连接已建立。

TCP与UDP的区别在于,UDP报文没有可靠性保证和顺序保证字段,但传输效率比TCP高。例如,在线看直播时出现画面卡顿不会重新加载(类似UDP)看实况时出现的画面卡顿会产生缓冲加载(类似TCP)

IP通信基础课堂笔记----第二章(重点)的更多相关文章

  1. IP通信基础课堂笔记----第一章(重点)

    七层数据传输:应用层.表示层.会话层.传输层.网络层.数据链路层.物理层 1.物理层:设备----集线器.Hub 两台主机的最大跨度----2500m 在物理层工作----(1)所有设备都处于同一冲突 ...

  2. IP通信基础课堂笔记----第四章(重点中的重点)

    IPv4编址方法 一个IPv4地址可表示为一个32位的二进制数. IP地址前面的网络部分表示一个网段,后面部分(主机位)表示这个网段上的一台设备. 常用IP地址分为四类:A.B.C.D. 每类的网络地 ...

  3. IP通信基础课堂笔记----第三章(自认为的重点)

    网络层协议IP IP数据包格式:固定部分        {  标识(16):计数器,源站每发送一个分组,标识+1:源IP地址的标识是全网唯一的. (包含TCP/UDP首部)  |  标志(3):当最低 ...

  4. IP通信基础课堂笔记----关于数链层

    课前回顾 IOS从上到下分别有:应用层,传输层,网络层,数链层,物理层. IP是网络层的地址,MAC是数链层的地址,IP必须通过ARP才能转换成MAC地址. 课堂内容 1.如何在数链层实现发送端数据无 ...

  5. IP通信基础课堂笔记----简答题

    1.局域网优点:局域网特点(5) 2.10BASE-T技术特性(8) 3.网桥/交换机的优点(3):缺点(3) 4.虚拟局域网特点(4) *转发表或原MAC地址规则:记录源MAC地址 *VLAN帧格式 ...

  6. IP通信基础课堂笔记----以太网VLAN

    1.以太网与802.3格式差异 2.以太网MAC地址特点 3.以太网MAC帧字节范围:64-1518 4.协议CSMA:载波侦听多路访问 5.碰撞检测 6.网卡(适配器)

  7. Android群英传笔记——第二章:Android开发工具新接触

    Android群英传笔记--第二章:Android开发工具新接触 其实这一章并没什么可讲的,前面的安装Android studio的我们可以直接跳过,如果有兴趣的,可以去看看Google主推-Andr ...

  8. 《DOM Scripting》学习笔记-——第二章 js语法

    <Dom Scripting>学习笔记 第二章 Javascript语法 本章内容: 1.语句. 2.变量和数组. 3.运算符. 4.条件语句和循环语句. 5.函数和对象. 语句(stat ...

  9. The Road to learn React书籍学习笔记(第二章)

    The Road to learn React书籍学习笔记(第二章) 组件的内部状态 组件的内部状态也称为局部状态,允许保存.修改和删除在组件内部的属性,使用ES6类组件可以在构造函数中初始化组件的状 ...

随机推荐

  1. linux与windows实现文件交互

    Linux--用SecureCRT来上传和下载文件 SecureCRT下的文件传输协议有以下几种:ASCII.Xmodem.Ymodem.Zmodem ASCII:这是最快的传输协议,但只能传送文本文 ...

  2. LInux 些许知识

    1.Linux下去掉^M的方法 ①dos2unix filename ②sed -i 's/^M//g' filename #注意:^M的输入方式是 Ctrl + v ,然后Ctrl + M 2.so ...

  3. YY的GCD

    YY的GCD 给出T个询问,询问\(\sum_{i=1}^N\sum_{j=1}^M(gcd(i,j)\in prime)\),T = 10000,N, M <= 10000000. 解 显然质 ...

  4. android手机短信获取

    关于Android中对短信的一些相关操.我看到一个文章下面我就从标题中的三个方面来对Android系统中的短信操作进行一个简单地学习. 短信发送: 由于Android中对短信发送方法的优良封装,之后对 ...

  5. 8.2 GOF设计模式一: 单实例模式 SingleTon

    GOF设计模式一: 单实例模式 SingleTon  整个美国,只有一个“现任美国总统”  比如,在学校,“老师”,有数百个:“校长”,只有一个  系统运行时,如何保证某个类只允许实例化一个对象 ...

  6. bash_profile

    export ORACLE_BASE=/home/oracle/app   export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1 ...

  7. vue2.0项目 calendar.js(日历组件封装)

    最近一直闲来无事,便寻思着做一下自己的个人项目,也想说能使用现在比较流行的一些mvvm框架来做,于是就选用了这样的一个技术栈vue2.0+vue-router+vuex+webpack来做,做得也是多 ...

  8. echarts x和y去掉

    解决方法 "axisLine": { "show": false },

  9. HTML、CSS(小笔记)

    这是我自己在学习html.css时觉得要记的东西太多总结一些较为常用的标签. HTML <p></p>段落标签 <hn></hn>标题标签n数值为1~6 ...

  10. Spring———bean的创建方式,注入方式,复杂类型注入 概括

    Spring相关概念和类    1.IOC             inverse of control    控制反转   反转了创建对象的方式            以前:new 对象,管理和维护 ...