当前课程知识点:网络技术与应用 >  第7讲 传输层 >  7.4 传输控制协议TCP >  TCP差错控制机制

返回《网络技术与应用》慕课在线视频课程列表

TCP差错控制机制在线视频

TCP差错控制机制

下一节:TCP拥塞控制机制

返回《网络技术与应用》慕课在线视频列表

TCP差错控制机制课程教案、知识点、字幕

TCP协议提供的是面向连接的服务

也就是说 向应用层提供的是按序 可靠的数据传输服务

为了实现这种按序 可靠的传输

应该提供一整套的差错控制机制

下面就来详细学习TCP的差错控制机制

首先分析一下出错现象

然后学习差错控制机制的三个重要过程

数据分段 确认应答和重传

数据在传输过程当中 多种原因可以造成数据出错

比如 端到端之间存在多条传输路径

TCP报文经过网络传输以后 到了接收端

可能出现错序的现象

第二个 端到端传输路径经过的某条物理链路出现问题

导致数据在传输过程当中丢弃

第三个 接收端可能会接收到重复的某个TCP报文

TCP报文在传输过程当中可能会出错

到了接收端以后 通过检验和检测出数据出错

而被丢弃

还有分组交换设备因为拥塞导致端口输出队列溢出

可能会丢弃某个TCP报文

这种现象是数据出错的主要原因

这些出错的原因归纳起来有这样两个方面

一个是接收端接收到了数据 从而检测出错误

第二种情况 是在传输过程当中就被丢弃了

接收端没有接收到数据

接收到的数据检测出错误总体说有这样三种情况

一种是数据本身错了

第二种 顺序错了

第三种情况是重复接收了

对于这样一些错误 接收端都应该检测出这些错误

并且进行纠正

也就是说 差错控制机制的核心应该是 检错和纠错

纠错主要是通过确认应答和重传

怎么来检错和纠错呢

接收端接收到正确的数据以后

就应该向发送端发送确认应答

如果接收到错误的数据 就丢弃

这是对于接收端的要求

对于发送端

发送数据以后保留发送的报文

直到接收到接收端发送的确认应答后才能删除

TCP用确认序号给出接收端已经成功接收的字节流

用确认序号来告诉发送端哪些数据已经接收到了

发送端如果在规定时间内接收不到确认应答的话

就重新发送数据报文

发送端发送数据的时候 采用连续ARQ传输机制

也就是说

不是一个数据发送完后等待确认应答再发送下一个数据

用连续ARP机制连续发送数据

在发送数据之前

首先要对数据进行分段

前面说过 因为TCP协议面向的是字节流的服务

也就是 应用层提供给传输层是一连串的字节流

传输层对字节流分段 重新封装成一系列的报文

假设这有一个8000字节长度的字节流

传输层接收到应用层的这个字节流以后

把它分成8段 每一段是1000个字节

这1000个字节的数据加上TCP首部以后

形成TCP报文

在首部控制信息当中有一个序号

这是序号是报文序列当中第一个字节的序号

比如第一个报文 它的序号为1

第二个报文的序号是1001

最后一个报文的序号值为7001

通过序号的值 到了接收端重新组装的时候

它就知道这个报文应该在原始数据字节流的位置

传输层对字节流进行分段的时候

要综合考虑重传的效率 接收端缓冲区的大小

也要考虑不能超过IP分组的最大长度

尽量避免IP分组重新被分片

分段的长度是由TCP进程确定的

主要综合考虑这些因素

这是数据分段

发送端对数据分段以后

接收端接收到相应的一系列报文以后要重新组装

组装主要依据序号

我们来看一下接收端应该做什么

接收端接收到正确的数据要进行确认应答

确认应答的过程应该是什么样呢

我们来看一下

确认应该可以有多种方式

首先可以通过逐个确认应答

比如发送端发送一个初始序号为1的报文

接收端接收到这个报文马上给一个确认应答

这个确认应答的确认序号是1001

因为报文的长度是1000个字节

也就是告诉发送端1001以下所有的字节

已经被正确地接收了

这是逐个报文的确认

也可以进行累积确认

比如发送端发送了两个报文以后

接收端才发送一个确认应答

这个确认应答里面的确认序号应该是

接收到所有数据的最大序号加1

比如确认应答是3001

表示3001以下的字节流全部被正确接收了

还有一个种情况

报文在传输过程当中 因为时延的抖动

引发错序的情况

那么接收端怎么确认呢

看一下 这是一个发送端发送的序号为3001的报文

但是接收端并没有收到这样一个报文之前

就先接收到了发送端发送的序号为4001的报文

这个时候接收端应该发送一个确认应答

它的确认序号应该是什么呢

它的确认序号是前一个报文的最后一个字节的序号加1

也就是说 确认序号和前一个报文的确认应答序号一样的

还是3001

那么当接收到了序号为3001的报文以后

发送一个确认应答

这个确认应答把序号为3001 4001的这两个报文

一并进行确认

也就是确认序号是5001

这是传输时延抖动引发错序的情况的确认

还有一种情况

因为丢失一些报文引发的错序的情况

接收端怎么来确认

比如发送端发送了一个序号为5001的报文

在发送过程当中丢失了

接收端并没有接收到这个报文

接收到序号为6001的报文以后

那么接收端应该怎么发送确认应答

同样还是发送和前面序号相同的确认应答

也就是确认序号是5001

那么发送端连续 按序发送后面的报文

接收端接收到这些报文以后

一直发送跟前面确认序号一样的报文 一直是5001

一直到接收到序号5001的报文以后

才对后面的报文进行确认

这是接收端对确认应答发送的过程

就是确认应答的过程

下面看一下发送端应该做什么

发送端应该对错误的数据进行重传

看一下重传的条件是什么呢

因为差错控制的本质是出错重传

那么什么样的情况是出错了呢

一个是TCP报文在传输过程中丢失了

二是 因为TCP报文内容在传输过程中出错

接收端检测出这个错误被丢弃了

第三个是因为错序

并且TCP报文当中字节的序号已经不属于接收窗口范围

被接收端丢弃

发送端怎么来确定TCP报文出错了呢

它有两个依据

一是发送端在发送报文以后设置重传定时器

如果重传定时器溢出了

没有接收到相应报文的应答的话

那么就要重传数据了

二是当连续接收到4个确认序号相同的确认应答的时候

那么它确定报文丢失了 要重传了

我们来看一下这几种情况

第一个 在发送过程当中偶尔丢失TCP报文的情况

发送端按照发送窗口内的序号按序发送数据

比如发送端发送第一个报文 第二个报文 第三个报文

在传输过程当中

第一个和第二个报文都收到了它的确认应答

在发送序号为2001的报文的时候

假设中途报文丢失了

发送端继续发送后续的数据

而接收端一直接收到后面的数据时候

发送的应答一直是确认序号为2001的确认应答

导致接收端可能接收到4个序号相同的确认应答

发送端接收到了4个确认序号相同的确认应答的时候

那就需要重传

确认应答里确认序号对应的报文

这是偶尔丢失TCP报文导致发送端

能够接收到4个确认序号相同的确认应答的情况

还有一种情况 就是在发送的过程当中

假设发送的最后一个TCP报文在传输过程中丢失了

在接收端再也接收不到相应的数据

也就是说 接收端不肯能发送应答帧

那么导致发送端的重传定时器溢出了

这种情况也要重传数据

通常情况下

重传定时器溢出的时间大于

接收到4个确认序号相同的确认应答的时间

这是发送端能够接收到接收端4个相同确认序号的应答帧

或者重传定时器溢出的情况

都要进行重传

下面来看一下

在发送数据的过程当中大量TCP报文丢失的情况

比如发送端按序发送报文

但是在发送的过程当中

大量的TCP报文丢失了

不光是大量的TCP报文丢失

接收端发送的确认应答也大量丢失

导致发送端的定时器溢出

这种情况发送端就要重发数据

因为应答帧丢失 数据也丢失的大量的数据丢失

这种情况使得发送端接收不到连续的4个

确认序号相同的确认应答

只会出现重传定时器溢出

这是发送端要重传的情况

总体来说

发送端根据发送窗口连续发送数据

接收端根据接收窗口接收数据

对于接收端来说 按序到达的数据要调整确认序号

没有按序到达的数据维持确认序号不变

两种情况下发送端要重传数据

一个是重传定时器溢出

第二个连续接收4个确认序号相同的确认应答

这个就是TCP的差错控制机制的内容

网络技术与应用课程列表:

先导语

-课程先导语

--先导语

第1讲 概论

-1.1 网络内涵

--网络内涵

-1.2 互联网发展过程

--互联网发展过程

-1.2 互联网发展过程--作业

-1.3 交换方式

--电路交换

-- 虚电路交换

--数据报交换

--三种交换方式比较

--html

-1.3 交换方式--作业

-1.4 计算机网络体系结构和协议

--分层结构

--网络体系结构与协议

--OSI体系结构

--TCP/IP体系结构

-1.4 计算机网络体系结构和协议--作业

-第一讲内容的启示

--html

-例题分析

--例题分析

-测验--作业

第2讲 数据通信基础

-本讲内容简介

--2.0 数据通信基础

-2.1 数据传输系统

--2.1 数据传输系统

-2.1 数据传输系统--作业

-2.2 信号

--2.2 信号

-2.2 信号--作业

-2.3 编码和调制

--2.3-1 编码

--2.3-2 调制

-2.3 编码和调制--作业

-2.4 差错控制

--2.4-1 差错控制—检错码

--2.4-2 差错控制—确认和重传

-2.4 差错控制--作业

-2.5 传输媒体

--2.5 传输媒体

-2.5 传输媒体--作业

-2.6 Packet Tracer6.2使用说明

--2.6 Packet Tracer6.2使用说明

-第二讲内容的启示

--html

-例题分析

--例题分析

-测验--作业

第3讲 以太网

-以太网发展过程与内容简介

--3.1 以太网发展过程和本讲内容简介

-以太网发展过程与内容简介--作业

-3.1 总线形以太网

--3.1-1 总线形以太网基础

--3.1-2 基带传输与曼彻斯特编码

--3.1-3 数据帧封装格式:mac帧

--3.1-4 CSMA/CD算法

--3.1-5 CSMA/CD算法缺陷

-3.1 总线形以太网--作业

-3.2 网桥与冲突域分割

--3.2-1 网桥与冲突域分割

--3.2-2 网桥工作过程演示

-3.2 网桥与冲突域分割--作业

-3.3 交换式以太网与VLAN

--3.3-1 VLAN与广播域分割

--3.3-2 单交换机VLAN划分过程

--3.3-3 跨交换机VLAN划分

--3.3-4 跨交换机VLAN划分配置过程演示

-3.3 交换式以太网与VLAN--作业

-3.4 以太网标准

--3.4 以太网标准

-3.4 以太网标准--作业

-第三讲内容的启示

--html

-例题分析

--例题分析

-案例设计

--案例设计

-测验--作业

第4讲 无线局域网

-本讲内容简介

--无线局域网

-4.1 无线局域网概述

--4.1-1 无线数据传输

--4.1-2 无线局域网体系结构

-4.1 无线局域网概述--作业

-4.2 无线局域网应用方式

--4.2 无线局域网组网方式

-4.2 无线局域网应用方式--作业

-4.3 无线局域网MAC层

--4.3-1 无线局域网的MAC帧

--4.3-2 DCF和CSMA/CA

-4.3 无线局域网MAC层--作业

-4.4 终端接入无线局域网过程

--4.4 终端接入无线局域网过程

-4.4 终端接入无线局域网过程--作业

-4.5 无线局域网设计和分析

--4.5-1 无线局域网设计

--4.5-2 无线局域网设计演示实验

-第四讲内容的启示

--html

-例题分析

--例题分析

-测验--作业

第5讲 IP和网络互连

-本讲内容简介

-- IP与网络互连

-5.1 网络互连机制

--5.1 网络互连机制

-5.1 网络互连机制--作业

-5.2 网际协议

--5.2-1 IP-分类编址

--5.2-2 IP-无分类编址

--5.2-3 IP-分组格式

-5.2 网际协议--作业

-5.3 IP分组传输过程

--5.3 IP分组传输过程

-5.3 IP分组传输过程--作业

-5.4 路由表建立过程

--5.4-1 人工配置静态路由项

--5.4-2 路由协议与动态路由项

-5.4 路由表建立过程--作业

-5.5 IP over以太网

--5.5 IP Over以太网

-5.5 IP over以太网--作业

-5.6 三层交换机与VLAN间通信过程

--5.6-1 多端口路由器实现VLAN间通信过程

--5.6-2单臂路由器实现VLAN间通信过程

--5.6-3 三层交换机实现Vlan间通信过程

--5.6-4 三层交换机实现VLAN间通信过程演示实验

--5.6-5 互联设备之间的区别

-5.7 Internet控制报文协议

--5.7 Internet控制报文协议

-5.7 Internet控制报文协议--作业

-第五讲内容启示

--html

-案例设计

--案例设计

-例题分析

--5.9-1 例题分析1

--5.9-2 例题分析2

--5.9-3 例题分析3

-测验--作业

第6讲 Internet接入技术

-本讲内容简介

--本讲内容简介

-6.1 Internet接入控制机制

--6.1 Internet接入控制机制

-6.1 Internet接入控制机制--作业

-6.2 以太网和ADSL接入技术

--6.2-1 通过以太网接入Internet过程

--6.2-2 通过ADSL接入Internet过程

-6.2 以太网和ADSL接入技术--作业

-6.3 家庭局域网接入方式与无线路由器

--6.3-1 家庭局域网接入方式

--6.3-2 家庭无线路由器的配置

-6.3 家庭局域网接入方式与无线路由器--作业

-6.4 接入综合演示实验

--6.4 接入综合演示实验

-6.4 接入综合演示实验--作业

-第六讲内容的启示

--html

-例题分析

--第六讲 例题分析

-测验--作业

第7讲 传输层

-本讲内容简介

--传输层

-7.1 传输层服务特性

--传输层服务特性

-7.1 传输层服务特性--作业

-7.2 端口号

--端口号

-7.3 用户数据报协议UDP

--用户数据报协议UDP

-7.3 用户数据报协议UDP--作业

-7.4 传输控制协议TCP

--TCP特点和格式

--建立和释放连接过程

--TCP差错控制机制

--TCP拥塞控制机制

-- TCP的几点说明

-7.4 传输控制协议TCP--作业

-第七讲内容启示

--html

-例题分析

--例题分析

-测验--作业

第8讲 应用层

-本讲内容简介

-- 应用层

-8.1 应用结构

--应用结构

-8.1 应用结构--作业

-8.2 域名解析

--8.2-1 域名结构与资源记录

--8.2-2 域名解析过程

--8.2-3 DNS演示实验

-8.2 域名解析--作业

-8.3 动态主机配置协议

--8.3-1 动态主机配置协议

--8.3-2 DHCP无中继演示实验

--8.3-3 DHCP中继演示实验

-8.3 动态主机配置协议--作业

-8.4 万维网

-- 万维网

-8.4 万维网--作业

-8.5 电子邮件

--html

-8.6 文件传输协议

--html

-例题分析

--例题分析

-案例设计

--CH8 案例设计

-应用层启示

--html

-测验--作业

第9讲 网络安全

-本讲内容简介

--9.0 网络安全内容简介

-9.1 网络安全概述

--9.1-1 网络安全现状与目标

--9.1-2 网络攻击举例

--9.1-3 DHCP欺骗攻击演示实验

-9.1 网络安全概述--作业

-9.2 网络安全基础

--9.2-1 数据加密

--9.2-2 报文摘要和数字签名

-9.2 网络安全基础--作业

-9.3 病毒检测与防御技术

--9.3 病毒检测与防御技术

-9.3 病毒检测与防御技术--作业

-9.4 以太网安全技术

--9.4-1 以太网安全技术

--9.4-2 防DHCP欺骗演示实验

-9.4 以太网安全技术--作业

-9.5 无线局域网安全技术

--9.5 无线局域网安全技术

--9.5-2 无线局域网安全演示实验

-9.5 无线局域网安全技术--作业

-9.6 防火墙

--9.6-1 无状态分组过滤器

--9.6-2 有状态分组过滤器

-9.6 防火墙--作业

-9.7 安全协议

--9.7 安全协议

-9.7 安全协议--作业

-例题分析

--例题分析

-防火墙演示实验

-- 防火墙演示实验

-案例设计

--案例设计

-网络安全的启示

--html

-测验--作业

附录

-附录1:综合应用分析

--综合应用分析

-附录2:Cisco实际设备网络构建与配置

--Cisco实际设备网络构建与配置

期末考试

-期末考试--考试试题

TCP差错控制机制笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。