计算机网络微课堂笔记
时间:2023-03-12 07:30:01
计算机网络
计算机网络微课堂 笔记总结
视频地址:https://www.bilibili.com/video/BV1c4411d7jb
文章目录
- 计算机网络
-
- 第一章 概述
-
- 1.1 计算机网络在信息时代的作用
- 1.2 因特网概述
-
- 内容提要
- 网络、互联网和因特网
- 因特网的发展三阶段
- 因特网的标准化
- 由特网组成
- 1.3 三种交换方式
-
- 内容提要
- 电路交换(Circuit Switching)
- 分组交换(Packet Switching)
- 报文交换(Message Switching)
- 三者对比
- 1.4 计算机网络的定义和分类
-
- 内容提要
- 定义计算机网络
- 计算机网络的分类
- 1.5 计算机网络的性能指标
- 1.6 计算机网络系统结构(重点、难点)
-
- 内容提要
- 常见的计算机网络系统结构
- 计算机网络系统结构分层的必要性
- 计算机网络系统结构分层思想实例
- 计算机网络系统结构中的专业术语
- 1.7 章节总结和练习测试
-
- 习题测试
- 第二章 物理层
-
- 2.1 物理的基本概念
- 2.2 物理层以下的传输媒体(理解)
-
- 内容提要
- 引导传输媒体
- 非导向传输媒体(自由空间)
- 2.3 传输方式
-
- 内容提要
- 串行传输和并行传输
- 同步传输和异步传输
- 单向通信(单工)、双向交替通信(半双工)和双向同时通信(全双工)
- 2.4 编码与调制
-
- 内容提要
- 常用编码
- 基本调制方法
- 混合调制
- 2.5 极限容量的信道
-
- 奈氏重则和香农公式
- 2.6 章节总结和练习测试
-
- 习题测试
- 第三章 数据链路层
-
- 3.1 数据链路层的概述
-
- 内容提要
- 数据链路层的概述
- 数据链路层的三个重要问题
- 3.2 封装成帧
-
- 内容提要
- 封装成帧
- 透明传输
- 3.3 差错检测
-
- 内容提要
- 差错检测
- 奇偶校验
- 循环冗余校验CRC(Cyclic Redundancy Check)
- 3.4 可靠传输
-
- 内容提要
- 可靠传输的基本概念
- 实现可靠传输的机制
- 3.5 点对点协议PPP
- 3.6 媒体接入控制
-
- 内容提要
- 基本概念
- 静态划分信道
- 随机接入-载波监控多址接入/碰撞检测CSMA/CD
- 随机接入-载波监控多址接入/碰撞避免CSMA/CA
- 3.7 MAC地址、IP地址以及ARP协议
-
- 内容提要
- MAC地址
- IP地址
- ARP协议
- 总结
- 3.8 集线器和交换机的区别
-
- 对比集线器和交换机
- 3.9 以太网交换机自学转发帧的过程
- 3.10 以太网交换机生成树协议STP
-
- 如何提高以太网的可靠性?
- 3.11 虚拟局域网VLAN
-
- 内容提要
- 虚拟局域网VLAN概述
- 虚拟局域网VLAN实现机制
- 第四章 网络层
-
- 4.1 网络层概述
- 4.2 网络层提供的两种服务
-
- 虚拟电路服务面向连接
- 无连接数据报告服务
- 总结
- 4.3 IPv4地址
-
- 内容提要
- IPv4地址的概述
- 分类编址的IPv4地址
- 划分子网的IPv4地址
- 无分类编址IPv4地址
- IPv4地址应用规划
- 4.4 IP数据报的发送和转发过程
- 4.5 静态路由配置及其可能的路由环路问题
- 4.6 路由选择协议
-
- 内容提要
- 路由选择协议的概述
- 路由信息协议RIP基本工作原理
- 开放最短路径优先OSPF基本工作原理
- 边界网关协议BGP基本工作原理
- 4.7 IPv4数据报的首部格式
- 4.8 网际控制报文协议ICMP
- 4.9 虚拟专用网VPN与网络地址转换NAT
-
- 内容提要
- 虚拟专用网VPN(Virtual Private Network)
- 网络地址转换NAT
- 第五章 运输层
-
- 5.1 运输层的概述
- 5.2 运输层端口号、复用与分用的概念
-
- 内容提要
- 运输层端口号
- 发送方的复用和接收方的分用
- 5.3 UDP和TCP的对比
- 5.4 TCP的流量控制
- 5.5 TCP的拥塞控制
-
- 内容提要
- 拥塞控制
- 四种拥塞控制算法
- 5.6 TCP的超时重传时间的选择
- 5.7 TCP可靠传输的实现
-
- 内容提要
- 5.8 TCP的运输连接管理
-
- 内容提要
- TCP运输连接
- TCP连接的建立
- TCP连接的释放
- TCP保活计时器
- 5.9 TCP报文段的首部格式
- 第六章 应用层
-
- 6.1 应用层的概述
- 6.2 客户/服务器方式和对等方式
-
- 内容提要
- 概述
- 客户/服务器方式(C/S方式)
- 对等方式(P2P方式)
- 6.3 动态主机配置协议DHCP
-
- 内容提要
- DHCP的作用
- DHCP的工作过程
- DHCP中继代理
- 6.4 域名系统DNS
-
- 内容提要
- 域名系统DNS的作用
- 域名
- 域名服务器
- 域名解析的过程
- 6.5 文件传送协议FTP
-
- 内容提要
- FTP基本概述
- FTP的基本工作原理
- 6.6 电子邮件
-
- 内容提要
- 电子邮件基本概述
- 简单邮件传送协议SMTP (Simple Mail Transfer Protocol)的基本工作原理
- SMTP的工作过程
- 电子邮件的信息格式
- 常见邮件读取协议POP和IMAP
- 基于万维网(WWW)的电子邮件
- 6.7 万维网WWW
-
- 内容提要
- 万维网基本概述
- 超文本传输协议HTTP
- HTTP报文格式
- Cookie
- 万维网缓存与代理服务器
第一章 概述
1.1 计算机网络在信息时代的作用
-
计算机网络由通信基础设施发展成为一种重要的信息服务基础设施
-
计算机网络已经成为生活中不可或缺的一部分
1.2 因特网概述
内容提要
- 网络、互联网和因特网(理解)
- 因特网的发展三阶段(了解)
- 因特网的标准化工作(了解)
- 因特网的组成(理解)
网络、互联网和因特网
- 网络(Network) 由若干 结点(Node) 和连接这些结点的 链路(Link) 组成
- 多个网络路由器互联,构成一个覆盖范围更大的网络,即互联网也叫网络的网络
- 因特网(Internet)是世界上最大的互联网络
因特网的发展三阶段
ISP
普通用户通过ISP接入因特网,由ISP从因特网管理机构申请成块IP地址,且架设通信线路和路由器联网设备
任何机构或个人向ISP缴纳相应费用,可从ISP得到所需IP地址,因特网的主机就由这IP地址进行通信
基于ISP的三层结构的因特网
- 第一层:主干网:国际性区域覆盖规模,高速链路和交换设备,第一层ISP直接互联
- 第二层:第一层ISP的用户:国家性、区域性覆盖规模
- 第三层:第一层ISP的用户:本地范围覆盖规模,校园网、企业网、住宅用户、无线移动用户
因特网的标准化工作
因特网的组成
从功能划分为边缘部分和核心部分
路由器 在网络核心部分起特殊作用,一种专用计算机,实现分组交换的关键构件,任务是转发收到的分组。负责将各种网络互联,对接收的分组进行转发,也即分组交换
1.3 三种交换方式
内容提要
- 电路交换(Circuit Switching)(了解)
- 分组交换(Packet Switching)(理解)
- 报文交换(Message Switching)(了解)
- 三者对比
电路交换(Circuit Switching)
两两相连的电话线是不现实的,所以需要一个中间设备将电话相连,从而大大减少连接的电话线数量
电路交换三步骤解读
- 建立连接:先拨通电话建立连接,即专用的物理通路,保证双方通信资源不被其他用户占用
- 通话:通话期间,连接建立的通信资源始终被占用
- 释放连接:通话完毕挂断电话,电话交换机释放使用的专用物理通路,归还占用的通信资源
使用电路交换传送计算机数据,线路传输效率低,因为数据是突发性出现的,编写数据时占用的资源利用白白浪费
引出了分组交换
分组交换(Packet Switching)
分组交换中要传输的消息称作报文。(下图绿色部分)
把报文划分成一个个更小的等长数据段
每个数据段前加上必要的控制信息组成的 首部,构成了分组,也即为包,首部也可称为包头
添加的首部中包含了分组的目的地址,防止数据在传输过程中“迷路”,路由器不知到路径无法转发数组
分组交换机收到分组,暂时存储,再检查其首部,按首部中的目的地址进行查表转发,找到合适转发接口
目的地址的主机收到分组后,去掉首部,
将各数锯段组合还原成原始报文
此案例中只展示出了分组传输出现的两种情况:
- 路由不同:各分组从源站到目的站可以走不同的路径
- 分组乱序:分组到达目的站的顺序不一定与分组在源站的发送顺序相同
发送方、路由器、接收方的任务
发送方:构造分组、发送分组
路由器:缓存分组、转发分组——存储转发
接收方:接受分组、还原报文
报文交换(Message Switching)
报文交换的交换结点也采用存储转发方式,但报文交换对报文大小没有限制,要求交换结点需要有较大的缓存空间
报文交换主要用于早期的电报通信网,现在较少使用,通常被较先进的分组交换方式取代
三者对比
1.4 计算机网络的定义和分类
内容提要
- 计算机网络的定义(了解)
- 计算机网络的分类(了解)
计算机网络的定义
计算机网络的精确定义并未统一,最简单的定义是:一些互相连接的、自治的计算机集合
- 互连:计算机之间通过有线或无线的方式进行数据通信
- 自治:独立的计算机,有自己的硬件和软件,可单独运行使用
- 集合:至少需要两台计算机
计算机网络的较好的定义是:计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能 支持广泛的和日益增长的应用。
- 意味着计算机网络所连接的硬件,并不限于一般的计算机,还可以包括智能手机、平板等智能硬件
- 计算机网络并非专门用来传递数据,而是能够支持很多的应用(包括今后可能出现的各种应用)
计算机网络的分类
1.5 计算机网络的性能指标
性能指标:可以从不同的方面来度量计算机网络的性能
常用的计算机网络的性能指标有:
-
速率
-
带宽
-
吞吐量
-
时延
注:关于网络时延中的处理时延运算复杂,一般忽略,而发送时延和传播时延谁起到主导地位具体情况具体分析
-
时延带宽积
-
往返时间
-
利用率
-
丢包率
性能指标总结
1.6 计算机网络体系结构(重点、难点)
内容提要
- 常见的计算机网络体系结构(理解)
- 计算机网络体系结构分层的必要性(了解)
- 计算机网络体系结构分层思想举例(了解)
- 计算机网络体系结构中的专业术语(理解)
常见的计算机网络体系结构
为了使不同体系结构的计算机网络都能互连,研究出了 “开放系统互联参考模型” 即OSI 。虽标准已经制定出来,但是因特网已经抢先在全世界覆盖相当大范围,其使用的 “TCP/IP参考模型” 也就成了事实上的标准
OSI失败的原因:
-
OSI专家们缺乏实际经验,没有商业驱动力
-
OSI的实现过于复杂,运行效率很低
-
OSI制定周期太长,无法及时进入市场
-
OSI层次划分也不合理,有些功能在多个层次中重复出现
网络接口层为满足互连全世界各种不同的网络接口(有线以太网接口、无线WIFI接口),没有规定具体内容。
不适用与学习计算机网络原理,所以采用折中方法,综合OSI和TCP/IP的优点,采用 五层原理体系结构
用户主机必须使用TCP/IP协议才可接入因特网,即使不接入因特网也可使用TCP/IP协议。用户主机的操作系统中自带符合TCP/IP体系结构标准的TCP/IP协议族,用于网络互连的路由器中也带有TCP/IP协议族,只不过只包含网络接口层和网际层。
因为网络接口层没有规定具体内容。本质上TCP/IP体系结构只有三层。
- IP协议是TCP/IP体系结构网际层的核心协议
- IP协议可以将不同的网络接口进行互连,并向其上的TCP和UDP协议提供网络互连服务
- 互连不同的网络接口(IP over everything)
- 为各种网络应用提供服务(Everything over IP )
- IP协议可以将不同的网络接口进行互连,并向其上的TCP和UDP协议提供网络互连服务
- TCP和UDP是TCP/IP体系结构运输层的两个重要协议
- TCP协议在享受IP协议提供的网络互连服务基础上,向应用层相应协议提供可靠的传输服务
- UDP协议在享受IP协议提供的网络互连服务基础上,向应用层相应协议提供不可靠的传输服务
- TCP/IP体系结构应用层有大量应用层协议,如HTTP、SMTP、DNS、RTP等
计算机网络体系结构分层的必要性
- 计算机网络是个非常复杂的系统早在最初的ARPANET设计时就提出了分层的设计理念。
- "分层"可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。
采用分层需考虑案例:
- 物理层
两台计算机通过一根网线连接
注: 传输媒体不属于物理层,不包含在体系中,计算机网络传输信号并不是方波信号,此例仅为方便理解
- 数据链路层
实用的计算机网络,一般由多台主机构成
注:总线型网络早已淘汰,现在常用以太网交换机将多台主机互连形成交换式以太网(上图右下角)
以上只要解决了物理层和数据链路层所面临的问题,就可以实现分组在一个网络上传输了
- 网络层
因特网是由非常多的网络和路由器互连起来的,仅解决物理层和数据链路层还不能正常工作
以上只要解决了物理层、数据链路层和网络层所面临的问题,可以实现分组在网络间传输
- 运输层
主机运行不止一个与网络通信相关的应用进程
以上只要解决了物理层、数据链路层和网络层所面临的问题,可以实现进程之间基于网络的通信
- 应用层
总结案例:
计算机网络体系结构分层思想举例
主机和Web服务器之间基于网络的通信,实际是主机中的浏览器应用进程与Web服务器中的Web服务器应用进程之间的基于网络的通信。
体系结构的各层在整个过程中的作用:
从主机端按体系结构自顶向下顺序看:
- 应用层:按HTTP协议规定构建一个HTTP请求报文,交付给运输层处理
- 运输层:给HTTP请求报文添加一个TCP首部,成为TCP报文段,将TCP报文段交付给网络层处理
- TCP首部:主要为了区分应用进程以及实现可靠传输
-
网络层:给TCP报文段添加一个IP首部,成为IP数据报,将IP数据报交付给数据链路层处理
- IP首部:主要为了使IP数据报可在互联网上传输,即被路由器转发
- IP首部:主要为了使IP数据报可在互联网上传输,即被路由器转发
-
数据链路层:给IP数据报添加一个首部和尾部,成为帧,将帧交付给物理层处理
- 以太网帧首部:主要为了让帧能够在一段链路上或一个网络上传输,能够被相应的主机接收
- 以太网帧尾部:主要为了让目的主机检查所接收到的帧是否有误码
- 物理层:将帧看作比特流,网络N1以太网,物理层会给该比特流前添加前导码,将添加有前导码的比特流变换相应的信号发送给传输媒体,
- 前导码:为了让目的主机做好接收帧的准备
路由器的处理过程看:
- 物理层:将信号变换为比特流并去掉前导码,将帧交付给数据链路层处理
- 链路层:将帧的首部和尾部去掉,将IP数据报交付给网络层处理
- 网络层:解析IP数据报的首部,从中提取到目的网络地址,查找自身的路由表。确定转发接口,将IP数据报交付给数据链路层处理
- 链路层:给IP数据报添加一个首部和尾部成为帧,将帧交付给物理层处理
- 物理层:将帧看作比特流,网络N2是以太网,物理层会给该比特流前添加前导码,将添加有前导码的比特流变换相应的信号发送给传输媒体
Web服务器处理过程:
- 物理层:将信号转换成比特流,然后去掉前导码,交付给数据链路层处理
- 链路层:将帧的首部和尾部去掉,将其交付给网络层处理
- 网络层:将IP数据报首部去掉,将其交付给运输层处理
- 运输层:将TCP报文段首部去掉,将其交付给应用层处理
- 应用层:将HTTP请求报文解析,给主机发回HTTP响应报文
HTTP响应报文需要在Web服务器层层封装,通过物理层变换相应的信号,再通过传输媒体传输到路由器,路由器转发该响应报文给主机,主机通过物理层将收到的信号转换为比特流,之后通过逐层解封,最终取出HTTP响应报文。
计算机网络体系结构中的专业术语
实体:
协议:
协议三要素:
- 语法:定义所交换信息的格式
- 语义:定义收发双方所要完成的操作
- 同步:定义收发双方的时序关系
服务:
服务访问点:在同一系统中的相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型
服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令称为服务原语
协议
1.7 章节小结及习题测试
习题测试
体系结构相关习题
时延相关习题
注:比特是一个跟着一个同时向前传播的,因此无论有多少个比特,在总时延中只包含一个传播时延,增加比特数量,只是增加了发送时延,而传播时延数量不变,所以第一种解法的错误在于:重复包含了(n-1)个传播时延
第二章 物理层
2.1 物理层的基本概念
物理层:解决在各种传输媒体上传输比特0和1的问题,进而给数据链路层提供透明传输比特流服务
注: 透明是指数据链路层看不见也无需看见物理层究竟使用什么方法来传输比特0和1,只管享受物理层提供的比特流传输服务即可
2.2 物理层下面的传输媒体(了解)
内容提要
- 导引型传输媒体
- 非导引型传输媒体
导引型传输媒体
- 同轴电缆
- 双绞线
只要从纤芯中射到纤芯表面的光线的入射角大于某一个临界角度,就可产生全反射,即可以存在多个角度入射的光线在一条光纤中传输,这种光纤叫多模光纤
- 电力线
非导引型传输媒体(自由空间)
利用电磁波在自由空间的传播来传送数据信息,下图为电磁波频谱
- 无线电波
- 红外线
- 可见光
LiFi:实验研究阶段,前景较为看好
2.3 传输方式
内容提要
- 串行传输和并行传输
- 同步传输和异步传输
- 单向通信(单工)、双向交替通信(半双工)和双向同时通信(全双工)
串行传输和并行传输
-
串行传输
数据为 一个比特依次发送,在发送端和接收端之间只需要一条数据传输线路即可
-
并行传输
数据为 n个比特依次发送,在发送端和接收端之间需要n条数据传输线路
对比:并行传输的优点是速度为串行传输的n倍,但是有个严重的缺点,即就是成本高
数据在传输线路上传输采用串行传输,计算机内部的数据传输,常常采用并行传输
同步传输和异步传输
-
同步传输
数据块以 稳定的比特流的形式 传输,字节之间没有间隔,接收端在 每个比特信号的中间时刻进行检测,以判断接收到的是比特0还是比特1,由于不同设备的 时钟频率存在一定差异,不可能完全相同,在传输大量数据的过程中,所产生的判别时刻的累计误差,会导致接收端对比特信号的判别错位,需要 采取方法使收发双方的时钟保持同步
-
异步传输
数据块 以字节为独立的传输单位,字节之间 时间间隔不固定,接收端仅在每个字节的起始处对字节内的比特实现同步,通常在每个字节的前后分别加上起始位和结束位
单向通信(单工)、双向交替通信(半双工)和双向同时通信(全双工)
- 单向通信
- 通信双方只有一个数据传输方向
- 只需要一条信道
- 双向交替通信
- 通信双方可以相互传输数据,但是不能同时进行
- 需要两条信道(每个方向各一条)
-
双向同时通信
- 通信双方可以同时发送和接收信息
- 需要两条信道(每个方向各一条)
2.4 编码与调制
内容提要
- 常用编码
- 基本调制方法
- 混合调制
传输媒体与信道的关系:严格来说传输媒体和信道不能直接划等号
- 单工传输:传输媒体中只包含一个信道,要么是发送信道,要么是接收信道
- 半双工、全双工传输:传输媒体中包含两个信道,一个是发送信道,另一个是接收信道
- 使用信道复用技术,一条传输媒体中可包含多个信道
常用编码
- 不归零编码
-
需要额外一根传输线来传输时钟信号,吏发送方和接收方同步。
-
对于计算机网络,宁愿利用这根传输线传输数据信号,而不是传输时钟信号!
-
因此,由于不归零编码存在同步问题,计算机网络中的数据传输不采用这类编码
-
归零编码
-
每个码元传输结束后信号都要“归零”,所以接收方只要在信号归零后进行采样即可,不需单独时钟信号
-
实际上,归零编码相当于把时钟信号用“归零”方式编码在了数据之内,这称为“自同步”信号。
-
但是,归零编码中大部分的数据带宽,都用来传输“归零”而浪费掉了。编码效率低
-
曼彻斯特编码
-
码元中间时刻的跳变既表示时钟,又表示数据
-
差分曼彻斯特编码
- 跳变仅表示时钟
- 码元开始处电平是否发生变化表示数据
- 比曼彻斯特编码变化少,更适合较高的传输速率
基本调制方法
使用基本调制方法,1个码元只能包含1个比特信息。为了能使1个码元包含更多的比特,引出了混合调制
混合调制
因为频率和相位是相关的,即频率是相位随时间的变化率。所以一次只能调制频率和相位两个中的一个
通常情况下,相位和振幅可以结合起来一起调制,称为正交振幅调制QAM
2.5 信道的极限容量
码间串扰:信号波形失去了码元之间的清晰界限
奈氏重则和香农公式
基本调制方法:二元调制,只能产生两种不同的码元,即两种不同的基本波形,因此每个码元只能携带1比特信息量
混合调制:多元调制,如QAM16可调制16种不同的码元,因此每个码元能携带4比特信息量
例题:
2.6 章节小结及习题测试
习题测试
1.2. 3.
4.
5.
6.
7.
第三章 数据链路层
3.1 数据链路层的概述
内容提要
- 数据链路层的概述
- 数据链路层的三个重要问题
- 差错检测
- 可靠传输
数据链路层的概述
- 链路(Link):就是从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。
- 数据链路(Data Link):是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路。
- 数据链路层以帧为单位传输和处理数据。
数据链路层的三个重要问题
使用点对点信道的数据链路层
-
封装成帧
-
差错检测
- 可靠传输
使用广播信道的数据链路层
-
除了上述三个问题还有以下问题
-
编址问题
-
共享式局域网中传输信号产生碰撞问题
3.2 封装成帧
内容提要
- 封装成帧
- 透明传输
封装成帧
封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧。
- 帧头和帧尾中包含有重要的控制信息。
- 帧头和帧尾的作用之一就是帧定界。
注: 并不是每一种数据链路层协议的帧都包含有帧定界标志,如以太网版本2的MAC帧格式
以太网的数据链路层将封装好的MAC帧交付给物理层,物理层在其前面添加8字节前导码,将比特流转换成==电信号发送,前导码中前七个字节为前同步码==,使接收方的时钟同步,之后1字节为帧的开始定界符,表明其后紧跟着的就是MAC帧,另外以太网还规定了帧间间隔时间为96比特的发送时间,因此MAC帧不需要帧结束定界符
透明传输
透明传输是指数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样。
- 面向字节的物理链路使用字节填充(或称字符填充)的方法实现透明传输。
- 面向比特的物理链路使用比特填充的方法实现透明传输。
相关练习
注:
3.3 差错检测
内容提要
- 差错检测
- 奇偶校验
- 循环冗余校验CRC(Cyclic Redundancy Check)
差错检测
- 实际的通信链路都不是理想的,比特在传输过程中可能会产生差错:1可能会变成0,而0也可能变成1。这称为==比特差错==
- 在一段时间内,传输错误的比特占所传输比特总数的比率称为 误码率BER (Bit Error Rate)。
- 使用==差错检测码==来检测数据在传输过程中是否产生了比特差错,是数据链路层所要解决的重要问题之一。
奇偶校验
循环冗余校验CRC(Cyclic Redundancy Check)
相关练习
注:
3.4 可靠传输
内容提要
-
可靠传输的基本概念
-
可靠传输的实现机制
可靠传输的基本概念
使用 差错检测技术 如循环冗余校验CRC),接收方的数据链路层可检测出帧在传输过程中是否产生了 误码(比特错误)
处理差错取决于数据链路层向上层提供的服务类型:
- 不可靠传输服务:仅仅丢弃有误码的帧,其他什么也不做
- 可靠传输服务:想办法实现发送端发送什么,接收端就收到什么。
注:比特差错 只是传输差错中的一种。从整个计算机网络体系结构来看,传输差错还包括 分组丢失、分组失序以及分组重复。
-
分组丢失
-
分组失序
- 分组重复
注:分组丢失、分组失序以及分组重复这些传输差错,一般不会出现在数据链路层,而会比现在其上层。
可靠传输的实现机制
- 停止-等待协议SW(Stop-and-Wait)
- 发送方给接收方发送数据分组
- 接受方收到后对其进行差错检测,若没有误码,则接收分组,并给发送方发送确认分组,即ACK
- 发送方收到对所发送数据分组的确认分组后,才能发送下一个数据分组,假设这个数组在发送过程中出现误码
- 接收方收到后进行差错检测,发现误码,则丢弃该数据分组,并给发送方发送否认分组,即NAK
- 发送方收到对所发送数据分组的否认分组后,知道之前所发送的数据分组出现差错,而被接收方拒绝,于是立刻重传该数据分组
-
因此发送方每发送完一个数据分组,并不能立刻将该数据分组从缓存中删除,只有在收到针对该数据分组的确认分组后才将其从缓存中删除
-
实际情况中,接收方收不到数据分组,就不会发送ACK或NAK。如果不采取其他措施,发送方就会一直处于等待接收方ACK或NAK的状态。
-
为解决该问题,可以在发送方发送完一个数据分组时,启动一个超时计时器。若到了超时计时器所设置的重传时间而发送方仍收不到接收方的任何ACK或NAK,则重传原来的数据分组,这就叫做超时重传。
-
一般可将重传时间选为略大于“从发送方到接收方的平均往返时间”。
-
为避免分组重复这种传输错误,必须给每个分组带上序号。
-
对于停止-等待协议,由于每发送一个数据分组就停止等待,只要保证每发送一个新的数据分组,其发送序号与上次发送的数据分组的序号不同就可以了,因此用一个比特来编号就够了。
-
停止-等待协议的信道利用率
- Ta一般远小于Td可以忽略,当往返时延RTT远大于数据帧发送时延Td时(例如使用卫星链路),信道利用率非常低。
- 若出现重传,则对于传送有用的数据信息来说,信道利用率还要降低。
- 为了克服停止-等待协议信道利用率很低的缺点,就产生了另外两种协议,即后退N帧协议GBN和选择重传协议SR。
相关练习
- 回退N帧协议GBN(GO-Back-N)
案例演示
- 无差错情况:
- 发送方将数据分组依次连续发送出去,经过互联网传输,正确到达接收方,无乱序和误码
- 接收方按序接收,每接收一个接收窗口向前滑动一个位置,并给发送方发送针对所接收分组的确认分组
- 经过互联网传输正确到达了发送方,发送方每接收一个发送窗口向前滑动一个位置,新的序号将落入发送窗口
- 发送方可以将收到确认的数据分组从缓存中删除了,接收方可择机将已接收的数据分组交付上层处理
- 累积确认情况:
接收方不一定要对收到的数据分组逐个发送确认,而是可以在收到几个数据分组后(由具体实现决定)对按序到达的最后一个数据分组发送确认。ACKn表示序号为n及以前的所有数据分组都已正确接收。
优点:即使确认分组丢失,发送方也可能不必重传,可以减少接收方的开销,减少对网络资源的占用
缺点:不能及时向发送方反映出接收方已经接收数据分组
- 发送方将数据分组依次连续发送出去,经过互联网传输,正确到达接收方,无乱序和误码
- 接收方按序接收,接收完一部分(0~1) ,给发送方发送一个累积确认ACK1,又接收完一部分(2~4),给发送方再次发送一个累积确认ACK4
- 假设ACK1在传输过程中丢失,ACK4经过互联网传输正确到达了发送方
- 发送方接收ACK4知道,序号4及其之前数据分组已经被接收方正确接收,发送窗口向前滑动5个位置,新的序号将落入发送窗口
- 发送方可以将收到确认的数据分组从缓存中删除了,接收方可择机将已接收的数据分组交付上层处理
- 有差错情况:
- 发送方将数据分组依次连续发送出去,经过互联网传输,到达接收方,假设在传输过程中受到干扰出现误码
- 接收方通过数据分组中的检错码发现错误,于是丢弃该数据分组,后续到达的数据分组的序号与接收窗口的序号不匹配,接收方同样不能接收,将其丢弃,并对之前按序接收的最后一个数据分组进行确认,也即发送ACK4,每丢弃一个数据分组,就发送一个ACK4
- ACK4经过互联网传输正确到达了发送方,发送方之前就收到了ACK4,再次收到这些ACK4,就知道之前发送的数据分组有差错,于是可以不等超时计时器超时就立刻开始重传,对于收到几个重复确认就立刻重传,具体实现决定
- 假设这4个重复确认不会触发发送方立刻重传。一段时间后超时计时器出现超时,发送方将发送窗口内已发送过的这些数据分组全部重传
- 尽管之前一些数据分组正确到达接收方,但由于前面的数据分组误码而“受到牵连”不被接收,发送方仍重传这些数据分组,即回退N帧
总结
相关练习
- 选择重传协议SR(Stop-and-Wait)
注:选择重传协议为了使发送方仅重传出现差错的分组,接收方不能再采用累积确认,而需要对每个正确接收到的数据分组进行逐一确认!
案例演示
- 发送方将序号落在发送窗口内的这4个数据分组依次连续发送,经过互联网传输,到达接收方,但其中2号数据分组丢失了
- 只要序号落入接收窗口内且无误码的数据分组,接收方都会接收,接收方接收0,1号数据分组,并发送0,1号确认分组,接收窗口向前滑动两个位置,接收方接收3号数据分组,并发送3号确认分组,但接收窗口不向前滑动,因为3号数据分组时未按序达到的数据分组
- 这些确认分组经过互联网传输正确到达了发送方,发送方每按序收入一个分组,发送窗口就向前滑动一个位置,接收0,1号确认分组,发送窗口向前滑动两个位置,接收3号确认分组,但发送窗口不向前滑动,因为只是一个未按序达到的确认分组,需要记录3号数据分组已收到确认,该数据分组就不会超时重发
- 接收方接收4、5号数据分组,并发送4、5号确认分组,但接收窗口不向前滑动
- 假设在4、5号确认分组的传输过程中,发送方针对2号数据分组的重传计时器超时了,发送方重传2号数据分组,4、5号确认分组陆续到达发送方,发送方接收4、5号确认分组,但发送窗口不向前滑动
- 接收方接收到重传的2号数据分组,并发送2号确认分组,接收窗口向前滑动4个位置
- 2号确认分组经过互联网传输,到达发送方,发送方接收2号确认分组,发送窗口向前滑动4个位置
总结
相关练习
3.5 点对点协议PPP
- 点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的点对点数据链路层协议。
- PPP协议是因特网工程任务组IETF在1992年制定的。经过1993年和1994年的修订,现在的PPP协议已成为因特网的正式标准[RFC1661, RFC1662
- PPP协议为在点对点链路传输各种协议数据报提供了一个标准方法,主要由以下三部分构成:
- 对各种协议数据报的封装方法(封装成帧)
- 链路控制协议LCP用于建立、配置以及测试数据链路的连接
- 一套网络控制协议NCPs其中的每一个协议支持不同的网络层协议
-
帧格式
-
透明传输
- 面向字节的异步链路采用插入转义字符的字节填充法
- 面向比特的同步链路采用插入比特0的比特填充法
-
差错检测
- 工作状态
3.6 媒体接入控制
内容提要
- 基本概念
- 静态划分信道
- 随机接入——载波监听多址接入/碰撞检测CSMA/CD
- 随机接入——载波监听多址接入/碰撞避免CSMA/CA
基本概念
共享信道要着重考虑的一个问题就是如何协调多个发送和接收站点对一个共享传输媒体的占用,即媒体接入控制MAC(Medium Access Control)。
随着技术的发展,交换技术的成熟和成本的降低,具有更高性能的使用点对点链路和链路层交换机的交换式局域网在有线领域已完全取代了共享式局域网,但由于无线信道的广播天性,无线局域网仍然使用的是共享媒体技术。
静态划分信道
-
信道复用
- 复用(Multiplexing)是通信技术中的一个重要概念。复用就是通过一条物理线路同时传输多路用户的信号。
- 当网络中传输媒体的传输容量大于多条单一信道传输的总通信量时,可利用复用技术在一条物理线路上建立多条通信信道来充分利用传输媒体的带宽。
-
常见信道复用技术
-
频分复用FDM
-
时分复用TDM
-
波分复用WDM
-
码分复用CDM
码分复用CDM是另一种共享信道的方法。实际上,由于该技术主要用于多址接入,人们更常用的名词是码分多址CDMA(Code Division Multiple Access)。
同理,频分复用FDM和时分复用TDM同样可用于多址接入,相应的名词是频分多址FDMA(Frequency Division Multiple Access)和时分多址TDMA(Time Division Multiple Access)。复用与多址的概念。可简单理解如下:
- 复用是将单一媒体的频带资源划分成很多子信道,这些子信道之间相互独立,互不干扰。从媒体的整体频带资源上看,每个子信道只占用该媒体频带资源的一部分。
- 多址(更确切地应该称为多点接入)处理的是动态分配信道给用户。这在用户仅仅暂时性地占用信道的应用中是必须的,而所有的移动通信系统基本上都属于这种情况。相反,在信道永久性地分配给用户的应用中,多址是不需要的(对于无线广播或电视广播站就是这样)。
- 某种程度上,FDMA、TDMA、CDMA可以分别看成是FDM、TDM、CDM的应用。
与FDM和TDM不同,CDM的每一个用户可以 在同样的时间使用同样的频带进行通信。
由于 各用户使用经过特殊挑选的不同码型,因此各用户之间 不会造成干扰。
CDM最初是用于军事通信的,因为这种系统所发送的信号有很强的抗干扰能力,其频谱类似于白噪声,不易被敌人发现。
随着技术的进步,CDMA设备的价格和体积都大幅度下降,因而现在已广泛用于民用的移动通信中在CDMA中,每一个比特时间再划分为m个短的间隔,称为 码片(Chip)。通常m的值是64或128为了简单起见,在后续的举例中,我们假设m为8。
使用CDMA的每一个站被指派一个唯一的 m bit码片序列(Chip Sequence) 。- 一个站如果要发送比特1,则发送它自己的m bit码片序列;
- 一个站如果要发送比特0,则发送它自己的m bit码片序列的二进制反码;
-
码片序列的挑选原则如下:
-
分配给每个站的码片序列必须各不相同,实际常采用伪随机码序列。
-
分配给每个站的码片序列必须相互正交(规格化内积为0)。
令向量S表示站S的码片序列,令向量T表示其他任何站的码片序列。
两个不同站S和T的码片序列正交,就是向量S和T的规格化内积为0:
案例演示
相关练习
随机接入——载波监听多址接入/碰撞检测CSMA/CD
如何协调总线上各主机的工作,尽量避免产生碰撞是一个必须要解决的问题,早期共享式以太网采用 载波监听多址接入/碰撞检测
注: 96比特时间 指发送96比特所耗费的时间,也称为帧间最小间隔,其作用是使接收方可以检测出一个帧的结束,同时也使得所有其他站点都能有机会平等竞争信道并发送帧
争用期(碰撞窗口)
最小帧长
最大帧长
截断二进制指数退避算法
信道利用率
帧发送流程图
帧接收流程图
相关练习
3.
注:CSMA/CD协议曾经用于各种总线结构以太网和双绞线以太网的早期版本中。现在的以太网基于交换机和全双工连接,不会有碰撞,因此没有必要使用CSMA/CD协议。
随机接入——载波监听多址接入/碰撞避免CSMA/CA
既然CSMA/CD协议已经成功地应用于使用广播信道的有线局域网,那么同样使用广播信道的无线局域网能不能也使用CSMA/CD协议呢?
- 在无线局域网中,仍然可以使用载波监听多址接入CSMA,即在发送帧之前先对传输媒体进行载波监听。若发现有其他站在发送帧,就推迟发送以免发生碰撞。
- 在无线局域网中,不能使用碰撞检测CD,原因如下:
- 由于无线信道的传输条件特殊,其信号强度的动态范围非常大,无线网卡上接收到的信号强度往往会远远小于发送信号的强度(可能相差百万倍)。如果要在无线网卡上实现碰撞检测CD,对硬件的要求非常高。
- 即使能够在硬件上实现无线局域网的碰撞检测功能,但由于无线电波传播的特殊性(存在隐蔽站问题),进行碰撞检测的意义也不大。
- 802.11无线局域网使用CSMA/CA协议,在CSMA的基础上增加了一个碰撞避免CA功能,而不再实现碰撞检测功能。
- 由于不可能避免所有的碰撞,并且无线信道误码率较高,802.11标准还使用了==数据链路层确认机制(停止-等待协议)==来保证数据被正确接收。
- 802.11的MAC层标准定义了两种不同的媒体接入控制方式:
- 分布式协调功能DCF(Distributed Coordination Function)。在DCF方式下,没有中心控制站点,每个站点使用CSMA/CA协议通过争用信道来获取发送权,这是802.11定义的默认方式。
- 点协调功能PCF(Point Coordination Function)。PCF方式使用集中控制的接入算法(一