当前课程知识点:计算机网络 >  第六章 传输层 >  6.4 TCP数据段 >  Video

返回《计算机网络》慕课在线视频课程列表

Video在线视频

下一节:TCP数据段

返回《计算机网络》慕课在线视频列表

Video课程教案、知识点、字幕

TCP是Transmission Control Protocol

的缩写

它是专门为了在不可靠的

互联网络上

提供可靠的端到端的字节流

而设计的

TCP必须动态的

适应不同的拓扑

带宽 延迟

分组大小

和其他的网络参数

并且在有错误的时候

能够足够健壮

支持TCP的机器

都有一个TCP的实体

或者是用户进程

或者是操作系统的内核

都可以管理TCP流

和跟IP层的接口

具体的来说

发方的传输实体

会完成封装的一个环节

它从本地进程

接收用户数据流

并且把它分割成

不超过64KB的一个一个的分片

在实践中

通常分割成1460个字节

以便它能够通过以太网的传输

而收方的传输实体

它完成解封装的一个环节

当包含TCP数据段的报文

到达某台机器的时候

它被提交给传输实体

传输实体

将其重构出原始的字节流

就是Byte Stream

TCP连接上的每一个字节

都有它自己独有的32位序列号

编号

但是收发双方的TCP实体

是不以字节

而是以数据段的形式

来交换数据的

那么TCP数据段的大小

是怎么来确定的呢

有两个因素

限制了数据段的长度

TCP数据段

必须适合IP分组的65515字节的

限制

这个65515呢是从整个IP分组的

长度

65535

再减去它的头部

20个B得来的

减去头部之后

剩下的就是数据段

它所机身的那个长度

就是净载荷的长度

每个TCP数据段

必须适合于下层网络的MTU

比如说1500个字节

它是以太网载荷的大小

接下来仔细观察一下

TCP数据段的构成

一个TCP数据段

包括20个字节的头部

不包含可选项

和变长的数据字段

这个数据字段呢

可以是零个字节

或者很多个字节

不含选项的TCP段头

有14个字段

或者14个域

第一个和第二个字段

叫源端口和目的端口

这两个字段呢

表明了一个连接的

两个端点

上面的两个元素

这其实就是通信五元组中的

两个重要的元素

它用来跟踪同一时间内

通过网络的不同会话

一般每个端口

它会对应一个应用进程

第三个字段呢

叫序列号

用32位表示的

它表示一个字节

它的编号

可以说每一个字节

都有一个编号

都有一个序列号

在这些序列号里边

有一个非常特殊的序列号

叫初始序列号

我们把它简称为ISNs

它是随机产生的

第四个字段叫确认号

它代表的是期望接收的

对方发过来的字节编号

也是用32位表示的

在TCP里边

为了保证数据的可靠传递

它采用了肯定确认这种机制

那么这个时候

我就要用到确认号

比如确认号是500

就表示收到了发方发出的499

498 497等等等等

序列号的字节

下一次呢

发方就可以从序列号为500的字节

发数据过来了

这个地方呢

就采用了累积确认技术

第五个字段

是用4比特表示的TCP

段头的长度

它的单位呢

是4个byte

4个字节

32位

这个段头的含义呢

我们在IP里边

已经学过了

在这个地方呢

它的含义跟IP的段头长度

是一模一样的

接下来呢

是保留字段

这个保留字段呢

也逐步的启用了

比如说用来做一些拥塞控制等等

第六 第七 第八 第九

第十 十一

总共六个字段

都是用1比特表示的

有的时候呢

把它们叫做控制比特

这6个控制比特

分别是URG ACK PSH

RST SYN和FIN

我们逐个的来看

这6个控制位

它有什么意思

先来看URG

当紧急指针使用的时候

URG被置为1

紧急指针

是一个对于当前序列号的字节

偏移量

表明紧急数据

从哪里开始

即使window size等于0

也可以发送这样的紧急数据

比如说如果用户发出

ctrl+C这样的中断命令

它就可以以紧急数据的形式

发出去

当URG等于1的时候

表明有紧急数据

必须首先处理

所以接收方

如果收到这样的数据

它会马上处理

处理完之后再恢复它

正常的操作

第二个控制比特是ACK

它可以设为1

也可以设为0

当它设为1的时候

它表示确认号

就是ACK number是有效的

也表明它启用了一个捎带确认

当ACK这一位等于0的时候

表明确认号无效

没有搭载任何的确认

第三个控制比特是PSH

表示这是带有push标志的数据

接收方收到这样的数据

应该立刻送给上层

而不需要去缓存它

第四个控制比特是RST

它被用来重置一个

已经非常混乱的连接

如果在连接建立的阶段呢

就直接拒绝

建立这个连接

第五个控制比特是SYN

它用在连接建立的过程里面

通常呢

SYN和ACK一起

指示了连接建立的

某一个环节

比如说

SYN等于1

ACK等于0

表明这是一个连接建立的请求

如果SYN等于1

ACK也等于1

就表明这是一个连接接受的信息

第六个控制比特是FIN

它被用来释放连接

它表示发送方

已经没有更多的数据

要传输了

但是呢

它可以继续接收数据

为了避免接收方

被大量涌入的数据所淹没

TCP实体进行了流控

它通常会使用一个可变长的

滑动窗口

来完成这个流控

所以我们看到第12个字段

它叫做窗口尺寸

windows size

是用16位表示的

这个窗口尺寸的值

是告诉对方

可以发送的数据

字节数

即从确认字节号开始

连续发送的字节总数

窗口尺寸的大小

取决于接收方

第13个字段叫校验和

它计算的方法

跟UDP数据段中

校验和计算是一样的

唯一不一样的是

伪头部中的用户协议

取值为6

第14个字段紧急指针

它和URG控制位配合使用

指明了紧急数据

如果在基本头部之后

有选项域的话

它提供了一种

增加基本头

没有包含的内容的方法

小结一下今天的内容

TCP是一个复杂的

传输层协议

负责将TCP数据段

可靠地送达目的端

相比UDP段头

TCP段头非常复杂

包含14个字段

比如源端口

目的端口

这是通信五元组中的

两个非常重要的元素

序列号为每个字节编号

确认号

ACK控制位置位的时候

这个确认号才有效

还有6个控制位

用于连接的建立 拆除

异常处理等等

还有窗口数

可以用来进行流控

以免接收方

被数据所淹没

计算机网络课程列表:

第零章

-本课程简介

--课程组织

--课程简介和学习目标

--第44次中国互联网络发展状况统计报告201909

第一章 概述

-1.1 为什么要学习计算机网络?

--为什么要学习计算机网络?

--为什么要学习计算机网络?

-1.2 互联网络发展史

--Video

--互联网络发展史

-1.3 常用的基本概念

--Video

--常用的基本概念

-1.4 参考模型(重点)

--Video

--参考模型

-1.5 参考模型相关的概念

--Video

--数据如何传输

-1.6 本课程的组织

--Video

--课程组织

-附录1:思考题

--html

-附录2:术语中英对照表

--html

-附录3:伦敦奥运会开幕式之Tim Berners Lee

--伦敦奥运会开幕式之Tim Berners Lee

--附录说明

-第一章 概述--章节测试

-附录4:本章的无背景乐的视频

--1-2互联网网络发展史

--1-3 常用的基本概念

--1-4参考模型

--1-5参考模型相关的概念

--关于附录4的说明

第二章 物理层

-2.1 数据通信的理论基础

--Video

--数据通信的理论基础

-2.2 有导向的传输介质

--Video

--有导向的传输介质

-2.3复用技术

--Video

--复用技术

-2.4调制技术

--Video

--调制技术

-2.5公共交换电话网络

--Video

--公共交换电话网络

-2.6物理层设备

--Video

--物理层设备

-附录1:思考题

--html

-附录2:术语中英对照表

--html

-附录3:光纤熔接

--Video

-附录4:海底光缆

--ABB投资建造世界领先的海底电缆敷设船

--动画演示海底光缆铺设

--附录说明

--外部链接

-第二章 物理层--章节测试

-附录5:本章的无背景乐的视频

--2-1物理层概述及信号分析

--2-2引导性传输介质

--2-3复用技术

--2-4调制技术

--2-5公共交换电话网络

--关于附录5的说明

第三章:数据链路层

-3.1 数据链路层概述

--Video

--数据链路层概述

-3.2 差错处理概述

--Video

--差错处理概述

-3.3 纠1位错的海明码

--Video

--纠1位错的海明码

-3.4 检错码

--Video

--检错码

-3.5基本数据链路协议1~3

--Video

--基本数据链路协议1~3

-3.6 滑动窗口协议

--Video

--滑动窗口协议

-3.7 回退n帧

--Video

--回退n帧

-3.8 选择性重传

--Video

--选择性重传

-附录1:思考题

--html

-附录2:术语中英对照表

--html

-第三章:数据链路层--章节测试

-附录3:本章的无背景乐的视频

--3-1数据链路层功能和成帧

--3-2差错处理概述

--3-3纠1位错的海明码

--3-4检错码

--3-5 6个模拟的DLL协议之1-3

--3-6 滑窗协议

--3-7 回退n帧

--3-8 选择性重传

--关于附录3的说明

第四章 介质访问控制子层

-4.1 MAC子层概述

--Video

--MAC子层概述

-4.2 ALOHA协议

--Video

--ALOHA协议

-4.3 CSMA协议

--Video

--CSMA协议

-4.4 以太网概述

--Video

--以太网概述

-4.5 以太网帧格式

--Video

--以太帧格式

-4.6 二层交换的基本格式

--Video

--二层交换的基本原理

-4.7 生成树协议

--Video

--生成树协议

-4.8 虚拟局域网

--Video

--虚拟局域网

-4.9 二层设备

--Video

--二层设备

-附录1:思考题

--html

-附录2:术语中英对照表

--html

-第四章 介质访问控制子层--章节测试

-附录3:本章的无背景乐的视频

--4-1 MAC子层概述

--4-2 ALOHA协议

--4-3 CSMA协议

--4-4 以太网概述

--4-5 以太帧格式

--4-6_二层交换的基本原理

--4-7 生成树协议

--4-8 虚拟局域网

--4-9 二层设备

--关于附录3的说明

第五章 网络层

-5.1 网络层引言

--Video

--网络层引言

-5.2 IP地址

--Video

--IP地址

--子网规划实例

-5.3 子网规划

--Video

--子网规划

-5.4 IP寻址

--Video

--你手机的IPv4地址跟地理位置绑定在一起吗?

--IP寻址

-5.5 IP分组

--Video

--IP分组

-5.6 什么是IPv6?

--Video

--什么是IPv6?

-5.7 IPv6地址

--Video

--IPv6地址

-5.8 IPv6分组

--Video

--IPv6分组

-5.9 IPv6过渡技术

--Video

--IPv6过渡技术

-5.10 路由从何而来?

--Video

--你了解路由器和家用路由器及二者的区别吗?

--路由如何而来

-5.11 距离矢量路由选择协议

--Video

--距离矢量路由选择协议

-5.12 路由信息协议RIP

--Video

--RIP

-5.13 RIP为什么衰落?

--Video

--RIP为什么会衰败

-5.14 链路状态路由选择LS

--Video

--链路状态路由选择LS

-5.15 单区域OSPF

--Video

--开放的最短路径优先(OSPF)

-5.16 无类域间路由 CIDR

--Video

--CIDR

-5.17 网络地址翻译 NAT

--Video

--NAT

-5.18 互联网控制消息协议 ICMP

--Video

--ICMP

-5.19 地址解析协议 ARP

--Video

--ARP

-5.20 拥塞控制

--Video

--拥塞控制

-5.21 流量整形

--Video

--流量整形

-附录1:思考题

--html

-附录2:术语中英对照表

--html

-第五章 网络层--章节测试1

-第五章 网络层--章节测试2

-第五章主观测试题

-附录3:本章的无背景乐的视频

--5-1_网络层引言

--5-2_IP地址

--5-3_子网规划

--5-4_IP寻址

--5-5_IP分组

--5-6 什么是IPv6?

--5-7_IPv6地址

--5-8IPv6分组

--5-9过渡技术

--5-10_路由从何而来?

--5-11 距离矢量路由选择协议

--5-12_路由信息协议RIP

--5-13_ RIP为什么会衰落

--5-14_链路状态路由选择协议

--5-15_单区域OSPF

--5-16 无类域间路由 CIDR

--5-17_网络地址翻译 NAT

--5-18_互联网控制消息协议ICMP

--5-19_地址解析协议 ARP

--5-20_拥塞控制

--5-21流量整形

-说说你在家的用网体验

-RIP是否会卷土重来?

-说说你遭遇过的ARP病毒

第六章 传输层

-6.1 传输层概述

--Video

--传输层概述

-6.2 用户数据报协议 UDP

--Video

--用户数据报协议 UDP

-6.3 通信模型

--Video

--通信模型

-6.4 TCP数据段

--Video

--TCP数据段

-6.5 TCP三次握手建立连接

--Video

--TCP三次握手建立连接

-6.6 TCP连接释放

--Video

--TCP连接释放

-6.7 TCP传输策略

--Video

--TCP传输策略

-6.8 TCP拥塞控制

--Video

--TCP拥塞控制

-6.9 TCP定时器等

--Video

--TCP定时器等

-附录1:思考题

--html

-附录2:术语中英对照表

--html

-第六章 传输层--章节测试

-附录3:本章的无背景乐的视频

--6-1传输层概念

--6-2UDP

--6-3通信模型

--6-4TCP数据段

--6-5 TCP三次握手建立连接

--6-6 TCP连接释放

--6-7 TCP传输策略

--6-8 TCP拥塞控制

--6-9 TCP定时器等

套接字编程

-linux

--1_Socket_UDP_简介(linux)

--1_Socket_TCP_简介(linux)

--2_Socket_UDP_代码讲解(linux)

--2_Socket_TCP_代码讲解(linux)

--3_Socket_UDP_调试(linux)

--3_Socket_TCP_调试(linux)

-windows

--UDP_1_SOCKET简介

--UDP_2_代码讲解

--UDP_3_代码调试

--TCP_1_Socket简介

--TCP_2_代码讲解

--TCP_3_代码调试

第七章 应用层

-7.1 应用层概述

--Video

--应用层概述

--说说你用得最多的应用是哪个?

--畅想你想研发的一个应用

-7.2 域名系统 DNS 概述

--Video

--域名系统 DNS 概述

-7.3 DNS之域名解析

--Video

--域名解析

-7.4 电子邮件 e-mail

--Video

--电子邮件 e-mail

-7.5 万维网 WWW

--Video

--万维网 WWW

--如果没有Web,互联网会怎样?

-7.6 其它应用

--Video

--其它应用

-附录1:思考题

--html

-附录2:术语中英对照表

--html

-第七章 应用层--章节测试

-附录3: 本章无背景音乐的视频

--7-1_应用层概述

--7-2_域名系统 DNS 概述

--7-3_DNS之域名解析

--7-4_电子邮件

--7-5_万维网 WWW

--7-6_其它应用

Video笔记与讨论

也许你还感兴趣的课程:

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