《计算机网络原理》读书笔记
2022-02-15 16:21:38 2 举报
AI智能生成
学习笔记,祝大家考试通过。
作者其他创作
大纲/内容
第一章 计算机网络概述
第一节 计算机网络基本概念
计算机网络的定义
计算机网络是<font color="#f44336">互连的</font>、<font color="#f44336">自治的</font>计算机的集合
互连:利用通信链路连接相互独立的计算机系统
自治:计算机系统彼此独立,不存在主从或者控制与被控制的关系
计算机网络的起源
从<font color="#f44336">技术范畴</font>来看,计算机网络是<font color="#f44336">计算机技术</font>与<font color="#f44336">通信技术</font>相互融合的产物
因特网服务提供商:ISP(Internet Service Provider )
协议的定义
网络协议:网络通信实体之间在数据交换过程中需要遵循的规则或约定。 例如:HTTP,FTP等
网络协议三要素
语法
定义实体之间交换信息的<font color="#f44336">格式与结构</font>
语义
定义实体之间交换信息中的<font color="#f44336">控制信息</font>
时序(同步)
定义实体之间交换信息的<font color="#f44336">顺序</font>以及如何匹配或适应彼此的<font color="#f44336">速度</font>
计算机网络的功能
计算网络的核心功能:<font color="#f44336">资源共享</font>
<font color="#f44336">硬件</font>资源共享
计算资源(CPU)、存储资源、打印机与扫描仪I/O等 例:云存储、云计算
<font color="#f44336">软件</font>资源共享
SaaS(Software as a Service) 例:大型办公软件、大型数据库系统等
<font color="#f44336">信息</font>资源共享
信息检索,新闻浏览等
计算机网络的分类
按覆盖范围分类
<font color="#f44336">个</font>域网 PAN<br><font color="#f44336">局</font>域网 LAN<br><font color="#f44336">城</font>域网 MAN<br><font color="#f44336">广</font>域网 WAN
area:区域
network:网络
P: Personal L: Local
M:Metropolitan W:Wide
个域网:覆盖范围1-10m。个人设备通过无线通信技术构成小范围的网络<br>局域网:覆盖范围10m-1km。办公楼、校园、厂区等局部区域内<br>城域网:覆盖范围5-50km。覆盖一个城市范围的网络<br>广域网:覆盖范围在几十到几千千米,可以实现异地城域网或局域网的互连<br>
按拓扑结构分类
拓扑(topology):只考虑物体间的位置关系而不考虑它们的形状和大小
<br>
<font color="#f44336">星形</font>拓扑结构
一个中央结点,网络中的主机通过点对点通信链路与中央结点连接。(个域网、局域网)
优点:易于监控管理、故障诊断、隔离。 <br>缺点:中央结点一旦故障,全网瘫痪。
<font color="#f44336">总线型</font>拓扑结构
采用一条广播信道作为公共传输介质。所有结点均与总线连接,结点间的通信均通过共享的总线进行。(<font color="#f44336">早期局域网</font>)
优点:结构简单,易于扩展。 <br>缺点:通信范围受限,容易产生冲突
<font color="#f44336">环形</font>拓扑结构
利用通信链路将所有结点连接成一个闭合的环。(早期局域网、城域网)
优点:电缆长度短,易于避免冲突<br>缺点:某结点故障引起全网瘫痪,加新(撤出)结点麻烦<br>
<font color="#f44336">网状</font>拓扑结构
网络中的结点通过多条链路与不同的结点直接相连接。(广域网、<font color="#f44336">核心网络</font>)
优点:网络可靠性高(一条或多条链路故障时,网络仍然可以联通)<br>缺点:网络结构复杂,成本高
<font color="#f44336">树形</font>拓扑结构
可以看作是总线型拓扑或星形拓扑结构网络的扩展。(局域网)
优点:易于扩展,故障易隔离<br>缺点:根结点要求高
<font color="#f44336">混合</font>拓扑结构
由两种以上简单拓扑结构网络混合连接而成的网络。(<font color="#f44336">绝大多数实际网络</font>)
优点:易于扩展,可以构建不同规模的网络,根据需要优选网络结构<br>缺点:结构复杂,管理与维护复杂
按交换方式分类
<font color="#f44336">电路</font>交换<br><font color="#f44336">报文</font>交换<br><font color="#f44336">分组</font>交换
1、电路交换网络<br>2、报文交换网络<br>3、分组交换网络
按网络用户属性
<font color="#f44336">公用网</font>:面向公众开放的网络。例如电信网络
<font color="#f44336">私有网</font>:某个组织出资建设专门面向该组织,不向公众开放。例如军事专用网络
第二节 计算机网络<font color="#f44336">结构</font>
网络边缘:连接到网络上的<font color="#f44336">主机或者端系统</font>。 主机或者端系统:计算机、服务器、智能手机、智能传感器、智能家电等
接入网络:实现网络边缘的端系统与网络核心连接的网络。
电话拨号接入:利用<font color="#f44336">电话网络</font>接入
混合光纤同轴电缆<font color="#f44336">HFC</font>接入网络
①利用<font color="#f44336">有线电视网络</font>接入的技术。<br>②基于频分多路复用技术。<br>③非对称。<br>④<font color="#f44336">共享式</font>接入
非对称数字用户线路ADSL
①利用<font color="#f44336">电话网络</font>接入 <br>②基于频分多路复用技术<br>③非对称 <br>④<font color="#f44336">独享式</font>接入
局域网:典型的局域网技术是<font color="#f44336">以太网、WiFi等</font>
移动接入网络:利用移动通信网络,如3G、4G、5G网络
了解:<br>用户线路(subscriber line):电话机连接电话端局的线路。 <br>非对称数字用户线路( Asymmetric Digital Subscriber Line)<br>混合光纤同轴电缆网(Hybrid Fiber-Coaxial)<br>
网络核心:由<font color="#f44336">通信链路互连的分组交换设备</font>构成的网络,作用是实现网络边缘中主机之间的数据的<font color="#f44336">中继与转发</font>
第三节 数据<font color="#f44336">交换</font>技术
概念
交换设备:多通信端口,可以同时连接多个通信结点,进行通信的设备
数据交换:实现在大规模网络核心上进行数据传输的技术基础
分类,常见的数据交换技术包括
<font color="#f44336">电路</font>交换
电路:通过中间交换结点为两台主机之间建立一条专用的通信线路
电路交换:<font color="#f44336">最早出现的一种交换方式</font>
<font color="#f44336">电话网络</font>是最早、最大的<font color="#f44336">电路交换网络</font>
电路交换的步骤
1、建立电路
2、传输数据
3、拆除电路
电路交换的优缺点
优点 :实时性高、时延和时延抖动小。<br>缺点:对于突发性数据传输,信道利用率低,传输速率单一
适用于语音和视频类<font color="#f44336">实时性强</font>的业务
<font color="#f44336">报文</font>交换
报文:发送方把要发送的<font color="#f44336">信息</font>附加上<font color="#f44336">接收主机的地址和控制信息</font>
报文交换:发送方组装好报文,发给相邻报文交换机。相邻报文交换机收到报文后检查无误,暂时存储报文,<br>然后找出需要转发的下一个结点的地址,然后把报文给下一个结点的报文交换机。
<font color="#f44336">存储-转发</font>的交换方式
报文交换的优缺点
优点:信道利用率高<br>缺点:时延长,有时还需要丢弃报文<br>
<font color="#f44336">分组</font>交换
分组:将待传输的数据分割成较小的独立的数据块。每个数据块附加地址等构成数据分组。分组独立传输到目的地,到目的再重组还原为报文
分组交换(<font color="#f44336">包交换</font>):采用<font color="#f44336">存储—转发</font>交换方式,是计算机网络中使用<font color="#f44336">最广泛的交换技术</font>。
分组交换方式的优点
1、交换设备存储容量要求低
2、交换速度快
3、可靠传输效率高
4、更加公平
分组长度的确定:在其他条件相同的情况下,分组长度越长,延迟时间越长。 一般的分组长度:以<font color="#f44336">16B — 4096B</font>之间的2nB为标椎的分组长度
B:Byte,字节
第四节 计算机网络<font color="#f44336">性能</font>
速率与带宽
速率:网络<font color="#f44336">单位时间内</font>传送的<font color="#f44336">数据量</font>,用以描述网络传输数据的<font color="#f44336">快慢</font>
速率基本单位:bit/s(位每秒)、Kbit/s、 Mbit/s、 Gbit/s、 Tbit/s
B:Byte,字节<br>b:bit,比特或位<br>bit/s:位每秒<br>bps(Bit Per Second)
单位的换算
1Kbit/s(=)1000bit/s
1<font color="#f44336">T</font>bit/s=1000<font color="#f44336">G</font>bit/s=1000*1000<font color="#f44336">M</font>bit/s=1000*1000*1000<font color="#f44336">K</font>bit/s=10^12bit/s
带宽
在<font color="#f44336">通信和信号处理领域</font>,指的是信号的<font color="#f44336">频带宽度</font>,单位:Hz(赫兹)
在<font color="#f44336">计算机网络领域</font>,指的是一条信道的最高数据速率,单位:bit/s(位每秒)
时延
通常将连接两个结点的直接链路称为一个“跳步”,简称“跳”
时延:分组从网络中的一个结点到达另一结点所需要的<font color="#f44336">时间</font>
分组每跳传输过程中主要产生4类时延,dh=dc +dq+dt +dp
结点处理时延。dc
交换设备检查分组是否有差错,确定如何转发分组的时间
排队时延。dq
分组在交换结点内被交换道输出链路,等待从输出链路发送到下一个结点的时间
传输时延(或发送时延)dt=L / R
分组在输出链路发送时,从发送第一位开始,到发送完最后一位需要的时间
L:分组长度,单位:bit<br>R:链路带宽(即速率),单位:bit/s
传播时延。dp=D / V
信号从发送端出来,经过一段物理链路到达接收端需要的时间
D:物理链路长度,单位:m
V:信号传播速度,单位:m/s
时延带宽积
时延带宽积:物理链路的<font color="#f44336">传播时延</font>与<font color="#f44336">链路带宽</font>的乘积,记为G<br>表示一段链路可以容纳的<font color="#f44336">数据位数</font>,也称为:以<font color="#f44336">位</font>为单位的链路长度。<br>
公式:G=传播时延×链路带宽<br> 传播时延的单位:s <br> 带宽的单位: bit/s<br> <font color="#f44336">时延带宽积的单位: bit</font>
丢包率:丢失分组和发送分组之比,反映网络的<font color="#f44336">拥塞程度</font>
吞吐量
吞吐量:在单位时间内源主机通过网络向目的主机<font color="#f44336">实际送达</font>的数据量,记为Thr。<br> 单位:<font color="#f44336">bit/s或B/s</font>(字节每秒)<br> 1B=8bit
第五节 计算机网络<font color="#f44336">体系</font>结构
概念
计算机网络体系结构:计算机网络所划分的<font color="#f44336">层次</font>以及<font color="#f44336">各层协议</font>的集合
计算机网络体系结构
OSI参考模型(7层)
开放系统互连(Open System Interconnection, OSI )参考模型
OSI参考模型<font color="#4caf50">【选择】</font>
1、数据在垂直的层次中<font color="#f44336">自上而下</font>地逐层传递。<br>2、对等层不直接进行通信,称为<font color="#f44336">虚拟通信</font>。 <br> 物理层的两个端点进行物理通信,称为<font color="#f44336">实通信</font>。<br>3、<font color="#f44336">中间系统</font>通常只实现<font color="#f44336">物理层、数据链路层和网络层</font>功能。 <br> <font color="#f44336">结点</font>到<font color="#f44336">结点层</font>:物理层、数据链路层、网络层; <br> <font color="#f44336">端</font>到<font color="#f44336">端层</font>:<font color="#f44336">传输层</font>、会话层、表示层、应用层。
<font color="#f44336">数据单元</font>:在层的实体之间传送的<font color="#f44336">比特组</font>。 对等层之间传输的数据单元:<font color="#f44336">协议数据单元(PDU)</font>
<font color="#f44336">服务访问点</font>:相邻层间的服务是通过其接口面上的服务访问点(Service Access Point ,SAP)进行的,每个<font color="#f44336">SAP</font>都有一个唯一的<font color="#f44336">地址号码</font>
<font color="#f44336">服务原语</font>:请求、指示、响应、证实
七层划分
<font color="#f44336">应</font>用层
报文 <font color="#ffeb3b">助记:报应</font>
为用户提供网络服务。例如:电子邮件,浏览器上网等
<font color="#f44336">表</font>示层
处理应用实体间交换数据的语法(格式与结构)
<font color="#f44336">会</font>话层
用户与用户的连接
<font color="#f44336">传</font>输层
数据段或报文段 <font color="#ffeb3b">助记:段传</font>
提供<font color="#f44336">端到端</font>的逻辑通信服务
<font color="#f44336">网</font>络层
分组或包 <font color="#ffeb3b">助记:抓包分组</font>
数据的转发和路由选择
<font color="#f44336">数</font>据链路层
帧 <font color="#ffeb3b">助记:帧链</font>
相邻结点的数据传输
<font color="#f44336">物</font>理层
比特流或位流 <font color="#ffeb3b">助记:物流</font>
在传输介质上实现比特流传输
TCP/IP参考模型(4层)
应用层:报文
相当于把OSI中的应用层、表示层、会话层统一叫做应用层了
传输层:段
对应OSI中的传输层
网络互联层:数据报
<font color="#f44336">TCP/IP参考模型核心</font>
对应OSI中的网络层
网络接口层:帧
对应OSI中的物理层、数据链路层
五层参考模型(5层)
它是描述计算机网络中<font color="#f44336">最常用</font>、<font color="#f44336">最接近实际网络</font>的参考模型
应用层:报文
传输层:段
分组
网络层:数据报
分段
分组之后再分片
链路层:帧
物理层:比特流
第六节 计算机网络与<font color="#f44336">因特网</font>发展简史
ARPAnet是第一个<font color="#f44336">分组交换</font>的计算机网络,也是当今因特网的祖先
第二章 网络应用
第一节 计算机<font color="#f44336">网络应用</font>体系结构
客户/服务器(C/S)结构网络应用
客户/服务器(C/S)结构的网络应用是<font color="#f44336">最典型、最基本</font>的网络应用。例如: www应用;文件传输;电子邮件
结构的特点
1、通信双方分为客户程序和服务器程序,用户与用户之间不进行直接通信<br>2、服务器程序需先运行<br>3、客户程序后运行,主动与服务器进行通信
纯P2P结构网络应用
P2P (Peer to Peer):通信双方没有传统意义上的客户端服务器之分,地位对等,通信双方都具备客户端与服务器的特征
混合结构网络应用
混合结构网络应用将C/S应用和P2P应用相结合
第二节 网络应用通信的基本原理
网络应用的<font color="#f44336">基本通信</font>过程
运行在不同主机上的<font color="#f44336">应用进程</font>间以<font color="#f44336">C/S方式</font>进行的通信
网络应用<font color="#f44336">编程接口</font>
典型的网络应用编程接口:<font color="#f44336">套接字</font>(Socket)
对于一个传输层协议,需要为其接口的每个套接字分配特定的编号,标识该套接字,该编号称为<font color="#f44336">端口号</font>
套接字(Socket):<font color="#f44336">典型的网络应用编程接口</font><br>端口号:标识套接字的编号
第三节 域名系统(DNS)
域名系统
域名系统:将域名映射为IP地址<br>域名解析:实现映射的过程
域名的命名方式:<font color="#f44336">层次树状结构</font>命名方式,每个域名由不同级别的域名构成,各个层级域名之间用<font color="#f44336">点</font>分隔
www .baidu .com<br>顶级域名:com<br>二级域名:baidu<br>三级域名:www
层次化域名空间
域名的命名方式:层次树状结构命名方式
每个域名由不同级别的域名构成,各个层级域名之间用点分隔
<font color="#f44336">顶级域名</font>的分类
<font color="#f44336">国家</font>顶级域名:cn , us , uk等<br><font color="#f44336">通用</font>顶级域名:com , org , gov , edu等<br><font color="#f44336">基础</font>结构域名:只有一个( arpa ,反向域名解析)
域名服务器
存储着自己所管辖范围内主机的域名到IP 地址的映射
<font color="#f44336">根</font>域名服务器 <br><font color="#f44336">顶级</font>域名服务器 <br><font color="#f44336">权威</font>域名服务器 <br><font color="#f44336">中间</font>域名服务器
根域名服务器:根域名服务器是<font color="#f44336">最重要</font>的服务器,全球有<font color="#f44336">13个</font>,保存所有<font color="#f44336">顶级域名</font>服务器的域名和IP地址
顶级域名服务器:负责管理在<font color="#f44336">该顶级域名</font>服务器注册的所有二级域名
权威域名服务器:负责一个区的域名服务器,保存该区中的<font color="#f44336">所有主机的域名和IP地址的映射</font>
中间域名服务器:不是以上三种的域名服务器
<font color="#f44336">本地</font>域名服务器:主机进行域名查询时首先被查询的域名服务器
本地(默认)域名服务器:主机在网络地址配置时,都会配置的。用于保存被查询域名的信息
<font color="#f44336">区(zone)</font>:一个服务器所负责管辖的范围。<br>DNS服务器:管辖范围不以“域”为单位,而以“区”为单位<br>
域名解析过程
解析www.tsinghua.edu.cn
递归解析
递归解析:主机进行域名查询时,本地域名服务器没有被查询域名信息,则本地域名服务器<font color="#f44336">代理主机</font>查询根域名服务器。根域名服务器代<font color="#f44336">理本地域名服务器</font>查询下一个域名服务,以此类推。直到得到被查询域名的IP地址,最后将解析结果发送给主机。
迭代解析
迭代解析:主机进行域名查询时,本地域名服务器没有被查询域名信息,则先求助于根域名服务器。根域名服务器只是将下一步要查询的服务器告知查询主机的本地域名服务器,本地域名服务器继续查询下一个域名服务器,直到查询到被查询的域名的IP地址。
第四节 万维网应用
万维网应用结构
结构
万维网应用结构包括<font color="#f44336">浏览器、HTTP、web服务器</font>
浏览器:Web应用的客户代理。 <br>Web服务器: 存储管理供用户请求浏览的Web页面(Web文档)。<br>超文本传输协议(HTTP):客户和服务器间的交互基于的协议。
对象:网页上的图片、文字、视频等等
URL
统一资源定位符( Universal Resource Locator, URL)
URL地址:存放对象的主机域名(或IP地址)+<font color="#f44336">对象的路径名</font>
例: www.abc.edu.cn<font color="#f44336">/cs/index.html</font>
HTTP
HTTP概述
超文本传输协议(Hyper Text Transfer Protocol, HTTP )
Web应用的应用层协议,定义浏览器如何向Web服务器发送请求,以及Web服务器如何进行响应。
版本:HTTP/1.0和<font color="#f44336">HTTP/1.1</font>
HTTP连接
HTTP基于<font color="#f44336">传输层的TCP传输报文</font>。浏览器在向服务器发送请求之前,首先建立TCP连接,然后才发送HTTP请求报文,接收HTTP响应报文
RTT:作为一个时间单位来使用
例如:HTTP客户进程向服务器请求建立连接:从客户发送连接请求,到客户收到服务器连接确认,用时<font color="#f44336">一个往返时间</font>(Round Trip Time , RTT)
HTTP连接分类:使用TCP连接的策略不同
非持久连接的HTTP(TCP用一次就断开<font color="#f44336">,HTTP 1.0</font>)
非持久连接:客户与服务器建立TCP连接后,通过该连接发送HTTP请求报文,接收HTTP响应报文,然后断开TCP连接。
一条连接
非持久连接HTTP的响应时间:<font color="#f44336">8个RTT</font><br>以请求浏览一个引用3个JPEG小图像的Web页面为例。
多条连接
并行连接:建立<font color="#f44336">多条并行</font>TCP连接,并行发送HTTP请求和并行接收HTTP响应。然后断开TCP连接。
并行连接HTTP的响应时间: <font color="#f44336">4个RTT</font><br>以请求浏览一个引用3个JPEG小图像的Web页面为例
持久连接的HTTP(TCP不断开<font color="#f44336">,HTTP 1.1</font>)
<font color="#f44336">非流水</font>方式持久连接
非流水方式持久连接(非管道方式持久连接):建立TCP连接,发送请求和接收响应后,不断开TCP连接,继续请求
非流水方式持久连接HTTP的响应时间: <font color="#f44336">5个RTT</font><br>以请求浏览一个引用3个JPEG小图像的Web页面为例
<font color="#f44336">流水</font>方式持久连接
流水方式持久连接(管道方式持久连接):建立TCP连接,发送请求和接收响应后,不断开TCP连接,继续<font color="#f44336">并行请求3个图片</font>
流水方式持久连接HTTP的响应时间: <font color="#f44336">3个RTT</font><br>以请求浏览一个引用3个JPEG小图像的Web页面为例
HTTP报文
请求报文:浏览器发送给Web服务器<br>响应报文:Web服务器发送给浏览器
CRLF(回车:CR。换行:LF)
HTTP典型的请求方法
GET 请求读取由URL所标识的信息,是最常见的方法<br>HEAD 请求读取由URL所标识的信息的首部<br>POST 给服务器添加信息<br>OPTION 请求一些选项的信息<br>PUT 在指明的URL下存储一个文档<br>
起始行、空白行必需存在,其他的可以没有
Cookie
概念
HTTP服务器不保存客户的任何信息,被称为无状态协议
引入Cookie机制,用于用户跟踪
小型文本文件(Cookie):网站为了辨别用户身份、进行会话跟踪而储存在<font color="#f44336">用户本地终端</font>上的数据。
技术
Cookie技术主要包括4部分内容<font color="#4caf50">【简答】</font>
1、HTTP响应报文中的Cookie头行:用户的Cookie ID,用户偏好等<br>2、用户浏览器在本地存储、维护和管理的Cookie文件<br>3、HTTP请求报文中的Cookie头行:用户已访问过的网站再次访问时,浏览器会检索本地Cookie文件<br>4、网站在后台数据库中存储、维护Cookie信息:分配用户ID、每个ID用户在本网站的访问特征等。
Cookie技术最常见的用途
1)网站可以利用Cookie的ID来准确统计网站的实际访问人数、新访问者和<br> 重复访问者的人数对比、访问者的访问频率等数据。 <br>2)网站可以利用Cookie限制某些特定用户的访问。 <br>3)网站可以存储用户访问过程中的操作习惯和偏好。 <br>4)记录用户登录网站使用的用户名、密码等信息。 <br>5)电子商务网站利用Cookie可以实现“购物车”功能
第五节 Internet电子邮件
邮件系统结构
电子邮件系统结构<font color="#4caf50">【选择、填空】</font>
邮件服务器
电子邮件体系结构的<font color="#f44336">核心</font>
功能
发送和接收邮件<br>向发信人报告邮件传送情况(已交付、被拒绝、丢失等)<br>用户注册<br>分配存储空间
用户代理
电子邮件应用的客户端软件,例如:Outlook,Apple Mail,Fox Mail等
简单邮件传输协议(SMTP)
功能:实现邮件服务器之间或用户代理到邮件服务器之间的<font color="#f44336">邮件传输</font>
邮件读取协议(POP3、IMAP、HTTP)
SMTP(简单邮件传输协议)
简单邮件传输协议 (Simple Mail Transfer Protocol, SMTP):实现邮件服务器之间或用户代理到邮件服务器之间的邮件传输
SMTP通过3个阶段的应用层交互完成邮件的传输:握手阶段、邮件传输阶段、关闭阶段
SMTP定义了<font color="#f44336">14条命令</font>,每条命令用<font color="#f44336">4个字母</font>组成
HELO:标识发件人自己的身份<br>DATA:通知服务器准备开始发送邮件内容<br>QUIT:命令退出<br>
SMTP定义了<font color="#f44336">21种应答</font>信息,由<font color="#f44336">3位数字</font>的代码开始,后面附上(也可不附)简单的文字说明
SMTP客户(C)和SMTP服务器(S)之间一封简单邮件传输的交互过程示例
阶段一:握手阶段
服务器: <font color="#f44336">220</font> mail.abc.com<br>客户: <font color="#f44336">HELO</font> xyz.hit.edu.cn<br>服务器: 250 Hello xyz.hit.edu.cn,pleased to meet you
阶段二:邮件传输阶段
客户: MAIL FROM:<user_a@xyz.hit.edu.cn><br>服务器: 250 user_a@xyz.hit.edu.cn … Sender ok<br>客户: <font color="#f44336">RCPT</font> TO:<user_b@mail.abc.com><br>服务器: 250 user_b@mail.abc.com … Recipient ok<br>客户: <font color="#f44336">DATA</font><br>服务器: 354 Enter mail,end with “.” on a line by itself<br>客户: Are you available tonight?<br>客户: How about going to the cinema together?<br>客户: .
阶段三:关闭阶段
服务器: 250 Message accepted for delivery<br>客户: <font color="#f44336">QUIT</font><br>服务器: 221 mail.abc.com closing connection
SMTP的特点<font color="#f44336">【简答题】</font>
SMTP只能传送<font color="#f44336">7位</font>ASCⅡ码文本内容,包括SMTP命令、应答消息以及邮件内容
SMTP传送的邮件内容中不能包含“<font color="#f44336">CRLF.CRLF</font>”,因为该信息用于标识邮件内容的结束
SMTP是“<font color="#f44336">推动</font>”协议。(补充:HTTP是“拉动”协议)
SMTP使用TCP连接是<font color="#f44336">持久的</font>。
电子邮件格式与MIME
电子邮件格式 <font color="#4caf50">【选择、填空】</font>
首部
邮件中常见的首部行内容<font color="#4caf50">【选择、填空】</font>
空白行
行主体<br>
互联网邮件扩展(Multipurpose Internet Mail Extensions,MIME)
传输<font color="#f44336">非7位ASCII码</font>文本内容时,必须依据一个标准将非7位ASCII码文本内容<font color="#f44336">转换位7位</font>ASCII码文本内容,然后再传输
邮件读取协议
POP3
第三版邮局协议: (Post Office Protocol - Version 3,POP3)
授权阶段
用户代理需要向服务器发送用户名和口令
事务处理阶段
用户代理向服务器发送POP3命令
更新阶段
客户发出了quit命令,结束POP3会话
IMAP
互联网邮件访问协议: ( Internet Message Access Protocol,IMAP)
IMAP 服务器将每个<font color="#f44336">邮件</font>与一个<font color="#f44336">文件夹</font>进行关联,通过 IMAP 收件人可以对邮件进行移动、查询、阅读、<font color="#f44336">删除</font>等操作
IMAP与POP3的区别
相同点:都是邮件读取协议
不同点:IMAP对邮件的操作<font color="#f44336">会反映</font>在服务器上
HTTP:Web邮件系统的邮件读取协议
如:Web Mail网站
第六节 FTP
FTP应用结构
文件传送协议(File Transfer Protocol , FTP):在互联网的两个主机间实现文件互传的网络应用的应用层协议
FTP的服务器进程由两大部分组成
主进程:负责接受新的客户请求
从属进程:负责处理单个客户请求,与具体客户进行交互
<font color="#f44336">控制连接</font>(持久):用户登录,服务器授权
<font color="#f44336">数据连接</font>(临时):专门用于文件传输
FTP专门使用一个独立的<font color="#f44336">控制连接</font>传输控制信息,与传输文件信息进行分离,所以将FTP这种控制信息的传送方式称为<font color="#f44336">带外控制</font>
FTP命令
FTP是有状态的协议
可靠、有效的传输数据
第七节 P2P应用
P2P:(Peer to peer)通信双方没有传统意义上的客户服务器之分,地位对等,通信双方都具备客户与服务器的特征
例如,BitTorrent、PPLive和PPstream等
P2P应用特点
1、应用的对等方是用户的计算机<br>2、很强的应用规模伸缩性<br>3、应用在对等方之间进行<br>4、应用充分聚集利用了<font color="#f44336">端系统</font>的计算能力以及网络传输宽带
第八节 Socket编程基础
套接字与端口号 <font color="#4caf50">【选择、填空】</font>
套接字(Socket):典型的网络应用编程接口
端口号:标识套接字
常见的端口号
20(数据)、21(控制) FTP文件传输协议端口号<br>25 SMTP简单邮件传输协议端口号<br>53 DNS域名服务器端口号<br>80 HTTP超文本传输协议端口号<br>110 POP3第三版的邮局协议端口号<br>
Socket API函数<font color="#4caf50">【选择、填空】</font>
1、创建套接字 : socket( )
2、绑定套接字的本地端点地址: bind( )
3、设置监听:listen( )
4、建立连接:(1)TCP客户端:connect( ),(2) TCP服务端:accept( )
5、接收数据:(1)TCP:recv( ) ,(2)UDP:recvfrom
6、发送数据:(1)TCP:send( ) ,(2)UDP:sendto
7、关闭套接字:close( )
UDP <font color="#f44336">数据报</font>套接字<br>TCP <font color="#f44336">流式</font>套接字
第三章 传输层<font color="#ffeb3b">(邮局)</font>
第一节 传输层的<font color="#f44336">基本服务</font>
传输层功能
<font color="#f44336">核心任务</font>:<font color="#f44336">应用进程</font>之间提供<font color="#f44336">端到端</font>的<font color="#f44336">逻辑通信</font>服务
类似于::两台电脑上都安装了微信,它们之间的通信
只有<font color="#f44336">主机</font>才有传输层
<font color="#f44336">网络核心</font>中的中间系统只用到下三层的功能:物理层、数据链路层、网络层
传输层<font color="#f44336">功能</font><font color="#4caf50">【选择、简答】</font>
1) 对应用层报文进行<font color="#f44336">分</font>段和重组
类似于:1个大包裹要发送的时候,先进行切分成n个小包,再发送
2) 面向应用层实现<font color="#f44336">复</font>用与分解(第二节)<br>3) 实现端到端的<font color="#f44336">流</font>量控制(第五节)<br>
4) <font color="#f44336">拥</font>塞控制 (第五节)
堵车
5) 传输层<font color="#f44336">寻</font>址
会根据目标ip地址,找到对应的服务器
6) 对报文进行<font color="#f44336">差错</font>检测<br>7) 实现进程间的端到端<font color="#f44336">可靠</font>数据传输控制
<font color="#ffeb3b">肋记:</font><br>分复流拥寻差错-可靠<br>吩咐刘墉寻差错-可靠
从传输层的角度看,端到端的通信是(<font color="#f44336">应用进程</font>)之间的通信。1810考题
传输层寻址与端口
一台计算机中,不同应用进程用进程标识符(进程ID)来区分。不同计算机之间怎么区分应用进程?
在传输层使用协议端口号,通常简称为端口(port)。 <br>在全网范围内利用“<font color="#f44336">IP 地址+端口号</font>”唯一标识一个通信端点。<br>
传输层端口号为16位整数,可以编号65536个(2的16次方)
常用端口:端口号小于256的端口
20(数据)、21(控制) FTP文件传输协议端口号<br>25 SMTP简单邮件传输协议端口号<br>53 DNS域名服务器端口号<br>80 HTTP超文本传输协议端口号<br>110 POP3第三版的邮局协议端口号<br>
1、服务器端使用的端口号:熟知端口号和登记端口号 <br>2、客户端使用的端口号:<font color="#f44336">临时性</font>,在客户进程运行时由操作系统随机选取唯一的未被使用的端口号。
传输层为了支持运行在不同主机、不同操作系统上的应用进程之间的通信,利用<font color="#f44336">IP地址+端口号</font>来唯一标识一个通信端点
无连接服务与面向连接服务
无连接服务:数据传输之前,无需与对端进行任何信息交换,直接构造传输层报文段并向接收端发送。
类似于信件通信、村里的大喇叭
面向连接服务:数据传输之前,需要双方交换一些<font color="#f44336">控制信息</font>,建立<font color="#f44336">逻辑连接</font>,然后再传输数据,传输结束后还需要拆除连接
类似于电话通信
第二节 传输层的<font color="#f44336">复用与分解</font>
1、复用与分解
多路复用
在源主机,传输层协议从不同的套接字收集应用进程发送的数据块,并为每个数据块封装上首部信息(包括用于分解的信息)<br>构成报文段,然后将报文段传递给网络层。
多路分解
在目的主机,传输层协议读取报文段中的字段,标识出接收套接字,进而通过该套接字,将传输层的报文段中的数据交付给正确的套接字
多路复用与多路分解:支持众多<font color="#f44336">应用进程共用</font>同一个传输层协议,并能够将接收到的数据准确交付给<font color="#f44336">不同的应用进程</font>。
2、<font color="#f44336">无连接的</font>多路复用与多路分解
用户数据报协议(User Datagram Protocol, UDP) :Internet提供无连接服务的传输层协议
UDP套接字二元组:<目的IP地址,目的端口号>
3、<font color="#f44336">面向连接</font>的多路复用与多路分解
传输控制协议 (Transmission Control Protocol,TCP) :Internet提供面向连接服务的传输层协议
TCP套接字四元组:<<font color="#f44336">源IP地址,源端口号</font>,目的IP地址,目的端口号>
真题
传输层实现复用与分解的关键是传输层协议能够唯一标识一个( 套接字)2010考题
在 Internet网络中唯一标识套接字的基本信息是( IP地址和端口号 )2008考题
第三节 <font color="#f44336">停-等</font>协议与<font color="#f44336">滑动窗口</font>协议
可靠数据传输基本原理
不可靠传输信道在数据传输中可能发生
1、比特差错:1001——1000
2、乱序:数据块1、2、5、6、3、4
3、数据丢失:数据块1、2、5
很多网络应用希望传输层提供可靠的数据传输服务
基于不可靠信道实现可靠数据传输采取的措施
差错检测:利用编码实现数据包传输过程中的比特差错检测
确认:接收方向发送方反馈接收状态。ACK(肯定确认);NAK(否定确认)
肯定确认:Positive Acknowledgement,正确接收数据
否定确认:Negative Acknowledgement,没有正确接收数据
重传:发送方重新发送接收方没有正确接收的数据
序号:确保数据按序提交
对数据进行编号,即便不按序到达,可以按序提交
计时器:<font color="#f44336">解决数据丢失问题</font>
实现数据可靠传输
自动重传请求协议ARQ
自动重传请求协议(Automatic Repeat reQuest,<font color="#f44336">ARQ</font>)为了实现可靠数据传输,接收方通过使用肯定确认ACK 与否定确认NAK,可以让发送方知道哪些内容已被正确接收,哪些内容未被正确接收而需要重传。基于这种重传机制的可靠数据传输协议称为( <font color="#f44336">自动重传请求</font> )协议
最简单的自动重传请求协议是( <font color="#f44336">停-等协议</font> )
停-等协议
工作流程<font color="#4caf50">【简答】</font>
1、发送方发送经过差错编码和编号的报文段,等待接收方的确认。
2、接收方如果差错检测无误且序号正确,则接收报文段,并向发送方发送ACK,否则丢弃报文段,并向发送方发送NAK。
3、发送方如果收到ACK,则继续发送后续报文段,否则重发刚刚发送的报文段。
<font color="#f44336">性能差、信道利用率低</font>,所以引入流水线协议,最典型的流水线协议:<font color="#f44336">滑动窗口协议</font>
流水线协议(管道协议)
流水线协议(管道协议):允许发送方在没有收到确认前连续<font color="#f44336">发送多个分组</font>。最典型的流水线协议:<font color="#f44336">滑动窗口协议</font>
1、增加分组序号。<br>2、发送方和接收方可以缓存多个分组。
发送窗口(Ws):发送方可以发送未被确认分组的最大数量;
接收窗口(Wr):接收方可以缓存的正确到达的分组的最大数量
<font color="#f44336">滑动窗口协议</font>,根据窗口的大小,可以具体分为
回退N步协议:<font color="#f44336">GBN协议</font>(Go-Back-N)<br>
发送窗口WS≥1 ,接收窗口Wr=1
发送端缓存能力高,可以在没有得到确认前发送多个分组
接收端缓存能力很低,<font color="#f44336">只能接收1个</font>按序到达的分组,不能缓存未按序到达的分组
GBN发送方响应的3类事件
1、上层调用。
2、收到1个ACKn。GBN采用累积确认方式,即发送方收到ACKn时,表明接收方正确接收序号n以及序号小于n的所有分组。
3、计时器超时。发送方只使用一个计时器。
选择重传协议: <font color="#f44336">SR协议</font>(Selective Repeat)
发送窗口WS>1,接收窗口Wr>1
<font color="#ffeb3b">助记:存在多个才有选择,故都大于1</font>
发送端缓存能力高。
接收端缓存能力高。
SR发送方响应事件
1、上层调用
2、计时器超时。发送方对每个分组进行计时。
3、收到ACKn。SR协议采取逐个确认方式。
接收方的主要操作包括
A:正确接收到序号在接收窗口范围内的分组<br>B:正确接收到序号在接收窗口<font color="#f44336">左侧的分组(右侧的不接收)</font><br>C:其他情况,接收方可以直接丢弃分组,不做任何响应
第四节 用户数据报协议(<font color="#f44336">UDP</font>)
UDP特点
用户数据协议(User Datagram Protocol,UDP):Internet<font color="#f44336">传输层</font>协议,提供<font color="#f44336">无连接、不可靠</font>、数据报尽力传输服务
特点
1、应用进程<font color="#f44336">容易控制</font>发送什么数据以及何时发送,会出现分组的丢失和重复。<br>2、无需建立连接。 <br>3、无连接状态。 <br>4、<font color="#f44336">首部开销小,只有8个字节(Byte)</font>
UDP数据报结构
数据报首部、数据报数据
UDP首部四个字段:每个字段长度都是2个字节(16位),共8个字节
<font color="#f44336">源端口号</font>和<font color="#f44336">目的端口号</font>:UDP实现复用和分解
<font color="#f44336">长度</font>:指示UDP报文段中的字节数(首部和数据的总和)
<font color="#f44336">校验和</font>:接收方使用来检测数据报是否出现差错
<font color="#f44336">应用数据</font>:应用层数据占用
UDP校验和
UDP校验和:提供差错检测功能
UDP的校验和用于检测UDP报文段从源到目的地传送过程中,其中的数据<font color="#f44336">是否发生了改变</font>
UDP校验和计算规则
1、所有参与运算的内容按<font color="#f44336">16位对齐求和</font><br>
UDP校验和计算的内容包括3部分:UDP<font color="#f44336">伪首部</font>、UDP首部、应用数据
源IP地址、目的IP地址、协议号:对应封装UDP数据报的IP分组的字段。UDP协议号:17,不够32位的0填充
UDP计算校验和示例
UDP校验和计算规则
数值1:0110 0110 0110 0000<br>数值2:0101 0101 0101 0101<br>数值3:1000 1111 0000 1100
第一步:求数值之和<br>第二步:有溢出,则回卷<br>第三步:求反码
先算1+2,再加3,如果溢出回卷到最右边相加,最后取反码
2、求和过程中遇到<font color="#f44336">溢出</font>(即进位)都被<font color="#f44336">回卷</font>(即进位与和的最低位再相加)<br>
3、最后得到的和<font color="#f44336">取反码</font>,就是UDP的校验和,填入UDP数据报的校验和字段
第五节 传输控制协议(<font color="#f44336">TCP</font>)
TCP报文段结构
传输控制协议(Transmission Control Protocol ,<font color="#f44336">TCP</font>):Internet<font color="#f44336">传输层</font>协议。提供<font color="#f44336">面向连接</font>、可靠、有序、字节流传输服务
1、应用进程先建立连接
2、每一条TCP连接<font color="#f44336">只有两个端点</font>
3、可靠交付:无差错,不丢失,不重复,按序到达
4、<font color="#f44336">全双工</font>通信
单工:喇叭<br>半双工:对讲机<br>全双工:电话
5、面向字节流
流:序列。应用程序和TCP的交互是一个个数据块,TCP把他们看做是无结构字节流。
应用层的<font color="#f44336">报文</font>->传输层的<font color="#f44336">TCP报文段</font>
最大报文段长度(Maximum Segment Size , <font color="#f44336">MSS</font>):报文段中封装的应用层数据的最大长度
TCP报文段结构<font color="#4caf50">【选择、填空】</font>
源端口号字段,目的端口号字段:每个占2个字节,共4个字节,共占32位。复用和分解上层应用的数据
序号字段、确认序号字段:每个占32位,也就是4个字节
序号字段:TCP的序号是对每个应用层数据的<font color="#f44336">每个字节</font>进行编号
确认序号字段:<font color="#f44336">期望</font>从对方接收数据的字节序号,即该序号对应的字节尚未收到,用ack_seq表示
首部长度字段:<font color="#f44336">占4位</font>。指出TCP段的首部长度,<font color="#f44336">以4字节为计算单位</font>
TCP段的首部长度<font color="#f44336">最短是20字节。最长为60字节</font>。(选择长度可变)<br>但是它占4位,1111=15,达不到20-60,故这里特殊,出来一个计算单位为4字节,所以15*4=60就够用了
这就说明了为什么填充的时候,必需是4的倍数
填充字段,取值全为0,目的是为了整个首部长度是<font color="#f44336">4字节的整倍数</font>
保留字段:占6位。保留为今后使用,目前值为0
URG、ACK、PSH、RST、SYN、FIN各占1位。为<font color="#f44336">标志位字段</font>; 各占1位,取值为0或1
紧急URG=1,紧急指针字段有效,优先传送
urgent 紧急的
确认ACK=1,确认序号字段有效;ACK=0时,确认序号字段无效
Acknowledge 确认
推送PSH=1,尽快将报文段中的数据交付接收应用进程,不要等缓存满了再交付
push
复位RST=1,TCP连接出现严重差错,释放连接,再重新建立TCP连接
reset
同步SYN=1,该TCP报文段是一个<font color="#f44336">建立新连接请求控制段</font>或者同意建立新连接的确认段
synchronous
终止FIN=1,TCP报文段的发送端数据已经发送完毕,请求释放连接
finish
接收窗口字段:占16位。向对方通告我方接收窗口的大小。实现TCP的流量控制
校验和字段:占16位
计算方法与UDP校验和的计算方法相同
紧急指针字段:占16位
URG=1时,才有效。指出在本TCP报文段中紧急数据共有多少个字节
选项字段长度可变,最短为0字节,<font color="#f44336">最长为40字节</font>
填充字段,取值全为0,目的是为了整个首部长度是<font color="#f44336">4字节的整倍数</font>
已知TCP报文段的<font color="#f44336">首部长度字段</font>的值为15,则表示TCP报文段的首部和选项字段的最大长度分别为( C:60字节和40字节 )<br>解析:首部字段值为:15 <br>则首部长度为:15×4=60字节 <br>固定首部为20字节 <br>则选择字段长度为:60-20=40字节
首部长度字段:<font color="#f44336">占4位</font>。指出TCP段的首部长度,<font color="#f44336">以4字节为计算单位</font>
TCP连接管理
TCP连接管理:连接建立与连接拆除
建立连接,3次握手
第一次握手: 客户向服务器发送连接请求段:(SYN=1,seq=x)
SYN=1:建立连接请求控制段<br>seq=x:表示传输的报文段的第1个数据字节的序列号是x,此序列号代表整个报文段的序<br>号 (补充:sequence number,序号的意思。)
客户端进入SYN_SEND(同步发送)
第二次握手: 服务器发回确认报文段:(SYN=1,ACK=1,seq=y, ack_seq=x+1)
SYN=1:同意建立新连接的确认段
ACK=1:确认序号字段有效
seq=y:服务器告诉客户确认报文段的序列号是y。
ack_seq=x+1:表示已经收到了序列号为x的报文段,准备接收序列号为x+1的报文段。
服务器由LISTEN进入SYN_RCVD(同步收到)
第三次握手: 客户对服务器的 同意连接报文段 进行确认:(ACK=1,seq=x+1,ack_seq=y+1)
ACK=1:确认序号字段有效
seq=x+1:客户此次的报文段的序列号是x+1。
ack_seq=y+1:客户期望接收服务器序列号为y+1的报文段。
当客户发送ACK时,客户端进入ESTABLISHED状态;
当服务收到ACK后,也进入ESTABLISHED状态;
第三次握手可携带数据。
为什么需要三次握手?
第一次握手:客户发送请求,此时服务器知道客户能发。
第二次握手:服务器发送确认,此时客户知道服务器能发能收。
第三次握手:客户发送确认,此时服务器知道客户能收。
连接拆除,4次挥手
第一次挥手: 客户向服务器发送释放连接报文段:(FIN=1,seq=u)
FIN=1:发送端数据发送完毕,请求释放连接。
seq=u:传输的第一个数据字节的序号是u
客户端状态由ESTABLISHED进入FIN_WAIT_1(终止等待1状态)
第二次挥手: 服务器向客户发送确认段:(ACK=1,seq=v,ack_seq=u+1)
ACK=1:确认字号段有效。
ack_seq=u+1:服务器期望接收客户数据序号为u+1。
seq=v:服务器传输的数据序号是v。
服务器状态由ESTABLISHED进入CLOSE_WAIT(关闭等待) 客户端收到ACK段后,由FIN_WAIT_1进入FIN_WAIT_2
第三次挥手: 服务器向客户发送释放连接报文段:(FIN=1,ACK=1,seq=v+1,ack_seq=u+1)
FIN=1:请求释放连接
ACK=1:确认字号段有效。
ack_seq=u+1:表示服务器期望接收客户数据序号为u+1。
seq=v+1:表示自己传输的第一个数据字节的序号是v+1。
服务器状态由CLOSE_WAIT进入LAST_ACK(最后确认状态)
第四次挥手: 客户向服务器发送确认段:(ACK=1,seq=u+1,ack_seq= v+1+1 )
ACK=1:确认字号段有效。
ack_seq=v+1+1:表示客户期望接收服务器数据序号为v+1+1。
seq=u+1:表示客户传输的数据的序号是u+1。
客户端状态由FIN_WAIT_2进入TIME_WAIT,等待2MSL时间,进入CLOSED状态。
服务器在收到最后一次ACK后,由LAST_ACK进入CLOSED。
1-4客户端 <br>2-3服务端
TCP可靠数据传输
可靠:保证接收方应用进程从缓冲区读出的字节流与发送方发出的字节流是完全一样的(无差错,不丢失,不重复,按序到达)
TCP实现可靠数据传输服务的工作机制
1、分段:应用层数据被<font color="#f44336">分割</font>成TCP认为最适合发送的数据块。<br>2、序号:发送方对发送的数据包进行<font color="#f44336">编号</font>,确保数据按序提交给接收方。<br>3、确认:接收方向发送方<font color="#f44336">反馈</font>接收状态,确认是否正确接收数据。<font color="#f44336">TCP采取累计确认</font><br>4、差错检测:利用差错编码实现数据包传输过程中的<font color="#f44336">比特差错检测</font>(甚至纠正)。<br>5、重传:发送方<font color="#f44336">重新发送</font>接收方没有正确接收的数据。 主要针对两类事件:<font color="#f44336">三次重复确认</font>和<font color="#f44336">计时器超时</font><br>6、计时器:在发送方引入计时器,解决<font color="#f44336">数据丢失</font>问题。
序号:一个字节占用一个序号。序号字段指的就是一个报文段第一个字节的序号。
确认:TCP生成ACK的策略
1、具有所期望序号的报文段按序到达,所有在期望序号及以前的报文段都已被确认。TCP延迟500ms发送ACK。<br>
例如:接收方收到123,且返回对123的确认。这时,4来了。则接收方等待500ms,再返回ACK5
2、具有所期望序号的报文段按序到达、且另一个按序报文段在等待ACK传输,TCP接收方立即发送单个累计ACK,确认以上<br> 两个按序到达报文段。
例如:接收方刚刚收到4,正准备返回ACK5。此时5来了。则接收方返回ACK6
3、拥有序号大于期望序号的失序报文段到达,TCP接收方立即发送重复ACK,指示下一个期望接收字节的序号。
例如:接收方返回ACK5。但是6到了。则接收方返回三次重复的ACK5
4、收到一个报文段,部分或完全填充接收数据间隔。
例如:接收方收到12,且返回对12的确认。后来又收到了456。这时3来了。则接收方返回ACK7
重传:快速重传: TCP发送方接收到对相同序号的3次重复ACK,就说明被重复确认的报文段已丢失,这时候即便没有超时,也会重发该报文段。
计时器:计时器超时时间的调整
计时器超时时间设置:TimeoutInerval=EstimatedRTT+4×DevRTT 1个抽样4个偏差RTT
EstimatedRTT:抽样RTT的加权移动平均值。 <br>DevRTT:偏差RTT
TCP流量控制
流量控制:协调发送方与接收方的数据发送与接收速度
在通信过程中,接收方设置报文段的<font color="#f44336">接收窗口字段</font>来将窗口大小通知给发送方
TCP拥塞控制
拥塞:<font color="#f44336">太多的主机</font>以<font color="#f44336">太快的速度</font>向网络中发送<font color="#f44336">太多的数据</font>,超出了网络处理能力,导致大量数据分组拥挤在中间设备队列中等待转发,网络性能显著下降的现象
拥塞控制:通过合理调度、规范、调整向网络中发送数据的主机数量、发送速率、数据量,以<font color="#f44336">避免</font>拥塞或<font color="#f44336">消除</font>已发生的拥塞
预防拥塞:还没有拥塞,预防
拥塞预防策略
流量整形技术:规范主机向网络发送数据的流量。
消除拥塞:已经拥塞,如何消除
概念补充
拥塞窗口(CongWin):连接开始, CongWin =1MSS
MSS :1个最大报文段长度(Maximum Segment Size )
阈值(Threshold):临界值
TCP拥塞控制的算法
慢启动
慢启动算法:在TCP连接建立时,每经过1个RTT,拥塞窗口增大一倍
当达到阈值时(比如:16MSS),则不翻倍增长了,会变成加1的增长(拥塞避免)
拥塞避免
拥塞避免算法:当拥塞窗口大于等于阈值时,每经过1个RTT,拥塞窗口的值加1
快速重传<br>快速恢复<br>
主要解决“三次重复确认”
<font color="#f44336">快速重传</font>:接收端收到3次重复确认,则推断被重复确认的报文段已经丢失,于是<font color="#f44336">立即发送被重复确认</font>的报文段。
<font color="#f44336">快速恢复算法</font>:当发生3次重复确认时,网络拥塞程度不是很严重。阈值和拥塞窗口的调整方法:不再重新从慢启动阶段开始,而是直接从新的阈值开始,直接进入拥塞避免阶段
窗口调整的基本策略 (Additive Increase,Multiplicative Decrease ,AIMD)
网络未发生拥塞时,逐渐“加性”增大窗口。 <br>网络拥塞时“乘性”减小窗口
综合例子
例如:发生<font color="#f44336">计时器超时</font>,当前拥塞窗口为24MSS,当前阈值为16MSS。<br>新的阈值:为当前拥塞窗口的一半。 新的阈值= 24MSS÷2=12MSS<br>新的拥塞窗口:直接调整为1MSS。 <br>新的拥塞窗口=1MSS调整好新的阈值和新的拥塞窗口后,使用慢启动,拥塞避免算法增加拥塞窗口大小
例如:发生<font color="#f44336">3次重复确认</font>时,当前拥塞窗口为24MSS,当前阈值为16MSS。<br>新的阈值:为当前拥塞窗口的一半。 新的阈值= 24MSS÷2=12MSS<br>新的拥塞窗口:调整为新的阈值。 新的拥塞窗口=新的阈值=12MSS<br>调整好新的阈值和新的拥塞窗口后,使用拥塞避免算法增加拥塞窗口大小。
第四章 网络层<font color="#ffeb3b">(大范围的运输公司:从广东省到河北省)</font>
第一节 网络层服务
分组或包
<font color="#f44336">核心任务</font>:将数据从<font color="#f44336">源</font>主机送达到<font color="#f44336">目的</font>主机
大范围的运输公司:从广东省到河北省
网络层主要功能<font color="#4caf50">【选择、填空】</font>
<font color="#f44336"><b>转</b>发</font>:当输入链路接收到一个分组后,路由器需要决策通过哪条输出链路将分组发送出去,并将分组从输入接口转移到输出接口
<font color="#f44336"><b>路</b>由选择</font>:当分组从源主机流向目的主机时,必须通过某种方式决定分组经过的路由或路径
<font color="#f44336"><b>连</b>接建立</font>:网络层连接是从源主机到目的主机经过的一条路径,这条路径所经过的每个路由器等网络设备都要参与网络层连接的建立
<font color="#ffeb3b">助记:转路连</font>
第二节 数据报网络与虚电路网络
分组交换网络
无连接:数据报网络
数据报网络:按照<font color="#f44336">目的主机地址</font>进行路由选择的网络
源主机每要发送一个分组,就为该分组加上目的主机地址,然后将该分组推进网络。每个路由器使用分组的目的主机地址<font color="#f44336">转发分组</font>
因特网属于<font color="#f44336">数据报网络</font>,如果需要按序接收的是在<font color="#f44336">TCP传输层</font>做的
面向连接:虚电路网络
虚电路(virtual circuit,VC):源主机到目的主机的<font color="#f44336">一条路径</font>上建立的一条网络层<font color="#f44336">逻辑连接</font>
虚电路网络:在网络层提供<font color="#f44336">面向连接</font>的<font color="#f44336">分组交换服务</font>。双方通信前先<font color="#f44336">虚电路建立连接</font>,通信结束后<font color="#f44336">再拆除连接</font>
一条虚电路由3个要素构成
1、从源主机到目的主机之间的一条<font color="#f44336">路径</font>(一系列的链路和分组交换机)<br>2、该路径上的每条链路的<font color="#f44336">虚电路标识</font>(VCID)<br>3、分组交换机的转发表中记录虚电路标识的<font color="#f44336">接续</font>关系
区别
第三节 网络互连与网络互连设备
异构网络互连
<font color="#f44336">异构网络</font>:主要是指两个网络的通信技术和运行协议的不同。例如:wifi,网线等
异构网络互连的基本策略:<font color="#f44336">协议转换</font>和<font color="#f44336">构建虚拟互联网络</font>
协议转换:采用一类支持异构网络之间协议转换的网络中间设备,来实现异构网络之间数据分组的转换与转发。例如:交换机或者是多协议路由器
构建虚拟互联网络:在异构网络基础上构建一个同构的虚拟互联网络
路由器
路由器:最典型的网络层设备。具有多个输入端口和多个输出端口的<font color="#f44336">专用计算机</font>,主要<font color="#f44336">任务</font>就是获取与维护路由信息以及转发分组。
路由器从<font color="#f44336">功能体系</font>结构角度
<font color="#f44336">输入端口</font>:查找,转发,到达分组 缓存排队功能
<font color="#f44336">交换结构</font>:完成具体的转发工作,将输入端口的IP数据报交换到指定的输出端口。<br> 将输入端口的IP数据报交换到指定的输出端口
主要包括3种交换结构
基于<font color="#f44336">内存</font>交换:输入端口——内存、路由处理器——输出端口
<font color="#f44336">性能最低</font>,路由器价格最便宜
基于<font color="#f44336">总线</font>交换:输入端口和输出端口连接在一条数据总线上。无须路由处理器介入即可实现交换功能。总线是独占式。
基于<font color="#f44336">网络</font>交换:使用一个复杂的互联网络来实现交换结构。克服单一、独占所带来的限制。并行交换传输。
<font color="#f44336">性能最高</font>,路由器价格昂贵
<font color="#f44336">输出端口</font>:缓存排队,从队列中取出分组进行数据链路层<font color="#f44336">数据帧</font>的封装,发送
1、先到先服务(FCFS)调度策略; <br>2、按优先级调度<br>3、按IP数据报的服务类型调度。
<font color="#f44336">路由处理器</font>
1、执行命令 <br>2、路由协议运行 <br>3、路由计算<br>4、路由表的更新和维护
在网络层上实现多个网络互连的设备是( 路由器 )
第四节 网络层<font color="#f44336">拥塞控制</font><br>
网络拥塞
网络层拥塞:用户对网络资源(包括链路带宽、存储空间和处理器处理能力等)的总需求超过了网络固有的容量
网络负载在<font color="#f44336">膝点</font>附近时,<font color="#f44336">吞吐量</font>和<font color="#f44336">分组平均延迟</font>达到理想的平衡,网络的<font color="#f44336">使用效率最高</font>
发生拥塞的原因:<font color="#4caf50">【简答】</font>
1、缓冲区容量有限
2、传输线路的带宽有限
3、网络结点的处理能力有限
4、网络中某些部分发生了故障
网络层拥塞控制<font color="#f44336">措施</font>
流量感知路由:<font color="#f44336">权值</font>根据网络负载动态调整,可以将网络流量引导到不同的链路上,<font color="#f44336">均衡网络负载</font>
准入控制
准入控制:广泛应用于<font color="#f44336">虚电路网络</font>的拥塞预防技术
基本思想:对新建虚电路审核,如果新建立的虚电路会导致网络变得拥塞,那么网络拒绝建立该新虚电路
解决网络层拥塞问题的预防措施是( <font color="#f44336">准入控制</font> )2010考题
流量调节
流量调节:在网络<font color="#f44336">发生拥塞</font>时,通过调整发送方发送数据的速率来消除拥塞
问题一:路由器如何感知发生了拥塞?<br>
通过路由器输出端口的<font color="#f44336">排队时延</font>
问题二:路由器感知到拥塞时,如何通知其上游结点,并且使上游结点<font color="#f44336">降低发送速率</font>?
<font color="#f44336">抑制分组</font>:感知到拥塞的路由器选择一个被拥塞的数据报,给该数据报的源主机返回一个抑制分组
<font color="#f44336">背压</font>:抑制分组在从拥塞结点到源结点的路径上的每一跳,都发挥抑制作用
负载脱落:有选择地<font color="#f44336">主动丢弃</font>一些数据报,来减轻网络负载,从而缓解或消除拥塞
第五节 Internet 网络层
IPv4协议
IPv4( Internet Protocol version 4)协议:Internet网络层<font color="#f44336">最核心的协议</font>
定义了如何<font color="#f44336">封装</font>上层协议(如UDP、TCP)的报文段<br>定义了Internet网络层<font color="#f44336">寻址</font>(IP地址)以及如何转发IP数据报等内容<br>
两个版本:IPv4和IPv6
IP数据报格式<font color="#4caf50">【选择、填空】</font>
1、版本号:4位。IP的版本号。<br>2、首部长度:4位,单位:4B,IP数据报的首部长度:20B-60B,默认是20,4位全为1则是15*4=60<br>3、区分服务:8位。在旧标准种称为服务类型(Type Of Service,TOS)字段,用来指示期望获得哪种类型的服务。<br>4、数据报长度:16位。IP数据报的总字节数。<font color="#f44336">首部长度+数据长度=数据报长度<br></font>14、片偏移量:以<font color="#f44336">8B</font>为单位。表示一个IP数据报分片与原IP数据报的数据的相对偏移量。<br> 当该字段值为0时,且MF=1, 则表示这是一个IP分片,且是第一个分片。<br>
IP数据报分片<font color="#4caf50">【综合题】</font>
网络层:数据报
先分组,再分片
对于每一个分片来说,<font color="#f44336">数据报=首部(默认20B)+分片数据</font>
最大传输单元(Maximum Transmission Unit , <font color="#f44336">MTU</font>):数据链路层帧能承载的最大数据量
IP数据报分片的原则:尽可能少分片
一个最大分片可封装的数据字节数最好是<font color="#f44336">8的倍数</font>
IP数据报分片的计算:
例题:通过工具发送一个总长度为3400字节的IP数据报,通过MTU=1500字节的链路转发。试求以下内容:详见象印笔记
分析:<br>1、总长度为3400字节的IP数据报,说明这个数据报的封装的数据是:3400-20=3380<br>2、MTU=1500字节的链路,说明只能发送最大数据报为1500,首部默认是20,所以分片数据=1500-20=1480<br>3、可以分3片 1480、1480、420 3片加起来的数据是3380<br>4、总长度就是数据+首部就行了,所以都加20<br>5、片偏移量,分片的第1个字节除以8就可以了
路由器在进行IP数据报分片后,目的主机在重组分片时,用到的字段<font color="#f44336">不包括</font>( 首部长度字段 )
IPv4编址
IPv4地址的长度为32位,共有2^32个不同的IP地址,约为43亿个
IPv4地址192.168.1.101的三种标记方式
二进制标记法:32位的1与0
点分十进制标记法:192.168.1.101
十六进制标记法:0xC0A80165
IP地址分配:
前缀(Prefix):即网络部分(Net ID),用于描述主机所归属的网络
分类地址:定长前缀(A、B、C、D、E类)
A、B、C类地址:可以用于标识网络中的主机或路由器(给主机和路由器使用:A、B、C类)
D类地址:组广播地址
E类是地址:保留,做研究
特殊地址:分类地址中一些特殊用途的地址
总结:<br>1、网络地址(子网地址):网络位是特定值,<font color="#f44336">主机位全为0</font>。 <br>2、广播地址:网络位是特定值,<font color="#f44336">主机位全为1</font>
私有地址:一部分分类地址保留用于内部网络
这部分分类地址可以在内网使用,不能在公共互联网上使用
无类地址:前缀长度可变
网络前缀不再被设计为定长的8位、16位、24位,而变成0-32位的任意值
网络地址书写形式:a.b.c.d/x
例如:203.1.1.0/25 注意:这里的25说明的是网络位占25位,那么主机位占8位
后缀(Postfix):即主机部分(Host ID),用于表示主机在网络中的唯一地址
子网划分<font color="#4caf50">【综合题】</font>
子网化:将一个较大的子网划分为多个较小子网的过程。(大变小) 例如:网络12.34.56.0/24划分三个子网
超网化:将具有较长前缀的相对较小的子网合并为一个具有稍短前缀的相对较大的子网。(小变大)
子网掩码:定义一个子网的网络前缀长度
子网掩码位数:32位。 书写形式:二进制,点分十进制。<br>取值规则:对应前缀,全部为1。对应后缀,全部为0
例如: 子网地址:213.111.0.0/24<br>子网掩码:255.255.255.0
例如:子网地址:12.34.56.0,子网掩码:255.255.255.192<br>那网络前缀(26)位,主机位(6)位。主要看子网掩码有几个1,共有26个
子网地址:<font color="#f44336">子网掩码</font>和<font color="#ffffff">主机地址</font><font color="#ffeb3b">按位与运算</font>
广播地址:子网掩码的<font color="#f44336">反码</font>与主机地址<font color="#f44336">按位或</font>运算
设子网212.121.0.0/24为C类地址网络,则超网212.121.0.0/22中包含的C类地址网络和IP地址总数分别为(<font color="#f44336">4和1024 </font>)
路由聚合<font color="#4caf50">【选择】</font>
路由聚合:减少路由表项数,提高路由效率,将可以聚合在一起的子网聚合成一个大的子网。
学会二进制和十六进制运算
动态主机配置协议
静态分配:手动配置
动态分配:动态主机配置协议来分配
动态主机配置协议(Dynamic Host Configuration Protocol ,DHCP)<br>DHCP服务器端口号 67<br>DHCP客户端口号 68
DHCP工作过程<font color="#4caf50">【选择、填空】</font>
第一步:DHCP服务器<font color="#f44336">发现</font>:广播方式<br>第二步:DHCP服务器<font color="#f44336">提供</font>:广播方式<br>第三步:DHCP<font color="#f44336">请求</font>:广播方式<br>第四步:DHCP<font color="#f44336">确认</font>
网络地址转换
网络地址转换(Network Address Translation ,<font color="#f44336">NAT</font>)
使<font color="#f44336">私有地址</font>在<font color="#f44336">公共Internet</font>上正常通信。
NAT工作原理<font color="#4caf50">【简答】</font>
1、从内网出去的IP数据报,将其IP地址替换为NAT服务器拥有的合法的公共IP地址,并将替换关系记录到NAT转换表中;
2、从公共互联网返回的IP数据报,依据其目的IP地址检索NAT转换表,并利用检索到的内部私有IP地址替换目的IP地址,然后将IP数据报转发到内部网络。
ICMP(互联网控制报文协议)<font color="#4caf50">【选择、填空】</font>
互联网控制报文协议(Internet Control Message Protocol ,ICMP): 进行主机或路由器间的网络层差错报告与网络探测
ICMP报文格式
ICMP报文分类 <font color="#4caf50">【选择、填空】</font>
差错报告报文
终点不可达<br>源点抑制<br>时间超时<br>参数问题<br>路由重定向
询问报文
回声请求/应答
时间戳请求/应答
IPv6
IPv6和IPv4数据报首部对比<font color="#4caf50">【选择、填空】</font>
IPv6删除了这些字段:
1、分片相关字段
2、首部校验和
3、选项字段不是IPv6的基本首部的字段。
IPv6地址长度为128位
IPv6地址表示方法
8组16进制数表示
8组冒号分隔的十六进制数:<br>8000:0000:0000:0000:4321:0501:AB96:56CD<br><font color="#f44336">::只能出现一次</font><br>8000<font color="#f44336">::</font>4321:0501:AB96:56CD
在IPv6地址中嵌入IPv4的点分十进制:<br>6700::89A1:0321:206.36.45.19
IPv6地址分类
<font color="#f44336">单</font>播地址:可做<font color="#f44336">源地址</font>和目的地址
<font color="#f44336">组</font>播地址:可做目的地址
只能用作IPv6数据报的目的地址,且向一个该类型地址发送IP数据报,该地址标识的<font color="#f44336">每个成员</font>都会收到一个该IP数据报的一个副本的是<font color="#f44336">组播地址</font>
<font color="#f44336">任</font>播地址:可做目的地址
只能用作IPv6数据报的目的地址,且向一个该类型地址发送IP数据报,<font color="#f44336">只有该地址标识的某个成员收到</font>该IP数据报的地址类型是( 任播地址 )
IPv4到IPv6的迁移<font color="#4caf50">【选择、填空】</font>
方法一:双协议栈:网络结点同时具备发送IPv4与IPv6数据报的能力
方法二:隧道:通信源端与目的端都提供IPv6服务,但是途径一段IPv4网络
很好地解决IPv6通信中经过IPv4路由器的问题,同时也不会出现信息丢失的问题。
第六节 路由算法与路由协议
路由选择:如何为网络分组从源端到目的端的传输确定最佳路径
<font color="#f44336">能走通,且最短</font>
路由选择算法的分类
带权无向图
将网络抽象为一个带权无向图G=(N,E),N表示结点集合,E是边的集合。<br>网络中的路由器抽象为图G的结点,连接两个路由器的网络链路抽象为G的边。
网络链路的费用(比如时延)抽象为G中的权值
如果两个结点间有边,例如从结点X到结点Y则从结点X到结点Y耗费的费用记做C(X,Y)=10<br>如果两个结点间没有边,例如结点X到结点U则从结点X到结点U耗费的费用记做C(X,U)=∞
分类标椎
是否需要全局信息
<font color="#f44336">需要</font>网络的完整信息
<font color="#f44336">全局式</font>路由选择算法
典型:<font color="#f44336">链路状态</font>路由选择算法(LS算法)
<font color="#f44336">不需要</font>网络的完整信息
<font color="#f44336">分布式</font>路由选择算法
典型:<font color="#f44336">距离向量</font>路由选择算(DV算法)
静态动态
静态
人工配置
动态
网络发生变化,自动计算最佳路由
LS算法<br>DV算法
是否敏感
敏感
<font color="#f44336">负载敏感</font>的路由选择算法
迟钝
<font color="#f44336">负载迟钝</font>的路由选择算法
<font color="#f44336">链路状态</font>路由选择算法(LS算法)
链路状态路由选择算法是一种<font color="#f44336">全局式</font>路由选择算法,每个路由器在计算路由时,需要构建出整个网络的拓扑图。
路由器x上的转发表只存放下一跳路由器,而不是最终路由器<br>
链路状态路由选择算法(LS算法)计算过程<font color="#4caf50">【综合题】</font>
链路状态路由选择算法:利用Dijkstra算法求最短路径
<font color="#f44336">距离向量</font>路由选择算法(DV算法)
距离向量路由选择算法:基础是Bellman-Ford方程(简称B-F方程)
<font color="#f44336">层次化</font>路由选择
合理的网络规模范围内:LS算法和DV算法
大规模网络
层次化路由选择:大规模网络路由选择最有效可行的解决方案
层次化路由选择<font color="#f44336">原理</font>:
大规模互联网的路由划分为两层:
自治系统<font color="#f44336">内</font>路由选择:计算到达自治系统内目的网络的路由。<br>自治系统<font color="#f44336">间</font>路由选择:负责其他自治系统网络的可达性信息
自治系统(autonomous system,AS)互联网按组织边界划分为多个自治系统。每个自治系统由运行<font color="#f44336">相同</font>路由协议和路由选择算法的路由器组成
网关路由器:每个自治系统存在至少一个与其他自治系统互连的路由器
<font color="#f44336">Internet</font>路由选择协议
内部网关协议(IGP Interior Gateway Protocol):Internet自治系统<font color="#f44336">内</font>路由选择协议
路由信息协议(Routing Information Protocol,RIP)
RIP:较小的AS。基于<font color="#f44336">距离向量</font>路由选择算法的IGP
RIP报文:封装进<font color="#f44336">UDP</font>数据报
RIP特性
第一、RIP在度量路径时采用的是<font color="#f44336">跳数</font><br>第二、RIP的费用定义在源路由器和目的子网之间<br>第三、RIP被限制的网络直径不超过<font color="#f44336">15跳</font>的自治系统内使用<br>
开放最短路径优先协议(Open Shortest Path First,OSPF)
OSPF:<font color="#f44336">较大规模的AS</font>。基于链路状态路由选择算法的IGP。
直接封装在<font color="#f44336">IP数据报</font>传输
OSPF的优点
(1)、安全;<br>(2)、支持多条<font color="#f44336">相同费用</font>路径;<br>(3)、支持区别化费用度量;<br>(4)、支持<font color="#f44336">单播</font>路由与<font color="#f44336">多播</font>路由;<br>(5)、分层路由;
外部网关协议(EGP Exterior Gateway Protocol):Internet自治系统间路由选择协议
<font color="#f44336">边界</font>网关协议(Border Gateway Protocol,BGP)
BGP:实现跨自治系统的路由信息交换。典型版本是<font color="#f44336">BGP4</font>
BGP封装进<font color="#f44336">TCP报文段</font>
BGP主要有4种报文
OPEN(打开)报文
UPDATE(更新)报文
KEEPALIVE(保活)报文
NOTIFICATION(通知)报文
第五章 数据链路层与局域网
第一节 数据链路层服务
数据链路层:负责通过一条链路,从一个结点向另一个物理链路直接相连的相邻结点,传送网络层数据报,中间不经过任何其他交换结点。
数据链路:网络中两个结点之间的逻辑通道。 <br>实现控制数据传输协议的硬件(网卡)和软件加到链路上构成的。
数据链路层的传输单元:<font color="#f44336">帧</font>
数据链路层提供的服务
组帧(成帧)<br>
帧头(帧首):发送结点和接收结点的<font color="#f44336">地址信息、定界字符</font>。 <br>帧尾:用于差错检测的差错编码。
链路接入
物理链路可以分为:<font color="#f44336">点对点</font>链路和<font color="#f44336">广播</font>链路
可靠交付
无线链路(出错率高):<font color="#f44336">支持</font>可靠数据传输
光纤、双绞线(出错率低):<font color="#f44336">不提供</font>可靠数据传输服务
差错控制
数据链路层帧在物理媒介上的传播过程,可能会出现比特翻转的差错
误比特率:出现差错的比特数/传输比特总数
第二节 差错控制
噪声
信号在信道传输过程中,会受到各种噪声的干扰,从而导致传输差错
随机噪声:随机差错或独立差错
冲击噪声:突发差错
突发长度:突发错误发生的第一位错误与最后一位错误之间的长度
差错控制:通过<font color="#f44336">差错编码</font>技术,实现对信息传输差错的检测,并基于某种机制运行差错<font color="#f44336">纠正</font>和<font color="#f44336">处理</font>
差错控制的<font color="#f44336">基本方式</font>
检错重发(<font color="#f44336">检错</font>编码)
发送端:待发送数据进行<font color="#f44336">差错编码</font>,然后发送。<br>接收端:利用差错编码<font color="#f44336">检测</font>数据是否出错。若出错,接收端请求发送端重发数据加以纠正。<br>
前向纠错(Forward Error Correction,FEC )(<font color="#f44336">纠错</font>编码)
发送端:对数据进行<font color="#f44336">纠错编码</font>,然后发送。<br>接收端:收到数据,利用纠错编码进行差错检测,且<font color="#f44336">纠错</font>。<br>适用:单工链路<br>
反馈校验(<font color="#f44336">不用编码</font>)
接收端:将收到的数据<font color="#f44336">原封不动</font>发回发送端。<br>发送端:通过对比接收端反馈的数据与发送的数据确认接收端是否正确接收的已发送数据。若有不同,立即重传数据
优点:原理简单,易于实现,无须差错编码;<br>缺点:需要相同传输能力的反向信道,传输效率低,<font color="#f44336">实时性差</font>
检错丢弃(<font color="#f44336">检错</font>编码)
网络应用对可靠性要求不高,可以采用不纠正出错数据,<font color="#f44336">直接丢弃</font>错误数据。<br>适用于:<font color="#f44336">实时性高</font>的系统。
差错编码的<font color="#f44336">基本原理</font>
差错编码原理:在待传输数据信息基础上,附加一定的冗余信息
冗余信息:与数据信息建立某种关联关系。(如:复制一次、复制两次等)
差错编码的<font color="#f44336">检错</font>与<font color="#f44336">纠错</font>能力
编码集的汉明距离
编码集:差错编码的所有有效码字的集合(编码方式:复制一次)<br>编码集{1010,0101,1111,0000}<br>
<font color="#f44336">汉明距离</font>:两个等长码字之间,对应位<font color="#f44336">数不同</font>的位数。<br> 码字1:0 1 1 0 0 1 0 1<br> 码子2:1 0 0 1 1 1 0 1<br> 汉明距离dc=5
编码集的汉明距离:编码集中任意两个码字之间汉明距离的最小值,记为ds<br> 编码集{1010,0101,1111,0000}<br> 编码集的汉明距离: ds=min{4,2,2,2,2,4}<br> 编码集的汉明距离:ds=2
差错编码:检错码和纠错码
检错编码
编码集的汉明距离<font color="#f44336">ds=r+1</font>,则该检错编码可以检测<font color="#f44336">r位</font>的差错。<br> 例:发送2位数据信息,冗余信息是数据的一次复制<br> 编码集:{0000,0101,1010,1111}<br> 编码集汉明距离:ds=2<br> =1+1<br> 因此可以检测出来1位差错。
纠错编码
编码集的汉明距离<font color="#f44336">ds=2r+1</font>,则该差错编码可以<font color="#f44336">纠正r位</font>的差错。<br> 例:发送2位数据信息,冗余信息是数据的两次复制<br> 编码集:{00<font color="#f44336">0000</font>,01<font color="#f44336">0101</font>,10<font color="#f44336">1010</font>,11<font color="#f44336">1111</font>}<br> 编码集汉明距离: ds=3 =2×1+1<br>因此可以纠正出来<font color="#f44336">1位</font>差错<br>
例:编码集{00<font color="#f44336">0000</font>,01<font color="#f44336">0101</font>,10<font color="#f44336">1010</font>,11<font color="#f44336">1111</font>}<br> 发生一位差错,则错码距离发生错误的有效码字的汉明距离最近,可以恢复为有效码字。<br>如果收到码字为100010,则有效码字应该是?<br>100010与000000,010101,101010,111111的汉明距离分别为:<br> 2 5 1 4<br>有效码字就是:101010
典型的差错编码
奇偶校验码:最简单的检错码。利用<font color="#f44336">1位</font>冗余信息实现差错检测
奇校验码
1位冗余位,取值为“0”或“1”,使得<font color="#f44336">编码后</font>的码字中1的个数为奇数
例如:数据10110111,采用奇校验码编码后的码字为:10110111<font color="#f44336">1</font>
偶校验码
1位冗余位,取值为“0”或“1”,使得编码后的码字中1的个数为偶数
例如:数据10110111,采用偶校验码编码后的码字为:10110111<font color="#f44336">0</font>
优缺点<font color="#4caf50">【选择、填空】</font>
优点:编码简单、编码效率高、开销最小的检错编码<br>缺点:检错率不高
循环冗余码(Cyclic Redundancy Check,<font color="#f44336">CRC码</font>):在数据链路层<font color="#f44336">广泛应用</font>的差错编码。(<font color="#f44336">检错码</font>)<font color="#4caf50">【选择、综合】</font>
基本思想:将二进制位串看成是系数为0或1的多项式的系数。
<br>
编码过程
例:假设CRC编码采用的生成多项式<span class="equation-text" contenteditable="false" data-index="0" data-equation="G(x)=x^4+x+1"><span></span><span></span></span>,请为位串10111001进行CRC编码
第一步:写出多项式对应的位串:10011
5位
第二步:在待编码位串后面添加0,添加0的个数如何确定: <br>看多项式对应的位串有几位,这个数值减1就是需要添加0的个数。
例如:多项式对应的位串有几位:5位<br>则在待编码位串后面添加0的个数:5-1=4<br>待编码位串改变: 10111001——10111001<font color="#f44336">0000</font>
第三步:用新待编码位串<font color="#f44336">除</font>以多项式对应的位串
新待编码位串:10111001<font color="#f44336">0000</font><br>多项式对应的位串:10011
“异或”逻辑运算<br>相同为0; 不相同为1
第四步:求得的<font color="#f44336">余数</font>添加在待编码位串后,即为CRC编码后的码
待编码位串:10111001<br>余数:1001 <br>CRC码: 10111001<font color="#f44336">1001</font>
设生成多项式G(x)=X4+X2+X+1,则对位串100111011101进行CRC编码后的结果为( 1001110111011100 )<font color="#f44336">1910考题</font>
接收方在收到带CRC码的帧之后,怎么判断是否有错?<br>
用收到的位串除以多项式对应的位串<br> 余数为0,无错。<br> 余数不为0,有错,丢弃。
差错编码分类
<font color="#f44336">检错</font>编码
<font color="#f44336">纠错</font>编码
第三节 多路访问控制协议
两类链路
点对点信道:一对一通信方式,信道被<font color="#f44336">双方独享</font>。(例如,拨号上网)
广播信道(共享介质):一对多通信方式,信道上连接的点很多,信道被结点共享(例如,总线以太网,WiFi)
两个或两个以上结点同时传输数据:冲突→失败!<br>解决方法:<br>多路访问控制(Multiple Access Control , MAC)协议<br>
MAC协议的根本任务:解决信道的<font color="#f44336">共享问题</font>。 【选择、填空】
多路访问控制(Multiple Access Control , MAC)协议
<font color="#f44336">信道划分</font>MAC协议:利用<font color="#f44336">多路复用</font>技术实现信道共享的MAC协议
多路复用的基本思想:将信道资源划分后,分配给不同的结点,各结点通信时<br>只使用其分配到的资源,避免多结点通信时的相互干扰。
<font color="#f44336">频分</font>多路复用(FDM)
频分多路复用(Frequency-division multiplexing,FDM):在<font color="#f44336">频域</font>内将信道带宽划分为多个<font color="#f44336">子信道</font>,<br>将原始信号调制到对应的某个子信道的载波信号上,使同时传输的多路信号在整个物理信道带宽的允许<br>范围内频谱不重叠,从而共用一个信道
<font color="#f44336">时分</font>多路复用(TDM)
时分多路复用(Time-Division Multiplexing,TDM):将通信信道的传输信号划分为多个等长的时隙,<br>每路信号占用不同的<font color="#f44336">时隙</font>。使多路信号合用单一的通信信道在时域上不重叠,从而实现信道共享
按照<font color="#f44336">固定</font>顺序把时隙分配给各路信号
<font color="#f44336">同步</font>时分多路复用(Synchronism Time-Division Multiplexing , STDM)
时隙和用户间没有固定的对应关系
<font color="#f44336">异步</font>时分多路复用(Asynchronism Time-Division Multiplexing , ATDM)
<font color="#f44336">统计</font>时分多路复用(Statistic Time-Division Multiplexing , STDM)
<font color="#f44336">波分</font>多路复用(WDM)
波分多路复用( Wave Division Multiplexing , WDM):广泛用于光纤通信。在<font color="#f44336">光纤通信中</font>,光载波频率很高,通常用光的波长来代替频率讨论,所以叫做波分多路复用。在光纤通信中,为了实现长距离的高速传输,通常采用<font color="#f44336">波分多路复用</font>和<font color="#f44336">光纤放大器</font>
<font color="#f44336">码</font>分多路复用(CDM )
码分多路复用(Code Division Multiplexing, CDM):通过利用相互正交的码组分别编码各路原始信息的每个码元,使得编码后的信号在同一信道中混合传输。是一种<font color="#f44336">扩频</font>的通信形式
相互正交:码组1:{1,0,1}
码组2:{0,1,0}
1×0+0×1+1×0=0
<font color="#f44336">随机访问</font>MAC协议:所有用户都可以根据自己的意愿随机地向信道上发送信息
没有其他用户:发送成功。<br>有两个及以上用户:产生冲突或碰撞,用户发送信息失败。每个用户随机退让一段时间后,再次尝试,直至成功
ALOHA协议(<font color="#ffeb3b">只说不听</font>):<font color="#f44336">最早的,最基本</font>的无线数据通信协议
纯ALOHA
工作原理:任何一个站点有数据发送时就可以<font color="#f44336">直接</font>发送至信道
发送数据后对信道<font color="#f44336">进行侦听</font>: <br>如果收到<font color="#f44336">应答信号</font>,说明发送成功; <br>否则说明发生冲突,等待一个随机时间重新发送,直到成功为止
性能:<br> G网络负载:表示在一帧的发送时间内发送的平均帧数。<br> S吞吐量:在一帧的发送时间内成功发送的平均帧数。<br> 网络负载<font color="#f44336">不能大于0.5</font>
时隙ALOHA
工作原理:把信道时间划分为离散的时隙,每个时隙为发送一帧所需的时间,每个通信站点只<br>能在每个时隙开始的时刻发送帧。如果在一个时隙内发送帧出现冲突,下一个时隙以概率p重<br>发该帧,直到帧发送成功。p不能为1,否则会出现死锁
性能:<br> G网络负载:表示在一帧的发送时间内发送的平均帧数。<br> S吞吐量:在一帧的发送时间内成功发送的平均帧数。<br> 网络负载<font color="#f44336">不能大于1</font>
<font color="#f44336">载波监听</font>多路访问协议(Carrier Sense Multiple Access , CSMA)(<font color="#ffeb3b">先听后说</font>)
工作原理:通过硬件装置(载波监听装置),在通信站发送数据之前,先监听信道上其他站点是否在发送数据,如果在发送,则暂时不发送
根据监听策略不同,分类
非坚持CSMA
1-坚持CSMA
P-坚持CSMA
带冲突检测的载波监听多路访问协议<br>(Carrier Sense Multiple Access/Collision Detection , CSMA/CD)(<font color="#ffeb3b">先听后说,边听边说</font>)
工作原理:通信站使用CSMA协议进行数据发送,在<font color="#f44336">发送期间</font>如果能检测到碰撞,立即<font color="#f44336">终止发送</font>,并发出一个<font color="#f44336">冲突强化信号</font>,使所有通信站点都知道冲突的发生。发出冲突强化信号后,等待一个随机时间,再重复上述过程
CSMA/CD的工作状态分为:<font color="#f44336">传输</font>周期、<font color="#f44336">竞争</font>周期、<font color="#f44336">空闲</font>周期<br>信道有3种状态:传输状态、竞争状态、空闲状态。
使用CSMA/CD协议实现多路访问时,通过共享信道通信的两个通信站之间相距的最远距离D,<br>信号的传播速度V,数据帧长度L,以及信道信息传输速率R之间满足以下约束:
发送延迟=2*传播延迟
<font color="#f44336">受控接入</font>MAC协议:各个用户不能随意的接入信道而必须服从一定的控制
集中式控制:系统有一个主机负责调度其他通信站接入信道,从而避免冲突
方法:轮询。(1、轮叫轮询;2、传递轮询)
分散式控制:方法是令牌技术
令牌环的操作过程:<br>1、网络空闲时,只有一个令牌在环路上绕行。<br>2、当一个站点要发送数据时,必须等待并获得一个令牌,将令牌的标志位置为“1”,随后便可发送数据。<br>(空令牌:标志位置为“0”。被占用:标志位置为“1” )<br>3、环路中的每个站点边转发数据,边检查数据帧中的目的地址,若为本站点的地址,便读取其中所携带的数据。<br>4、数据帧绕环一周返回时,发送站将其从环路上撤销,即“自生自灭”。<br>5、发送站点完成数据发送后,重新产生一个令牌传至下一个站点,以使其他站点获得发送数据帧的许可权<br>
<font color="#f44336">令牌丢失</font>和<font color="#f44336">数据帧无法撤销</font>是环网上最严重的两种错误
第四节 局域网
局域网(LAN):采取<font color="#f44336">广播</font>的方式,局部区域网络,覆盖面积小,网络传输速率高,传输的误码率低
为了使数据链路层能更好地适应多种局域网标准,IEEE 802委员会将局域网的数据链路层拆分为两个子层:(<font color="#f44336">逻辑链路控制(LLC)</font>)子层和<font color="#f44336">介质访问控制MAC</font>子层
数据链路层寻址与ARP
MAC地址(物理地址、局域网地址):MAC地址具有唯一性,每个<font color="#f44336">网络适配器</font>对应一个MAC地址
MAC地址空间的分配:由电气和电子工程师协会(IEEE)统一管理。IEEE分配<font color="#f44336">前24位</font>的MAC地址块
MAC地址表示
以太网和IEEE 802.11无线局域网,使用的MAC地址长度为<font color="#f44336">6字节(48位)</font>
通常采用十六进制表示法,每个字节表示一个十六进制数,用 - 或:连接起来
例如:00-2A-E1-76-8C-39 或 00:2A:E1:76:8C:39
MAC广播地址:FF-FF-FF-FF-FF-FF
地址解析协议( Address Resolution Protocol , ARP):根据本网内目的主机或默认网关的IP地址获取其MAC地址
地址解析协议的基本思想:在每一台主机中设置<font color="#f44336">专用内存区域</font>,称为ARP高速缓存(也称ARP表)。<br>存储该主机所在局域网中其他主机和路由器的<font color="#f44336">IP地址与MAC地址</font>的<font color="#f44336">映射关系</font>。
ARP查询分组:通过一个<font color="#f44336">广播帧</font>发送的
ARP响应分组:通过一个<font color="#f44336">单播帧</font>发送的
ARP是即插即用的:一个ARP表是自动建立的,不需要系统管理员来配置
根据本网内目的主机或默认网关的IP地址获取其MAC地址的是(<font color="#f44336">地址解析</font>)协议。1910考题
ARP协议:<font color="#f44336">IP地址</font>到<font color="#f44336">MAC地址</font>的映射
以太网
以太网( ethernet ,IEEE802.3) :目前为止最流行的<font color="#f44336">有线局域网</font>技术
以太网成功的原因:(物美价廉)
1、以太网<font color="#f44336">第一个</font>广泛部署的高速局域网。<br>2、以太网<font color="#f44336">数据速率</font>快。<br>3、以太网硬件价格极其<font color="#f44336">便宜</font>,网络造价<font color="#f44336">成本低</font>。<br>4、其他有线局域网技术复杂、昂贵,阻止了网络管理员改用其他技术。
经典的以太网是采用<font color="#f44336">粗同轴电缆</font>连接的总线型以太网(10Base-5)
1、数据传输速率为10Mbit/s,无连接不可靠。<br>2、MAC协议采用<font color="#f44336">CSMA/CD</font>协议。<br>3、相距最远主机信号往返的传播时延为51.2μs,所以以太网最短帧长为<font color="#f44336">64字节</font>。
1μs(微秒)=1×10-6s<br>1s=1×106μs
了解(10Base-5):10代表传输速度为10Mbps,BASE指的是传输信号为基带信号,5指的是单段大致的传输距离、使用单段最大传输距离为500米电阻为50Ω的粗缆,最多可以通过中继器/集线器连接5个网段,10BASE5的单段最大传输距离不会超过500米,最长距离可达2500米。
以太网帧结构
1、目的地址和源地址:<font color="#f44336">MAC地址</font><br>2、类型:标识上层协议。<br>3、数据:封装的上层协议的分组<br>4、CRC:校验采用循环冗余校验。<br>5、以太网最短帧(非常重要)<br> <font color="#f44336">以太网帧最短:64字节</font>。以太网帧除数据部分:<font color="#f44336">18字节</font>。<br> 那么数据最短:46字节。
以太网帧中的<font color="#f44336">数据字段</font>最少要(C )字节。<font color="#4caf50">1904考题</font> A:128 B:64 C:46 D:512
以太网帧技术
交换机
交换机:应用<font color="#f44336">最广泛的数据链路层设备</font>
集线器:物理层
网桥:和交换机功能类似。<font color="#f44336">对数据帧实现转发</font>。 交换机可以认为是多端口的网桥。
以太网交换机<font color="#f44336">转发</font>和<font color="#f44336">过滤</font>
交换机的<font color="#f44336">基本工作原理</font>
当一帧到达时,交换机首先需要决策将该帧丢弃还是转发。如果是转发的话,还必须进一步决策应该将该帧转发到哪个(或哪些)端口去。决策依据是,以目的MAC为主键查询内部转发表
以太网交换机的自学习
1、以太网交换机有4个端口,各连接一台计算机,其MAC地址分别是ABCD。
2、开始,以太网交换机里面的转发表是空白的。
3、风向火发送一个帧,从端口1进入交换机。
4、交换机查询转发表,没找到往哪里转发该帧。
5、交换机把这个帧的源MAC地址A和端口1写入交换表,完成第一次学习。
6、交换机除端口1以外所有端口泛洪(广播)这个帧。
7、雷和电丢弃该帧。火收下该帧。
以太网交换机的优点<font color="#4caf50">【选择、简答题】</font>
1、消除<font color="#f44336">冲突</font><br>2、支持<font color="#f44336">异质</font>链路 <br>3、网络<font color="#f44336">管理</font>
冲突域:早期所有主机共享总线的一个网络范围。现在在以太网中,CSMA/CD能够检测到冲突的网络范围
虚拟局域网 (Virtual Local Area Network , VLAN)
一种基于交换机的<font color="#f44336">逻辑分割</font>广播域的局域网应用形式
以软件的方式划分和管理局域网中的工作组,限制接收广播信息的主机数,不会因为传播过多的广播信息而引起性能的恶化
划分虚拟局域网的方法
1、基于<font color="#f44336">交换机端口</font>划分<br>2、基于<font color="#f44336">MAC地址</font>划分<br>3、基于<font color="#f44336">上层协议类型或地址</font>划分
第五节 点对点链路协议
点对点协议(Point to Point Protocol , PPP):适合<font color="#f44336">单个</font>发送方和<font color="#f44336">单个</font>接收方的点对点链路
PPP主要提供3类功能
成帧:确定一帧的开始和结束,支持差错检测
开始标志字节:01111110<br>结束标志字节:01111110
链路控制协议(Link Control Protocol , LCP)
启动线路、检测线路、协商参数、关闭线路
网络控制协议(Network Control Protocol , NCP)
协商网络层选项
PPP是面向字节的
1、PPP帧的长度都是整数字节
2、字节填充技术:插入特殊的控制转义字节01111101
开始标志字节:01111110<br>结束标志字节:01111110<br>如果数据根标志字节一样了,则插入特殊控制转义字节,说明它不是结束标志
高级数据链路控制(High-level Data Link Control , HDLC):应用于<font color="#f44336">点对点</font>链路和<font color="#f44336">点对多点</font>链路
HDLC帧格式(6字节)
1、01111110:帧定界符。
2、控制字段:序列号、确认等。
3、校验和:循环冗余码。
根据<font color="#f44336">控制位</font>的不同,HDLC有3种类型的帧:<br> 信息帧(I格式 Information):传送数据<br> 管理帧(S格式 Supervisory):差错控制,流量控制<br> 无序号帧(U格式 Unnumbered):链路的建立、拆除
HDLC协议是面向位的
填充技术:位填充技术。遇5个1则插入1个0
第六章 物理层
第一节 数据通信基础<br>
数据通信基本概念
消息与信息<font color="#4caf50">(选择)</font>
消息:人类能够感知的描述。 例如:眼睛看到的文字和图像;耳朵听到声音;鼻子闻到气味等。
信息:消息中所包含的<font color="#f44336">有意义</font>的内容。
通信<font color="#4caf50">(选择)</font>
通信:在一点精确或近似地<font color="#f44336">再生</font>另一点的信息。
通信系统:能够实现通信功能的各种技术、设备和方法的<font color="#f44336">总体</font>
信号<font color="#4caf50">(选择)</font>
信号:在通信系统中,信息在传输通道中传播的载体
信道<font color="#4caf50">(选择)</font>
狭义信道:仅是指信号的传输介质
广义信道:不仅是传输介质,而且包括通信系统中的一些<font color="#f44336">转化装置</font>
数据通信系统模型
数据通信系统的构成
1、<font color="#f44336">信源</font>:将消息转换为信号的设备。<br>2、发送设备:将信源产生的信号进行适当变换的装置。<br>3、信道:传输信号的媒介。<br>4、接收设备:完成发送设备的反变换,即进行译码和解调。<br>5、<font color="#f44336">信宿</font>:信号的终点,将信号转换为供人们识别的消息。<br>6、噪声源:自然界和通信设备所固有的,对通信信号产生干扰和影响的各种信号
模拟通信和数字通信
自变量<br>因变量<br>离散:可列举<br>连续:不可列举
模拟信号
自变量:可以连续的,可以离散的<br>因变量:<font color="#f44336">一定连续的</font>
数字信号
自变量:离散的<br>因变量:离散的
数据通信方式
数据传输方向
单向通信
无线电广播
双向交替通信(半双工)
无线对讲机系统
双向同时通信(全双工)
电话网
计算机网络
数据传输时空顺序
并行通信
串行通信
数据同步技术:通信系统中实现收发两端动作统一,保持收发步调一致的过程
异步通信:发送<font color="#f44336">字符</font>,<font color="#f44336">不需建立同步时钟</font>,实现简单,适用<font color="#f44336">低速</font>网络
同步通信:发送<font color="#f44336">数据块</font>,双方建立同步时钟,实现复杂,适用<font color="#f44336">高速</font>网络
第二节 物理介质
导引型传输介质
<font color="#f44336">有线</font>信道
以导线为传输介质,信号沿导线进行传输,信号的能量集中在导线附近,传输效率高,部署不灵活。
导引型传输介质
架空明线
优点:传输损耗较低
缺点:易受天气和外界电磁干扰。
对外界噪声敏感。
带宽有限。
双绞线
两根相互绝缘的铜线并排绞合在一起
分类
屏蔽双绞线( STP ):性能好。价格高,安装工艺复杂
非屏蔽双绞线(UTP):使用更普遍
美国电子工业协会(EIA)规定了5个种类的非屏蔽双绞线(UTP)标准
同轴电缆
由同轴的两个导体构成,外导体和内导体
对外界干扰具有较好的屏蔽作用,具有较好的抗电磁干扰性能。目前多用于有线<font color="#f44336">电视</font>网络
光纤
基本原理是利用了光的全反射现象
分类,按照光纤内光波传输模式的不同
单模光纤
多模光纤
优点:
光纤通信容量非常大,最高可达100 Gbit/s。
传输损耗小,对远距离传输特别经济。
抗雷电和电磁干扰性能好。
无串音干扰,保密性好,也不易被窃听或截取数据。
体积小,重量轻
非导引型传输介质
<font color="#f44336">无线</font>信道<br>
电磁波在自由空间的传播
根据电磁波频率、通信距离与位置的不同,电磁波的传播可以分为
第三节 信道与信道容量
信道分类与模型
通信系统中连接发送端与接收端的通信设备,实现从发送端到接收端的信号传送
分为广义信道和狭义信道
狭义信道:信号传输介质。
广义信道:包括信号传输介质和通信系统的一些变换装置
编码信道:数字信号由编码器<font color="#f44336">输出端</font>传输到译码器<font color="#f44336">输入端</font>经过的部分
调制信道:从调制器的<font color="#f44336">输出端</font>传输到解调器的<font color="#f44336">输入端</font>经过的部分
在广义信道中,编码信道不包括( 编码器 )
信道传输特性
不同类型的信道对信号的影响差异较大
随机参数信道(随参信道):信号通过信道发生畸变是<font color="#f44336">时变的</font>。
随参信道传输<font color="#f44336">特性</font>:大部分无线信道(依靠地波和天波传播的无线电信道)
1、信号的传输衰减随时间<font color="#f44336">随机</font>变化<br>2、信号的传输时延随时间<font color="#f44336">随机</font>变化<br>3、存在<font color="#f44336">多径</font>传播现象
恒定参数信道(恒参信道):信号通过信道发生畸变是<font color="#f44336">恒定的</font>。
恒参信道传输特性:各种有线信道和部分无线信道(<font color="#f44336">微波视线</font>传播链路)
1、对信号幅值产生<font color="#f44336">固定的</font>衰减 <br>2、对信号输出产生<font color="#f44336">固定的</font>时延
信道容量:信道无差错传输信息的<font color="#f44336">最大平均信息速率</font>。衡量信道的传输能力
1、信道的带宽是指能够有效通过该信道的信号的<font color="#f44336">最大频带宽度</font><br> 用码元速率(或符号速率)描述,单位是Baud<br>2、传输速率是信道<font color="#f44336">单位时间</font>内传输的码元(或符号)或信息的能力<br> 用传信率(或信息速率)来描述,单位是bit/s
一般情况下,经常用(信道容量)来描述或衡量信道的传输能力
连续信道容量(调制信道)
奈奎斯特<font color="#f44336">理想的</font>,<font color="#f44336">无噪声</font>的信道容量
奈奎斯特公式表征的是通信信道的(数据传输能力 )
利用带宽为4000Hz的无噪声信道传输二进制基带信号,其最大的数据传输速率可达到(8000bps)
香农<font color="#f44336">有噪声</font>连续信道容量
第四节 基带传输
基带传输基本概念
<font color="#f44336">基带信号</font>:信源发出的没有经过调制的原始信号。<br>基带传输:直接在信道传送基带信号。<br>数字基带传输:在信道中传输数字基带信号
数字基带传输编码
数字基带传输编码
将数据映射为<font color="#f44336">脉冲信号</font>的信号码
概念
单极和双极
脉冲幅值要么是正电平,要么是零电平,只有一个极性。 “单极”
归零和不归零
在脉冲持续时间呢,电平保持不变,且脉冲持续期结束时不必回归0电平。“不归零”<br>每个脉冲持续期的<font color="#f44336">中间时刻</font>,电平要回到零电平。 “归零”
绝对码
单极不归零码(Not Return to Zero , NRZ)
数字0:零电平表示。<br>数字1:正电平表示。<br>
例如:1100100111
双极不归零码
数字0:负电平表示。<br>数字1:正电平表示。
例如:1100100111
单极归零码(Return to Zero , RZ)
数字0:零电平表示<br>数字1:正电平表示。且脉冲持续时间中间时刻回归到零电平
双极归零码
数字0:负电平表示。且脉冲持续时间中间时刻回归到零电平。<br>数字1:正电平表示。且脉冲持续时间中间时刻回归到零电平
相对码
差分码
利用电平的跳变与否来表示信息<br>数字0:相邻电平无跳变<br>数字1:相邻电平有跳变
例如:1100100111(默认初始为零电平)
将数字基带信号的基本码型变换为<font color="#f44336">适合传输</font>的数字传输基带传输码
AMI码
信号交替反转码(Alternative Mark Inversion , AMI码)
用<font color="#f44336">3种电平</font>(正电平、负电平、零电平)进行编码<br>0:零电平表示<br>1:交替用正电平和负电平表示,且在脉冲持续的中间时刻回归零电平
例如:100001000011000011
双相码
双相码(Biphase Code),又叫<font color="#f44336">曼彻斯特</font>(Manchester)码
只有正负电平,脉冲持续时间的中间时刻都要进行电平跳变。<br>数字1:一个脉冲时间内,从正电平跳到负电平(1:正负)<br>数字0:一个脉冲时间内,从负电平跳到正电平(0:负正)
例如:1100101101
双相码(Biphase Code)的一种码型:<font color="#f44336">差分双相码</font>(<font color="#f44336">差分</font>曼彻斯特码)
1:相邻电平有跳变<br>0:相邻电平无跳变
例如: 1100101101(默认初始为零电平)
米勒码
米勒码(Miller Code):<font color="#f44336">延迟</font>调制码
1:正负或负正。 <br>11:交替编码。<br>0:延续前面1的电平,正或负。脉冲期间不跳变。<br>00:前面正,后面负;前面负,后面正。<br>0后的1:延续0的电平,正负或负正
CMI码
传号反转码(Coded Mark Inversion,CMI码)
数字1:正、负,交替编码<br>数字0:一个脉冲时间内从负电平到正电平
例如:1100101101
第五节 频带传输
频带传输基本概念
<font color="#f44336">基带信号</font>,具有低通特性,可以用在低通特性的信道(有线信道)中进行传输。<br><font color="#f44336">无线信道</font>,是带通特性。因此只能利用基带信号去调制与对应信道传输特性相匹配的载波信号。<br><font color="#f44336">数字调制</font>:利用数字基带信号控制载波信号的特征参量,使载波信号的这些参量的变化反映数字基带信号的信息,进而将数字基带信号变换为数字通带信号的过程。<br><font color="#f44336">数字解调</font>:在接收数据端需要将调制到载波信号中的数字基带信号卸载下来,还原为数字基带信号的过程。<br><font color="#f44336">数字频带传输系统</font>:实现<font color="#f44336">调制、传输与解调</font>的传输系统。
数字调制系统基本结构
数字<font color="#f44336">调制</font>的基本方法
利用数字基带信号控制载波信号的某个(或某些)参数的变化。(利用0或1控制载波的幅值、频率或相位。)
<font color="#f44336">幅</font>移键控(ASK):调制载波的<font color="#f44336">幅值</font><br><font color="#f44336">频</font>移键控(FSK):调制载波的<font color="#f44336">频率</font><br><font color="#f44336">相</font>移键控(PSK):调制载波的<font color="#f44336">相位</font>
频带传输中三种调制方式
<font color="#f44336">二进制</font>数字调制:<font color="#f44336">数字通信系统</font>频带传输的<font color="#f44336">基本方式</font>
二进制<font color="#f44336">幅</font>移键控(2<font color="#f44336">A</font>SK)
<font color="#ffeb3b">助记:福啊</font>
利用二进制基带信号控制载波信号的<font color="#f44336">幅值</font>变化
编码信息为0时:调制后为一段幅值为0的载波信号。
基带编码 编码信息为1时:调制后为一段幅值为A的载波信号。
二进制比特序列11001001的二进制幅移键控调制信号波形
二进制<font color="#f44336">频</font>移键控(2<font color="#f44336">F</font>SK)
<font color="#ffeb3b">助记:频发</font>
利用二进制基带信号控制载波信号的<font color="#f44336">频率</font>变化
编码信息为0时:调制后为一段频率为f1的载波信号。
基带编码 编码信息为1时:调制后为一段频率为f2的载波信号。
二进制比特序列11001001的二进制频移键控调制波形
二进制<font color="#f44336">相</font>移键控(2<font color="#f44336">P</font>SK)
<font color="#ffeb3b">助记:相皮</font>
利用二进制基带信号控制载波信号的<font color="#f44336">相位</font>变化
编码信息为0时:调制后为一段相位为φ1的载波信号。
基带编码 编码信息为1时:调制后为一段相位为φ2的载波信号
二进制比特序列11001001二进制相移键控调制信号波形
二进制<font color="#f44336">差分相移</font>键控(2DPSK)
利用相邻两个码元载波间的相对相位变化表示数字基带信号的数字信息
二进制比特序列11001001二进制<font color="#f44336">差分相移</font>键控调制信号波形
总结
二进制数字调制性能
频带利用率:频移键控最低。
误码率:相移键控误码率最低;幅移键控误码率最高。
对信道特性的敏感性:幅移键控最敏感。
<font color="#f44336">多进制</font>数字调制
码元:一个固定时长的信号波形<br> 一个脉冲时间(二进制码元):2^1=2<br> 两个脉冲时间(四进制码元):2^2=4<br> 三个脉冲时间(八进制码元):2^3=8
数据传输速率<span class="equation-text" data-index="0" data-equation="R_b" contenteditable="false"><span></span><span></span></span> (bit/s) 与码元传输速率<span class="equation-text" data-index="1" data-equation="R_B" contenteditable="false"><span></span><span></span></span> (Baud) 以及进制数M之间的关系为: <span class="equation-text" contenteditable="false" data-index="2" data-equation="R_b=R_Blog_2M"><span></span><span></span></span>
M: 进制数
<font color="#f44336">正交幅值</font>调制<font color="#f44336">QAM</font>(幅值相位联合键控(APK))
基本思想是:二维调制技术,对载波信号的<font color="#f44336">幅值</font>和<font color="#f44336">相位同时进行</font>调制的联合调制技术。
优点:频带利用率高;抗噪声能力强;调制解调系统简单;
第六节 物理层接口规程
物理层接口概述
物理层主要任务
1、在传输介质上实现<font color="#f44336">无结构比特流</font>的传输。<br>2、规定数据终端设备(<font color="#f44336">DTE</font>)和数据通信设备(<font color="#f44336">DCE</font>)之间接口的相关特性。<br> DTE :Data Terminal Equipment <br> DCE: Data Communication Equipment
物理层接口特性
机械特性:指明通信实体间<font color="#f44336">硬件连接口</font>的<font color="#f44336">机械</font>特点
例如:常用的电源插头的尺寸
电气特性:规定了物理连接上,导线的电气连接及有关电路<font color="#f44336">特性</font>
例如:信号的电平
功能特性:指明物理接口各条信号线的<font color="#f44336">用途</font>等
例如:数据信号线、控制信号线
规程特性:通信协议,指明利用接口传输比特流的<font color="#f44336">全过程</font>
例如:事件执行顺序
第七章 无线与移动网络
第一节 无线网络
无线网络基本结构
1、无线主机
2、无线链路
3、基站(base station):
蜂窝网络中的蜂窝塔(cell tower)
IEEE 802.11无线局域网中的接入点(Access Point , AP)
4、网络基础设施
无线网络模式
1、基础设施模式:无线主机与<font color="#f44336">基站关联</font>。<br>2、自组织网络(Ad Hoc Network)、特定网络、Ad Hoc网络:无线主机<font color="#f44336">不通过基站</font>,直接与另一个无线主机直接通信<br> 自组织网络:由一组用户群构成,不需要基站、没有固定的路由器的移动通信模式。自组织网络中的每个结点都兼有<font color="#f44336">路由器和主机</font>两种功能。
无线链路与无线网络特性
无线链路的特点<br>
1、信号强度的衰减:路径损耗<br>2、干扰<br>3、多径传播
隐藏站现象
1、站点A、C都向站点B发送数据;
2、站点A、C之间有物理阻挡,双方都无法检测出对方发送的信号。
3、站点A、C都向站点B发送数据时,发生碰撞,站点B无法正确接收任何一方的数据。
第二节 移动网络
移动网络基本原理
移动网络的术语
1、移动结点的永久居所:归属网络,家网。
2、在归属网络中代表移动结点执行移动管理功能的实体:归属代理 ,家代理。
3、移动结点当前所在非归属网络:外部网络,被访网络。
4、在外部网络中帮助移动结点做移动管理功能的实体:外部代理。
5、通信者:与该移动结点通信的实体
寻址
移动寻址:当移动结点位于一个外部网络时,所有指向此结点永久地址的流量需要导向外部网络
解决方案<br>
方法一:外部网络通过向所有其他网络发通告,告诉它们该移动结点正在它的网络中。(不适合用于大规模网络)
方法二:将移动性功能从网络核心搬到网络边缘,由该移动结点的归属网络来实现。(<font color="#f44336">实际上移动网络采取的做法</font>)
1、将外部代理放置在外部网络的边缘路由器上。外部代理为移动结点创造一个转交地址(Care-Of Address , COA)
2、移动结点与永久地址和转交地址都相连。
3、外部代理告诉归属代理该移动结点的转交地址
移动结点的路由选择
数据报寻址并转发的方法
间接路由选择
移动结点的<font color="#f44336">间接</font>路由选择:通信者将数据报寻址到移动结点的永久地址
网络层新功能:<br> 1、移动结点到外部代理的协议:注册,取消。<br> 2、外部代理到归属代理的注册协议:外部代理告诉归属代理COA。<br> 3、归属代理数据报封装协议:归属代理封装原始数据报,转发。<br> 4、外部代理拆封协议:从封装好的数据报中提取原始数据报,转发。
三角路由选择问题:通信者和移动结点之间存在一条更有效的路由,发往移动结点的数据报也要先发给归属代理,然后在发送到被访网络
直接路由选择
通信者所在网络中的<font color="#f44336">通信者代理</font>先获取移动结点的COA。通信者代理将数据报发往移动结点的COA
引入的两个问题
1、需要一个移动用户定位协议,以便通信者代理向归属代理查询获得移动结点的COA
2、归属代理仅在会话开始时被通信者代理询问一次COA。
在实际移动网络采取的寻址方式中,一个移动结点可与两个地址相关联,即( 永久地址 )和 COA
第三节 无线局域网 IEEE 802.11
IEEE 802家族
IEEE 802家族由一系列局域网(LAN)技术规范所组成。
1、IEEE 802.11发表于1997年,是原始标准。支持速率:2Mbit/s,2.4GHz
IEEE 802家族由一系列局域网(LAN)技术规范所组成
共同点:
1、都使用相同的介质访问控制协议CSMA/CA(冲突避免)
(Carrier Sense Multiple Access with Collision Avoidance)
2、链路层帧使用相同的帧格式。
3、都具有降低传输速率以传输更远距离的能力。
4、都支持“基础设施模式”和“自组织模式”两种模式
IEEE 802.11体系结构
IEEE 802.11体系结构的基本构件:
1、基站:接入点(Access Point , AP)
2、基本服务集(Basic Service Set , BSS)
BSS包含:一个接入点,一个或多个无线站点
AP发现:(无线主机怎么找到AP)<br>(1)被动扫描:无线主机扫描信道和监听<font color="#f44336">信标帧</font>。<br>(2)主动扫描:无线主机向其范围内的所有AP广播<font color="#f44336">探测帧</font>。
IEEE 802.11的MAC协议
IEEE 802.11的MAC协议采用<font color="#f44336">CSMA/CA</font>协议。 Carrier Sense Multiple Access with Collision Avoidance 带碰撞避免的载波监听多路访问协议。<br>
通过请求发送(RTS)帧和允许发送(CTS)帧的交换,实现信道预约占用,避免数据帧传输过程中冲突。
源站发送数据:先监听,若空闲,等待一个分布式帧间间隔(Distributed Inter-Frame Space , DIFS)的短时间后,发送一个很短的请求发送(Request To Send , RTS)控制帧。
RTS控制帧:源地址,目的地址,本次通信所需的持续时间。
目的站正确收到源站发来的RTS帧:物理介质空闲,等待一个短帧间间隔(Short Inter-Frame Spacing , SIFS )时间后,发送一个很短的允许发送(Clear To Send , CTS)控制帧作为响应。
CTS控制帧:本次通信持续时间等
其他站点:监听到两者要通信,其他站点在其持续通信时间内不会发送。其他站根据监听到的RTS或CTS帧中的持续时间来确定数据帧传输的时间
源站收到CTS帧:等待一段时间后,发送数据帧,若目的站正确收到了数据帧,在等待时间后,就向源站发送确认帧(ACK)
IEEE 802.11帧
IEEE 802.11帧总共有3种类型:
控制帧:提高工作站数据传输的可靠性。
数据帧:运输想要发送的数据。
管理帧:加入网络,退出网络的管理事宜。
IEEE 802.11数据帧结构
1、MAC首部:共30字节。<br>2、帧主体:帧的数据部分,不超过2312字节。<br>3、尾部:帧检验序列FCS,共4字节。
持续期:IEEE 802.11的MAC协允许传输结点预约信道一段时间,持续值被包括在该帧的持续期字段中。
序号控制:在IEEE 802.11网络中,站点正确收到其他站点的帧后,都会发一个确认帧。确认帧可能丢失,发送站点会发送一个帧的多个副本,使用序号可以区分新传输的帧和以前帧的重传。
帧控制:包含多个子字段。
类型和子类型字段:用于区分RTS帧、CTS帧、ACK帧和数据帧。
1904 若某个IEEE802.11数据帧的帧控制字段中的“去往AP”、“来自AP”的值为1、0,则该帧中的地址1、地址2、地址3分别是()
第四节 蜂窝网络
蜂窝网络体系结构
小区(Cell):蜂窝网覆盖的区域分成的六边形的区域
收发基站(Base Transceiver Station , BTS):负责小区内的移动站点发送或接收信号。
基站控制器(Base Station Controller , BSC ):服务于收发基站,为用户分配收发基站无线信道、执行寻呼, 执行移动用户的切换。
移动交换中心(Mobile Switching Center , MSC):在用户鉴别和账户管理以及呼叫建立和切换中起决定性作用。
蜂窝网络中的移动性管理
<font color="#f44336">间接路由选择方法管理移动性</font>。<br>1、归属网络维护一个归属位置注册器(Home Location Register , HLR)的数据库:每个用户的永久蜂窝电话号码,用户个人信息,用户<br> 当前的位置信息。<br>2、被访网络维护一个访问位置注册器(Visitor Location Register , VLR)的数据库:为每一位当前在其服务网络的移动用户提供一个表项
<font color="#f44336">通信过程</font><br>第1步:通信者拨打移动用户的电话号码。<br>第2步:归属移动交换中心收到该呼叫,查询归属位置注册器来确定移动用户的位置。确定移动用户的漫游号码。<br>第3步:漫游号码确定后,归属移动交换中心通过网络呼叫被访网络的移动交换中心,被访网络的移动交换中心呼叫移动用户<br>
移动通信2G/3G/4G/5G网络
第一代蜂窝移动通信(1G, generation):淘汰
第二代蜂窝移动通信(2G):<br> 1、<font color="#f44336">GSM系统</font>是第二代移动电话系统的开端。<br> 2、GSM业务可以分为承载业务、电信业务、附加业务三大类。<br> 3、GSM系统采用的是FDMA和TDMA混合接入的方式。<br>
第三代移动通信系统(3G):<br>1、国际<font color="#f44336">电信</font>联盟(ITU)提出并研究。WCDMA、CDMA2000、<font color="#f44336">TD-SCDMA</font>三大技术标准。<br>2、3G采用CDMA。<br>3、关键技术:无线传输技术
4G/LTE
1、长期演进(Long Term Evolution,LTE)标准化项目
2、4G特点:高速率传输,智能化,业务多样化,无缝接入,后向兼容,经济
5G
5G技术目的:构建网络社会。
5G特点:超高速率传输,超高容量、超可靠性、随时随地可接入性。
第五节 移动IP网络
移动IP(Mobile IP):国际互联网工程任务组(The Internet Engineering Task Force,IETF)开发,允许计算机移动到<br>外地时,任然保持其原来的IP地址。
代理发现
1、代理通告:代理周期性的广播一个ICMP报文<br>2、代理请求:移动结点广播一个ICMP报文。
向归属代理注册
移动 IP 定义了外部代理向一个移动结点的归属代理注册或注销COA所使用的协议
步骤:
1、移动结点向外部代理发送一个移动IP注册报文。
2、外部代理收到注册报文并记录移动结点的永久IP地址,分配一个COA。
3、外部代理把注册请求发送给归属代理,归属代理检查真实性和正确性。
4、外部代理接收注册应答。
第六节 其他典型无线网络简介
WiMax
全球微波互联接入(World Interoperability for Microwave Access , WiMax)
Wi Max优势:更远的传输距离;更高速的宽带接入。
Wi Max劣势:
不能支持用户在移动过程中无缝切换
产业基础薄弱
和传统的蜂窝网络无法完全兼容
蓝牙
1、IEEE 802.15.1标准。<br> 无线个人区局域网(Wireless Personal Area Network , WPAN)标准。<br>2、工作在全球通用的2.4GHz的频段。 <br>3、特点:<font color="#f44336">小范围,低功率、低速率和低成本运行</font>。 (<font color="#ffeb3b">一小三低</font>)
下列IEEE802标准中被称为蓝牙网络标准的是( B )2008、1904考题 A:IEEE802.11 B:IEEE802.15.1 C:IEEE802.16 D:IEEE802.15.4
ZigBee
1、 IEEE 802.15.4标准<br>2、<font color="#f44336">第二个个人区域网络标准</font>。<br>2、<font color="#f44336">低功率、低数据速率、低工作周期</font>。
第八章 网络安全基础
第一节 网络安全概述<br>
基本概念
网络安全通信的基本属性
1、机密性:只有发送方和接收方能理解报文内容。<br>2、消息完整性:消息未被篡改,发生篡改一定会被检测到。 <br>3、可访问与可用性:对授权用户提供有效服务。<br>4、身份认证:双方确认彼此的真实身份。
网络安全威胁
典型的网络安全威胁
1、报文传输:传输过程面临窃听、插入、假冒、劫持等安全威胁。
2、拒绝服务DoS(Denial of Service) 、分布式拒绝服务DDoS。
3、映射:先探路,再攻击。
4、分组“嗅探”:Wireshark是一个典型的分组嗅探软件。
5、IP欺骗
第二节 数据加密
通信加密模型
密码分类
传统加密方式
替代密码:凯撒密码
替代密码:凯撒密码 例:对明文“bob,I love you,Alice”,利用k=3的凯撒密码加密,得到的密文是什么?
加密:K=3的含义就是明文的每个字母按照字母表顺序推后3位,密文:“ere,L oryh brx,Dolfh”
换位密码(置换密码)
列置换密码根据一定规则重新排列明文,以便打破明文的结构特性。只改变明文结构,不改变内容。
列置换密码加密过程
列置换密码加密过程:
第一步:确定密钥长度(几个字母),并且确定密钥字母在字母表中的先后顺序,用数字表示。
第二步:将明文按密钥长度分组,每组一行。
第三步:输出顺序确定。看密钥字母顺序,和排列好后的表格对应。
第四步:输出密文。按照数字顺序,按照列输出字母。
例:假设采用密钥K=nice的列置换密码,对明文“bob i love you”进行加密,加密得到的密文是什么?
第一步:确定密钥长度(几个字母),并且确定密钥字母在字母表中的先后顺序,用数字表示。<br>密钥K=nice,则密钥长度n=(4),密钥的字母顺序为( 4,3,1,2 )
第二步:将明文按密钥长度分组,每组一行。 密钥长度:4 明文字母数:11个
第三步:输出顺序确定。看密钥字母顺序,和排列好后的表格对应。 密钥的字母顺序: 4,3,1,2
第四步:输出密文。按照数字顺序,按照列输出字母。 密文:bvu iex ooo bly
现代密码学
对称密钥加密:加密密钥和解密密钥是<font color="#f44336">相同</font>的
对称密钥加密
分组密码(块密码)
DES 加密算法(Data Encryption Standard,数据加密标准)
1、加密:明文分为64位分组,使用56位的密钥,进行16轮加密。<br>2、三重DES:使用两个密钥,执行三次DES算法,密钥长度达到112位。<br>
AES 加密算法(Advanced Encryption Standard,高级加密标准)
密钥长度:<font color="#f44336">128/192/256</font>位
AES加密算法的特点:<br> 1)分组长度和密钥长度<font color="#f44336">均可变</font><br> 2)循环次数允许在一定范围内根据安全要求进行修正<br> 3)安全、效率、易用、灵活<br> 4)抗线性攻击和抗差分攻击的能力大大增强<br> 5)如果1秒暴力破解DES,则需要149万亿年破解AES
IDEA 加密算法(International Data Encryption Algorithm,国际数据加密算法)
流密码(序列密码)
非对称密钥加密(公开密钥加密):加密密钥和解密密钥是<font color="#f44336">不同</font>的
1、通信双方都有两个密钥:<br> 公钥:任何人都可以得到<br> 私钥:只有自己知道<br>2、典型的公开密钥加密算法:<font color="#f44336">Diffie-Hellman</font>算法和<font color="#f44336">RSA</font>算法。<br>3、Diffie-Hellman算法:基于数学中素数原根理论。<br> RSA算法:基于数论设计,安全性建立在<font color="#f44336">大数分解</font>的难度上。应用比较广泛,安全性高。
Alice给Bob写信:<br> 1、Alice用<font color="#f44336">Bob的公钥</font>加密明文,发送。<br> 2、Bob收到密文后,用<font color="#f44336">自己的私钥</font>解密得到明文。<br>假设加密用私钥,解密用公钥可以吗? 没问题!完全可以!但有点大材小用了,这种私钥加密一般用于数字签名<br>
第三节 消息完整性与数字签名
消息完整性检测方法
消息完整性(报文认证)的目标
1、证明报文确实来自声称的发送方;<br>2、验证报文在传输过程中没有被篡改;<br>3、预防报文的<font color="#f44336">时间、顺序</font>被篡改;<br>4、预防报文<font color="#f44336">持有期</font>被篡改;<br>5、预防<font color="#f44336">抵赖</font>。
散列函数
第一种:MD5(Message-Digest Algorithm 5):<font color="#f44336">128位</font>散列值。<br>第二种:SHA-1:<font color="#f44336">160位</font>散列值。SHA-1是典型的用于创建<font color="#f44336">数字签名</font>的单向散列算法
散列函数的特性:<br> 1、散列函数算法公开<br> 2、快速计算<br> 3、对任意长度报文进行散列产生定长输出<br> 4、对于任意报文无法预知其散列值<br> 5、不同报文不产生相同的散列值<br> 6、<font color="#f44336">单向性</font>
报文认证
报文认证:消息的接收者能够检验收到的消息是否是真实的方法
报文认证要完成<font color="#f44336">消息源的认证</font>和<font color="#f44336">消息的认证</font>
报文摘要:对报文m应用散列函数H,得到固定长度的散列码
报文认证的方式
简单报文验证
1、发送方对报文m应用散列函数,得到固定长度的散列码,获得报文摘要h,将扩展报文(m,h)发送给接收方。<br>2、接收方收到扩展报文后,提取出报文m和报文摘要h,同样对报文m应用散列函数H获得新的报文摘要H(m),将H(m)和h比较。<br>3、若相同,报文认证成功。否则报文认证失败。<br>不足:<font color="#f44336">无法达到对消息源认证</font>。
报文认证码MAC(Message Authentication Code)
1、发送方和接收方共享一个认证密钥s,发送方对报文m和认证密钥s应用散列函数H得到报文认证码h,将扩展报文(m,h)发送给接收方。
2、接收方收到扩展报文后,提取出报文m和报文认证码h,对报文m和认证密钥s应用散列函数H获得新的报文认证码H(m+s),将H(m+s)与h比较
3、若相等,则报文认证成功。否则失败。
不足:无法保证消息在接收方没有被篡改。
数字签名
数字签名:在公开密码体制中,一个主体使用自己的<font color="#f44336">私钥加密</font>消息,得到的密文。密文可以使用该主体的<font color="#f44336">公钥解密</font>,恢复成原来的消息。如此生成的“密文”对该消息提供认证服务
数字签名应满足:<br>1、接收方能够确认发送方的签名,但<font color="#f44336">不能伪造</font>。<br>2、发送方发出签名的消息给接收方后,就<font color="#f44336">不能再否认</font>他所签发的消息。<br>3、接收方对已收到的签名消息<font color="#f44336">不能否认</font>,有收报认证。<br>4、第三者可以确认收发双方之间的消息传送,但<font color="#f44336">不能伪造</font>这一过程。
数字签名的方式
简单数字签名
1、Bob利用自己的私钥对报文m加密,创建签名报文。将扩展报文(报文,签名报文)发送给Alice。<br>2、Alice收到扩展报文。利用Bob的公钥解密签名报文,并检验解密后的签名报文和报文m是否一致。<br>3、若一致,则签名m的一定是Bob的私钥。<br>相当于md5(原文)<br>
签名报文摘要
1、Bob对报文m应用散列函数H生成报文摘要H(m),然后Bob通过其私钥对报文摘要进行加密生成加密的报文摘要,将扩展报文(报文,加密的报文摘要)发送给Alice。
2、Alice收到报文m以及加密的报文摘要。Alice利用Bob的公钥解密加密的报文摘要,并对m应用散列函数生成新的报文摘要。
3、如果两者一致,则签名报文m的一定是Bob的私钥。
相当于md5(原文+私钥)
第四节 身份认证
基于<font color="#f44336">共享对称密钥</font>的身份认证
1、Alice向Bob发送报文“我是Alice”
2、Bob选择一个一次性随机数R,然后把这个值发送给Alice
3、Alice使用她与Bob共享的对称秘密密钥加密这个一次性随机数,然后把加密的一次性随机数发回给Bob。
4、Bob解密收到的报文
基于<font color="#f44336">公开密钥</font>的身份认证
1、Alice向Bob发送报文“我是Alice”
2、Bob选择一个一次性随机数R,然后把这个值发送给Alice
3、Alice使用她的私钥来加密R,然后把加密的一次性随机数发回给Bob。
4、Bob向Alice索要她的公钥。
5、Alice向Bob发送自己的公钥。
6、Bob利用Alice的公钥解密收到的报文。
第五节 密钥分发中心与证书认证
密钥分发中心
<font color="#f44336">对称密钥</font>分发的典型解决方案:通信各方建立一个大家都信赖的密钥分发中心(Key Distribution Center , <font color="#f44336">KDC</font>),解决对称密钥安全可靠的分发。
方式一:通信发起方生成会话密钥
1、Alice和Bob进行保密通信。Alice随机选择一个会话秘钥。用Alice和KDC之间长期的共享密钥加密会话秘钥,发送给KDC。
2、KDC得到后,解密获得会话密钥,以及所希望通信方Bob。KDC利用其和Bob的长期共享密钥加密密钥,发送给Bob。
3、Bob解密,获得会话秘钥,并且得知期望和自己通信的是Alice。
方式二:KDC为Alice、Bob生成通信的会话秘钥
1、Alice在希望和Bob通信时,首先向KDC发送请求消息。
2、KDC收到请求消息后,随机选择一个会话秘钥,并将会话秘钥分别用和Alice、Bob的长期共享密钥加密,再分别发送给Alice、Bob。
3、Alice、Bob收到KDC的密文后,分别解密,获得会话秘钥。
证书认证机构
要使公钥密码有效,需要证实你拥有的公钥,实际上就是要与你通信的实体的公钥。<br>将公钥与特定的实体绑定,通常由<font color="#f44336">认证中心</font>(Certification Authority,<font color="#f44336">CA</font>)完成。
认证中心(Certification Authority,CA)的作用
1)CA可以证实一个实体的真实身份。<br>2)一旦CA验证了某个实体的身份,CA会生成一个把其身份和实体的公钥绑定起来的证书,其中<br>包含该实体的公钥及其全局唯一的身份识别信息等,并由CA对证书进行数字签名。
第六节 防火墙与入侵检测系统
防火墙基本概念
防火墙是能够隔离组织内部网络与公共互联网,允许某些分组通过,而阻止其他分组进入或<br>离开内部网络的<font color="#f44336">软件、硬件或者软件硬件结合</font>的一种设施。
防火墙分类
<font color="#f44336">无状态分组</font>过滤器
典型部署在<font color="#f44336">内部网络和网络边缘路由器</font>上的防火墙。路由器逐个检查数据报,根据<font color="#f44336">访问控制表</font>(Access Control Lists ,ACL)实现防火墙规则
<font color="#f44336">有状态分组</font>过滤器
跟踪每个TCP连接建立、拆除,根据状态确定是否允许分组通过
应用网关
应用网关实现<font color="#f44336">授权</font>用户通过网关访问外部网络的服务
入侵监测系统IDS
入侵检测系统(Intrusion Detection System,IDS)是当观察到潜在的恶意流量时,能够产生警告的设备或系统
第七节 网络安全协议(不是很重要,领会即可)
自顶向下介绍各层解决安全性的实例协议
1、安全电子邮件(应用层)
2、安全套接字层SSL(传输层)
3、虚拟专用网VPN和IP安全协议IPSec(网络层)
安全电子邮件(应用层)
电子邮件对网络安全的需求<br>1、机密性<br>2、完整性 <br>3、身份认证性 <br>4、抗抵赖性
安全电子邮件标准:PGP标准(Pretty Good Privacy)<br>PGP提供的服务:<br>1、邮件加密;报文完整性;数字签名;<br>2、加密算法:公钥加密算法(如RSA)<br> 对称加密算法(如3DES)<br> 散列算法(如SHA-1)<br>
安全套接字层SSL(传输层)
1、一般Web服务器越强大,包含安全漏洞的概率越高。
2、Web浏览器也会遇到各种各样的安全威胁。
3、普通Web应用的应用层数据,在传输过程中都已明文形式传输,可能受到攻击。
1、在电子商务背景下,提出HTTP安全电子商务交易协议;<br>2、在传输层之上构件一个安全层:<font color="#f44336">安全套接字层(Secure Socket Layer,SSL)</font>
SSL可以提供的服务:机密性、完整性、身份认证等安全服务。
SSL协议栈(协议的总和):SSL是介于TCP和HTTP等应用层协议之间的一个可选层,大多数应用层协议直接建立在SSL协议之上,SSL是两层协议。
SSL协议栈
<font color="#f44336">SSL握手协议</font>:在握手过程中需要用到SSL握手协议、SSL更改密码规格协议、SSL警告协议。主要作用:<font color="#f44336">协商密码组和建立密码组</font>;服务器认证与鉴别和客户认证与鉴别<br>SSL更改密码协议:通信双方修改密码组,标志着加密策略的改变<br>SSL警告协议:为对等实体传递SSL警告或终止当前连接。包含两个字段:警告级别和警告代码<br>SSL记录协议:描述了信息交换过程中的消息格式,前面3个协议需要记录协议进行封装与传输
虚拟专用网VPN和IP安全协议IPSec(网络层)
<font color="#f44336">虚拟专用网VPN</font> <br>建立在公共网络上的安全通道,是用户通过公用网络建立的临时的、安全的连接。 实现远程用户、分支机构、业务伙伴等与机构总部网络的安全连接,从而构建针对 特定组织机构的专用网络。<br>虚拟专用网最重要的特点就是<font color="#f44336">虚拟</font>。 虚拟专用网一般指的是构建在Internet上能够自我管理的专用网络 关键技术:<font color="#f44336">隧道技术</font>,如IPSec
VPN涉及的关键技术
隧道:通过Internet提供的点对点的数据传输的安全通道。 通过数据加密保证安全。 数据进入隧道时,由VPN封装成IP数据报,通过隧道在Internet上传输; 离开隧道后,进行解装,数据便不再受VPN保护。
IPSec体系简介
IPSec是网络层使用<font color="#f44336">最广泛的安全协议</font>,是一个安全体系。<br><font color="#f44336">主要包括:</font><br> 封装安全载荷协议(Encapsulating Security Protocol ,<font color="#f44336">ESP</font>)<br>认证头(Authentication Header ,<font color="#f44336">AH</font>)协议<br>安全关联( Security Association ,SA)<br>密钥交换与管理( Internet key exchange ,IKE)
主要包括:<br> 封装安全载荷协议(ESP):提供源认证和鉴别、数据完整性检验和<font color="#f44336">机密性检验</font>。<br> 认证头(AH)协议:提供源认证和鉴别、数据完整性检验。<br> 安全关联(SA):发送方实体和接收方实体关联起来。<br> 密钥交换与管理(IKE):协商建立安全关联和交换密钥的方式。<br>
IPSec传输模式:传输模式和隧道模式
1、传输模式:主机模式。IPSec数据报的发送和接收都由端系统完成。
2、隧道模式:将IPSec的功能部署在网络边缘的路由器上,路由器之间建立安全隧道,数据报在其中封装传输。
传输模式和协议组合<br>1、传输模式AH<br>2、隧道模式AH<br>3、传输模式ESP<br>4、<font color="#f44336">隧道模式ESP:最广泛和最重要的IPSec形式。</font>
虚拟专用网一般指的是构建在Internet上能够(<font color="#f44336">自我管理</font>)的专用网络
在IPSec体系结构中,在发送数据之前,需要在发送实体和接收实体之间建立(<font color="#f44336"> SA</font> )
0 条评论
下一页