计算机网络原理 笔记

时间:2024-02-21 20:52:43
   1           ╭第一章 计算机网络概述
   2           |第二章 网络应用
   3           |第三章 传输层
   4           |第四章 网络层
   5  内容大纲<
   6           |第五章 数据链路层与局域网
   7           |第六章 物理层
   8           |第七章 无线与移动网络
   9           ╰第八章 网络安全基础
  10 
  11 第一章 计算机网络概述
  12 1.计算机网络基本概念(填空选择题)
  13  1>计算机网络定义
  14   *1.定义:
  15     1)计算机网络是 互连的、自治的 计算机的集合;
  16       互连: 是指利用通信链路链接相互独立的计算机系统;
  17       自治: 是指互连的计算机系统 彼此独立 ,不存在主从或控制与被控制的关系;
  18 
  19     2)一个计算机网络是由资源子网和通信子网构成的,
  20       资源子网负责信息的处理,通信子网负责全网中的信息传递;
  21 
  22   *2.起源:从技术范畴来看,计算机网络是 计算机技术 与 通信技术 相融合的产物;
  23 
  24   *3.互联网与因特网(了解)
  25      #1.互连网(internet):泛指由多个计算机网络互连而成的网络;
  26      #2.因特网(Internet):指当前全球最大的、应用最广泛的计算机网络;
  27 
  28   *4.因特网服务提供商(Internet Service Provider, ISP)
  29 
  30  2>网络协议的定义(填空题)
  31   *1.网络协议:网络通信实体之间在 数据交换 过程中需要遵循的规则或约定(例如:HTTP,FTP等);
  32   *2.协议的三要素(填空题)
  33     #1.语法: 定义实体之间交换信息的 格式与结构;
  34     #2.语义: 定义实体之间交换信息中的 控制信息;
  35     #3.时序(同步):定义实体之间交换信息的 顺序 及如何匹配或适应彼此的 速度;
  36 
  37  3>计算机网络功能(选择)(软硬件信息资源共享)
  38   *0.是指在不同主机之间实现快速的信息交换,通过信息交换,计算机网络可实现 资源共享 这一核心功能;
  39   *1.硬件 资源共享: 计算资源(CPU)、存储资源、打印机与扫描仪I/O等共享; 例如云存储,云计算;
  40   *2.软件 资源共享: SaaS(Software as a Service,软件即服务) 例如:大型办公软件、大型数据库系统等;
  41   *3.信息 资源共享: 信息检索,新闻浏览等, 典型为 计算机网络所支持的信息交换;
  42 
  43  4>计算机网络的分类
  44   *1.按覆盖范围分类(选择题)
  45      #1.个域网(PAN,Personal Area Network):随身穿戴或便携设备,通过无线技术构成的小范围网络; 1~10m
  46      #2.局域网(LAN,Local Area Network):通常部署在办公室,办公楼,厂区,校区等; 10m~1Km
  47      #3.城域网(MAN,Metropolitan Area Network):覆盖一个城市范围的网络; 5~50Km
  48      #4.广域网(WAN,Wide Area Network):覆盖范围在几十到几千千米,可实现异地城域网的互连;
  49 
  50   *2.按拓扑结构分类(选择题)
  51     1)按拓扑结构的形状分类
  52     #0.拓扑(topology)
  53        是研究几何图形或空间在连续改变形状后还能保持不变的一些性质的一个学科;
  54        它只考虑 物体间的位置关系 而不考虑它们的形状和大小;(星型,总线,环形,网状,树形,混合)
  55 
  56     #1.星形拓扑结构(个域网(PAN)或局域网(LAN))
  57        包括一个*结点,网络中的主机通过点对点通信
  58        链路与*结点连接;                        ●
  59        优点:易于监控管理,故障诊断,隔离;         ●- ● -  60        缺点:*结点一旦故障,全网瘫痪;           ●   ●
  61        受限制与*结点的端口数量;
  62 
  63     #2.总线型拓扑结构(早期局域网(LAN))
  64        网络采用一条广播信道作为公共传输介质,所有结点均与总线连接,
  65        结点间的通信均通过共享的总线进行;                   ●   ●   ●
  66        优点:结构简单,电缆数量少,易于扩展.                  ┴-┬-┴-┬-  67        缺点:通信范围受限,故障诊断与隔离困难,容易产生冲突;      ●   ●
  68 
  69     #3.环形拓扑结构(早期局域网(LAN),城域网(MAN))                    ●--  70        利用通信链路将所有结点连接成一个闭合的环;                    /    \
  71        优点:电缆长度短,可以使用光纤,易于避免冲突;                  ●      ●
  72        缺点:某结点故障引起全网瘫痪,加新(撤出)结点麻烦,等待时间较长;  \     /
  73                                                                   ●--  74 
  75     #4.网状拓扑结构(广域网(WAN)和核心网络)                      ●--  76        网络中的结点通过多条链路与不同的结点直接相连接;           /\  /\
  77        优点:网络可靠性高,一条或多条链路故障时,网络仍然可以联通;  ●--╳--  78        缺点:网络结构复杂,成本高;                               \/  \/
  79                                                               ●--  80     #5.树形拓扑结构(目前局域网LAN)                    ●
  81        可以看作是总线型拓扑或星型拓扑结构网络的扩展;   / \
  82        优点:易于扩展,故障易隔离;                    ●   ●
  83        缺点:根结点要求高;                          /\  /\
  84                                                  ● ● ● ●
  85                                                                 ● ● ●
  86                                                                  ╲│╱
  87     #6.混合型拓扑结构(绝大多数实际网络)                         ●    ○    ●
  88        由两种以上简单拓扑结构网络混合连接而成的网络;               ╲ ╱  ╲ ╱
  89        优点:易于扩散,可以构建不同规模的网络,根据需要优选网络结构; ●──○────○──●
  90        缺点:结构复杂,管理与维护复杂;                             ╱      ╲
  91                                                               ●       ●
  92 
  93     2)按拓扑结构传输模式分类
  94      #1.点对点模式: 星形拓扑结构、网状形拓扑结构、树形拓扑结构;
  95      #2.点与总线相连模式: 总线形拓扑结构;
  96 
  97     3)按采用信道的拓扑结构分类
  98      #1.采用广播信道的拓扑结构
  99         总线型拓扑结构;
 100         树形拓扑结构;
 101         环形拓扑结构;
 102         无限通信与卫星通信型;
 103 
 104      #2.直接链路连接: 网状形拓扑结构;
 105 
 106   *3.按交换方式分类
 107     #1.电路交换网络;
 108     #2.报文交换网络;
 109     #3.分组交换网络;
 110 
 111   *4.按网络用户属性
 112     #1.公用网:是指由国家或企业出资建立,面向公众提供收费或免费服务的网络(电信网络);
 113     #2.私有网:某个组织(*或企业)出资建设,专门面向该组织内部提供网络传输服务,不向公众开放;(银行,军事,铁路)
 114 
 115 2.计算机网络结构
 116   *大规模现代计算机网络的结构包括 网络边缘,接入网络 与 网络核心 三部分;
 117 
 118  1>网络边缘(上网使用的设备)
 119    连接到网络上的计算机、服务器、智能手机、智能传感器、智能家电等称为
 120    主机 或 端系统, 连接到网上的所有端系统构成了 网络边缘;
 121 
 122  2>接入网络(上网的途径)
 123   *0.是指实现网络边缘的端系统与网络核心连接与连入的网络;
 124 
 125   *1.电话拨号接入:利用电话网络接入;
 126 
 127   *2.非对称数字用户线路ADSL(Asymmetrical Digital Subscriber Line):
 128      #1.利用电话网络接入;#2.基于频分多路复用技术;#3.非对称(上行小,下行大);#4.独享式接入;
 129 
 130   *3.混合光纤共轴电缆HFC接入网络:
 131      #1.利用有线电视网络接入;#2.基于频分多路复用技术;#3.非对称(上行小,下行大);#4.共享式接入;
 132 
 133   *4.局域网:典型的局域网技术是以太网,WIFI等;
 134 
 135   *5.移动接入网络:利用移动通信网络,如3G/4G/5G网络,实现智能手机,移动终端等设备的网络接入;
 136 
 137  3>网络核心(网络实现数据转发方式)
 138     是由通信链路互连的 分组交换设备(路由器和交换机) 构成的网络,
 139     作用:通过 数据交换 来实现网络边缘中主机之间的 中继 与 转发;
 140 
 141 3.数据交换技术
 142   0>数据交换的概念
 143   *1.交换设备: 具有多通信端口,可同时连接多个通信结点;(交换设备互连构成网络核心)
 144   *2.数据交换: 是实现在大规模网络核心上进行数据传输的 技术基础;
 145   *3.常见的数据交换技术包括: 电路交换,报文交换,分组交换;
 146 
 147  1>电路交换
 148   *1.电路交换是 最早 出现的一种交换方式, 电话网络 是最早、最大的电路交换网络;
 149   *2.电路交换进行通信步骤(3个阶段): 建立电路->传输数据->拆除电路;
 150   *3.优点: 实时性高,时延和时延抖动小;
 151   *4.缺点: 不适用于猝发式通信,信道利用率低,且传输率单一;
 152   *5.用途:适用于语音和视频这类实时性强的业务;
 153   *6.特点:电路交换是有连接的,在通信时需要先建立电路连接,
 154          在通信过程中独占一个信道,通信结束后拆除电路连接;
 155 
 156  2>报文交换(消息交换)
 157   *1.报文: 发送方把要发送的信息(数据) 附加上 接收主机的地址和控制信息(首部);
 158   *2.报文交换:发送方组装好报文,发给相邻报文交换机
 159       示意图如下:
 160 
 161         源 -----交换设备-----交换设备-----目的
 162        报文   存储转发\        /
 163      首部|数据         交换设备
 164 
 165   *3.交换结点的这种 接收-暂存-转发 的工作方式,称为 存储-转发 的交换方式;
 166   *4.优点: 信道利用率高; 适用于电报通信;
 167   *5.缺点: 网络的延迟时间变长; 有时还需要丢弃报文;
 168   *6.特点:
 169      报文交换机必须接受一个完整的报文后,才能把报文转发到某个输出线路中;
 170      1)报文交换可以把一个报文发送到多个目的地,而电路交换网络很难做到这点;
 171      2)报文交换网络中交换结点需要缓冲存储,报文需要排队,因此会导致报文经过
 172        网络的延迟时间变长且不固定(数据块长度不限且可变);
 173 
 174  3>分组交换
 175   *1.分组交换(包交换):是目前计算机网络 广泛采用 的交换技术;
 176 
 177   *2.分组交换需将待传输的数据(即报文)分割成较小的独立的数据块,(首部/数据)
 178      每个数据块附加地址、序号 等控制信息构成数据分组,每个分组独立传输到目的地,
 179      到目的地将收到的分组重新组装,还原为报文, 采用 存储-转发 交换方式;
 180 
 181   *3.示意图:
 182         源  ----交换设备-----交换设备-----目的
 183        分组   存储转发\        /
 184       ▌▌▌▌▌▌▌         交换设备
 185 
 186   *4.优点:
 187     #1.交换设备存储容量要求低;    报文交换设备:          分组交换设备:
 188     #2.交换速度快;                  1400MB                1400MB
 189     #3.可靠传输效率高;(丢包少)      首部|数据        首部|数据    首部|数据
 190     #4.更加公平;(效率高)       报文1:1500MB(丢弃)  分组1:100MB  分组2:100MB
 191 
 192   *5.缺点: 有效传输效率降低(每组都附加地址)
 193 
 194   *6.分组长度的确定:
 195      在其他条件相同的情况下,分组长度越长,延迟时间越长;
 196      (每组长度越长,在交换设备中存储停留的时间越长)(16B-4096B)
 197 
 198   *7.ARPAnet是第一个分组交换的计算机网络,也是当今因特网的祖先。(*****)
 199 
 200   *8.因特网的标准都有一个(Request For Comments,RFC)编号,
 201      如著名的IP协议和TCP协议最早分别为RFC791 和 RFC793;
 202 
 203 4.计算机网络性能
 204  1>速率与带宽
 205    *1.速率:是指网络 单位时间内 传送的 数据量,用以描述网络传输数据的 快慢;
 206       也称为数据传输速率 或 数据速率(date rate), 单位: bit/s (位每秒)
 207 
 208    *2.速率单位转换:
 209       1Kbit/s=1000bit/s=10³bit/s         1Byte(字节)=8bit(位);
 210       1Mbit/s=1000000bit/s=10^6bit/s     1bit=0/1
 211       1Gbit/s=10^9bit/s                  速率的基本单位:bit/s(位每秒)
 212       1Tbit/s=10^12bit/s
 213 
 214    *3.带宽
 215       在通信和信号处理领域,指的是信号的频带宽度(最高和最低频率之差),单位Hz(赫兹);
 216       在计算机网络中,指的是:一条链路或信道的最高数据速率,单位:bit/s(位每秒)
 217 
 218  2>时延
 219   *1.时延
 220       时延:也称延迟,指数据从网络中的一个结点(主机或交换设备)到达另一结点所需要的时间;
 221       跳:在计算机网络中,通常将连接两个结点的直接链路称为有"一个跳步",简称 "一跳";
 222          分组
 223  224         ▌    第一跳     ▌     第二跳    ▌    第三跳  ▌
 225        源主机-------分组交换机1-----分组交换机2-----目的
 226 
 227                     图1:一个简单的分组交换网络
 228 
 229   *2.分组每跳 传输过程中主要产生 4类 时间延时:
 230 
 231       -----------交换设备1--------------------交换设备2----------
 232                 A    B  c \  d: 传播时延:dp  /
 233                \ / \  / 234     结点处理时延dc 排队时延dq 传输时延(发送时延)dt
 235 
 236                     图2:传输过程中产生的4类时延
 237 
 238   *3.时延分类
 239     总时延dh=结点处理时延dc+排队时延dq+发送时延dt+传播时延dp;
 240     1)结点处理时延,记为dc
 241     2)排队时延,记为dq
 242     3)传输时延(发送时延),记为dt:
 243       /**
 244        * L:分组长度,单位bit;
 245        * R:链路带宽(即速率),单位:bit/s
 246        * 传输时延=分组长度/链路带宽
 247        * 从发送第一位到发送完最后一位所用时间
 248        */
 249        dt=L/R; bit/bit/s= bit•s/bit=s;
 250 
 251     4)传播时延,记为dp,
 252       /**
 253        * D:物理链路长度,单位:m
 254        * V:信号传播速度,单位:m/s
 255        * 传播时延=物理链路长度/信号传播速度
 256        * 光速=3×10^8m/s
 257        */
 258        dp=D/V; m/m/s= m•s/m=s;
 259 
 260  3>时延带宽积
 261     时延带宽积:是物理链路的传播时延 与 链路带宽 的乘积,记为G;
 262     公式:G=传播时延×链路带宽=dp•R=s•bit/s=bit;//时延带宽积的单位:bit
 263     时延带宽积物理意义: 一段链路可以容纳的数据位数, 也称为 以位为单位的链路长度;
 264     示例:
 265     设信号传播速度 V=2500km/s, 链路长度 D=500m,链路带宽 R=10Mbit/s,
 266     求该段链路的时延带宽积;
 267     V=2500000m/s  D=500m, R(带宽)=10000000bit/s
 268     G=D/V•R =  (500/2500000)•10000000=2000 bit
 269     G=D/V•R =(5×10^2)/(25×10^5)=1/(5×10^310^7=2×10^3 bit
 270 
 271     例题2:
 272     设主机A和主机B由一条带宽为R=10^8bit/s、长度为D=100m的链路互连,
 273     信号传播速率为V=250000km/s。如果主机A从t=0时刻开始向主机B发送
 274     长度为 L=1024bit的分组。
 275     1)求主机A和主机B间的链路传输时延dt;
 276       dt=L/R=1024/10^8=1.024×10^-5s;
 277 
 278     2)求主机A发送该分组的传播时延dp;
 279       dp=D/V=100/250000000=4×10^-7s;
 280 
 281     3)求该分组从主机A到主机B的延迟T。(忽略结点处理时延和排队时延)
 282       T=dt+dp=1.024×10-5s+4×10-7s=1.064×10-5s;
 283 
 284     4)求主机A与主机B间链路的时延带宽积G
 285       G=dp×R=4×10^-7 × 0^8=40bit;
 286 
 287 
 288  4>丢包率(选择,填空)
 289    作用:丢包率常被用于评价和衡量网络性能,在很大程度上反映 网络拥塞程度;
 290     /**
 291      * N1:丢失分组总数
 292      * Ns:发送分组总数
 293      * Nr:接收分组总数
 294      */
 295      η=N1/Ns=Ns-Nr/Ns
 296 
 297   5>吞吐量(Thr Throught)
 298     是指在 单位时间内 源主机通过网络向目的主机 实际送达 的数据量,
 299     记为Thr,单位:bit/s 或 B/s(字节每秒) : 1B=8bit
 300     受网络链路带宽, 网络连接复杂性, 网络协议, 网络拥塞程度 影响
 301     S  R1     R2    Ri   RN-1   RN
 302     ▋-----●------●- - -●-----●-----▉   Thr=min(R1,R2,R3)
 303 
 304   +-------------+---------+--------------------------------------------+
 305   |  速率、带宽  |  bit/s  |   网络 单位时间内 传送的 数据量, 1bit=0/1    |
 306   +-------------+---------+--------------------------------------------+
 307   |     时延    |    s    | 结点处理时延dc+排队时延dq+发送时延dt+传播时延dp|
 308   +-------------+---------+--------------------------------------------+
 309   |  时延带宽积  |   bit   |    G=传播时延dp×链路带宽R =s•bit/s=bit;     |
 310   +-------------+---------+--------------------------------------------+
 311   |    丢包率    |   %     |η=N1(丢包总数)/NS(发送总数)=Ns-Nr(接收总数)/Ns|
 312   +-------------+---------+--------------------------------------------+
 313   |    吞吐量    |bit/s,B/s| Thr(最大吞吐量)=min(R1,R2,Ri,R(N-1),RN)|
 314   +-------------+---------+--------------------------------------------+
 315 
 316   例题:
 317   设主机A和主机B由一条宽带为R=10^8bit/s,长度为D=100m的链路互连,信号传播率
 318   为V=250000Km/s如果主机A从t=0时开始向主机B发送长度为L=1024bit的分组,试求:
 319  1>主机A和主机B间的链路传输延时dt;
 320     dt=L/R=1024/10^8=1.204×10^-5 s
 321  2>主机A发送该分组的传播延迟dp;
 322     dp=D/V=100/(25×10^7)=4×10^-7 s
 323  3>该分组从主机A到主机B的延时T;
 324     1.204×10^-5+4×10^-7=(1.024+0.0410^-5=1.064×10^-5
 325  4>t=dt时,分组的第一位在何处;
 326     分组的第一位已经到达主机B,因为dt>dp 0.124>0.04;
 327   5>主机A与主机B间链路时延带宽积G;
 328     G=dp×R=4×10^-7×10^8=40bit;
 329 
 330   例2:
 331   如图所示的网络中,A在 t=0 时刻开始向C发送一个 4Mbit 的文件;
 332   B在t=(0.1+e)s(e无限趋近0的小正实数)时刻向D发送一个2Mbit文件;
 333   忽略传播延迟和结点处理延迟(注:M=10^6);如果采用报文交换方式,
 334   则A将文件交付给C需要大约多长时间? B将文件交付给D需要大约多长时间;
 335   //延迟时间=dt(L/R)+dp(D/V)
 336   dt(AC)=4Mbit/20Mbps=0.2s; dp(AC)=
 337 
 338     20Mbps▊→                20Mbps▊→
 339   A----------┐    40Mbps   ┌----------C
 340              ¤-------------¤
 341   B----------┘             └----------D
 342     20Mbps▊→                20Mbps▊→
 343 
 344 5.计算机网络体系结构
 345  1>计算机网络体系结构定义
 346     计算机网络所划分的 层次 以及 各层协议 的集合就称为计算机 网络体系结构;
 347 
 348  2>OSI参考模型(七层)
 349    开发系统互连(Open System Interconnection, OSI)参考模型: 国际标准化组织;
 350    采用分层结构化技术,采用三级抽象,即体系结构,服务定义,协议规格说明,将整个通信
 351    功能分为7层,数据 由上到下 层层封装;
 352    (发送端)
 353    应用层 :为用户提供一个使用网络应用的 "接口"; HTTP/HTTPS  FTP  SMTP
 354      ↕       (通信软件)
 355    表示层 :用于处理应用实体间交换数据的语法,解决格式和数据表示的差别,不独立存在;
 356      ↕       (翻译)        文本压/解压缩,数据加/解密,字符编码的转换;
 357    会话层 :通过两台计算机建立、管理、终止通信来完成会话,不独立存在; socket
 358      ↕       (确认对方可通话)
 359    传输层 :复用/分解、处理端到端的可靠数据传输,连接控制、流量控制、拥塞控制; 传输协议 TCP UDP
 360      ↕       (控制速度,数据分组) 将通信子网的技术、设计和欠缺与上层相隔离
 361    网络层 :将分组通过交换网络传送至目的主机(路径选择功能),  转发和路由;
 362      ↕       (加IP地址)
 363    数据链路层:1.差错控制,2.流量控制,3.链路管理(建立连接),4.寻址;
 364      ↕ (加MAC地址,Media Access Control Address 它用来确认网络设备位置的位址,每个网卡都有一个MAC )
 365    物理层: 无结构比特流传输;规定数据终端设备(DTE)与数据通信设备(DCE)之间接口的相关特性,(机械,电气,功能、规程)
 366             (光纤,双绞线,电磁波)                     发送端                    接收端
 367                                                     应用层<------ 协议 ------->应用层 ╮
 368    *1.数据在垂直的层次中 自上而下 地逐层传递至物理层;    ↕                          ↕    │
 369                                                     表示层<------ 协议 ------->表示层 │
 370    *2.对等层不直接进行通信,称为虚拟通信;                ↕                          ↕     >端到端层(端口)
 371                                                     会话层<------ 协议 ------->会话层 │    虚拟通信
 372    *3.物理层的两个端点进制物理通信,称为实通信;           ↕                          ↕   │  信息处理服务
 373                                                     传输层<------ 协议 ------->传输层 ╯
 374    *4.中间系统通常只实现物理层、数据链路层和网络层功能;   ↕             ↕            ↕
 375                                                     网络层<─协议─>网络层<─协议─>网络层    ╮
 376        物理层、数据链路层、网络层为 结点到结点层;         ↕            ↕            ↕      |
 377                                                  数据链路层<协议>数据链路层<协议>数据链路层 >结点到结点层
 378        传输层、会话层、表示层、应用层为 端到端层;         ↕            ↕            ↕      |数据交换和传输
 379     (端到端层的第一个层)                              物理层<─协议─>物理<──协议──>层物理层 ╯---实通信
 380                                                       ↑___传输介质__↑↑__传输介质___↑
 381                                                      发送方      中间系统       接收方
 382  3>有关术语
 383   *1.数据单元:在层的实体之间传送的比特组,
 384      对等层之间传输的数据单元:协议数据单元(PDU,Protocol Data Unit)
 385      应用层<-->表示层<-->会话层<-->传输层<---->网络层<-->数据链路层<-->物理层
 386      (报文)                   数据段或报文段  分组或包      帧     比特流或位流
 387      (报应)                      (数段)       (络分)                (物流)
 388 
 389   *2.服务访问点(Service Access Point,SAP)
 390      相邻层的服务是通过其接口上的 服务访问点 进行的,每个SAP都
 391      有一个唯一的 地址号码,N层SAP就是(N+1)层可以访问N层的地方;
 392 
 393   *3.服务原语
 394      OSI参考模型中的每一层的真正功能是为其上一层服务的,第N层向(N+1)层
 395      N-PDU可表示为N-PC加上N-SDU,提供服务都通过一组原语描述的,包括四类:
 396      1)请求(Request): 用户实体请求服务做某种工作;
 397      2)指示(Indication): 用户实体被告知某件事发生;
 398      3)响应(Response): 用户实体表示对某件事的响应;
 399      4)证实(Confirm): 用户实体收到关于它的请求的答复;
 400 
 401  4>TCP/IP参考模型
 402    应用层(报文): 网络应用 www服务:HTTP 文件传输:FTP 电子邮件:SMTP和POP3
 403  404    传输层(段): 面向连接:提供可靠数据流传输的传输控制协议:TCP
 405      ↕        无连接:不提供可靠数据传输的用户数据协议:UDP
 406  407    网络互联层(数据报):TCP/IP参考模型 核心 ,IP协议,ICMP(互联网控制报文协议);
 408  409    网络接口层(帧) :提供给网络互联层一个访问接口
 410 
 411    *Internet组织在长期运行因特网的实践中,提出了一个基于TCP/IP协议簇的
 412     网络管理标准协议 SNMP ,并得到众多支持,使之成为事实上的网络管理工业标准;
 413 
 414   5>五层参考模型
 415     描述计算机网络中 最常用、最接近实际网络 的参考模型;
 416     应用层(报文)->传输层(段)->网络层(数据报)->链路层(帧)->物理层(比特流)
 417 
 418 第二章 应用层
 419 1.计算机网络应用体系结构(3种)
 420  1>客户/服务器(C/S)结构网络应用;(Client/Server)
 421   *1.C/S结构网络应用 是最典型、最基本的网络应用(例如:www应用;文件传输;电子邮件;)
 422   *2.特点:
 423     #1.网络通信双方分为客户程序 和 服务器程序,客户与客户之间不进行直接通信;
 424     #2.服务器程序 需 先运行起来, 做好接受通信的准备;
 425     #3.客户程序后运行,主动与服务器进行通信;
 426 
 427  2>纯P2P结构网络应用;
 428    P2P(Peer to Peer(对等端))
 429    通信双方没有传统意义上的客户端服务器之分,地位对等,通信双方都具备客户端与服务器的特征;
 430    P2P与传统因特网C/S两者在传输层及以下各层的协议结构是相同的,差别在 应用层;
 431    P2P网络是一种在IP网络上构建的覆盖网;
 432 
 433  3>混合结构网络应用(选择);
 434    混合结构网络应用将C/S应用和P2P应用相结合;
 435 
 436 
 437 2.网络应用通信基本原理
 438  1>网络应用的基本通信过程
 439    网络应用的基本通信过程就是运行在不同主机上的 应用进程 间以C/S方式进行的通信;
 440    (微信)客户端   应用层协议   服务器端 (微信)
 441          应用层----------------应用层
 442           接口-------API-------接口  Application Programming Interface
 443          传输层                传输层            (应用编程接口)
 444 
 445  2>网络应用编程接口
 446     典型的 网络应用编程接口 是套接字(Socket),对于一个传输层协议,需要
 447     为其接口的每个套接字分配特定的编号,标识该套接字,该编号称为 端口号;
 448 
 449 3.域名系统(DNS,Domain Naming System)
 450  1>域名系统
 451    *1.作用(选择题):将域名映射为IP地址,实现映射的过程,称为域名解析;
 452                           域名解析
 453       域名:www.baidu.com<----------->IP地址:115.239.211.122;
 454 
 455    *2.域名解析的原理(选择题)
 456       为了实现域名解析,域名系统会建立 分布式 数据库,存储域名与IP地址的映射关系数据;
 457 
 458  2>层次化域名空间
 459    *1.域名的命名方式:层次树状结构命名方式,每个域名有不同级别的域名构成,各层域名间用 点 分割;
 460       四级域名.三级域名.二级域名.*域名.根  例如 www.baidu.com (顶二三)
 461       域名不区分大小写;                    (三级域名.二级域名.*域名)
 462 
 463       我国二级域名 划分为类别域名 和 行政区域名 两大类;
 464 
 465    *2.*域名的分类
 466      #1.国家*域名:cn,us,uk等;
 467      #2.通用*域名:com(公司),org(非盈利组织),gov(*),edu(教育),
 468                     net(网络组织),mil(军事组织),int(国际组织)等
 469      #3.基础结构域名:只有一个,arpa(反向域名解析);
 470 
 471  3>域名服务器
 472   *0.区:一个服务器所负责管辖的范围;
 473      DNS服务器:管辖范围不以""为单位, 而以""为单位;
 474   *1.作用:存储着自己所管辖范围内主机的域名到IP地址的映射
 475   *2.分类:根据其主要保存的域名信息以及在域名解析过程的作用分为:
 476      #1.根域名服务器:根域名服务器是最重要的服务器(a-m),全球有13个,保存所有*域名服务器的域名和IP;
 477      #2.*域名服务器:负责管理在该*域名服务器注册的所有二级域名;.com结尾的IP
 478      #3.权威域名服务器:保存该区中的 所有主机 的域名和IP地址的映射;
 479      #4.中间域名服务器:不是以上三种的域名服务器;
 480      #5.本地域名服务器:主机在网络地址配置是都会配置的,用于保存被查询域名信息;
 481                       是主机进行域名查询时首先被查询的域名服务器。
 482       本地域名服务器->根域名服务器->*域名服务器->中间域名服务器->权威域名服务器;
 483 
 484  4>域名解析过程(简答题)
 485     递归解析:
 486     主机进行域名查询时,本地域名服务器没有 被查询域名信息,则本地域名服务器 代理主机
 487     查询根域名服务器,根域名服务器代理本地域名服务器查询下一个域名服务,依次类推,
 488     直到得到被查询域名的IP地址,最后将解析结果发送给主机; 本地->根->*->权威
 489                                                      ↑---根<-*←-- 490     迭代解析:
 491     主机进行域名查询时,本地域名服务器没有查询域名信息,则先求助根域名服务器,
 492     根域名服务器只是将下一步要查询的服务器告知查询主机的本地域名服务器,本地
 493     域名服务器继续查询下一个域名服务器,直到查询到被查询的域名的IP地址;
 494     本地->根 本地->* 本地->权威
 495 
 496 4.万维网应用
 497  1>万维网应用结构
 498   *1.万维网应用主要包括 浏览器、web服务器、HTTP协议;
 499     #1.浏览器:Web应用的客户代理;
 500     #2.web服务器:存储管理供用户请求浏览的Web页面(Web文档)
 501     #3.超文本传输协议(HTTP):客户和服务器间交换基于应用层的协议HTTP;
 502 
 503   *2.URL:统一资源定位符(Uniform Resource Locator)
 504     URL作用:URL是HTTP标识被操作资源的方法;
 505     URL地址主要两个部分组成:存放对象的 主机域名(或IP地址) 和 对象的路径名;
 506     例:http://www.abc.edu.cn/cs/index.html    //对象:网页上的图片、文字、视频等资源
 507             服务器主机域名(IP地址)/对象的路径名
 508 
 509     URL的寻址方式确保万维网上的每个Web页面或对象都有一个唯一的标识符;
 510 
 511   *3.用户通常利用客户端软件来使用某个网络应用,例如,浏览器,邮件收发软件等
 512      这个软件被称为 用户代理(user agent);
 513 
 514  2>HTTP(HyperText Transfer Protocol,HTTP) (综合题)
 515   *1.HTTP(超文本传输协议)概述
 516      Web应用的应用层协议,定义浏览器如何向Web服务器发送请求,以及Web服务器
 517      如何向浏览器进行响应,目前主要使用HTTP/1.0和HTTP1.1,以HTTP/1.1为主流;
 518 
 519   *2.HTTP连接
 520     1)浏览器在向服务器发送请求之前,首先需要 建立TCP连接,
 521       然后才 发送 HTTP请求报文, 接收 HTTP响应报文;
 522       RTT:
 523       HTTP客户进程向服务器请求建立连接,从客户发送连接请求,到收到服务器连接确认,
 524       用时一个往返时间(Round Trip Time, RTT),RTT作为一个 时间单位 来使用
 525       客户端--------------->服务器
 526           ↖-------------- 527 
 528     2)使用TCP策略不同分为:
 529       #1.非持久连接的HTTP;
 530          指客户与服务器建立TCP连接后,通过该连接发送HTTP请求报文,接收HTTP响应报文,然后断开连接;
 531 
 532        $1.一条连接(8个RTT)
 533          非持久连接HTTP的响应时间: 以请求浏览一个引用为例 总共8个RTT时间, 请求每个对象时,都要新建TCP连接;
 534 
 535        $2.多条连接(4个RTT)
 536          优化:典型的优化技术:并行连接和持久连接;
 537          并行连接:通过建立多条并行TCP连接,并行发送HTTP请求和并行接收HTTP响应;(4个RTT, RTT是往返时间)
 538          并行连接会增加客户端主机的资源开销,如内存开销,故系统通常同时建立的并行TCP连接数是有限制的;
 539 
 540       #2.持久连接的HTTP;
 541        $1.非流水(管道)方式的持久连接:
 542           客户端收通过持久连接到响应报文后,不断开TCP连接,继续请求接下来的文档;
 543 
 544        $2.流水(管道)方式持久连接(HTTP1.1):
 545           客户端在通过持久连接收到前一个响应报文后,不断开连接,继续并行请求所需文档;
 546 
 547       ① HTTP/1.0 默认是非持久连接;
 548       ② HTTP/1.1 默认使用流水方式持久连接,HTTP/1.1持久连接默认是激活的; 半双工
 549       ③ HTTP/1.1代理服务器 不应该与 HTTP/1.0客户端 建立持久连接;
 550 
 551     例题
 552     设某网页的URL为“http://www.abc.com/index.html”,且该URL对应的IP地址在你的计算机上没有缓存
 553     (hosts中没有),文件index.html引用了 8个小图像,在域名解析的过程中,无等待的一次DNS解析请求与
 554     响应时间记为RTTd,HTTP请求传输Web对象过程的一次往返时间记为RTTh。试给出:
 555      1.该URL中的域名。 域名:www.abc.com ;
 556 
 557      2.浏览器解析到该URL对应的IP地址的最短时间和最长时间。
 558        最短时间1个RTTd (本地), 最长4个RTTd (本地+根+*+权威);
 559 
 560      3.若浏览器没有配置并行TCP连接,则基于HTTP1.0获取该Web页的完整内容(包括引用的图像)
 561        所需要的时间(不包括域名解析时间):
 562        /**
 563         * 解题思路:画图
 564         * 连接TCP:1RTTh,
 565         * 请求空网页:1RTTh  获取8张图片的URL;
 566         * (建立TCP 1RTTh+请求图1RTTh) *8=16RTTh
 567         */
 568           1+1+16=18RTTh;
 569 
 570      4.若浏览器配置5个并行TCP连接,则基于HTTP1.0获取该Web页的完整内容(包括引用的图像)
 571        需要的时间(不包括域名解析时间):
 572        /**
 573         * 并行5个
 574         * 建立TCP连接 1RTTh,
 575         * 请求web空页面1RTTh, 获取8张图片的URL;
 576         * 建立5条TCP连接:1RTTh
 577         * 请求图片1,2,3,4,5:1RTTh
 578         * 建立3条TCP连接 :1RTTh
 579         * 请求 6,7,8:1RTTh
 580         */
 581           6RTTh;
 582 
 583      5.若浏览器没有配置并行TCP连接,分别计算基于非流水方式的HTTP1.1获取该Web页完整内容需要的时间
 584        以及基于流水方式的HTTP1.1获取该Web页的完整内容(包括引用的图像)需要的时间(不包括域名解析时间)
 585        /**                                     /**
 586         * 建立TCP连接 1RTTh,                      * 建立TCP连接 1RTTh,
 587         * 请求web空页面1RTTh, 获取8张图片的URL;    * 请求web空页面1RTTh, 获取8张图片的URL;
 588         * 请求8张图片 8RTTh,                      * 请求8张图片 1RTTh,
 589         */                                       */
 590          非流水方式=10RTTh;                        流水方式=3RTTh;
 591 
 592     3)HTTP报文(选择,填空)
 593     *1.报文结构:
 594       +-------+----------------------------+----------------------------------+
 595       |报文结构|          请求报文           |            响应报文              |
 596       +-------+----------------------------+----------------------------------+
 597       | 起始行 | 请求行:<方法><URL><协议版本> | 状态行:<协议版本><状态码><原因短语>|
 598       +-------+----------------------------+----------------------------------+
 599       | 首部行 |        携带附加信息         |          携带附加信息             |
 600       +-------+----------------------------+----------------------------------+
 601       | 空白行 |    CR回车 LF换行(必须有)    |          CRLF(回车换行)           |
 602       +-------+----------------------------+----------------------------------+
 603       |报文主体|       实际要请求的内容      |         实际要响应的内容           |
 604       +-------+----------------------------+----------------------------------+
 605       *请求报文和响应报文最大的不同在于起始行,起始行在请求报文中为请求行,在响应报文中为状态行;
 606 
 607      *2.请求方法:
 608        +------+----------------------------------------+
 609        | GET  |请求读取由URL所标识的信息, 是 最常见 的方法;|
 610        +------+----------------------------------------+
 611        | HEAD |请求读取由URL所标识的信息的首部;           |
 612        +------+----------------------------------------+
 613        | POST |给服务器添加信息;                         |
 614        +------+----------------------------------------+
 615        |OPTION|请求一些选项的信息;                       |
 616        +------+----------------------------------------+
 617        | PUT  |在指明的URL下存储一个文档;                 |
 618        +------+----------------------------------------+
 619 
 620      *3.状态码:2位十进制数,利用第一位十进制数字区分5类状态码;
 621        +---------+---------+-------------+---------------------------------+
 622        |状态码类别| 取值范围 |     作用    |              说明                |
 623        +---------+---------+-------------+---------------------------------+
 624        |   1××   | 100~199 |   信息提示   | 通告请求已接收,可能还需要进一步交互|
 625        +---------+---------+-------------+---------------------------------+
 626        |   2××   | 200~299 |    成功      | 成功完成客户请求操作,并进行响应   |
 627        +---------+---------+-------------+---------------------------------+
 628        |   3××   | 300~399 |   重定向     | 表示资源已移走,需要向新URL发送请求 |
 629        +---------+---------+-------------+---------------------------------+
 630        |   4××   | 400~499 |  客户端错误  |   由于客户端错误无法成功响应      |
 631        +---------+---------+-------------+---------------------------------+
 632        |   5××   | 500~599 |  服务器错误  |   由于服务器错误,无法成功响应     |
 633        +---------+---------+-------------+---------------------------------+
 634 
 635        常见状态码
 636        +-----+------------------------------+---------------------------------+
 637        |状态码|            短语              |              说明               |
 638        +-----+------------------------------+---------------------------------+
 639        | 100 |           Continue           |已成功收到请求的初始部分,请客户端继续|
 640        +-----+------------------------------+---------------------------------+
 641        | 200 |               OK             |     成功,所请求信息在响应报文中    |
 642        +-----+------------------------------+---------------------------------+
 643        | 301 |       Moved Permanently      |             重定向               |
 644        +-----+------------------------------+---------------------------------+
 645        | 400 |          Bad Request         |          客户端请求错误          |
 646        +-----+------------------------------+---------------------------------+
 647        | 401 |         Unauthorized         |    未授权,需要输入用户名和密码    |
 648        +-----+------------------------------+---------------------------------+
 649        | 404 |          Not Found           | 客户端请求的对象,在服务器上不存在  |
 650        +-----+------------------------------+---------------------------------+
 651        | 451 |   Unsupported Media Type     |          不支持的媒体类型         |
 652        +-----+------------------------------+---------------------------------+
 653        | 505 |  HTTP Version Not Supported  |  请求使用的HTTP版本,服务器不支持   |
 654        +-----+------------------------------+---------------------------------+
 655 
 656  3>cookie(选择,填空)
 657   *1.HTTP服务器不保存客户的任何信息,被称为无状态协议;
 658   *2.为了记录保存客户信息,引入Cookie机制,用于用户跟踪;
 659   *3.Cookie(小型文本文件):
 660      网站为了辨别用户身份,进行会话跟踪而存在 用户本地终端 上的数据;
 661 
 662   *4.Cookie技术包括4部分内容(简答)
 663     1)HTTP 响应报文 中的Cookie头行: Set-Cookie 用户的Cookie ID,用户偏好等;
 664     2)用户浏览器在本地 存储、维护、和管理的Cookie文件;
 665     3)HTTP请求报文中的Cookie头行:用户已访问过的网站再次访问是,浏览器会检索本地Cookie文件;
 666     4)网站在后台数据中存储、维护Cookie信息:分配用户ID、每个ID用户在本网站的访问特征等;
 667 
 668   *5.Cookie的常见用途
 669    1)网站可以利用Cookie的ID来准确统计网站的实际访问人数,新访问者和重复访问者的人数对比及访问频率;
 670    2)网站可以利用Cookie限制某些特定用户的访问;
 671    3)网站可以存储用户访问过程中的操作习惯和偏好;
 672    4)记录用户登录网站使用的用户名、密码等信息;
 673    5)电子商务网站利用Cookie可以实现"购物车"功能;
 674 
 675 
 676 5.Internet电子邮件
 677  1>邮件系统结构(选择填空)
 678    *1.邮件服务器(电子邮件体系结构的核心)
 679       负责发送和接收邮件,向发信人报告信件传送情况(已交付,被拒绝,丢失),用户注册,分配存储空间
 680       xuezhihui  @    163.com
 681       用户邮箱名  在 邮箱服务器域名
 682 
 683    *2.用户代理(电子邮件应用的客户端软件)
 684       Outlook,Apple Mail, Fox Mail等支持用户撰写、显示、处理 和
 685       收发邮件,为用户阅读,回复,转发,保存和撰写邮件提供编辑与操作环境;
 686 
 687    *3.简单邮件传输协议(SMTP)
 688       是核心应用层协议,实现邮件服务器之间或用户代理到邮件服务器间的 邮件传输;
 689 
 690    *4.邮件读取协议(POP3,IMAP,HTTP)
 691       第三版邮局协议              Post Office Protocol - Version 3    POP3
 692       互联网邮件访问协议          Internet Message Access Protocol    IMAP
 693       Web邮件系统的邮件读取协议    HyperText Transfer Protocol        HTTP
 694 
 695  2>SMTP 简单邮件传输协议 (Simple Mail Transfer Protocol)
 696    *1.通过3个阶段的应用层交互完成邮件传输:
 697       1)握手阶段
 698       2)邮件传输阶段
 699       3)关闭阶段
 700 
 701    *2.定义了14条命令,每条命令用4个字母组成;
 702       例如: HELO:标识发件人身份; DATA:通知服务器准备开始发送邮件内容, QUIT:命令退出;
 703 
 704    *3.SMTP定义了21种应答信息,一般只一行,由3位数字的代码开始,后面附上(可无)简单的文字说明;
 705       例如:220 mail.abc.com     SMTP服务器端口号 25;
 706 
 707    *4.SMTP的特点
 708      1)SMTP只能传送 7位 ASCII码文本内容,(包括SMTP命令,应答消息,以及邮件内容);
 709      2)SMTP传送的邮件内容中不能包含 "CRLF.CRLF", (因为该信息用于标识邮件内容的结束);
 710      3)SMTP是 "推动" 协议(HTTP是"拉动"协议);
 711      4)SMTP使用 TCP连接 是持久的;
 712 
 713 
 714  3>电子邮件格式与MIME
 715    *1.一封邮件的格式结构
 716       首部  空白  行主体
 717 
 718    *2.邮件中常见的首部行内容:
 719       To       后面收件人的电子邮件地址  (必填)
 720       Subject    邮件的主题             ╮
 721       Cc       表示应给发送一个邮件副本  |
 722       From       表示发信人的电子邮件地址   >可选
 723       Date       发信日期                |
 724       Reply-To 对方回信所用的地址       ╯
 725 
 726    *3.MIME 互联网邮件扩展(Multipurpose Internet Mail Extensions)
 727      0)用于传输非7位ASCII码文本内容时;
 728      1)有5个 MIME邮件 首部字段;
 729        MIME-Version(MIME版本), Content-Description(邮件概述),Content-Id(邮件唯一标识)
 730        Content-Transfer-Encoding(编码方式)  Content-Type(主体内容类型和格式)
 731      2)定义了 多种邮件内容的格式, 对多媒体电子邮件的表示方法进行了标准化;
 732      3)定义了邮件传送编码,可对 任何内容格式进行转换 ,从而适用于通过SMTP进行传送;
 733 
 734  4>邮件读取协议
 735    *1.POP3 第三版邮局协议(Post Office Protocol - Version 3)
 736       1)授权阶段(用户名和密码)
 737       2)事务处理阶段(list,retr,dele)
 738       3)更新阶段(quit)
 739 
 740       user  xxxx:用于向服务器传送用户名
 741       pass  xxxx:用于向服务器发送用户密码
 742       list:用于请求所有的邮件序号和邮件长度
 743       retr邮件号:用于请求服务器传送第几封邮件
 744       dele邮件号:用于将邮件标记为删除
 745       quit: 结束会话,并更新操作
 746 
 747    *2.IMAP 互联网邮件访问协议(Internet Message Access Protocol)
 748       IMAP 服务器将每个邮件与一个文件夹进行关联,
 749       通过 IMAP 收件人可以对邮件进行移动、查询、阅读、删除等操作。
 750       IMAP 允许用户代理只读邮件的部分内容;
 751 
 752       IMAP与POP3的区别:
 753       对邮件的操作是否会反映在服务器上 IMAP(会)  POP3(不会)
 754 
 755    *3.HTTP:Web邮件系统的邮件读取协议
 756 
 757 
 758 6.FTP 文件传输协议(File Transfer Protocol,FTP)
 759   *1.在互联网的两个主机间实现文件互传的网络应用,其应用层协议称为FTP;
 760 
 761   *2.进程两大组成部分:
 762     #1.主进程:负责接受新的客户请求;
 763     #2.从属进程: 负责处理单个客户请求,与具体客户进行交互;
 764     应用结构
 765       FTP  <───控制连接(持久,端口号21)───> FTP
 766      客户端<---数据连接(临时,端口号20)--->服务器
 767        ↕                                  ↕
 768     文件系统                           文件系统
 769 
 770   *3.FTP控制信息的传送方式为 带外控制;
 771      #0.由于FTP专门使用一个独立的控制连接传输控制信息,与传输文件信息进行分离,故将其传送方式称为 "带外控制";
 772      #1.控制连接:客户和服务器之间传输控制信息。如用户标识、口令、改变远程目录,上传下载文件命令等。
 773      #2.数据连接:实际传送文件内容。 *.控制连接服务器端口号为21; 数据连接服务器端口号为20;
 774 
 775      带内控制协议: 命令、数据通过一个TCP连接传输的应用层协议,例如HTTP;
 776      带外控制协议: 专门使用一个独立的控制连接传输控制信息,与传输文件信息进行分离,例如FTP;
 777 
 778   *4.FTP是 有状态 的协议, FTP的命令是 可读的
 779      例如:List(文件列表), RETR下载/STOR上传 filename ,USER usename, PASS password,
 780 
 781   *5.不需要专门的用户名和口令就可以登录的FTP服务器称为 匿名 服务器;
 782 
 783  7.P2P应用
 784   *1.P2P:Peer to Peer  P2P应用:BitTorrent、PPLive 和 PPstream等;
 785 
 786   *2.P2P应用特点(选择,填空)
 787     #1.应用的对等方是用户的计算机;
 788     #2.很强的应用规模伸缩性;
 789     #3.应用都是动态地在对等方之间进行;
 790     #4.应用充分聚集利用了端系统的计算能力以及网络传输带宽;
 791 
 792  8.Socket编程基础
 793    套接字(Socket): 典型的网络应用编程接口
 794    端口号(Port number):标识套接字;
 795 
 796   *1.常见的服务器端口号(选择,填空)
 797      20,21   FTP文件传输协议端口号 控制端口号21,数据端口号20;
 798      23      Telnet远程终端协议的端口号;
 799      25      SMTP简单邮件传输协议端口号;
 800      53      DNS域名服务器端口号;
 801      69      TFTP简单文件传送协议端口号;
 802      80      HTTP超文本传输协议端口号;
 803      110     POP3第三版的邮局协议端口号;
 804      161,162 SNMP简单网络管理协议的端口号;
 805      520     RIP路由信息协议的端口号;
 806 
 807   *2.Socket API函数
 808     1) 创建套接字: socket();
 809        参数: 流式套接字: SOCK_STREAM;面向传输层: TCP接口;
 810             数据报套接字:SOCK_DGRAM; 面向传输层: UDP接口;
 811             原始套接字:  SOCK_RAW;   面向网络层: 如IP,ICMP等接口;
 812     2) 绑定套接字的本机地址和端口号: bind();
 813     3) 设置监听: listen();
 814     4) 建立连接: TCP客户端: connect(); TCP服务端: accept();
 815     5) 发送数据: TCP: send(); UDP: sendto
 816     6) 接收数据: TCP: recv(); UDP: recvfrom;
 817     7) 关闭套接字: close();
 818 
 819   *3.UDP及TCP的Socket
 820     #1.UDP Socket:
 821        UDP客户端                  UDP服务端
 822      1) 创建套接字 socket()   1)创建套接字 socket()
 823      2) 发送数据   sendto     2)绑定地址和端口号 bind()
 824      3) 接收数据   recvfrom   3)接收数据 recvfrom
 825      4) 关闭套接字 close()    4)发送数据 sendto
 826                              5)关闭套接字 close()
 827 
 828     #2.TCP Socket:
 829        TCP客户端               TCP服务端
 830      1) 创建套接字 socket()   1)创建套接字 socket()
 831      2) 建立连接 connect()    2)绑定地址和端口号 bind()
 832      3) 发送数据 send()       3)设置监听 listen();
 833      4) 接收数据 recv()       4)建立连接 accept()
 834      5) 关闭套接字 close()    5)接收数据 recv()
 835                              6)发送数据 send()
 836                              7)关闭套接字close()
 837 WebSocket
 838 特点
 839  1.服务器可以主动向客户端推送消息,客户端也可以主动向服务器发送信息,是真正的双向平等对话;
 840    实现原理:客户端向WebSocket服务器通知(notify)一个带有所有接收者ID(recipient IDs)的
 841    事件(event),服务器接收后立即通知所有活跃的(active)客户端,只有ID在接收者ID序列中的
 842    客户端才会处理这个事件,WebSocket本身是基于TCP协议的;
 843 
 844  2.WebSocket与Http区别
 845           Http                                WebSocket
 846    Client       Server                Client            Server
 847      |   Request   |                    |    Handshake     | 握手
 848      |------------>|                    |----------------->|
 849      |  Response   |                    |  Acknowledgement | 确认
 850      |<------------|                    |<-----------------|
 851      |             |                    |<---------------->|
 852      |   Request   |                    |Bi-directional msg| 双向通信(双全工模式)
 853      |------------>|                    |<---------------->|
 854      |  Response   |                    |  Connection end  | 连接结束
 855      |<------------|                    |<---------------->|
 856      ↓             ↓                    ↓                  ↓
 857    Connection lifecycle                 Connection lifecycle  连接生命周期
 858 
 859    *1.WebSocket 是一个持久化协议,相对HTTP这种非持久的协议来说,Http的生命周期是
 860       通过Request来界定的,也就是一个Request,回应一个Response,Http请求结束(HTTP1.0);
 861 
 862    *2.在HTTP1.1中有了改进,增加了一个keep-alive,也就是说,在一个HTTP连接中,可以发送
 863       多个Request,接收多个Response,但请记住 Request=Response,也就是说,一个Request
 864       只能有一个Response,而且这个Response也是被动的,不能主动发起;
 865 
 866    首先我们来看个典型的 WebSocket 握手:
 867    Client: 发起请求
 868    -------------------------------------------------------------------------------------------------
 869    GET /chat HTTP/1.1        //请求方式
 870    Host: server.classOuter.com  //主机
 871    Connection: Upgrade       //表示要升级协议
 872    Upgrade: websocket        //表示要升级到WebSocket协议
 873    Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw== //与服务端响应首部的sec-WebSocket-Accept配套,来验证服务器;
 874    Sec-WebSocket-Protocol: chat, superchat //是一个用户定义的字符串,区分同URL下,不同的服务所需要的协议。
 875    Sec-WebSocket-Version: 13 //所使用的 WebSocket Draft (协议版本)
 876    Origin: http://classOuter.com
 877    -------------------------------------------------------------------------------------------------
 878 
 879    Server: 接受到请求,成功建立WebSocket
 880    -------------------------------------------------------------------------------------------------
 881    HTTP/1.1 101 Switching Protocols //状态码101表示已经切换为WebSocket协议,后续的数据交互都按照新的协议来;
 882    Upgrade: websocket
 883    Connection: Upgrade
 884    Sec-WebSocket-Protocol: chat
 885    Sec-WebSocket-Accept: HSmrc0sMlYUkAGmm5OPpG2HaGWk= //根据客户端的set-WebSocket-key,先SHA1算出摘要,
 886    //toBase64( sha1(Sec-WebSocket-Key + 258EAFA5-E914-47DA-95CA-C5AB0DC85B11) ),  再转成base64字符串
 887    -------------------------------------------------------------------------------------------------
 888 
 889  3.WebSocket的特点
 890   *1.建立在TCP协议之上,服务器端实现比较容易;
 891   *2.与HTTP协议有着良好的兼容性,默认端口也是80和443,并且握手阶段
 892      采用HTTP协议,因此握手时不容易屏蔽,能通过各种HTTP代理服务器;
 893   *3.数据格式比较轻量,性能开销小,通信高效;
 894   *4.可以发送文本,也可以发送二进制数据;
 895   *5.没有同源限制,客户端可以与任意服务器通信;
 896   *6.协议标识符是ws(如果加密.则为wss),服务器网址就是URL;
 897 
 898  4.数据帧
 899    WebSocket客户端,服务端通信的最小单位是帧(frame),由一个或多个帧组成一条完整的消息(message);
 900     *1.发送端: 将消息切割成多个帧,并发送给服务端;
 901     *2.接收端: 接收消息帧,并将关联的帧重新组装成完整的消息;
 902 
 903  5.连接保持+心跳
 904    WebSocket为了保持客户端,服务端的实时双向通信,需要确保客户端,服务端之间的TCP保持连接没有断开,
 905    然而,对于长时间没有数据往来的连接,如果依旧长时间保持着,可能会浪费宝贵的连接资源,这个时候可以
 906    采用心跳来实现;
 907     *1.发送方-->接收方: ping
 908     *2.接收方-->发送方: pong
 909 
 910     ping、pong的操作,对应的是WebSocket的两个控制帧,opcode分别是0x9,0xA;
 911 
 912  6.关闭连接
 913    一旦发送或接收到Close控制帧,这就是说,_WebSocket 关闭阶段握手已启动,且 WebSocket 连接处于 CLOSING 状态。
 914    当底层TCP连接已关闭,这就是说 WebSocket连接已关闭 且 WebSocket 连接处于 CLOSED 状态。
 915    如果 TCP 连接在 WebSocket 关闭阶段已经完成后被关闭,WebSocket连接被说成已经 完全地 关闭了。
 916 
 917  7.关闭连接的原因状态码
 918 
 919    状态码      名称                                 描述
 920    0999     保留段,                             未使用.
 921    1000   CLOSE_NORMAL            正常关闭; 无论为何目的而创建, 该链接都已成功完成任务.
 922    1001      CLOSE_GOING_AWAY        终端离开, 可能因为服务端错误, 也可能因为浏览器正从打开连接的页面跳转离开.
 923    1002   CLOSE_PROTOCOL_ERROR    由于协议错误而中断连接.
 924    1003      CLOSE_UNSUPPORTED        由于接收到不允许的数据类型而断连(如仅接收文本数据的终端接收到了二进制数据).
 925    1004                            保留. 其意义可能会在未来定义.
 926    1005   CLOSE_NO_STATUS        保留.  表示没有收到预期的状态码.
 927    1006   CLOSE_ABNORMAL        保留. 用于期望收到状态码时连接非正常关闭 (也就是说, 没有发送关闭帧).
 928    1007      Unsupported Data        由于收到了格式不符的数据而断开连接 (如文本消息中包含了非 UTF-8 数据).
 929    1008      Policy Violation        由于收到不符合约定的数据而断连.这是通用状态码,用于不适用1003和1009码的场景.
 930    1009      CLOSE_TOO_LARGE        由于收到过大的数据帧而断开连接.
 931    1010      Missing Extension        客户端期望服务器商定一个或多个拓展, 但服务器没有处理, 因此客户端断开连接.
 932    1011      Internal Error        客户端由于遇到没有预料的情况阻止其完成请求, 因此服务端断开连接.
 933    1012   Service Restart        服务器由于重启而断开连接.
 934    1013   Try Again Later        服务器由于临时原因断开连接, 如服务器过载因此断开一部分客户端连接.
 935    1014                            由 WebSocket 标准保留以便未来使用.
 936    1015      TLS Handshake            保留. 表示连接由于无法完成 TLS 握手而关闭 (例如无法验证服务器证书).
 937    10161999                    由 WebSocket 标准保留以便未来使用.
 938    20002999                    由 WebSocket 拓展保留使用.
 939    30003999                    可以由库或框架使用.不应由应用使用. 可以在 IANA 注册, 先到先得.
 940    40004999                    可以由应用使用.
 941 
 942  8.ajax轮询 与 long poll
 943   1>ajax轮询
 944     原理:让客户端隔个几秒就发送一次请求,询问服务器是否有新信息。
 945 
 946   2>long poll
 947     原理:采取的是阻塞模型(一直打电话,没收到就不挂电话),也就是说,客户端发起连接后,如果没消息,
 948          就一直不返回Response给客户端。直到有消息才返回,返回完之后,客户端再次建立连接,周而复始。
 949 
 950   3>实现支持
 951     ajax轮询 需要服务器有很快的处理速度和资源。(速度)
 952     long poll 需要有很高的并发,也就是说同时接待客户的能力。(场地大小)
 953 
 954   4>WebSocket使用回调,即:你有信息了再来通知我,而不是我傻乎乎的每次跑来问你
 955 
 956 第三章 传输层
 957 (一) 传输层的基本服务
 958  1.传输层功能
 959   1>传输层的核心任务: 应用进程之间提供 端到端的 逻辑通信服务;
 960     只有主机(协议栈)才有传输层; (端口号到端口号)
 961     网络核心中的路由器、交换机、集线器等只用到下三层的功能;(网络层,数据链路层,物理层)
 962     从传输层的角度看,端到端的通信是 应用进程 之间的通信;
 963 
 964   2>传输层功能
 965     *1.对应用层报文进行 分段 和 重组;
 966     *2.面向应用层实现 复用 与 分解;
 967     *3.实现端到端的流量控制;
 968     *4.拥塞控制
 969     *5.传输层寻址
 970     *6.对报文进行差错检测 crc
 971     *7.实现进程间的 端到端 可靠 数据传输控制;
 972 
 973     助记:吩咐刘墉寻差错-可靠
 974          分复流拥寻差错 -可靠传输
 975 
 976  2.传输层寻址与端口
 977   1>一台计算机中,不同应用进程用 进程标识符(进程ID,PID) 来区分;
 978 
 979   2>TCP/IP体系结构网络的解决方法:
 980     在传输层使用协议端口号,通常简称为 端口(port),
 981     在全网范围内利用 "IP地址+端口号" 唯一标识一个通信端点;
 982     应用层和传输层间抽象的协议端口是 软件端口;
 983 
 984   3>传输层端口号:
 985     *0.传输层端口号为16位整数,可编号65536个(2的16次方)
 986     *1.服务器端使用的端口号: 熟知端口号 和 登记端口号;
 987        例如 FTP服务器默认端口号 为 21;
 988            HTTP服务器默认端口号 为 80
 989 
 990     *3.客户端使用的端口号:临时性,在客户进程运行时
 991        由操作系统随机选取唯一的未被使用的端口;
 992 
 993        端口号小于256的端口为 常用端口;
 994        0——1023:        熟知端口号 \
 995                                 服务器端
 996        1024——49151:    登记端口号 /
 997 
 998        49152——65535:客户端口号,或短暂端口号(*3)
 999 
1000  3.无连接服务与面向连接服务(***** 简答题)
1001    +----------------------------------+------------------------------------------+
1002    |          无连接服务(UDP)          |              面向连接服务(TCP)            |
1003    +----------------------------------+------------------------------------------+
1004    |数据传输前:无需与对端进行任何信息交换| 数据传输前:需要双方交换一些控制信息,建立逻辑 |
1005    |直接构造传输层报文段,并向接收端发送; | 连接,然后再传输数据,传输结束后还需要拆除连接;|
1006    +----------------------------------+------------------------------------------+
1007    |           类型于信件通信;         |               类似于电话通信               |
1008    +----------------------------------+------------------------------------------+
1009 
1010 (二)传输层的复用与分解(用)
1011  1.复用与分解
1012   1>多路复用:
1013     在源主机,传输层协议从不同的套接字收集应用进程发送的数据块,
1014     并为每个数据块封装上首部信息(包括用于分解的信息)构成报文段,
1015     然后将报文段传递给网络层;
1016 
1017   2>多路分解
1018     在目的主机,传输层协议读取报文段中的字段,标识出接收套接字,
1019     进而通过该套接字,将传输层的报文段中的数据交付给正确的套接字;
1020 
1021   3>作用
1022     传输层的多路复用与多路分解(分用)可 支持众多 应用进程共用
1023     同一个传输层协议, 并能将接收的数据准确交付给不同应用进程,
1024 
1025  2.UDP(用户数据报协议 User Datagram Protocol)
1026    Internet提供 无连接服务的传输层协议;
1027    UDP将应用层的数据块封装成一个UDP报文段,包括应用数据,源端口号,目的端口号;
1028    UDP套接字二元组:<目的IP地址, 目的端口号>
1029 
1030    UDP套接字分配端口号的两种方法:
1031    1)自动为该套接字分配一个未被使用的端口号(通常从1024~65535中选一个分配);
1032    2)通过调用函数bind(),为该套接字绑定一个特定端口号;
1033 
1034  3.TCP(传输控制协议 Transfer Control Protocol)
1035    Internet提供 面向连接服务的传输层协议;
1036    TCP套接字四元组:<源IP地址, 源端口号, 目的IP地址, 目的端口号>
1037 
1038  4.传输层协议依据 IP地址 和 端口号 实现 多路分解 与 多路复用;
1039 
1040 (三)停等协议与滑动窗口协议
1041  1.可靠数据传输基本原理
1042   1>不可靠传输信道在不可靠性表现:
1043     *1.比特差错: 1001-1000
1044     *2.乱序: 数据块 1,2,4,5,6,3,
1045     *3.数据丢失: 数据块 1,2,5
1046 
1047   2>基于不可靠信道实现可靠数据传输采取的措施
1048     *1.差错检测: 利用差错编码实现数据包传输过程中的比特差错检验;
1049     *2.确认:  接收方向发送方反馈接收状态,ACK(肯定确认); NAK(否定确认)
1050     *3.重传:  发送方重新发送接收方没有正确接收的数据;
1051     *4.序号:  确保数据按序提交;(对数据进行编号,即便不按编号到达,可以按编号提交)
1052     *5.计时器:解决 数据丢失 问题;
1053 
1054   3>传输层实现可靠数据传输的理论协议有 等-停协议 和 滑动窗口协议;
1055 
1056  2.停-等协议(自动重传请求协议ARQ)
1057    *1.工作流程:
1058       ┌────────┐─────────①发送数据,等待确认───────>┌────────┐
1059       │ 发送方 │<─────────②肯定确认/否定确认────────│ 接收方 │
1060       └────────┘──────────③后续数据/重传数据──────>└────────┘
1061 
1062       #1.发送方发送经过差错编码的报文段,等待接收方的确认;
1063       #2.接收方如果正确接收报文段,即差错检测无误且序号正确,
1064          则接收报文段,并向发送方发送ACK,否则丢弃报文段,并向发送方发送NAK;
1065       #3.发送方如果收到ACK,则继续发送后续报文段,否则重发刚刚发送的报文段;
1066 
1067    *2.特点:所需缓冲空间小,但信道利用率低
1068 
1069  3.滑动窗口协议
1070   1>流水线协议(管道协议)
1071     允许发送方在没有收到确认前,连续发送 多个 分组;
1072     最典型的流水线协议: 滑动窗口协议;
1073 
1074   2>流水线协议实现可靠传输需要:
1075     *1.增加分组序号;
1076     *2.协议的发送方和接收方可以缓存多个分组
1077 
1078   3>滑动窗口协议
1079     *1.分组连续编号;
1080     *2.以流水线方式依次发送分组;
1081     *3.接收方接收分组,按分组序号向上有序提交;
1082     *4.通过确认,向发送方通告正确接收的分组序号;
1083        确认只采用ACK,例如,正确接收分组01, 则返回ACK01;
1084     *5.发送方根据收到的ACK的序号以及计时器,重发或继续发送新的分组;
1085 
1086     滑动窗口协议的窗口大小与接收窗口大小之和 小于等于 分组序号空间大小;
1087     即:Ws+Wr≤2^k; 报文段的序号采用k位二进制位串进行编号,其编号空间为:0~2^K-1,共2^k个编号;
1088 
1089   4>滑动窗口协议工作流程图
1090                     发送窗口
1091     发送方 ① ② ③ ④ |5|6|7|8|9| 10 11 12
1092                    已发送 ↓ ↘
1093                         已用 下一个可用序号;
1094     1)发送窗口Ws=5;
1095     2)1,2,3,4(发送窗口左侧)收到ACK;
1096     3)5,6,7,8,9(发送窗口中)当前可以发送的;
1097     4)10,11,12(发送窗口右侧)当前不可以发送的;
1098 
1099                       接收窗口
1100     接收方 ① ② ③ ④ ⑤ ⑥ |7|8|9| 10 11 12
1101     1)1,2,3,4,5,6(接收窗口左侧)正确接收,并提交给协议用户的序号;
1102     2)7,8,9期望接收但未收到;
1103     3)10,11,12 暂时不能接收的;
1104 
1105     注意事项:
1106     1)发送方的发送窗口(Ws):发送方可发送的 未被确认分组 的最大数量;
1107     2)接收方的接收窗口(Wr):接收方可缓存的 正确到达的分组 的最大数量;
1108     3)发送窗口内序号可能存在3种状态:
1109      *1.已用 未被确认序号, 如:5,6,7;
1110      *2.已用且已被确认序号,如:8
1111      *3.可用但尚未使用的序号,如:9;
1112 
1113   5>分类(根据接收窗口的大小)
1114    *1.GBN协议(GO-Back-N) 回退N步协议
1115      1)特点:
1116        #1.发送方(Ws≥1)缓存能力高,可以在没有得到确认前连续发送多个分组;
1117 
1118        #2.接收方(Wr=1)缓存能力很低,只接收1个按序到达的分组,不能缓存
1119           未按序到达 的分组,未按序到达 的分组丢弃,并让发送方重传;
1120 
1121        例如:要收0~7序号分组, 现在收到 0,1,4,7号分组,只接收0,1,再重发2~7;
1122 
1123      2)GBN发送方响应的3类事件:
1124       #1.上层调用,请求发送数据
1125 
1126       #2.收到1个ACKn,GBN采用 累积确认 方式,即当发送方收到ACKn时,
1127          表明接收方已正确接收 序号为n 以及 序号小于n的所有分组;
1128 
1129       #3.计时器超时时,发送方只使用一个计时器,且只对
1130          当前发送窗口的"基序号"指向的分组进行计时;
1131 
1132 
1133     *2.SR协议(Selective Repeat) 选择重传协议:
1134       1)特点
1135         发送方(Ws>1)缓存能力高,可以在未接到确认前连续发送多个分组;
1136         接收方(Wr>1)缓存能力高,对每个正确接收的分组进行 逐个确认,
1137         让发送方仅重传那些 未被确认接收 的分组;
1138 
1139       2)SR发送方响应事件:
1140        #1.上层调用,请求发送数据
1141        #2.定时器超时,SR协议在发送方对每个已发送的分组进行计时;
1142        #3.接收确认: 收到ACKn,SR协议采取 逐个确认 方式
1143 
1144        发送窗口Ws>1,接收窗口Wr>1,发送方重传未被接收方确认的分组;
1145        发送方:|1|2|3| 4 5 6  7 8 9 10
1146        接收方: ① ② ③ |4|5|6| 7 8 9 10 只接收 4 5 6 返回ACK4,ACK5,AKC6
1147        发送方: ① ② ③ |4|5|6| 7 8 9 10 向右滑动
1148        接收方: ① ② ③  ④ ⑤ ⑥ |7|8|9|10 直接收 7 8 9 返回ACK7,ACK8,ACK9
1149 
1150     无论是停-等协议,GBN协议, 还是SR协议,其信道利用率都与发送窗口大小有关:
1151     /**
1152      * 信道利用率:
1153      * Ws:    发送窗口的大小
1154      * t(Seg):发送方发送报文段的时间;
1155      * t(ACK):接收方发送ACK的时间;
1156      */
1157     U(sender)=(Ws•t(Seg))/(t(Seg)+RTT+t(ACK))
1158 
1159 (四)UDP(用户数据报协议 User Datagram Protocol)
1160  0.是Internet传输层协议:提供无连接、不可靠、数据报尽力传输服务;
1161  1.UDP特点
1162    1>应用进程 容易控制 发送什么数据及何时发送,会出现分组的 丢失 和 重复;
1163    2>无需建立连接;
1164    3>无连接状态;
1165    4>首部开销小,只有8个字节;
1166 
1167  2.UDP数据报结构
1168                    0       15          31
1169                    |        |          |
1170    ----------------+-------------------+
1171                    |源端口号 |目的端口号 |
1172         UDP首部    +---------+----------+
1173                    |长度     | 校验和   |
1174    ----------------+-------------------+
1175       UDP数据字段   |   应用层数据占用   |
1176    ------------------------------------+
1177 
1178    UDP首部四个字段:每个字段长度都是2字节,共8个字节。
1179    源端口号和目的端口号:用于UDP实现复用和分解
1180    长度:指示UDP报文段中的字节数(首部和数据的总和)。首部(8个)+数据(应用数据长度);
1181    校验和:接收方使用来检测数据报是否出现差错,没有时全填0,求出校验和后替换;
1182 
1183  3.UDP校验和
1184   1>作用:提供差错检测功能,即检测UDP报文段从 源到目的地传送过程中,数据是否发生了改变;
1185 
1186   2>UDP校验和计算的内容包括3部分: UDP伪首部、UDP首部、应用数据
1187               0           7           15                        31
1188               |           |           |                          |
1189     +---------+--------------------------------------------------+
1190     |         |                    源IP地址                       |
1191     |UDP伪首部 |--------------------------------------------------+
1192     |只用校验和|                   目的IP地址                      |
1193     |不在报文段|--------------------------------------------------+
1194     |         |     全0   | 协议号(17) |        UDP长度           |
1195     +---------+--------------------------------------------------+
1196     |         |          源端口号      |      目的端口号           |
1197     | UDP首部  |--------------------------------------------------+
1198     |         |           长度        |        校验和              |
1199     +-------------------------------------------------------------+
1200     |UDP数据字段| 应用层数据,填充(没有全是0) 16位对齐                 |
1201     --------------------------------------------------------------+
1202 
1203     源IP地址、目的IP地址、协议号: 对应封装UDP数据报的IP分组的字段;
1204     UDP长度字段:是该UDP数据报的字段,该字段参与计算两次(伪首部和首部);
1205     UDP协议号:17;
1206 
1207   3>UDP校验和计算规则
1208    *1.所有参与运算的内容 按 16位 对齐求和;(求数值和)
1209 
1210    *2.求和过程中遇到 溢出(即进位)都被 回卷(即进位与和的最低位再相加),(溢出回卷)
1211       得到的和取反码(1,0互换),就是UDP的校验和,填入UDP数据报的校验和字段;(求反码)
1212 
1213    *3.UDP在生成校验和时,校验和字段全取0,待算出校验和后赋值给UDP首部校验和字段
1214 
1215   4>UDP计算校验和 示例
1216     数值1:0110 0110 0110 0000;
1217     数值2:0101 0101 0101 0101;
1218     数值3:1000 1111 0000 1100;
1219 
1220    *1.第一步: 求3个数的和(16位)
1221        0110 0110 0110 0000
1222      + 0101 0101 0101 0101
1223      = 1011 1011 1011 0101
1224      + 1000 1111 0000 1100
1225      =10100 1010 1100 0001
1226 
1227    *2.第二步: 溢出回卷
1228        0100 1010 1100 0001
1229       +                  1
1230       =0100 1010 1100 0010
1231 
1232    *3.求反码(0变1,1变0)
1233                 0100 1010 1100 0010
1234       按位取反码:
1235       校验和:    1011 0101 0011 1101
1236 
1237 (五)TCP(传输控制协议 Transfer Control Protocol)
1238  1.TCP报文结构(选择,填空)
1239   1>传输控制协议(TCP):Internet传输层协议,提供面向连接、可靠、有序、字节流传输服务;
1240     *1.应用进程先建立连接;(面向连接)
1241     *2.每一条TCP连接只有两个端点;
1242     *3.可靠交付: 无差错, 不丢失, 不重复, 按序到达;
1243     *4.全双工通信  (全双工:通信双方可 同时 传输及接收数据;半双工(对讲机),单工(广播))
1244     *5.面向字节流; 流:字节序列,应用程序和TCP的交互是一个个数据块,TCP把他们看做无结构字节流;
1245 
1246   2>TCP报文结构
1247 
1248               0                        15                        31
1249               |                        |                          | 每行 32位,4字节
1250     +---------+---------------------------------------------------+
1251     |         |       源端口号          │      目的端口号           | 分解复用
1252     |         |--------------------------------------------------+\
1253     |         |      序号(seq) (对每个应用层数据的每个字节进行编号)  |
1254     |         |---------------------------------------------------+
1255     |         |      确认序号(ack_seq)(接收方期望接收客户数据序号)   |   前5行
1256     | TCP首部 |---------------------------------------------------+  固定首部
1257     |         | 首部 | 保留  |U|A|P|R|S|F|                         |  20个字节
1258     |         | 长度 | 占6位 |R|C|S|S|Y|I|        接收窗口          |
1259     |         |单位4B| 全取0 |G|K|H|T|N|N|                         |
1260     |         |---------------------------------------------------+
1261     |         |          检验和          |        紧急指针         |/
1262     |         |---------------------------------------------------+
1263     |         |              选项(长度可变)                | 填充  | 可选首部
1264     +-------------------------------------------------------------+
1265     | TCP数据 |        应用层数据,填充(全是0) 16位对齐               |
1266     --------------------------------------------------------------+
1267 
1268    1)源端口号字段,目的端口号字段:各占16位,用于分解和复用来自或送到上层应用的数据
1269    2)序号字段: TCP的序号是对每个应用层数据的 每一个字节 进行编号;占32位,
1270    3)确认序号字段:接收方 期望 从对方 接收数据的字节,即该序号对应字节尚未收到;占32位,
1271 
1272    4)首部长度:占4位(1111->15: 5~15), 用于指出TCP段的首部长度,以 4字节 为计算单位;
1273      例:首部长度为15,则TCP首部长度为15×4=60字节,固定长度为20字节,数据长度为40字节
1274 
1275    5)保留字段:保留位今后使用,目前值为0; 占6位,
1276 
1277    6)标志位字段(各占1位,共6位,取值0或1)
1278      URG:紧急URG=1,紧急指针字段有效,优先传送;
1279      ACK:确认ACK=1,确认序号字段有效,ACK=0时,确认序号字段无效;
1280      PSH:推送PSH=1,尽快将报文段中的数据交付接收应用进程,不要等缓存满了在交付;
1281      RST:重置RST=1,TCP连接出现严重差错,释放连接,在重新建立TCP连接;
1282      SYN:同步SYN=1,建立新连接请求控制段 或 同意建立新连接的确认段;
1283      FIN:终止FIN=1,TCP报文段的发送端数据已经发送完毕,请求释放连接;
1284 
1285    7)接收窗口字段:向对方通告我方接收窗口的大小,占16位;
1286    8)校验和字段:计算方法与UDP相同,协议号是6,占16位;
1287    9)紧急指针:URG=1时,才有效,指出在本TCP报文段中紧急数据共有多少个字节;
1288    10)选项字段(长度可变):最短为0字节,最长为40个字节;
1289       例如:发送方告诉接收方其缓存能够接收的数据段的最大长度是MSS个字节;//不包括首部
1290       最长报文长度(Maximum Segment Size,MSS):报文段中封装的应用层数据的最大长度(1480);
1291 
1292    11)填充字段:取值全为0,目的是为了整个首部长度是4字节的整数倍;
1293 
1294  2.TCP连接管理(三次握手与四次挥手)
1295   以客户端的一个应用进程与服务器上的一个应用进程建立一条TCP连接为例;
1296 
1297   1>连接建立(三次握手)
1298 
1299      客户端                         服务器
1300                                   ┌───────────┐
1301                                   │  CLOSED   │
1302      ┌────────┐                   ├───────────┤
1303      │ CLOSED │  SYN=1, seq=x     │  LISTEN   │ 第一次握手(SYN段)
1304      └────────┘------------------>│(服务器独有)│
1305      ┌────────┐<------------------├───────────┤
1306      │SYN_SENT│  SYN=1,ACK=1      │           │ 第二次握手(SYNACK段)
1307      └────────┘•seq=y,ack_seq=x+1 │           │
1308                     •             │ SYN_RCVD  │
1309      ┌───────────┐         •      │           │
1310      │ESTABLISHED│ ACK=1,seq=x+1•>├───────────┤ 第三次握手(可携带数据)
1311      └───────────┘ ack_seq=y+1    │ESTABLISHED│
1312                                   └───────────┘
1313 
1314    *1.第一次握手 (发起连接请求):
1315       客户端向服务器发送连接请求报文:SYN报文段(SYN=1,seq=x);
1316       SYN=1:建立连接请求控制段,
1317       seq=x:表示传输的报文段的第1个数据字节的序号是x,
1318       并以此代表整个报文段的序号(sequence number,序号)
1319       客户端进度SYN_SEND(同步发送);
1320       此时服务器知道客户端能发
1321 
1322    *2.第二次握手 (返回确认,同意建立连接):
1323       服务器收到TCP连接请求后,如同意,则返回确认报文段:
1324       (SYN=1,ACK=1,seq=y,ack_seq=x+1)
1325       SYN=1:同意建立新连接的确认段
1326       ack_seq=x+1:表示已经收到了序列号为 x 的报文段,准备接收序列号为 x+1 的报文段。
1327       seq=y:服务器告诉客户确认报文段的第 1 个数据字节的序列号是 y。
1328       服务器由 LISTEN 进入 SYN_RCVD(同步收到)
1329       此时客户端知道服务器能发能收
1330 
1331    *3.第三次握手 (返回确认,建立连接):只有第三次握手可携带收据
1332       客户对服务器的 同意连接报文段 进行确认:
1333       (ACK=1,seq=x+1,ack_seq=y+1)
1334       seq=x+1:客户传输的报文段的第一个数据字节的序列号是 x+1
1335       ack_seq=y+1:客户期望接收服务器序列号为 y+1 的报文段。
1336       当客户端发送ACK时,客户端进入ESTABLISHED(已连接)状态;
1337       当服务器收到ACK时,也进入ESTABLISHED(已连接)状态;
1338       此时服务器知道客户端能收;
1339 
1340    *为什么需要三次握手?
1341     第一次握手:客户发送请求,此时服务器知道客户能发。
1342     第二次握手:服务器发送确认,此时客户知道服务器能发能收。
1343     第三次握手:客户发送确认,此时服务器知道客户能收
1344 
1345   2>连接拆除(四次挥手)
1346 
1347      客户端                                       服务器
1348    ┌───────────┐                              ┌───────────┐
1349    │ESTABLISHED│         FIN=1,seq=u          │           │
1350    ├───────────┤----------------------------->│ESTABLISHED│
1351    │FIN_WAIT_1 │  ACK=1,seq=v,ack_seq=u+1     │           │
1352    ├───────────┤<-----------------------------├───────────┤
1353    │FIN_WAIT_2 │ FIN=1,ACK=1,seq=w,ack_seq=u+1│CLOSE_WAIT │
1354    ├───────────┤<-----------------------------└───────────┘
1355    │ TIME_WAIT │•                             ┌───────────┐
1356    ├───────────┤     •                        │ LAST_ACK  │
1357    │  CLOSED   │ ACK=1,seq=u+1,ack_seq=w+1    └───────────┘
1358    └───────────┘                 •            ┌───────────┐
1359                                               │  CLOSED   │
1360                                             •>└───────────┘
1361   *1.第一次挥手 (客户端发送断开连接请求):
1362     客户端向服务器发送释放连接报文段:(FIN=1,seq=u)
1363     FIN=1:发送端数据发送完毕,请求释放连接;
1364     seq=u:传输的第一个数据字节的序号是u;
1365     客户端状态由ESTABLISHED进入FIN_WAIT_1(终止等待1状态)
1366 
1367   *2.第二次挥手 (服务器确认,数据还没传完,继续发送):
1368     服务器向客户端发送确认段:(ACK=1,seq=v,ack_seq=u+1);
1369     ACK=1:确认字号段有效;
1370     ack_seq=u+1:服务器期望收到数据序号u+1;
1371     seq=v:服务器传输的数据序号v;
1372     服务器状态由 ESTABLISHED状态 进入 CLOSE_WAIT(等待关闭)
1373     客户端状态由 FIN_WAIT_1 进入 FIN_WAIT_2;
1374 
1375   *3.第三次挥手 (服务器数据发送完毕,同意断连):
1376     服务器向客户端发送释放连接报文段:(FIN=1,ACK=1,seq=w,ack_seq=u+1);
1377     FIN=1:请求释放连接;
1378     ACK=1:确认字号段有效;
1379     ack_seq=u+1:服务器期望收到客户数据序号u+1;
1380     seq=w:表示服务器传输的第一个数据字节的序号是w;
1381     服务器状态由 CLOSE_WAIT(等待关闭) 进入 LAST_ACK(最后确认状态);
1382 
1383   *4.第四次挥手 (两端确认断开连接):
1384     客户端向服务器发送确认段:(ACK=1,seq=u+1,ack_seq=w+1);
1385     ACK=1:确认字号段有效;
1386     ack_seq=w+1:表示客户期望接收服务器数据序号为w+11387     seq=u+1:表示客户传输的数据的序号是u+1;
1388     客户端状态由 FIN_WAIT_2 进入TIME_WAIT(等待2MSL时间),进入CLOSED;
1389     服务器在收到最后一次ACK后,由LAST_ACK 进入 CLOSED;
1390 
1391  3.TCP可靠数据传输
1392   1>TCP实现可靠数据传输服务的工作机制:
1393    1)应用层数据被 分割成 TCP认为最适合发送的数据块; (因为数据链路层只能接收1500字节)
1394    2)TCP发出一个段后,启动一个 计时器,等待目的端确认收到这个报文段;
1395    3)TCP首部中设有 校验和字段, 用于检测数据在传输过程中是否发生差错;
1396    4)TCP报文段到目的端可能会失序,TCP会 重新排序;
1397    5)接收端收到重复的报文段,接收端根据序号把重复的报文段 丢弃;
1398    6)TCP提供流量控制;
1399 
1400    文件:6  5  4 3 2 1
1401        12 11 10 9 8 7
1402 
1403    TCP缓存 6 5 4 3 2 1         TCP缓存| | | | |2|1|
14042|1|首部|1405           └─────────────────────────────────┘
1406        发送方                              接收方
1407 
1408    可靠:保证接收方应用进程从缓冲区读出的字节流与发送方发出的字节流是完全一样的;
1409    1)校验:与UDP一样; $1 序号字段指一个报文段第一个字节的序号(图中序号为1);
1410    2)序号:发送方对发送的数据包进行编号,1字节占用1序号,确保数据按序提交给接收方; $1
1411    3)确认:TCP采用累积确认,此时返回确认序号为3; $2
1412    4)差错检测:利用差错编码实现数据报传输过程中的比特差错检测(甚至纠正);
1413    5)快速重传:TCP发送方接收到对相同序号的3次重复ACK,即被重复确认的报文段已丢失,即使无超时,也需重发该报文段;
1414    6)计时器:计时器超时时间的调整,解决数据丢失问题;
1415      超时时间策略:
1416      //超时间隔=抽样RTT的加权移动平均值+4×偏差RTT
1417      TimeoutInterval=EstimatedRTT+4*DevRTT;
1418      //SampleRTT:抽样RTT,指数加权移动平均, α指数加权系数,典型值为0.125;
1419      EstimatedRTT=(1-α)•EstimatedRTT+α•SampleRTT;
1420      //DevRTT:偏差RTT,RTT变化剧烈,网络不稳定,反之稳定; 加权系数β:推荐值0.25;
1421      DevRTT=(1-β)•DevRTT+β•|SampleRTT-EstimatedRTT|
1422      TCP的发送方在规定时间内没有收到确认就要重传已发送的报文;
1423      TCP协议用于控制数据段是否重传的依据是设立重发定时器;
1424 
1425    $2.TCP生成ACK的策略
1426    *1.具有所期望序号的报文段按序到达,所有在期望序号以及之前的报文段都已被确认,TCP延迟500ms发送ACK;
1427       示例:接收方收到1,2,3,且返回对1,2,3的确认,此时4来了,则接收方等待500ms,再返回ACK5
1428 
1429    *2.具有所期望序号的报文段按序到达,且另一个按序报文段在等待ACK传输,TCP接收方立即发送单个累计ACK,
1430       确认以上两个按序到达报文段;
1431       示例:接收方刚刚接收到4,正准备返回ACK5,此时5来了,则接收方返回ACK6;
1432 
1433    *3.拥有序号大于期望序号的失序报文段到达,TCP接收方立即发送重复ACK(3次),指示下一个期望接收字节的序号;
1434       示例:接收方返回ACK5,但6到了,则接收方返回三次重复的ACK5;
1435 
1436    *4.接收一个报文段,部分或完全填充接收数据间隔;
1437       接收方收到1,2,且返回对1,2的确认,后来又收到4,5,6,此时3来了,则接收方返回ACK7;
1438 
1439 
1440 4.TCP流量控制(选择,填空)
1441    流量控制:
1442    *1.协调发送方与接收方的 数据发送 与 接收速度;
1443    *2.在通信过程中,接收方设置报文段的 接收窗口字段 来将窗口大小通知给发送方,实现流量控制;
1444 
1445 5.TCP拥塞控制(综合题)
1446  0>网络拥塞:
1447    太多的主机以太快的速度向网络中发送太多的数据,超出了网络处理能力,
1448    导致大量数据分组拥挤在中间设备队列中等待转发,网络性能显著下降的现象;
1449 
1450  1>拥塞控制:
1451     通过合理调度,规范,调整向网络中发送数据的 主机数量、
1452     发送速率、数据量 以避免拥塞或消除已发生的拥塞;
1453     拥塞窗口:在连接建立时发送方一次可以发送几个分组,窗口大小随RTT的变化而变化;
1454 
1455  2>拥塞控制的算法:
1456    *1.慢启动
1457    *2.拥塞避免
1458    *3.快速重传
1459    *4.快速恢复
1460 
1461     窗口大小(MSS)
1462        ↑                     窗口大小值
1463      24|1464      22|1465      20|               •      拥塞避免阶段
1466      18|           •  阈值之后的阶段称为 拥塞避免阶段,
1467      16|阈值     •    每经过一个RTT,拥塞窗口大小增加加1MSS;
1468      14|1469      12|1470      10|      •                          窗口机制
1471       8|     •   ↖                      阈值(Threshold):临界值;初始值一般为:16MSS
1472       6|    •   慢启动阶段                拥塞窗口(CongWin):初始值为1MSS; 1个最大报文段长度;
1473       4|  • 阈值之前的阶段称为 慢启动阶段,  |1|2 3 4 5 6 7 8 9 10 拥塞窗口,初始值为1;
1474       1•   每经过一个RTT,拥塞窗口大小加倍; 1|2|3|4 5 6 7 8 9 10 经过RTT时间,窗口增大一倍;
1475       0------------------------------>时间(RTT)
1476         1  2  3  4 5 6 7 8 9 10 11 12
1477 
1478 
1479  3>拥塞判断与窗口调节
1480   1)三次重复确认(报文段丢失)
1481    *0.收到三次重复确认,可判定拥塞不严重;
1482    *1.快速重传:
1483      接收端收到3次重复确认,则推断被重复确认的报文段已丢失,则立即发送被重复确认的报文段;
1484 
1485    *2.快速恢复:
1486      当发生3次重复确认时,不再重新从慢启动阶段开始,而是直接从新阈值开始,直接进入拥塞避免阶段;
1487      操作:
1488      新阈值(12)=当前窗口(24)的一半,
1489      新拥塞窗口=新阈值=12;
1490      从拥塞避免阶段开始增加窗口数量;
1491 
1492     窗口大小
1493      (MSS)
1494 1495      24|1496      22|1497      20|               •          •
1498      18|           •   拥塞避免阶段   新阈值
1499      16|阈值     •                  •         •
1500      14|        •                        •
1501      12|新阈值 •                      • 拥塞避免阶段
1502      10|1503       8|     •   慢启动阶段
1504       6|1505       4|1506       11507       0------------------------------------------------------------>时间(RTT)
1508         1  2  3  4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
1509 
1510   2)计时器超时(报文段丢失)
1511     计时器超时时,可判定发生拥塞,且拥塞严重;
1512     操作:
1513     发生计时器超时时,新阈值是当前拥塞窗口的一半;
1514     新拥塞窗口大小下降为1MSS;
1515     新阈值(12)=当前拥塞窗口(24)的一半,
1516     新拥塞窗口=1
1517     然后再从慢启动阶段、拥塞避免阶段增加窗口数量;
1518     慢启动:1~12:1,2,4,8,12;
1519     拥塞避免阶段:13,14,...;
1520 
1521     窗口大小
1522      (MSS)
1523 1524      24|1525      22|1526      20|               •          •
1527      18|           •   拥塞避免阶段
1528      16|阈值     •                •             •
1529      14|        •                •         •  拥塞避免阶段
1530      12|新阈值 •                  •     •
1531      10|      •                  •     •
1532       8|     •   慢启动阶段       •    •
1533       6|    •                    •   • 慢启动阶段
1534       4|  •                      • •
1535       1•                         • 1MSS
1536       0------------------------------------------------------------>时间(RTT)
1537         1  2  3  4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
1538 
1539   3)窗口调整的基本策略AIMD(Additive Increase,Multiplicative Decrease)
1540     *1.网络未发生拥塞时,逐渐"加性"增大窗口;
1541     *2.网络拥塞时"乘性"减小窗口;
1542 
1543   4)拥塞控制的分类
1544     *1.拥塞消除策略:先拥塞检测,再采取措施;
1545     *2.拥塞预防策略:流量整形技术,规范主机向网络发送数据的流量
1546 
1547   示例:下图是某通信过程中拥塞窗口RTT的变化过程,请回答如下问题:
1548     窗口大小
1549      (MSS)                    1)在第一个慢启动阶段拥塞窗口的阈值是多少? 答:阈值为:16MSS;
15502)说明该过程中哪些时间段为慢启动阶段? 0-4RTT和17-20RTT;
1551      22|                   •  3)第10个RTT时,发生了什么事件? 答:三次重复确认事件;
1552      21|                 •  • 4)第16个RTT时,发生了什么事件? 答:计时器超时事件;
1553      20|1554      19|             •       •
1555      18|1556      17|         •            •               •
1557      16|       •               •           •   •
1558      15|                       •        •       •
1559      14|      •                •     •          •
1560      13|      •                •  •             •
1561      12|      •                •                •                     •
1562      11|      •                                 •                  •
1563      10|      •                                 •               •
1564       9|      •                                 •            •
1565       8|     •                                  •         •
1566       7|                                        •         •
1567       6|    •                                   •        •
1568       5|                                        •       •
1569       4|   •                                    •      •
1570       3|  •                                     •    •
1571       2| •                                      •  •
1572       1•                                        •
1573       0--------------------------------------------------------------------> 时间(RTT)
1574          1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
1575 
1576   例2.图展示了TCP Reno 拥塞控制算法中拥塞窗口的变化情况,请参照该示意图回答一下问题;
1577 
1578      cwnd
1579        ↑         A
1580        |         •           C
1581        |        • ⊹          ⊹           E
1582        |       •  ⊹    ⊹     •        •  •               ⊹
1583        |      •  B⊹          •   •       ⊹    G    ⊹
1584        | S   •             D •           ⊹    ⊹
1585        |   •                             ⊹   ⊹
1586        •                                F⊹
1587        └--------------------------------------------->time
1588 
1589      1)图中SA、BC 和 FG分别是拥塞控制中的哪个阶段?
1590        答:SA:慢启动阶段, BC:拥塞避免阶段, FG:慢启动阶段;
1591 
1592      2)结点A、C、E、G处引起cwnd变化的原因分别是什么?
1593        答:A和C:发生三次重复确认事件,分组丢失,执行快速恢复算法;
1594           E:发生计时器超时事件,未收到分组,执行慢启动算法;
1595           G:达到了拥塞窗口的阈值,改变阈值增大策略,即将开始执行拥塞避免算法;
1596 
1597      3)若图中A和C处的高度是一样的,那么B和D两点的阈值有什么关系?
1598        答: B点与D点阈值相等
1599 
1600      4)假设这个网络中只存在一个TCP连接,这个TCP连接的速度是否仍要不停地改变?
1601        答:需要不停改变,由于网络拥塞普遍存在,需要要实施拥塞控制,所以TCP连接的速度仍需视情况不断改变;
1602 
1603 第四章 网络层
1604 (一)网络层服务
1605  0.网络层是网络核心的最高层,是实现大型网络互连的关键,是网络体系结构中最重要的一层;
1606 
1607  1.网络层 核心任务
1608    将数据从源主机送达目的主机;
1609 
1610  2.网络层 主要功能(转路连)
1611    1>转发
1612      路由器在收到IP数据报时,会利用IP数据报的目的IP地址检索匹配路由表,如果路由表中没有匹配成功的路由项
1613      则通过默认路由对应的接口转发该IP数据报,如果除默认路由外,有一条路由项匹配成功,则选择该路由项对应的
1614      接口转发该IP数据报,如果除默认路由外,有多条路由项匹配成功,则选择 网络前缀匹配成功位数最长 的路由项,
1615      通过该路由项指定接口转发该IP数据报;
1616 
1617    2>路由选择
1618      当分组从源主机流向目的主机时,必须通过某种方式决定分组经过的路由或路径;
1619 
1620    3>连接建立
1621      网络层连接是从源主机到目的主机经过的一条路径,这条路径所经过
1622      的每个路由器等网络设备都要参与网络层连接的建立;
1623 
1624                       路由选择
1625       输入端口            ↕           输入端口
1626    -> |1|2|3| ->       转发表      -> |1|2|3| ->
1627                   目的地址|输出链路
1628       ......        地址1    3
1629                     ...     ...
1630                     地址4    1
1631     -> |4|5|6| ->     路 由 器     -> |4|5|6| ->
1632                         转发
1633 
1634 (二)数据报网络与虚电路网络
1635  0.根据是否在网络层提供连接服务,分组交换网络可分为:
1636    在网络层提供连接服务的 虚电路网络(Virtual-Circuit,VC);
1637    在网络层提供无连接服务的 数据报网络(datagram network);
1638 
1639  1.数据报网络(无连接服务)
1640    1>数据报网络是指 按照 目的主机地址 进行路由选择的网络;
1641      源主机每发送一个分组,就为该分组加上 目的主机地址, 然后将该
1642      分组推进网络,每个路由器使用分组的 目的主机地址 来转发该分组;
1643 
1644  2.虚电路网络
1645    1>虚电路(virtual circuit,VC):
1646      是指源主机到目的主机的一条路径上建立的一条网络层逻辑连接;
1647 
1648    2>虚电路网络:
1649      指在网络层提供面向连接的分组交换服务,双方通信前先虚电路建立连接,通信结束后在拆除连接;
1650 
1651    3>一条虚电路由3个要素构成:
1652      1)从源主机到目的主机之间的一条路径(一系列的链路和分组交换机)
1653      2)该路径上的每条链路的 虚电路标识(VCID)
1654      3)分组交换机的转发表中记录虚电路标识的 接续 关系;
1655         |输入接口|输入VCID|输出接口|输出VCID|
1656 
1657    4>数据报网络 与 虚电路网络 对比表
1658      +-----------+-------------------------+---------------------------+
1659      |   项目    |        虚电路网络        |        数据报网络          |
1660      +-----------+-------------------------+---------------------------+
1661      |是否建立连接|        先建立连接        |        不建立连接          |
1662      +-----------+-------------------------+---------------------------+
1663      |   地址    |每个分组含有一个短的虚电路号|每个分组包含源地址和目的端地址| 源IP地址, 目的IP地址
1664      +-----------+-------------------------+---------------------------+
1665      |  分组顺序  |  按序发送, 按序接收      |  按序发送, 不一定按序接收    |
1666      +-----------+-------------------------+---------------------------+
1667      |  路由选择  | 建立VC时需路由选择,之后  |   每个分组独立路由选择       |
1668      |           | 所有分组均沿此路由转发;   |                           |
1669      +-----------+-------------------------+---------------------------+
1670      |  典型网络  |   X.25、帧中继、ATM      |    因特网(Internet)       |
1671      +-----------+-------------------------+---------------------------+
1672      *.ATM网络在信元交换前必须建立 虚拟 连接;
1673 
1674 (三)网络互连与网络互连设备
1675  1.异构网络互连
1676   1>异构网络:
1677     主要是指两个网络的通信技术和运行的协议不同,例如:WiFi和网线;
1678 
1679   2>实现异构网络互连的基本策略(协议转换 和 构建虚拟互联网络)
1680    *1.协议转换:
1681       采用一类支持异构网络之间协议转换的网络中间设备,
1682       来实现异构网络数据分组的转换与转发;
1683       例如:交换机或 多协议路由器;
1684 
1685    *2.构建虚拟互联网络
1686       在异构网络的基础上构建一个同构的虚拟互联网络;
1687 
1688    3>实现 同构网络 互连的典型技术: 隧道技术;
1689 
1690  2.路由器
1691   1>最典型的网络层设备
1692     具有多个输入端口 和 多个输出端口的专用计算机,
1693     主要任务就是 获取与维护 路由信息 以及 转发分组;
1694 
1695   2>路由器从功能体系结构角度(输入,输出,交换,处理):
1696     *1.输入端口:查找,转发,到达分组 缓存排队功能;
1697                线路端接收信号->数据链路处理(协议封装)->查找,转发排队->交换结构;
1698 
1699     *2.交换结构:完成具体的转发工作,将输入端口的IP数据报交换到指定的输出端口;
1700                主要包括: 基于内存交换(性能低,价低),
1701                         基于总线交换(独占式),
1702                         基于网络交换(性能高,价高);
1703 
1704     *3.输出端口:缓存排队,从队列中取出分组进行数据链路层数据帧的封装,发送;
1705                1.先到先服务(FCFS)调度策略;(通常)
1706                2.优先级调度,按IP数据报的服务类型调度;
1707                交换结构->排队,缓存管理->数据链路处理(协议封装)->线路端接->
1708 
1709     *4.路由处理器: 1)执行命令, 2)路由协议运行, 3)路由计算以及路由表的更新和维护
1710 
1711 
1712 (四)网络层拥塞控制
1713  1.网络拥塞(选择,填空)
1714   1>拥塞:
1715     一种持续过载的网络状态,用户对网络资源(包括链路带宽、
1716     存储空间和处理器处理能力等)的总需求 超过了网络固有的容量;
1717 
1718     吞吐量吞吐量
1719       ↑                     |               响应时间
1720     Q2|---------------------•                   ↑                     •
1721       |                 •   |•                  |1722       |             •       | •                 |1723       |       |  •          |  •                |1724     Q1|-------•             |   •               |         |       |1725       |      •|             |    •              |         |       |1726       |     • |             |     •           t2|-----------------1727       |    •  |             |      •            |         |     • |
1728       |   •   |             |       •           |         |   •   |
1729       |  •    |             |        •        t1|---------•       |
1730       | •     |             |         •         |     •   |       |
1731       |•      |             |          •        | •       |       |
1732       0-------┴-------------┴-----------•-->    0---------┴-------┴---------->
1733              膝点          崖点            负载           膝点    崖点        负载
1734 
1735   2>网络负载在 膝点 附近时,吞吐量 和 分组平均延迟达到理想的平衡,网络的使用率最高;(t1=t2, Q1(膝点)>Q2(崖点))
1736 
1737   3>发生拥塞的原因(三有限,一故障)
1738     *1.缓冲区容量有限;
1739     *2.传输线路的带宽有限;
1740     *3.网络结点的处理能力有限;
1741     *4.网络中某些部分发生了故障;
1742 
1743   4>网络层拥塞控制措施(4条)(选择填空)
1744     *1.流量感知路由:
1745        网络抽象为一张带权无向图,路由器抽象为图的结点,链路抽象为图的边,每一条链路有自己的链路费用
1746        权值根据网络负载动态调整,则可将网络流量引导到不同的链路上,均衡网络负载,从而延缓或避免拥塞的发生;
1747                          区域一             区域二
1748                          ┌───────────┐  ┌─────────┐
1749                          │      B.   │  │         │
1750                          │     / |  .│10│         │
1751                          │    /  |   │  .         │  带权无向图
1752                          │   A   |   │  │   .E    │ 时延小=权值小
1753                          │     \ |   │  │   /  \  │
1754                          │       C---+--+--D   F  │
1755                          └───────────┘20└─────────┘
1756 
1757     *2.准入控制: 是对新建虚电路审核,如果新建立的虚电路会导致网络变得拥塞,那么网络拒绝建立新虚电路;
1758 
1759     *3.流量调节: 在网络拥塞时,可以通过调整发送方的发送数据的速率来消除拥塞; ICMP报文↓
1760                 抑制分组:感知到拥塞的路由选择一个被拥塞的数据报,给该数据报的源主机返回一个抑制分组;
1761                 背压: 抑制分组在从拥塞结点到源结点的路径上的每一跳(结点间直接链路),都发挥抑制作用;
1762 
1763     *4.负载脱落: 通过有选择地主动 丢弃一些数据报,来减轻网络负载,从而缓解或消除拥塞;
1764                 从最大的开始丢,例如 |6|5|4|3|2|1| 先丢6;
1765   简述网络拥塞解决的两个方面
1766   +--------------------+-----------------------------------------------------------------------+
1767   |增加网络资源(拥塞预防)| 在网络出现拥塞前为网络中的各个结点分配更多可用的资源,从而降低拥塞出现的可能性|
1768   +--------------------+-----------------------------------------------------------------------+
1769   |减小网络负载(拥塞消除)| 指在网络中已出现负载大于资源的情况下,通过减小当前网络的负载劳实现对拥塞的消除|
1770   +--------------------+-----------------------------------------------------------------------+
1771 
1772   流量控制和拥塞控制的区别
1773   +-------+----------------------------------------------+--------------------------------------+
1774   |拥塞控制|考虑系统间的网络环境,使网络负载不超过网络传送能力 |确保网络能够承载所到达的流量            |
1775   +-------+----------------------------------------------+--------------------------------------+
1776   |流量控制|考虑接收端数据接收处理能力,使发送速率不超过接收能力|只与特定的发送方和接收方间的点到点流量有关|
1777   +-------+----------------------------------------------+--------------------------------------+
1778 
1779 (五)Internet网络层
1780  0.Internet网络层主要协议
1781    1>网际协议(Internet Protocol,IP)
1782    2>路由协议
1783    3>互联网控制报文协议(Internet Control Message Protocol,ICMP)
1784 
1785  1.IPv4协议(网络层最核心的协议)
1786    1>定义了如何封装上层协议(如UDP、TCP)的报文段;
1787      定义了Internet网络层寻址(IP地址)以及如何转发IP数据报等内容;
1788      IP目前前两个版本:IPv4(32位) 和 IPv6(128位);
1789 
1790      IP对输入数据报的处理分为主机对数据报的处理和网关对数据报的处理;
1791 
1792    2>IPv4数据报格式
1793     ┌-----------------------------32位----------------------------1794     |-------------------------------------------------------------+
1795     |版本(4位)|首部长度(4位)|区分服务(8)|      数据报长度(16位)      |4B\
1796     |-------------------------------------------------------------+   |
1797     |          标识(16位)           |标志(3位)|    片偏移量(13位)   |4B |
1798     |-------------------------------------------------------------+   |
1799     | 生存时间(8位)  | 上层协议(8位) |        首部检验和(16位)       |4B  >固定首部20字节
1800     |-------------------------------------------------------------+   |
1801     |                        源IP地址(32位)                        |4B |
1802     |-------------------------------------------------------------+   |
1803     |                        目的IP地址(32位)                      |4B/
1804     |-------------------------------------------------------------+
1805     |                       选项(可选,长度可变)                     |40B 可选首部
1806     +-------------------------------------------------------------+
1807     |                              数据                            | 传输层报文段
1808     +-------------------------------------------------------------+
1809     *1.版本号(4位):IPv4(32位)、IPv6(128位);
1810     *2.首部长度(4位):20B-60B(字节), 单位 4字节
1811     *3.分区服务(8位):在旧标准中成服务类型(Type of Service,TOS) 用来指示期望获取那种类型服务;
1812     *4.数据报长度(16位):指出IP数据报的总字节数;(首部+数据)
1813     *5.生存时间(8位):表示IP数据报在网络中可以通过的路由器数(跳步数);TTL
1814     *6.上层协议(8位):指示该IP数据报封装的是哪个上层协议: TCP:6, UDP:17;
1815     *7.首部校验和(16位):利用校验和对IP数据报 首部 进行差错检测; (求和,溢出回卷,取反码)
1816     *8.源IP地址(32位):发出IP数据报源主机的IP地址,
1817     *9.目的主机地址(32位):IP数据报需送达的主机IP地址;
1818     *10.选项:长度可变;
1819     *11.数据:存放IP数据报所封装的传输层报文段;
1820 
1821     *12.标识(16位):
1822         标识一个IP数据报,每产生一个IP数据报,IP协议的计数器加1; 1号IP数据报  分片1 分片2
1823         在IP数据报 分片 和 重组 过程中用于标识属于同一IP数据报,2号IP数据报  分片1 分片2
1824         该字段不可唯一标识一个IP数据报; 要(主机IP+目的主机IP+标识位)
1825     *13.标志(3位):其结构如下:
1826          1 2 3
1827         ┌-┬-┬-┐ DF(Don\'t Fragment):禁止分片标志: DF=0,MF=0:是一个分片,且是最后一片,
1828         | |D|M| DF=0,允许分片, DF=1,禁止分片;    DF=0,MF=1;表示是一个分片,且不是最后一片;
1829         | |F|F| MF(More Fragment):更多分片标志; DF=1,MF=0;没有分片
1830         └-┴-┴-┘ MF=0,未被分片 或 分片的最后一片, MF=1,一定是分片,且不是最后一个;
1831 
1832     *14.片偏移量:
1833         以8B(8字节)为单位,表示一个IP数据报分片与原IP数据报数据的相对偏移量;
1834         该字段值为0时,且MF=1,则表示这是一个IP分片,且是第一个分片;
1835 
1836  3>IP数据报分片
1837    *1.最大传输单元(Maximum Transmission Unit,MTU):
1838       数据链路层帧能承载的最大数据量;(网络层要将传输层的数据报 先分组 再分片);
1839 
1840    *2.IP数据报分片的原则
1841       #1.尽可能少分片;
1842       #2.一个最大分片可封装的数据字节数是8的倍数;
1843          每个分片的标识字段复制原IP数据报的标识字段
1844          MF标志位,除了最后一个分片为0外,其余分片全为1;
1845 
1846    *3.IP数据报分片的相关计算
1847       原数据IP报总长度为 L字节,待转发链路的MTU为 M字节;
1848       最大分片封装的数据长度: d=⌊(M-20)/8⌋×8
1849       分片总数: n=⌈(L-20)/d⌉
1850       每个分片片偏移字段取值: Fi=d/8×(i-1),1≤i<n;
1851                            ╭d+20,1≤i<n
1852       每个分片的总长度: Li=<
1853                            ╰L-d×(n-1),i=n
1854 
18551,1≤i<n
1856       每个分片的MF字段: MFi=<
18570,i=n
1858 
1859       通过PingPlotter 工具发送一个总长度为3400字节的IP数据报,
1860       通过MTU=1500字节的链路转发,试求以下内容:
1861       第1步:每片最多可以封装多少字节的数据;
1862             分片包括两个部分内容(首部+数据):首部:20,数据:1500-20=1480字节
1863       第2步:分片数
1864             一片可封装的数据字节数为:1500-20=1480字节   |首部|  1  |  2  | 3 |
1865             IP数据报的总长度:3400字节(首部+数据)              /      |     \
1866             IP数据报的数据长度:3400-20=3380字节        |首部|1|  |首部|2|  |首部|3|
1867             分片数: 3380/1480=2.28向上取正,取 3
1868 
1869       第3步:标志位: DF:0 分片, MF=0(最后一片) 其余为1;
1870 
1871       第4步:片偏移量(单位为8字节)
1872             第1片:0/8=0; 第2片:1480/8=185; 第3片:2960/8=370
1873      +-------+------------+-----+--------+-------------------------+
1874      |  片   | 总长度/字节 |偏移量| MF标志 |封装原IP数据报中数据的字节流|
1875      +-------+------------+-----+--------+-------------------------+
1876      | 第1片 |    1500    |  0   |   1   |    1480字节(0-1479)      |
1877      +-------+------------+------+-------+-------------------------+
1878      | 第2片 |    1500    | 185  |   1   |    1480字节(1480-2959)   |
1879      +-------+------------+------+-------+-------------------------+
1880      | 第3片 |    440     | 370  |   0   |     420字节(2960-3379)   |
1881      +-------+------------+------+-------+-------------------------+
1882               3440=3个首部(20字节)+数据;          3380
1883 
1884    例2:发送一个总长度为5000字节的IP数据报,通过MTU=1500字节的链路转发,
1885        求:分片;每片总长度; DF、MF标志;封装原数据报中的字节数;片偏移量;
1886       1) 一个分片可装的最大字节数: MTU-首部=1500-20=1480字节;
1887          IP数据报的数据总长度: 5000-20=4980字节
1888          分片数:n=⌈4980/1480⌉=4;
1889 
1890       2)每片总长度分别为:
1891         第1片:1500字节;   第2片:1500字节;
1892         第3片:1500字节;   第4片:560字节;
1893 
1894       3)DF1=0,MF1=1;  DF2=0;MF2=1;  DF3=0,MF3=1;  DF4=0,MF4=0;
1895 
1896       4)每片封装原数据报中的字节数分别为:
1897         第1片:1480字节;   第2片:1480字节;
1898         第3片:1480字节;   第4片:540字节;
1899 
1900       5)第1片偏移量:0/8=0;      第2片偏移量:1480/8=185;
1901         第3片偏移量:2960/8=370; 第4片:偏移量:4440/8=555;
1902      +-------+------------+-----+------+------+--------------------------+
1903      |  片   | 总长度/字节 |偏移量|DF标志|MF标志 |封装原IP数据报中数据的字节流|
1904      +-------+------------+-----+------+------+--------------------------+
1905      | 第1片 |    1500    |  0  |   0  |   1   |    1480字节(0-1479)      |
1906      +-------+------------+-----+------+-------+-------------------------+
1907      | 第2片 |    1500    | 185 |   0  |   1   |    1480字节(1480-2959)   |
1908      +-------+------------+-----+------+-------+-------------------------+
1909      | 第3片 |    1500    | 370 |   0  |   1   |    1480字节(2960-4439)   |
1910      +-------+------------+-----+------+-------+-------------------------+
1911      | 第4片 |    560     | 555 |   0  |   0   |     540字节(4440-4979)   |
1912      +-------+------------+-----+------+-------+-------------------------+
1913 
1914    *路由器进行IP数据报分片后,目的主机在重组分片时,用到的字段不包括 首部长度字段
1915    *4.IP数据报分片在目的主机重组:
1916      1)根据各片首部的标识字段来判断这些分片是否属于同个IP数据报,同个IP数据报分出来的IP分片具有相同的标识字段;
1917      2)目的主机通过各分片首部的标志字段,可以判断某个分片是否是最后一个分片;
1918      3)目的主机根据各分片的片偏移字段,判断IP分片的先后顺序,综合每个IP分片首部的数据报长度字段,判断是否缺少分片;
1919 
1920  例题:已知IPv4数据报第1个字节和数据报长度字段内容分别为16进制数 45H 和 3FCH,求该数据报封装的数据长度;
1921       封装数据长度=数据报总长度-首部长度(20字节)=(3×16²+15×16+12)-20
1922                  =768+240+12-20=1200-20=1000字节
1923                  
1924  2.IPv4编址
1925   1>IPv4地址的长度为32位,共有2^32个不同的IP地址,约为43亿个;
1926 
1927   2>IPv4地址192.168.1.101的三种标记方式:
1928     +-------------------+-------------------------------------+
1929     |        方法       |             表示方式                 |
1930     +-------------------+-------------------------------------+
1931     |    二进制标记法    | 11000000 10101000 00000001 01100101 |
1932     +-------------------+-------------------------------------+
1933     |  点分十进制标记法  |          192.168.1.101              |
1934     +-------------------+-------------------------------------+
1935     |    十六进制标记法  |         0xC0A80165                  |
1936     +-------------------+-------------------------------------+
1937 
1938   3>IP地址分配
1939     具有3个接口的路由器,通过两台交换机,互连了6台主机;
1940     IP子网:三台主机+路由器左侧接口;               子网地址:203.1.1.0
1941     主机A: 203.1.1.2───────────┐     203.1.1.1  路由器接口地址:203.1.1.1
1942     主机B: 203.1.1.3──────────交换机─── 路由器   主机地址: 203.1.1.2
1943     主机C: 203.1.1.4───────────┘                         203.1.1.3
1944           |IP前缀|                                       203.1.1.4
1945 
1946     主机划分为两个部分
1947     1)前缀(prefix):即网络部分(NetID) 用于描述主机所归属的网络范围;
1948        分类地址: 定长前缀,
1949        无类地址:前缀长度可变    网络位(前缀) 主机位(后缀)
1950     2)后缀(Postfix),即主机部分(HostID)用于表示主机在网络中的唯一地址;
1951 
1952     3)分类地址(定长前缀)
1953        +----+----------+-------------------------------------+----------+-----------+
1954        | 类 |  前缀长度 |                 前缀                 |  首字节  |  分类寻址  |
1955        +----+----------+--------------------------------------+---------+-----------+
1956        |  A |   8位    |               0xxxxxxx               |  0-127  |主机或路由器|
1957        +----+----------+--------------------------------------+---------+-----------+
1958        |  B |   16位   |          10xxxxxx xxxxxxxxx          | 128-191 |主机或路由器|
1959        +----+----------+--------------------------------------+---------+-----------+
1960        |  C |   24位   |     110xxxxx xxxxxxxxx xxxxxxxxx     | 192-223 |主机或路由器|
1961        +----+----------+--------------------------------------+---------+-----------+
1962        |  D |  不可用  | 1111xxxx xxxxxxxxx xxxxxxxxx xxxxxxxxx| 224-239| 组广播地址 |
1963        +----+----------+--------------------------------------+---------+-----------+
1964        |  E |  不可用  | 1111xxxx xxxxxxxxx xxxxxxxxx xxxxxxxxx| 240-255 |    保留   |
1965        |    |          |              xxxxxxxxx               |         |           |
1966        +----+----------+--------------------------------------+---------+-----------+
1967 
1968        *1.IP地址中:
1969          前缀中的后几位:表示网络地址个数;   (网络范围)
1970          后缀位数:表示这类网络中的IP地址总数 (主机数)
1971          +--+-----+----+-------+--------+--------------------+
1972          |类| 前缀| 固定|前缀中后| 网络地址|  每个类网IP地址总数 |
1973          +--+-----+----+-------+--------+--------------------+
1974          |A |  8  | 0  |  7位  |2^7=128个|   2^24个(主机数)   |
1975          +--+-----+----+-------+--------+--------------------+
1976          |B | 16  |10  | 14位  | 2^14个  |   2^16个(主机数)   |
1977          +--+-----+----+-------+--------+--------------------+
1978          |C | 24  |110 | 21位  | 2^21个  |   2^8个(主机数)    |
1979          +--+-----+----+-------+--------+--------------------+
1980 
1981        *2.特殊地址(用途特殊的IP地址)
1982          +------+---------+---------+---------+-----------------------------+
1983          |Net ID| Host ID | 作为IP数|作为IP数据|           用途               |
1984          |      |         |据报源地址|报目的地址|                             |
1985          +------+---------+---------+--------+------------------------------+
1986          | 全0  |   全0   |  可以    | 不可以 |在本网范围表示主机,在路由表是路由 |
1987          +------+---------+---------+--------+------------------------------+
1988          | 全0  |  特定值  |  可以    | 不可以 |     表示本网内某个特定主机     |
1989          +------+---------+---------+--------+------------------------------+
1990          | 全1  |   全1   |  不可以  |  可以  |         本网广播地址          |
1991          +------+---------+---------+--------+------------------------------+
1992          |特定值|   全0   |  不可以  | 不可以  |        表示一个网络           |
1993          +------+---------+---------+--------+------------------------------+
1994          |特定值|   全1   |  不可以  |  可以   |  对特定网络上的所有主机进行广播 |
1995          +------+---------+---------+--------+------------------------------+
1996          | 127  |非全0或非全1| 可以  |  可以   |用于本地软件环回测试,称为环回地址|
1997          +------+---------+---------+--------+------------------------------+
1998 
1999        *3.私有地址:除特殊地址外,还有部分分类地址用于内部网络使用,但不能在公网上使用;
2000          +-------------+------------------------------------------------+
2001          | 私有地址类别 |                    范围                         |
2002          +-------------+------------------------------------------------+
2003          |     A类     |     10.0.0.0——10.255.255.255(或10.0.0.0/8)    |
2004          +-------------+------------------------------------------------+
2005          |     B类     |   172.16.0.0——172.31.255.255(或172.16.0.0/12) |
2006          +-------------+------------------------------------------------+
2007          |     C类     | 192.168.0.0——192.168.255.255(或192.168.0.0/16)|
2008          +-------------+------------------------------------------------+
2009 
2010     4)无类地址(前缀长度可变)
2011       在无类寻址方案中,不存在如分类寻址中的网络类别,网络前缀不再被设计为定长的
2012       8位、16位、24位,而是变为可以是0-32位的任意值; 网络书写形式:a.b.c.d/x;
2013       例如:203.1.1.0/24, (/24后缀)主机位有24个,这种地址形式称为无类域间路由(CIDR);
2014       例如: 10.0.0.0/8 表示的IP地址范围是 10.0.0.0~10.255.255.255
2015     5)子网划分
2016       *1.子网化:将一个较大的子网划分为多个较小子网的过程;(大变小)大子网表示主机位(后缀)多
2017       *2.超网化:将具有较长前缀的相对较小的子网合并为一个具有稍短前缀的相对较大的子网;(小变大)
2018       *3.子网掩码:32位; 对应网络前缀,全是1, 其余位(主机部分),全是0;   (超网化是子网化的逆过程)
2019          例如:子网213.111.0.0/24的子网掩码为:255.255.255.0;(子网掩码中1的个数,确定子网前缀是几位);
2020 
2021       *4.综合题:
2022          已知子网中某主机地址和子网掩码,就可以计算出子网地址,子网广播地址,IP地址总数和可分配IP数
2023          #1.子网掩码和主机地址 按位与 运算可得出 子网地址;
2024             与运算: 0&0=0 0&1=0; 1&0=0; 1&1=1;
2025 
2026          #2.子网掩码的反码 与 主机地址 按位或 运算可得出 直接广播地址;
2027             反码: 1────0;0────1;
2028             或运算: 0|0=0; 0|1=1; 1|0=1; 1|1=1;
2029 
2030          #3.IP地址总数
2031             IPv4地址共32位, 分为网络位(前缀)+主机位(后缀);
2032             通过子网掩码可以确定网络位(子网掩码中1的个数),
2033             则主机位 = 32-网络位,IP地址总数:2^(主机位);
2034 
2035          #4.可分配IP地址总数                                    ┌────IP地址总数─────┐
2036             在IP地址总数中分配 一个子网地址 和 一个直接广播地址    |        |         |
2037             所有可分配地址总数: IP地址总数-2;                    头    可分配IP     尾
2038             可分配地址范围: (子网地址+1)  ~ (直接广播地址-1)   子网地址 (主机数-2) 广播地址
2039 
2040          例题:
2041          假设某子网中的一个主机的IP地址是 203.123.1.135, 子网掩码是:255.255.255.192
2042          1)求该子网的子网地址;(写出计算过程)
2043            子网掩码:11111111 11111111 11111111 11000000 (子网掩码中1的个数,确定子网前缀是几位)
2044          IP主机地址:11001011 01111011 00000001 10000111
2045           进行&运算:11001011 01111011 00000001 10000000
2046            子网地址:    203  . 123    .  1     . 128 /26 (子网掩码有26个1,代表子网前缀为26位)
2047 
2048          2)求直接广播地址;
2049            子网掩码:11111111 11111111 11111111 11000000
2050            取反结果:00000000 00000000 00000000 00111111
2051          IP主机地址:11001011 01111011 00000001 10000111
2052           进行|运算:11001011 01111011 00000001 10111111
2053            直接广播地址: 203  . 123    .  1     . 191
2054 
2055          3)求子网IP的地址总数;
2056            主机位有32-26=6位,即2^6=64个;
2057 
2058          4)求该子网的可分配IP地址数;
2059            64-2=62个 (子网地址占1个,广播地址占1个,所以64-2=62);
2060 
2061          5)求可分配地址范围;
2062            可分配IP地址范围: 203.123.1.129~203.123.1.190(去掉头和尾)
2063 
2064    题1.已知IP地址172.32.1.113对应的子网掩码为255.255.254.0;
2065      1)求该IP地址所在网络的网络地址;(子网地址)(写出计算过程)
2066          子网掩码:11111111 11111111 11111110 00000000
2067        IP主机地址:10101100 00100000 00000001 01110001
2068         进行&运算:10101100 00100000 00000000 00000000
2069          子网地址:   172  .   32   .    0   .  0/23
2070 
2071      2)求该网段的IP地址范围;
2072        IP地址范围:172.32.0.0~172.32.1.255;
2073 
2074      3)求该网段可分配的IP地址范围(掐头去尾)
2075        IP地址可分配范围:172.32.0.1~172.32.1.254;
2076 
2077      4)求该网段的广播地址
2078          子网掩码:11111111 11111111 11111110 00000000
2079          取反结果:00000000 00000000 00000001 11111111
2080        IP主机地址:10101100 00100000 00000001 01110001
2081         进行|运算:10101100 00100000 00000001 11111111
2082         直接广播地址: 172  .  32   .  1     . 255
2083 
2084    题2.某公司总部与其子公司A,B,C分别位于四个不同的地区,假设公司拥有子网地址是 202.119.110.0/24,
2085        总部与子公司A、B、C联网的主机数分别是53、261212、要求子公司B和子公司C的主机位于相邻
2086        的子网,请写出下表中序号处的IP地址和子网掩码;
2087        +---------+----------------------+-----------------+
2088        |         |  主机IP地址范围       |    子网掩码      |
2089        +---------+----------------------+-----------------+
2090        |   总部  | 202.119.110.129 ~(1) | 255.255.255.192 |   子网地址:主机位全是0;
2091        +---------+----------------------+-----------------+   广播地址:主机位全是1;
2092        | 子公司A |  (2)~202.119.110.94  |       (3)        |  起始地址:主机位最后1位为1;(子网后)
2093        +---------+----------------------+-----------------+  终止地址:主机位最后1位为0;(广播前)
2094        | 子公司B |  202.119.110.97~(4)  | 255.255.255.240  |  起始与最终地址 网络位相同,主机位不同;
2095        +---------+----------------------+-----------------+
2096        | 子公司C |       (5)~(6)        | 255.255.255.240  |
2097        +---------+----------------------+-----------------+
2098 
2099        1) 由 总子网掩码 255.255.255.192 得出
2100           网络位 26位, 主机位:6位
2101           主机IP起始地址: 202.119.110.129
2102           起始地址后6位主机位 10|000001
2103           终止地址后6位主机位 10|111110  255-65=190;
2104           所以总部广播地址是:202.119.110.190; (1)
2105 
2106        2)由子公司A主机的主机数量为26台,2^4=16<26;(不够)
2107          可得:子公司A的主机位为 52^5=32>26;(可用)
2108          可得:子公司A的网络位为 27, 11111111 11111111 11100000
2109          可得:子网掩码为255.255.224;(3)  主机位: 5位
2110          由 终止地址 202.119.110.94 得   终止后8位为:010|11110
2111          可得:起始地址为:202.119.110.65; 起始后8位为:010|00001 (2)
2112 
2113        3)由255.255.255.240 可知 主机位为: 4位
2114          由 起始地址 202.119.110.97 得  起始后8位为:0110|0001 可得:
2115          终止地址为: 202.119.110.110;   终止后8位为:0110|1110 (4)
2116 
2117        4)B的广播地址:202.119.110.111,因为BC相邻,故子公司C的子网地址为202.119.110.112
2118          的IP起始地址为:202.119.110.113; 起始后8位 0111|0001; (5) 主机位4位(由子网掩码得)
2119          的IP终止地址为:202.119.110.126; 终止后8位 0111|1110; (6)
2120 
2121 
2122 
2123   4>路由聚合
2124     1)用途:减少路由表项数,提高路由效率,将可以聚集在一起的子网聚合成一个大的子网;
2125     +-------------------+---------+------+
2126     |      网络地址      |下一跳地址| 接口 |
2127     +-------------------+---------+------+  后两位是连续的四个数
2128     |  15.65.154.0/26   |    A    |  S1  |   00000000
2129     +-------------------+---------+------+   01000000
2130     |  15.65.154.64/26  |    A    |  S1  |   10000000
2131     +-------------------+---------+------+   11000000
2132     |  15.65.154.128/26 |    A    |  S1  |
2133     +-------------------+---------+------+
2134     |  15.65.154.192/26 |    A    |  S1  | 聚合->  网络地址     下一跳   接口
2135     +-------------------+---------+------+       15.65.154.0/24   A     S1
2136        前24位一样
2137 
2138  3.动态主机配置协议(Dynamic Host Configuration Protocol, DHCP)
2139   1>当组织分配到一个网络地址块后,就可以为该组织内的主机和路由器接口分配IP地址;
2140     静态分配:手动配置;              DHCP客户端          DHCP服务器
2141     动态分配:动态主机配置协议来分配;    |    DHCP Discover   | DHCP服务器发现:广播方式
2142                                      |------------------->|
2143   2>动态主机配置协议(DHCP)端口号       |      DHCP Offer    | DHCP服务器提供:广播方式
2144     DHCP服务器端口号: 67;             |<-------------------|
2145     DHCP客户端口号: 68;               |     DHCP Request   | DHCP请求: 广播方式
2146                                      |------------------->|
2147                                      |      DHCP ACK      | DHCP确认
2148                                      |<-------------------|
2149 
2150  4.NAT(网络地址转换,Notwork Address Translation)(解答题)
2151   1>NAT用途:使私有地址的主机能在公共Internet上进行正常通信的技术;
2152   2>网络地址转换(NAT)工作原理
2153     1)从内网出去的IP数据报,将其 IP地址 替换为 NAT服务器拥有的
2154       合法的公共IP地址,同时替换源端口号,并将替换关系记录到NAT转换表中;
2155 
2156     2)从公共互联网返回的IP数据,依据其目的IP地址与目的端口号检索 NAT转换表,并利用检索到的
2157       内部私有IP地址 和 对应的端口号 替换 目的IP地址 和 目的端口号,将IP数据报转发到内部网络;
2158       
2159   3>基于UPnP(Universal Plug and Play,即插即用)协议可通过动态配置的方法事先建立NAT映射实现NAT穿透技术;
2160  
2161  5.ICMP(互联网控制报文协议,Internet Control Message Protocol)
2162   1>ICMP用途:在主机或路由器间实现网络层 差错报告 与 信息探测; ping 域名 
2163 
2164   2>ICMP结构:
2165     0           7          15                       31
2166     |           |           |                       |
2167     +-----------+-----------------------------------+
2168     |   类型    |   代码     |        校验和         |
2169     +-----------------------------------------------+
2170     |             由ICMP报文的类型决定                |
2171     +-----------------------------------------------+
2172     |                ICMP的数据部分                  |
2173     +-----------------------------------------------+
2174 
2175   3>ICMP报文类型:(差错报文和询问报文)
2176    1)差错报告报文:
2177      *1.终点不可达;  TTL(生存时间 跳步数)不够, 返回ICMP报文
2178      *2.源点抑制;    处理报文超载
2179      *3.时间超时;
2180      *4.参数问题;    例如:DF=1, 不分片,驳回;
2181      *5.路由重定向;  路由选择;
2182 
2183    2)询问报文(信息探测)
2184      *1.回声请求/应答; ping 域名 例如 ping baidu.com; //向特定主机发送ICMP请求报文,测试是否可达;
2185      *2.时间戳请求/应答; 回复时间;
2186 
2187  6.IPv6(128位)
2188   0>IPv6地址长度为128位
2189   1>IPv6数据报格式(基本首部)[选择、填空]
2190     ┌-----------------------------32位----------------------------2191     |------------------------------┴------------------------------+
2192     |版本(4位)|  流量类型(8位)  |           流标签(20位)            |
2193     |-------------------------------------------------------------+
2194     |      有效荷载长度(16位)       |下一个首部(8位) | 跳数限制(8位) |
2195     |-------------------------------------------------------------+
2196     |                        源IP地址(128位)                       |
2197     |-------------------------------------------------------------+
2198     |                        目的IP地址(128位)                     |
2199     |-------------------------------------------------------------+
2200     |                             数据                            |
2201     +-------------------------------------------------------------+
2202     IPv6与IPv4数据报首部对比
2203     IPv6删除字段:
2204     *1.分片相关字段
2205     *2.首部校验和
2206     *3.选项字段不是IPv6基本首部字段
2207 
2208   2>IPv6地址表示方法:
2209     1)8组冒号分隔的十六进制数:
2210       8000:0000:0000:0000:4321:0501:AB96:56CD
2211       0000:0000:0000==>:: (::只能出现一次)
2212       8000::4321:0501:AB96:56CD (字母最大为F)
2213 
2214     2)在IPv6地址中嵌入IPv4的点分十进制:
2215       6700:89A1:0321:206.36.45.19;
2216 
2217   3>IPv6地址分类(单任组)
2218    *1.单播地址(源地址和目的地址)(可标识一个主机或路由器接口)
2219    *2.任播地址(目的地址)(某)(该任播地址标识的 某个主机 可收到该IP数据报)
2220    *3.组播地址(目的地址)(都)(该组播地址标识的 所有主机 都能收到该IP数据报)
2221 
2222   4>IPv4到IPv6的迁移方法(选择、填空)
2223     1)双协议栈: 网络结点同时具备发送IPv4 与 IPv6 数据报的能力;
2224              IPv4 \
2225              IPv6--路由器1---DNS--->路由器2(使用DNS判断是IPv4还是IPv6)
2226 
2227     2)隧道: 很好的解决IPv6通信中经过IPv4路由器的问题,同时也不会出现信息丢失的问题
2228            给IPV6加一层IPv4的封装,
2229                  IPv6         IPv4(v6)         IPv6
2230           源主机-------路由器1---------->路由2--------->目的主机
2231 
2232 (六)路由算法与路由协议
2233  1.路由选择算法分类
2234   0>路由选择:选择转发IP分组的通路的过程称为"路由选择"
2235     路由选择的核心是 路由选择算法;
2236 
2237   1>带权无向图
2238     将网络抽象为一个带权无向图G(N,E),N表示结点集合,E是边的集合;
2239     网络中的路由器抽象为图G的结点,连接两个路由器的网络链路抽象为G的边;
2240     例如:X,Y  网络链路的费用(比如延时)抽象为G中的权值;
2241              ( X )        若两个结点间有边,例如从结点X到结点Y,
2242          10 / \   \ 100   则从结点X到结点Y耗费的费用记作C(X,Y)=10;
2243            /   \30 \      若两个结点间没有边,例如结点x到结点U,
2244          (Y)    \ (W)     则结点X到结点U耗费的费用记作C(X,U)=∞;
2245         50  \  10╳ /60
2246              (U)--(V)
2247                  20
2248   2>路由选择算法分类
2249    ┌-----------+------+-----------------+---------------------------2250    | 分类标准   |子分类|     适用算法     |         典型算法           |
2251    |-----------+------+-----------------+---------------------------+
2252    |  是否需要  | 需要 | 全局式路由选择算法| 链路状态路由选择算法(LS算法) | 全状
2253    |   网络的   |------+-----------------+---------------------------+
2254    |  完整信息  |不需要| 分布式路由选择算法| 距离向量路由选择算法(DV算法) | 分离
2255    |-----------+------+-----------------+---------------------------+
2256    |           | 静态 |     人工配置     |                           |
2257    |  静动状态  |------+-----------------+---------------------------+
2258    |           | 动态 | 变化时自动计算路径|     LS算法      DV算法     |
2259    |-----------+------+-----------------+---------------------------+
2260    |           | 敏感 |         负载敏感的路由选择算法                 |
2261    |  是否敏感  |------+---------------------------------------------+
2262    │           | 迟钝 |         负载迟钝的路由选择算法                 |
2263    +-----------+------+---------------------------------------------+
2264 
2265  2.链路状态路由选择算法(LS算法)
2266    链路状态路由选择算法是一种全局式路由选择算法,每个路由器在计算路由时,
2267    需构建整个网络拓扑图(利用Dijkstra(迪杰斯特拉算法)求最短路径)
2268    ┌--------+-----------------------------------------------------------+
2269    |  D(v)  |    到本次迭代为止,源结点(计算结点)到目的结点v的当前路径距离    |
2270    +--------+-----------------------------------------------------------+
2271    |  P(v)  | 到本次迭代为止,在源结点到目的结点v的当前路径上,结点v的 前序结点 |
2272    +--------+-----------------------------------------------------------+
2273    | C(x.y) |结点x与结点y之间直接链路的费用,若x和y之间没有链路相连,则c(x,y)=∞|
2274    +--------+-----------------------------------------------------------+
2275    |   S    |是存储从源结点到该结点已求出的最短路径的 结点集合,初值:源结点本身|
2276    +--------+-----------------------------------------------------------+
2277 
2278    例题:如下图从X结点出发,分别求 到达Y,U,V,W的最短路径;
2279 
2280                         结点X上的路由转发表
2281          ( X )       +--------+-------------+
2282     10  / \  \100    |  目的  |    链路      | 链路: (源结点, 目的结点(可直达)),
2283        /   \   W     +--------+-------------+       (源结点, 目的前驱(不直达))
2284      Y    30\ /|     |   y    |    (x,y)    |
2285        \     ╳ |60   +--------+-------------+ 路由器X上的转发表只存放 下一跳 路由器,而不是 最终路由器;
2286       50\ 10/ \|     |   v    |    (x,v)    |
2287           U----V     +--------+-------------+
2288             20       |   u    |    (x,v)    |
2289                      +--------+-------------+
2290                      |   w    |    (x,v)    |
2291                      +--------+-------------+
2292    +-------+-----------+------------+----------+----------+-----------+----------+
2293    |  循环 |      S    | 每轮选择结点 |D[y],P[y]| D[u],P[u] | D[v],P[v] |D[w],P[w] |
2294    +-------+-----------+------------+----------+----------+-----------+----------+
2295    |   0   | {x}       |     -      |  10,y    |    ∞     |   30,v    |  100,w   |
2296    +-------+-----------+------------+----------+----------+-----------+----------+
2297    |   1   | {x,y}     |     y      |          |   60,y   |   30,v    |  100,w   |
2298    +-------+-----------+------------+----------+----------+-----------+----------+
2299    |   2   | {x,v}     |     v      |          |   50,v   |           |   90,v   |
2300    +-------+-----------+------------+----------+----------+-----------+----------+
2301    |   4   | {x,v,u}   |     u      |          |          |           |   60,u   |
2302    +-------+-----------+------------+----------+----------+-----------+----------+
2303    |   5   |{x,v,u,w}  |     w      |          |          |           |          |
2304    +-------+-----------+------------+----------+----------+-----------+----------+
2305    2>如果某个结点在选择下一跳结点时,有多个结点的最短路径相同,则选择结点编号小的结点作为下一跳节点。
2306    3>适用情景:需要全网网络链路状态分组;
2307    例:结点x到 结点y和结点z的路径代价相同,且都是x到所有下一跳结点中的最短路径,则选择y为x的下一跳结点。
2308                           下一跳: 只关心 起点 的下一跳
2309                Z         +-------+-------------+------------+  利用Dijkstra最短路径算法计算
2310             10/ \2       |  目的 |    下一跳    |    代价    |  结点x 到网络中所有结点的最短路径,
2311              /   \       +-------+-------------+------------+  填写表中序号处的内容。
2312             y--4--t      |   s   |     w       |      6     |
2313          7 / \1 8/ \1    +-------+-------------+------------+            x
2314           /   \ / | \    |   t   |     w       |      5     |             \1
2315          x--3--v  2  s   +-------+-------------+------------+              w
2316           \   / \ | /    |   u   |     w       |      3     |               \1
2317           1\ /1 1\ /6    +-------+-------------+------------+                v
2318             w--5--u      |   v   |     w       |      2     |              1/ \1
2319                          +-------+-------------+------------+              y   u
2320                          |   w   |     w       |      1     |                   \2
2321                          +-------+-------------+------------+                    t
2322                          |   y   |     w       |      3     |                  2/ \1
2323                          +-------+-------------+------------+                  z   s
2324                          |   z   |     w       |      7     |
2325                          +-------+-------------+------------+
2326    +---------------+---------+---------+---------+---------+---------+---------+---------+
2327    |      S        |D[y],P[y]|D[w],P[w]|D[v],P[v]|D[u],P[u]|D[s],P[s]|D[t],P[t]|D[z],P[z]|
2328    +---------------+---------+---------+---------+---------+---------+---------+---------+
2329    |{x}            |   7,y   |   1,w   |   3,v   |    ∞    |    ∞    |    ∞    |    ∞    |
2330    +---------------+---------+---------+---------+---------+---------+---------+---------+
2331    |{x,w}          |         |    ─    |   2,w   |   6,w   |         |         |         |
2332    +---------------+---------+---------+---------+---------+---------+---------+---------+
2333    |{x,w,v}        |   3,v   |    ─    |    ─    |   3,v   |         |  10,v   |         |
2334    +---------------+---------+---------+---------+---------+---------+---------+---------+
2335    |{x,w,v,u}      |   ─     |    ─    |    ─    |    ─    |   9,u   |   5,u   |         |
2336    +---------------+---------+---------+---------+---------+---------+---------+---------+
2337    |{x,w,v,u,t}    |   ─     |    ─    |    ─    |    ─    |   6,t   |    ─    |   7,t   |
2338    +---------------+---------+---------+---------+---------+---------+---------+---------+
2339    |{x,w,v,u,t  }  |   ─     |    ─    |    ─    |    ─    |    ─    |    ─    |   7,t   |
2340    +---------------+---------+---------+---------+---------+---------+---------+---------+
2341    |{x,w,v,u,t,z}  |   ─     |    ─    |    ─    |    ─    |    ─    |    ─    |    ─    |
2342    +---------------+---------+---------+---------+---------+---------+---------+---------+
2343 
2344  3.距离向量路由选择算法(DV算法)
2345   1>距离向量路由选择算法的基础是Bellman-Ford方程(简称B-F方程);
2346     令dx(y)表示结点x到结点y的路径的最低费用,根据B-F方程,有以下公式:
2347     dx(y)=min{c(x,v)+dv(y)} v∈{x的邻居}
2348     Y---3---Z             x到z, z到z     x到Y  Y到Z
2349      \     /   dx(z)=min{c(x,z)+dz(z), C(x,y)+dy(z)}
2350       2   7         =min(7+0, 2+3)
2351        \ /          =min(7, 5)
2352         X           =5
2353     所以得到结点x到结点y的最短路径是{x,y,z}
2354 
2355   2>网络中每个结点x,估计自己到网络中结点y的最短距离,记为Dx(y)称为结点x的距离向量;
2356 
2357   3>适用网络规模范围:需要在邻居路由器之间交换距离向量;
2358     *1.路由器分别维护自己的转发表(Dv),并收到邻居的通告;
2359     *2.收到通告会进行对比更新;
2360 
2361  4.层次化路由选择
2362    1>作用:实现大规模路由选择最有效、可行的解决方案
2363 
2364    2>自治系统(autonomous system, AS)
2365      互联网按组织边界、管理边界、网络技术边界或功能划分为多个自治系统,
2366      每个自治系统由运行 相同 路由协议和路由选择算法的路由器组成;
2367 
2368    3>网关路由器:每个AS存在至少一个与其他AS互连的路由器(例如:3C, 2C 1A );
2369      3B----3A 2B--3A   网关路由器过滤路由的规则:
2370        \AS3/  \AS2/    1)本地偏好值属性,这个属性由AS网络管理员来设定,具有最高偏好值的路由被选择
2371         3C     2c      2)若多条路由具有相同的本地偏好值,那么具有最短AS-PATH的路由将被选择;
2372          \     /       3)若多条路由具有相同的本地偏好值即相同长度的AS-PATH,那么具有最近NEXT-HOP的路由将被选择;
2373          1B---1A
2374           \AS1/
2375            1C
2376 
2377    4>层次化路由选择原理
2378      将大规模互联网的路由划分为两层:
2379      1.自治系统 内 路由选择: 计算到达自治系统内目的网络的路由;
2380      2.自治系统 间 路由选择:负责其他自治系统网络的可达性信息;(通过网关路由器转发表)
2381 2382    5>路由器转发表:
2383      由自治系统内路由选择协议和自治系统间路由选择协议 共同设置
2384      转发表包含的主要信息有网络地址、子网掩码、下一跳地址以及路由器接口;
2385 
2386  5.层次化路由选择相关协议
2387   1>Internet自治系统内路由选择协议称为:内部网关协议(IGP,Interior Gateway Protocol);
2388    1)路由信息协议(RIP,Routing Information Protocol)
2389      RIP:广泛使用,基于距离向量路由选择算法的IGP
2390      RIP报文:封装进UDP数据报
2391      RIP特性:
2392      *1.在度量路径时采用的是跳数;
2393      *2.RIP的费用定义在源路由和目的子网之间;
2394      *3.RIP被限制的网络直径不超过 15跳 的自治系统内使用;
2395         路由器间能收到通告,之间距离为1跳;
2396 
2397    2)例题
2398      设网络中路由器使用RIP协议,路由器B的当前路由表如表1所示,
2399      B收到从路由器C发来的路由信息,如表2所示,试给出路由器B更新后的路由表;
2400 
2401                B的路由表                       C的路由信息
2402      +---------+------+-----------+       +---------+------+
2403      | 目的网络 | 距离 | 下一跳路由 |       | 目的网络 | 距离 |
2404      +---------+------+-----------+       +---------+------+
2405      |    N1   |  7   |     A     |       |    N2   |  4   |
2406      +---------+------+-----------+       +---------+------+
2407      |    N2   |  2   |     C     |       |    N3   |  8   |
2408      +---------+------+-----------+       +---------+------+
2409      |    N6   |  8   |     F     |       |    N6   |  4   |
2410      +---------+------+-----------+       +---------+------+
2411      |    N8   |  4   |     E     |       |    N8   |  3   |
2412      +---------+------+-----------+       +---------+------+
2413      |    N9   |  4   |     F     |       |    N9   |  5   |
2414      +---------+------+-----------+       +---------+------+
2415 
2416      路由B更新后的路由表(相邻代表隔1跳)
2417      +---------+------+-----------+
2418      | 目的网络 | 距离 | 下一跳路由 |
2419      +---------+------+-----------+
2420      |    N1   |  7   |     A     |  表C中没有达到N1的信息,所以不变
2421      +---------+------+-----------+
2422      |    N2   |  5   |     C     |  B-1->C C-4->N2  =>B->N2=4+1=5
2423      +---------+------+-----------+
2424      |    N3   |  9   |     C     |  B-1->C C-8->N3  =>B->N3=1+8=9
2425      +---------+------+-----------+
2426      |    N6   |  5   |     C     |  B-1-C  C-4->N6  =>B->N6=1+4=5
2427      +---------+------+-----------+
2428      |    N8   |  4   |     E     |  B->C->N8 等于 B->E->N8 不变
2429      +---------+------+-----------+
2430      |    N9   |  4   |     F     |  B->F->N9 小于 B-C->N9  不变
2431      +---------+------+-----------+
2432 
2433    2)开放最短路径优先协议(OSPF,Open Shortest Path First)
2434      *1.OSPF的优点:
2435        #1.安全
2436        #2.支持多条 相同 费用路径;
2437        #3.支持区别化费用度量;
2438        #4.支持单播路由与多播路由;
2439        #5.分层路由;
2440 
2441      *2.OSPF分类
2442                        |
2443                   AS边界路由器
2444                     /      \ 主干区
2445               主干路由器     \
2446                 /          区域边界路由器1 区域3
2447        区域1 区域边界路由器1    \
2448               /            区域边界路由器2
2449        区域边界路由器2
2450   2>Internet自治系统间路由选择协议称为:外部网关协议(EGP,Exterior Gateway Protocol);
2451    1)边界网关协议(BGP,Border Gateway Protocol)
2452      实现跨自治系统的路由信息交换,典型版本是BGP4
2453      BGP应用进程实现的,传输层使用TCP;
2454      每个AS可以通过BGP实现如下功能:
2455      *1.从相邻AS获取某子网的可达性信息;
2456      *2.向本AS内部的所有路由传播跨AS的某子网可达性信息;
2457      *3.基于某子网可达信息和AS路由策略,决定到达该子网的最佳路由;
2458 
2459    2)BGP主要有4种报文
2460      *1.OPEN(打开)报文: 用于与BGP对等方建立BGP会话;
2461      *2.UPDATE(更新)报文: 用于通告某一路由可达性信息,或撤销已有路由;
2462      *3.KEEPALIVE(保活)报文: 用于打开报文的确认,或周期性地证实会话的有效;
2463      *4.NOTIFICATION(通知)报文: 用来通告差错;
2464   
2465    3)比较重要的路由属性
2466      *1.AS-PATH 即AS路径,是到达前缀需要经过的AS路径,该属性包含一条路由已经通知过的AS,可预防重复通告;
2467      *2.NEXT-HOP 一个开始AS-PATH的路由器接口
2468      
2469   3>Internet路由选择协议
2470     +-----------+----------------+-----------------+
2471     |  协议名称  |      封装      |    适用范围      |
2472     +-----------+----------------+-----------------+ IGP
2473     |    RIP    |    UDP数据报    |   较小规模AS内  |
2474     +-----------+----------------+-----------------+
2475     |   OSPF    |    IP数据报     |   大规模AS内    |
2476     +-----------+----------------+-----------------+
2477     |    BGP    |      TCP       |      跨AS       | EGP
2478     +-----------+----------------+-----------------+
2479     
2480 
2481 第5章 数据链路层与局域网
2482 (一)数据链路层服务
2483  1.数据链路层提供的服务内容
2484   1)结点: 主机、路由器;
2485   2)链路: 网络中两个结点之间的物理通道;
2486   3)数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议
2487             (TCP协议)的硬件和软件加到链路上就构成数据链路;
2488   4)数据链路层: 负责通过一条链路,从一个结点向另一个物理链路直接相连
2489                的相邻结点,传送网络数据报,中间不经过任何其他交换结点;
2490 
2491   5)数据链路在物理链路之上,基于通信协议来控制数据帧传输的逻辑数据通路,
2492 
2493   6)实现数据链路层协议的典型硬件实体是: 网络适配器(NIC,网卡);
2494 
2495   7)数据链路层的传输单元是: 帧;
2496 
2497   8)数据链路层提供的服务(4条): 组帧、链路接入、可靠交付、差错控制
2498    *1.组帧(成帧)
2499       帧头(帧首):发送结点和接收结点的地址信息、定界字符(区分帧头);
2500       帧尾:用于差错检测的差错编码,定界字符(区分帧尾);01111110
2501 
2502                 发送结点                    接收结点
2503                 │数据报│                    │数据报│
2504                    ↓                           ↑
2505       |帧头(帧首)|数据报|帧尾|----->|帧头(帧首)|数据报|帧尾|
2506           加             加            减             减
2507 
2508    *2.链路接入
2509       物理链路可分为 点对点链路 和 广播链路 两大类;
2510       点对点链路:发送结点和接收结点独占信道;
2511       广播链路:通信链路多被多个结点共享;
2512       采用 分组存储转发 和 路由选择机制 是点对点式链路和广播式链路的重要区别之一;
2513       
2514    *3.可靠交付
2515       无线链路(出错率高):支持可靠数据传输;(电磁波)
2516       光纤,双绞线(出错率低): 不提供可靠数据传输服务;
2517 
2518    *4.差错控制
2519       数据链路层帧在物理媒介上的传播过程,可能会出现比特翻转的差错;
2520       误比特率:出现差错的比特数/传输比特总数;
2521 
2522 (二)差错控制
2523  1.差错控制的基本方式
2524   1>噪声导致的传输差错
2525    1)随机噪声: 随机差错 或 独立差错;
2526    2)冲击噪声: 突发差错, 通常是连续成片的信息差错,差错之间具有相关性,差错通常集中发生
2527     (物理信道) 在某段信息,突发错误发生在第一位错误与最后一位错误之间的长度称为 突发长度;
2528 
2529   2>差错控制(4种)
2530     通过差错编码技术,实现对信息传输差错的检验,并基于某种机制运行差错纠正和处理;
2531     具体措施:(检错重发, 前向纠错, 反馈校验, 检错丢弃)
2532    *1.检错重发(利用差错编码)
2533       发送端: 待发送数据进行差错编码,然后发送;
2534       接收端: 利用差错编码检测数据是否出错,若出错,接收端请求发送端重发数据加以纠正;
2535 
2536    *2.前向纠错(FEC,Forward Error Correction)(利用纠错编码)
2537       发送端: 对数据进行纠错编码,然后发送;
2538       接收端: 收到数据,利用纠错编码进行差错检测,且纠错;
2539       适用: 单工链路 或 对实时性要求比较高的应用;
2540 
2541    *3.反馈校验
2542       接收端:将收到的数据 原封不动 发回发送端;
2543       发送端:通过 对比 接收端反馈的收据与发送的数据确认
2544             接收端是否正确接收已发送数据,若有不同,立即重传数据;
2545 
2546       优点:原理简单,易于实现,无须差错编码
2547       缺点: 需要相同传输能力的反向信道,传输效率低,实时性差;
2548 
2549    *4.检错丢弃:
2550       网络应用对可靠性要求不高,可采用不纠正出错数据,直接丢弃错误数据,
2551       适用于实时性较高的系统;
2552 
2553    +-------------------+-----------------+
2554    |  差错控制基本方法   |      特点       |
2555    +-------------------+-----------------+
2556    |      检错重发      | 重发数据加以纠正 |
2557    +-------------------+-----------------+
2558    |      前向纠正      | 检错、定位、纠正 |
2559    +-------------------+-----------------+
2560    |      反馈校验      |    数据返回     |
2561    +-------------------+-----------------+
2562    |      检错丢弃      | 实时性较高的系统 |
2563    +-------------------+-----------------+
2564 
2565 
2566  2.差错编码的基本原理
2567    香农信道编码定理指出:对于一个给定的有干扰信道,只要发送端以低于信道容量C
2568    的数据速率R发送信息,则一定存在一种编码方法,使得编码错误概率P随着码长n的
2569    增加而按指数下降至任意小的值;
2570 
2571    在待传输(或待保护)数据信息基础上,附加一定的冗余信息,该冗余信息与数据信息
2572    建立某种关联关系(复制一次等);将数据信息以及附加的冗余信息一同发送到接收端,
2573    接收端可以检测冗余信息表征的数据信息的关联关系是否存在,如果存在则没有错误,
2574    否则有错误;
2575    例如:发送端向接收端发送2位数据信息,如果不进行差错编码,则接收端可能收到:
2576    00011011、如果进行差错编码:增加两位冗余信息:对数据进行一次复制,
2577    经过差错编码后,4个码字分别为:0000,0101,1010,1111;接收端收到码字后,如果
2578    发生了1位差错,比如收到1011,10和11不满足复制关系,则断定出现差错,
2579 
2580 
2581 
2582  3.差错编码的检错与纠错能力
2583   1>不同差错编码的检错和纠错能力不同;
2584     差错编码的检错或纠错能力与 编码集 的 汉明距离 有关;
2585    *1.编码集: 差错编码的所有有效码字的集合;
2586    *2.编码集的汉明距离:编码集中任意两个码字之间汉明距离的最小值;记为ds;
2587       编码集{1010,0101,1111,0000}
2588       汉明距离:
2589       表示两个(相同长度)字对应位不同的数量,我们以d(x,y)表示两个字x,y之间的
2590       汉明距离,对两个字符串进行异或运算(同假异真),其结果为1的个数即汉明距离;
2591       就是两个等长码字之间,对应位数不同的位数;
2592       例如:0101110101001001 汉明距离dc=2
2593       编码集{1010010111110000}
2594       10100101=4; 10101111=2; 10100000=2;
2595       01011111=2; 01010000=2; 11110000=4;
2596       编码集的汉明距离:ds=min{422224}
2597       编码集的汉明距离: ds=2;//最小汉明距离越大,码组越具有抗干扰能力;
2598 
2599   2>检错编码
2600     对于检错编码,若编码集的汉明距离ds=r+1,则该差错编码可以检测r位的差错;
2601     例:发送2位数据信息,冗余信息是数据的一次复制
2602        编码集{0000010110101111}
2603        ds=r+1=2=1+1,r=1, 因此可以检测出1位差错
2604 
2605   3>纠错编码
2606     对于纠错编码,若编码集的汉明距离ds=2r+1,则该差错编码可以纠正r为差错;
2607     例如:发送2位数据信息,冗余信息是数据的两次复制;
2608          编码集{000000010101101010111111}
2609          ds=3=2*1+1,因此可以纠正出1位差错;
2610 
2611     若发生1位差错,则错码距离发生错误的有效码字的汉明距离最近,可恢复为有效码字;
2612     若收到码字为100010,下列码字那个为有效码字;
2613     100010与000000,010101101010,111111的汉明距离分别为:
2614               2       5       1      4
2615     则有效码字为101010 , 用有效码字替换收到码字;
2616 
2617  4.典型的差错编码
2618    典型的差错编码: 奇偶校验码、循环冗余码;
2619    异或逻辑运算;符号:⊕ , 11=0;10=1;00=0;01=1;(同假异真)
2620 
2621   1>奇偶校验码
2622    *0.最简单的检验码,利用1位冗余信息实现差错检测,分为 奇校验码、偶校验码;
2623    *1.奇校验码
2624      1位冗余位的取值为0或1,使得编码后的码字中 1的个数 为 奇数;
2625      例如:数据10110111,采用奇校验码编码后的码字为:10110111|1  7个1 ;
2626           数据10110110,采用奇校验码编码后的码字为:10110110|0  5个1 ;
2627 
2628    *2.偶校验码
2629      1位冗余位的取值为0或1,使得编码后的码字中 1的个数 为 偶数数;
2630      例如:数据10110111,采用偶校验码编码后的码字为:10110111|0  6个1 ;
2631           数据10110110,采用偶校验码编码后的码字为:10110110|1  6个1 ;
2632 
2633    *3.优点:编码简单、编码效率高、开销最小的检错编码;
2634    *4.缺点:检错率不高;
2635 
2636   2>循环冗余码( CRC码,Cyclic Redundancy Check)
2637    *0.地位:在 数据链路层 广泛应用的差错编码;(检错码)
2638    *1.基本思想
2639       将二进制位串看成是系数为0或1的多项式的系数;
2640       例如: 100101有6位,写一个多项式,位串的数字就是每个多项式的系数
2641       +-----------+------+--------+------+-------+--------+------+
2642       | 多项式拆解 | X^5  |  X^4   | X^3  |  X^2  |  X^1   | X^0  |
2643       +-----------+------+--------+------+-------+--------+------+
2644       |    位串   |   1   |   0   |   0  |   1   |   0    |  1   |
2645       +-----------+------+--------+------+-------+--------+------+
2646       |    相乘   | 1*X^5 | 0*X^4 | 0*X^3 | 1*X^2 | 0*X^1 | 1*X^0|
2647       +-----------+------+--------+------+-------+--------+------+
2648       多项式:X^5+X^2+1;//任何数的0次方都为1; 第0位, 第2位 第5位为1;
2649 
2650    *3.编码过程:
2651      1)在帧的低位端加上r个0位,使该帧扩展为m+r位(相当于左移r位).对应多项式为X^rM(x);
2652      2)用G(x)系数对应的位串,去除(模2除法) X^rM(x)系数对应的位串,求的r为余数R;
2653      3)用XrM(x)系数对应的位串,减(模2减法)去余数R,结果就是完成CRC编码的帧;
2654 
2655    *4.方法总结:用编码多项式G(x),对为串进行CRC编码;
2656       第1步: 写出多项式对应的位串,并确定有r位 (r=多项式x的最高指数幂+1, x^r);
2657       第2步: r-1的值是需要在待编码为串后面添加0的个数:添加(r-1)个0;
2658       第3步: 用得到的新的待编码位串除以多项式对应的比特串;
2659       第4步: 求得的 余数 添加在待编码位串后,即为CRC编码后的码;
2660 
2661      例:假设CRC编码采用的生成多项式G(x)=x^4+x+1,请为位串10111001进行CRC编码;
2662         第1步:写出多项式对应的位串
2663         +-----------+--------+------+-------+--------+------+
2664         | 多项式拆解 |  X^4   | X^3  |  X^2  |  X^1   | X^0  |
2665         +-----------+--------+------+-------+--------+------+
2666         |    位串   |   1    |   0  |   0   |   1    |  1   | (5位)
2667         +-----------+--------+------+-------+--------+------+
2668         第2步:5-1的值是需要在待编码为串后面添加0的个数:添加4个0, r=4;//x^4
2669               待编码位串: 10111001------101110010000
2670 
2671         第3步:用得到的新的待编码位串(101110010000)除以多项式对应的比特串(10011);
2672                         10100111
2673               10011101110010000
2674                     10011
2675                       10000    模2减法运算为:1-1=00-1=11-0=10-0=0//无进位,无借位
2676                       10011    相当于异或运算;同0异1;同假异真;
2677                          11100
2678                          10011
2679                           11110
2680                           10011
2681                            11010
2682                            10011
2683                             1001 (最终余数)
2684         第4步:求得的余数(1001)添加在待编码位串后,即为CRC编码后的码: 10111001|1001
2685 
2686    题1.设生产多项式G(X)=X^4+X^2+X+1,求对位串100111011101进行CRC编码后的结果;
2687        1>将多项式转换成对应的位串:
2688        +-----------+--------+------+-------+--------+------+
2689        | 多项式拆解 |  X^4   | X^3  |  X^2  |  X^1   | X^0  |
2690        +-----------+--------+------+-------+--------+------+
2691        |    位串   |   1    |   0  |   1   |   1    |  1   | (5位)
2692        +-----------+--------+------+-------+--------+------+
2693        2>待编码位串:100111011101 补4位0得新待编码位串 1001110111010000
2694        3>新待编码位串/以多项式对应的比特串得余数为1100;(过程如下)
2695                    1010000000
2696          101111001110111010000
2697                10111          模2减法运算为:1-1=00-1=11-0=10-0=0
2698                  10010        相当于异或运算;同0异1;同假异真; //无进位,无借位
2699                  10111
2700                    10111
2701                    10111
2702                         10100
2703                         10111
2704                            1100
2705        4>待编码位串+上步余数=100111011101|1100
2706 
2707    *5.接收方在收到带校验和的帧后,怎样判断是否有错?
2708       收到的串除以多项式对应的比特串;
2709       余数为0,无错, 余数不为0,有错,丢弃;
2710 
2711    *6.优选的典型G(x)
2712       +----------------+----------------------------------------------------+
2713       |名称            | 生成多项式                                          |
2714       +----------------+----------------------------------------------------+
2715       |CRC-12          | x12+x11+x3+x2+x+1                                  |
2716       +----------------+----------------------------------------------------+
2717       |CRC-16          | x16+x15+x2+1                                       |
2718       +----------------+----------------------------------------------------+
2719       |CRC-CCITT       | x16+x12+x5+1                                       |
2720       +----------------+----------------------------------------------------+
2721       |CRC-32-IEEE802.3| x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1 |
2722       +----------------+----------------------------------------------------+
2723       |CRC-64-ISO      | x64+x4+x3+x+1                                      |
2724       +----------------+----------------------------------------------------+
2725 
2726 (三)多路访问控制协议
2727  0.数据链路层使用的信道
2728    1> 点对点信道,一对一通信方式,信道被双方独享;如拨号上网;
2729    2> 广播信道(共享介质),一对多通信方式,信道上连接的点很多,信道被结点共享; 如总线以太网, WIFI
2730 2731       两个或两个以上结点同时传输数据: 冲突->接收失败;
2732 2733       多路访问控制(Multiple Access Control,MAC)协议;
2734 2735       MAC协议的根本任务: 解决信道的共享问题(填空选择);
2736 
2737  1.信道划分MAC协议
2738   0>信道划分MAC协议:利用多路复用技术实现信道共享的MAC;
2739      多路复用的基本思想: 将信道资源划分后,分配给不同的结点,
2740      各结点通信时只使用其分配到的资源,避免多结点通信时的相互干扰;
2741 
2742   1>频分多路复用(FDM,Frequency-division multiplexing)
2743      在频域内将信道带宽划分为多个子信道,将原始信号调制到对应的某个子信道的载波信号上,
2744      使同时传输的多路信号在整个物理信道带宽的允许范围内 波谱不重叠, 从而共用一个信道;
2745 
2746      信号1->
2747               | 信号1
2748               └-------------------  \
2749      信号2->
2750               |       信号2                信号1  信号2  信号3
2751               └-------------------   ->  └------------------- ->
2752      信号3->
2753               |              信号3
2754               └------------------- /
2755       频率/HZ       频率/HZ                   频分多路复用后
2756        调制前       调制后
2757 
2758     *1.优点:分路简单,目前模拟通信中常采用,特别是有线和微波通信;
2759     *2.缺点:信号之间相互干扰,即串扰;
2760             所需设备输入路数增大而增多;
2761             不提供差错检测,不便于性能监测;
2762 
2763 
2764   2>时分多路复用(TDM,Time-Division Multiplexing)
2765     在时域内将通信信道的传输信号划分为多个等长的 时隙, 每路信号占用不同的时隙,
2766     使多路信号合用单一的通信信道在时域上不重叠,从而实现信道共享;
2767 
2768    *1.同步时分多路复用(STDM,Synchronism Time-Division Multiplexing)
2769       按照固定顺序把时隙分配给各路信号;
2770 
2771    *2.异步时分多路复用(ATDM,Asynchronism Time-Division Multiplexing)
2772       统计时分多路复用(STDM,Statistic Time-Division Multiplexing)
2773       时隙和用户间没有固定的对应关系; ATM采用的就是异步时分复用方式
2774 
2775 
2776   3>波分多路复用(WDM,Wave Division Multiplexing)
2777      广泛用于光纤通信,在光纤通信中,光载波频率很高,通常用光的波长代替频率讨论;
2778      在光纤通信中,为了实现长距离的高速传输,通常采用 波分多路复用 和 光纤放大器;
2779 
2780 
2781   4>码分多路复用(CDM,Code Division Multiplexing)
2782      通过利用更长的 相互正交的码组 分别 编码各路原始信息 的每个码元(比如1位),
2783      使得编码后的信号(已调信号)在同一信道中混合传输,接收端利用码组的正交特性分离各路信号,
2784      从而实现信道的共享, 是一种 扩频 的通信形式;
2785      相互正交: 码组1:{1,0,1}
2786               码组2:{0,1,0}
2787               1×0+0×1+1×0=0
2788 
2789  2.随机访问MAC协议
2790    所有用户都可以根据自己的意愿随机地向信道发送信息,
2791    没有其他用户: 发送成功;
2792    有两个及以上用户:
2793    产生 冲突或碰撞,用户发送信息失败,每个用户随机退让一段时间后,再次尝试,直至成功;
2794 
2795   1>ALOHA协议(只说不听):
2796     最早的, 最基本的 无线数据通信协议;
2797                  ╭纯ALOHA
2798     ALOHA协议分类<
2799                  ╰时隙ALOHA
2800     1)纯ALOHA
2801      *1.工作原理:
2802         任何一个站点有数据发送时就可以直接发送至信道;发送数据后对信道进行侦听:
2803         如果收到应答信号,说明发送成功;否则说明发生冲突,等待一个随机时间重新发送,直至成功;
2804 
2805       *2.性能:
2806          G网络负载:表示在一帧的发送时间内发送的平均帧数;
2807          S吞吐率: 在一帧的发送时间内成功发送的平均帧数;
2808          网络负载率不能大于0.5;//G≤0.5
2809 
2810     2)时隙ALOHA
2811      *1.工作原理:
2812         把信道时间划分为离散的时隙,每个时隙为发送一帧所需的时间,每个通信站点
2813         只能在每个时隙开始的时刻发送帧,如果在一个时隙内发送帧出现冲突,下一个
2814         时隙以 概率P 重发该帧,指导帧发送成功, P不能为1 ,否则会出现 死锁;
2815 
2816      *2.性能:网络负载不能大于1;//G≤1
2817 
2818   2>载波监听多路访问协议(CSMA,Carrier Sense Multiple Access)
2819    *1.工作原理(先听后说)
2820       通过硬件装置(载波监听装置),在通信站发送数据之前,
2821       先监听信道上其他站点是否在发送数据,如果在发送,则暂时不发送;
2822 
2823    *2.分类:根据监听策略不同:非坚持CSMA; 1-坚持CSMA; P-坚持CSMA;
2824       1)非坚持CSMA:
2825         若通信站有数据发送,先侦听信道,若发现信道空闲,则立即发送数据,若发现信道忙,
2826         则等待一个随机时间,然后重新开始侦听信道,尝试发送数据,若发送数据时产生冲突,
2827         则等待一个随机时间,然后重新开始侦听信道,尝试发送数据;
2828 
2829       2)1-坚持CSMA:
2830         若信道站有数据发送,先侦听信道,若发现信道空闲,则立即发送数据,若发现信道忙,
2831         则继续侦听信道直至发现信道空闲,然后立即发送数据;
2832 
2833       3)P-坚持CSMA(适用于时隙信道(即同步划分时隙)):
2834         若通信站有数据发送,先侦听信道,若发现信道空闲,则以概率P在最近时隙开始时刻
2835         发送数据,以概率Q=1-P延迟至下一个时隙发送, 若下一个时隙仍空闲,重复此过程,
2836         直至数据发出或时隙被其他通信站占用,若信道忙,则等待下一个时隙,重新开始发送过程,
2837         若发送数据时发生冲突,则等待一个随机时间,然后重新开始发送过程;
2838 
2839   3>带冲突检测的载波监听多路访问协议(CSMA/CD ,CSMA/Collision Detection)(选择,综合)
2840     *1.工作原理(先听后说,边听边说)
2841        通信站点使用CSMA协议进行数据发送,在发送期间如果能检测到碰撞,立即终止发送,并发出
2842        一个 冲突强化信号,使所有通信站点都知道冲突的发生,发出冲突强化信号后,等待一个
2843        随机时间,在重复上述过程;
2844 
2845     *2.CSMA/CD的工作状态分为: 传输周期、竞争周期、空闲周期;
2846                信道有3中状态: 传输状态、竞争状态、空闲状态;
2847 
2848     *3.使用CSMA/CD协议实现多路访问时,通过共享信道通信的两个通信站之间相距的最远距离D,
2849        信号的传播速度V,数据帧长度L,以及信道信息传输速率R之间满足以下约束:
2850        数据帧最小长度      两通信站之间的最远距离
2851           ↓             ↗
2852         Lmin/R    ≥  2Dmax/V      => 信息传输时延≥2个信息传播时延
2853              ↑             ↑         (最大冲突检测时间:一个往返传播时延=>1个信号传播+1个冲突信号返回传播)
2854      信息传输速率  ≥ 2倍的信号传播速率
2855 
2856   例1:在一个采用CSMA/CD协议的网络中,传输介质是一根完整的电缆,数据传输速率为1Gbit/s,
2857      电缆中的信号传播速度是200000Km/s,若最小数据帧长度减少800bit,
2858      则最远的两个站点之间的距离至少需要减少多少;
2859      L=800bit
2860      V=200000Km/s
2861      R=1Gbit/s
2862      D=[(L/R)•V]/2=(800×200000000/1000000000)/2=160/2=80m
2863 
2864   例2.设有长度为1km,数据传输速率为10Mbps的以太网,信号传播速度为200m/μs,
2865       求MAC帧的最小帧长度;
2866       D=1×10^3 m   R=1×10^7 bit/s;
2867       V=200×10^6=2×10^8 m/s
2868       由 L/R=2D/V
2869       得:L/1×10^7=2×10^3/2×10^8;
2870          L=1×10^(-510^7=100bit
2871 
2872 
2873  3.受控接入MAC协议
2874    各个用户不能随意的接入信道而必须服从一定的控制;
2875    分类: 集中式控制、分散式控制;
2876 
2877   1>集中式控制:
2878     系统有一个主机负责调度其他通信站接入信道.从而避免冲突;
2879     方法:轮询(轮叫轮询 和 传递轮询)
2880                   1        2  ... N-1       N
2881             ↙   ███  ←  ███  ←  ███   ←   ███ 传递轮询
2882         收       ↓↑↑      ↓↑↑     ↓↑↑       ↓↑↑
2883     ██<----------┘┘↑------┘┘↑-----┘┘↑-------┘↑↑轮叫轮询
2884     〓  -----------┘--------┘-------┘--------┘↑
2885    主机---------------------------------------2886 2887 
2888   2>分散式控制(令牌技术)
2889     令牌是一种特殊的帧,代表了通信站使用信道的许可,在信道空闲时
2890     一直在信道上传输,一个通信站想要发送数据就必须首先获得 令牌;
2891                             ██
2892                          ↗  | ↖ 令牌
2893                        ↗    |2894                      ██─────◎─────██
2895                        ↘环形|信道 ↗
2896                          ↘  |2897                             ██
2898 
2899   3>令牌环的操作过程:
2900     *1.网络空闲时,只有一个令牌在环路上绕行;
2901 
2902     *2.当一个站点要发送数据时,必须等待并获取一个令牌,将令牌的标志位置为"1",
2903        随后便可发送数据;(空令牌:标志位置为"0",被占用:标志位置为"1");
2904 
2905     *3.环路中的每个站点边转发数据,边检测数据帧中的目的地址,
2906        若为本站点的地址,便读取其中所携带的数据;
2907 
2908     *4.数据帧环绕一周返回时,发送站将其从环路撤销, 即"自生自灭";
2909 
2910     *5.发送站点完成数据发送后,重新产生一个令牌传至下一个站点,
2911        以使其它站点获得发送数据帧的许可;
2912 
2913   4>令牌丢失 和 数据帧无法撤销 是环网上最严重的两种错误;
2914 
2915 (四)局域网(LAN)
2916  1.数据链路层 与 ARP寻址
2917   1>局域网(LAN):一般采用 广播 的方式,局部区域网络,覆盖面积小,网络传输 速率高,传输的 误码率低;
2918   2>为了使数据链路层更好的适应多种局域网标准,IEEE802委员会将局域网的数据链路层拆分为两个子层:
2919     *1.逻辑链路控制(Logical Link Control,LLC)子层(面向网络层, 名存实亡)
2920     *2.介质访问控制MAC子层;//在数据链路层子层中,与介质访问控制有关的子层;
2921 
2922   3>MAC地址(物理地址、局域网地址)
2923     MAC地址具有 唯一性,每个接口(网络适配器,NIC)对应一个MAC地址;
2924     *1.以太网和IEEE 802.11无线局域网,使用的MAC地址长度为 6字节,共2^48个可能的MAC地址;
2925        48位 的MAC地址通常采用 十六进制 表示法,每个字节表示一个十六进制,用-或:连接起来;
2926        例如: 00-2A-E1-76-8C-3900:2A:E1:76:8C:39
2927        补充:十六进制:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F;
2928 
2929     *2.MAC地址空间的分配由电器和电子工程协会(IEEE,Institute of Electrical and Electronics
2930        Engineers)统一管理;MAC共48位,IEEE负责分配MAC地址前24位的MAC地址块,厂商自己分配后24位;
2931 
2932     *3.MAC广播地址: FF-FF-FF-FF-FF-FF ;
2933 
2934   4>地址解析协议(ARP,Address Resolution Protocol)
2935     ARP是根据本网内目的主机或默认网关的 IP地址 获取其 MAC地址;(IP地址到MAC地址的映射)
2936     *1.ARP的基本思想:
2937        在每一台主机中设置专用内存区域,称为ARP高速缓存(也称为ARP表),
2938        存储该主机所在局域网中,其他主机和路由器的 IP地址 与 MAC地址 的映射关系;
2939     *2.ARP协议内容
2940       1)ARP查询分组是通过一个 广播帧 发送的,而ARP响应分组是通过一个标准的 单播帧 发送的;
2941       2)ARP是 即插即用的 , 一个ARP表是自动建立的, 他不需要系统管理员来配置; 一般存放20min;
2942       3)即可认为是网络层协议(IP) 也可认为是数据链路层协议(MAC);
2943 
2944     +--------------+-------------------+----------+
2945     |    IP地址    |       MAC地址      |   TTL    |
2946     +--------------+-------------------+----------+
2947     | 178.169.1.96 | 00-53-2B-49-1A-1F | 13:45:00 |
2948     +--------------+-------------------+----------+
2949     | 178.169.1.94 | 00-BD-2A-90-17-C2 | 13:52:00 |
2950     +--------------+-------------------+----------+
2951 
2952  2.以太网
2953   1>以太网(IEEE802.3):目前最流行的 有线局域网 技术,无连接不可靠服务;
2954     IEEE802.3MAC帧的起始定界符SFD字段的比特模式为:10101011
2955 
2956   2>以太网成功的原因(物美价廉)(4条)
2957    *1.以太网是 第一个 广泛部署的高速局域网;
2958    *2.令牌环网、FDDI(光纤分布式数据接口)、ATM(异步传输模式)比以太网更加复杂、昂贵;
2959    *3.以太网在 数据速率 方面比 FDDI、ATM(只参加第一层功能)毫不逊色;
2960    *4.以太网硬件价格极其便宜,网络造价成本低;
2961    *5.以太网在发送数据时,若发生冲突采用 截断二进制指数退避 算法计算推迟的随机时间;
2962    
2963   3>经典的以太网是采用 粗同轴电缆 连接的总线型 以太网(10Base-5)
2964    *1.数据传输速率为10Mbit/s,无连接不可靠;
2965    *2.相距最远主机信号往返的传播时延为51.2μs,所以以太网最短帧长为 64字节;
2966    *3.网段和网段之间用中继器连接,最多有4个中继器;
2967    *4.MAC协议采用CSMA/CD协议(带冲突检测的载波监听多路访问协议);
2968    *5.Base是采用的基带传输,5是可连接5个网段;
2969     数据传输速率为10Mbit/s, 信号往返的传播时延为51.2μs,所以以太网最短帧长为64字节;
2970     R=10Mbit/s, 2dp=51.2μs;
2971     Lmin/R=2D/V=2dp
2972     L=51.210=512bit=512/8=64字节;
2973 
2974   4>以太网帧结构
2975        6字节     6字节   2字节  46-1500字节  4字节
2976     | 目的地址 | 源地址 | 类型 |    数据    | CRC |
2977        MAC地址  MAC地址
2978     *1.目的地址和源地址: MAC地址;
2979     *2.类型:标识上层协议,例如:0x0800=IP数据报
2980     *3.数据:封装的上层协议的分组;
2981     *4.CRC:校验采用循环冗余校验;
2982     *5.以太网最短帧长64字节(首部+数据),18字节(首部长度),46字节(数据字段长度) ;
2983 
2984   5>以太网技术
2985   +-----------+----------------------+---------+-------------------+
2986   | 分类      |       传输介质         |传输速率  |       标准        |
2987   +-----------+----------------------+---------+-------------------+
2988   |10Base-5      |      粗同轴电缆        |10Mbit/s |                   |
2989   +-----------+----------------------+---------+-------------------+
2990   |10Base-T      |  非屏蔽双绞线(UTP)     |10Mbit/s |     IEEE 802.3    |
2991   +-----------+----------------------+---------+-------------------+
2992   |100Base-T  |      UTP             |100Mbit/s|     IEEE 802.3u   |
2993   |(快速以太网)|                         |         |                   |
2994   +-----------+----------------------+---------+-------------------+
2995   |千兆位以太网|光纤,UTP,屏蔽双绞线(STP)|1000Mb/s |IEEE 802.3标准的扩展|
2996   +-----------+----------------------+---------+-------------------+
2997   |万兆位以太网|                         |10Gbit/s |    IEEE 802.3ae   |
2998   +-----------+----------------------+---------+-------------------+
2999 
3000 
3001  3.交换机
3002   1>交换机:应用最广泛的数据链路层设备; 实现帧的转发;(实现存储-转发)
3003 
3004     网桥:和交换机功能类似,对数据帧实现存储-转发,
3005          交换机可以认为是多端口的网桥
3006 
3007     集线器(Hub):物理层:转发数据;
3008 
3009   2>以太网交换机转发和过滤
3010    *1.交换机的基本工作原理
3011       当一帧达到时,交换机首先需要决策将该帧丢弃还是转发,
3012       如果是转发,还必须进一步决策应该将 该帧 转发到哪个/3013       端口去,决策依据是,以 目的MAC为主键 查询内部转发表;
3014       转发表:通过自学算法建立起来;
3015 
3016    *2.以太网交换机的自学习(建立转发表)
3017      1)以太网交换机有4个端口,各连接一台计算机,其MAC地址分别是A,B,C,D;
3018      2)一开始,以太网交换机里面的转发表是空白的;
3019      3)A向B发送一个帧,从端口1进入交换机;
3020      4)交换机查询转发表,没找到往哪里转发该帧;
3021      5)交换机把这个帧的源MAC地址A和端口1写入交换表,完成第一次学习;
3022      6)除向端口1以外所有端口泛洪(广播)这个帧;
3023      7)C和D丢失该帧,B收下该帧;
3024 
3025   3>以太网交换机的优点
3026     1)消除冲突(*1)     //交换机可以隔离冲突域,但不能隔离广播域
3027     2)支持异质链路;
3028     3)易于进行网络管理;
3029 
3030     *1.冲突域:早期所有主机共享总线的一个网络范围,现在在以太网中,CSMA/CD 能检测到冲突的网络范围;
3031 
3032 
3033  4.虚拟局域网(VLAN,Virtual Local Area Network)
3034   1)虚拟局域网:是一种基于交换机(必须支持VLAN功能) 逻辑分割(或限制)
3035     广播域的局域网应用形式,以 软件 的方式划分和管理 局域网中的工作组,
3036     限制接收广播信息的主机数,不会因传播过多的广播信号而引起性能的恶化;
3037     端口交换(Port Switch) 帧交换(Frame Switch), 信元交换(Cell Switch)
3038     
3039   2)划分虚拟局域网的方法(3种)
3040    *1.基于 交换机端口 划分;
3041    *2.基于 MAC地址 划分;
3042    *3.基于 上层协议类型或地址 划分;
3043 
3044 
3045 (五)点对点链路协议
3046  1.点对点协议(PPP协议,Point to Point Protocol)
3047   1>是全世界使用得最多的点对点链路协议,适合单个发送方和单个接收方的点对点链路;
3048 
3049   2>PPP主要提供3类功能
3050     1)成帧:确定一帧的开始和结束, 支持错误检测
3051           开始标志字节:01111110
3052           结束标志字节:01111110
3053 
3054        1字节       1字节      1字节    1或2字节  可变长度 2和4字节  1字节
3055     |   标志   |   地址    |   控制   |  协议  |  信息  | 校验和 |   标志   |
3056     | 01111110 | 11111111 | 00000011 |       |        |       | 01111110 |
3057 
3058     2)链路控制协议(LCP,Link Control Protocol)
3059        启动线路、检测线路、协商参数、关闭线路;
3060 
3061     3)网络控制协议(NCP,NetWork Control Protocol)
3062        协商网络层选项; 初始网络参数;
3063 
3064   3>PPP是面向字节的
3065     PPP帧的长度都是整数字节;
3066     遇到数据中有标志位 01111110时,使用字节填充技术
3067     在01111110标志位后,插入特殊的控制转义字节01111101;
3068     传输数据为 Byte1 01111110 Byte2
3069     PPP帧: Byte1 01111110  01111101 Byte2;
3070     控制字段是00000011     字节填充技术
3071 
3072  2.高级数据链路控制协议(HDLC协议,High-level Data Link Control)
3073   1>应用于点对点链路和点对多点链路;无站地址不分配给任何站,仅做测试;
3074 
3075   2>HDLC帧格式(6字节)
3076 
3077        1字节     1字节  1字节  ≥0字节  2字节     1字节
3078     | 01111110 | 地址 | 控制 | 数据 | 校验和 | 01111110 |
3079 
3080   3>根据控制位的不同,HDLC有3种类型的帧
3081     1)信息帧(I格式):传送数据;
3082     2)管理帧(监控帧)(S格式):差错控制,流量控制
3083     3)无序号帧(U格式):链路的建立,拆除
3084     S帧第1,2位为"10"来标志,第3,4字段为S帧类型编码 00(接收就绪),01(拒绝),10(接收未就绪),11(选择拒绝);
3085     
3086   4>HDLC协议是面向位的
3087     使用位填充技术;
3088     数据字段出现与标志字段相同的比特流   1 0 0|0 1 1 1 1 1 1 0|0 1 0 0 1 0
3089 
3090     发送端: 发现5个连续的1后插入0       1 0 0 0 1 1 1 1 1 0 1 0 0 1 0 0 1 0
3091 3092                                      发送数据只要连续出现5个1发送端插入0
3093     接收端: 发现5个连续的1后删除其后的0  1 0 0 0 1 1 1 1 1   1 0 0 1 0 0 1 0
3094 3095                                       接收数据只要连续出现5个1,接收端删除0
3096 
3097   5>HDLC中常用的操作方式:(3种)
3098    1)正常响应方式(Normal Responses Mode,NRM)
3099    2)异步响应方式(Asynchronous Response Mode,ARM)
3100    3)异步平衡方式(Asynchronous Balanced Mod, ABM)
3101 
3102 
3103 第六章 物理层
3104 (一)数据通信基础
3105  1.数据通信基本概念
3106   1)信息与消息
3107    *1.消息: 人类能够感知的描述; 文字/图像/声音/气味, 消息是信息的载体;
3108    *2.信息: 对事物状态或存在方式的不确定性表述; 消息中包含的有意义的内容;
3109 
3110   2)通信:在一点精确或近似地再生另一点的信息;
3111   3)通信系统:能够实现通信功能的各种技术、设备和方法的总体;
3112   4)信号:在通信系统中,传递信息需要合适的载体在传输道中传播,这个载体就是信号;
3113   5)数据:对客观事物的性质状态以及相互关系等进行记录的符号及其组合,(数字、文字、图像/抽象符号)
3114   6)信道: 信息传输的介质
3115   
3116  2.数据通信系统模型
3117   1>数据通信系统的构成(通信系统的一般模型):6个部分
3118     1.信源-->2.发送设备-->3.信道-->4.接收设备-->5.信宿
3119 3120                         6.噪声源
3121                                     1  0  1  0  1  0 1  0
3122    1)信源:将消息转换为信号的设备;   ▁|▔|▁|▔|▁|▔|▁|▔|▁ 信源
3123 3124                                  ▁╱╲  ╱╲  ▁╱╲   ╱╲   ▁ 发送设备
3125    2)发送设备(进行编码和调制)          ╲╱  ╲╱    ╲╱   ╲╱
3126      将信源产生的信号进行适当变换的装置;      | ↓ |
3127                                            | ↓ |            信道
3128    3)信道:传输信号的媒介;                    | ↓ |           噪声源
3129                                            | ↓ |
3130    4)接收设备(进行译码和解调)       ▁|▔|▁|▔|▁|▔|▁|▔|▁ 接收设备
3131      完成发送设备的反变换                      ↓
3132                                     1  0  1  0  1  0 1  0   信宿
3133    5)信宿:信号的终点,将信号转换为功人们识别的消息;
3134 
3135    6)噪声源:自然界和通信设备所固有的,对通信信号产生干扰和影响的各种信号;
3136 
3137   2>模拟通信和数字通信
3138    1)模拟信号
3139      信号的因变量完全随连续消息的变化而变化的信号;
3140      ①自变量:可以是连续的,可以是离散的;
3141      ②因变量:一定是连续的(不可列举);
3142 
3143      y(t)↑
3144          |
3145          |        •     •         •        •
3146          |      •   •  •  •     •   •    •    •
3147          |    •      •      •  •      •
3148          •   •                •
3149          |3150          └---------------------------------------->
3151         0               模拟信号                  t
3152 
3153    2)数字信号
3154      ①自变量:离散的(可列举);
3155      ②因变量:离散的;
3156      ③离散数据是连续数据的采样;
3157 
3158      y(t)↑
3159          |
3160          | 1  0    1 1 0 0 1
3161          ├──┐     ┌─────┐     ┌───┐
3162          |  |     |     |     |   |
3163          |  |     |     |     |   |
3164          |  |     |     |     |   |
3165          └--┘-----└-----┘-----└---┘---------->
3166         0             数字信号                t
3167 
3168   3>数据通信方式
3169    1)数据传输方向:单向通信(单工)、双向交替通信(半双工)和双向同时通信(全双工);
3170    2)数据传输时空顺序:并行通信和串行通信;
3171                       1
3172              并行通信  0
3173                       0
3174      |1|0|0|1|        1
3175 
3176              串行通信 1001
3177 
3178    3)数据同步技术
3179      异步通信:发送 字符, 不需建立同步时钟,实现简单,适用低速网络;
3180      同步通信:发送 数据块, 双方建立同步时钟,实现复杂,适用高速网络;
3181 
3182    4)数据通信系统的功能
3183     *1.信道的利用;
3184     *2.接口及信号产生;
3185     *3.同步;
3186     *4.差错检测与纠正;
3187     *5.寻址与路由;
3188     *6.网络管理;
3189     *7.安全保证;
3190 
3191    5)对于数字电话、数字电视等数字通信系统,与模拟系统相比
3192      其传输具有 保密性好 和 抗干扰性强 两个显著的优点;
3193 
3194 (二)物理介质
3195  1.导引型传输介质(有线信道)
3196    以导线为传输介质,信号沿导线进行传输,信号的能量集中在导线附近,
3197    因此传输效率高,但部署不够灵活;(架空明线, 双绞线, 同轴电缆, 光纤)
3198 
3199   1>架空明线
3200     优点:传输损耗较低;
3201     缺点:易受天气和外界电磁干扰;
3202          对外界噪声敏感;
3203          带宽有限;
3204 
3205   2>双绞线
3206     将两根相互绝缘的铜线并排绞合在一起,可以减少对相邻导线的电磁干扰,
3207     这样的一对线称为 双绞线; (STP屏蔽双绞线 和 UTP非屏蔽双绞线)
3208 
3209     1)屏蔽双绞线(STP):(性能好,价格高,安装工艺复杂)
3210       (聚氯乙烯套层(屏蔽层(绝缘体(铜线))))
3211 
3212     2)非屏蔽双绞线(UTP)(适用更普遍)
3213       (聚氯乙烯套层(绝缘体(铜线)))
3214 
3215     3)美国电子工业协会规定了 5种 非屏蔽双绞线(UTP)标准
3216       +-----------+----------+----------------------------------------+
3217       |  UTP分类  |  带宽/MHz |               典型应用                 |
3218       +-----------+----------+----------------------------------------+
3219       |     3      |    16    | 低速网络,电话网络;                       |
3220       +-----------+----------+----------------------------------------+
3221       |     4      |    20    | 10Base-T以太网                          |
3222       +-----------+----------+----------------------------------------+
3223       |     5     |   100    | 10Base-T以太网,100Base-T快速以太网       |
3224       +-----------+----------+----------------------------------------+
3225       | 5E(超5类) |   100    | 100Base-T快速以太网, 1000Base-T千兆以太网 |
3226       +-----------+----------+----------------------------------------+
3227       |     6     |   250    | 100Base-T千兆以太网, ATM网络             |
3228       +-----------+----------+----------------------------------------+
3229 
3230 
3231   3>同轴电缆
3232     对外界干扰具有较好的屏蔽作用,具有较好的抗电磁干扰性能,目前多用于 有线电视 网络;
3233     (绝缘保护外套(绝缘保护套层(绝缘层(内导体))))
3234 
3235   4>光纤
3236    1)基本原理是利用了光的 全反射 现象;
3237      (包层(纤芯[入射角,折射角])
3238        ↓           ↘
3239     低折射率的媒体   高折射率的媒体
3240 
3241    2)按光纤内光波传输模式的不同: 单模光纤;  多模光纤;
3242 
3243    3)光纤优点
3244     *1.光纤通信容量非常大,最高可达100Gbit/s
3245     *2.传输损耗小,中继距离长,对远距离传输特别经济;
3246     *3.抗雷电和电磁干扰性好;
3247     *4.无串音干扰,保密性好,也不易被窃听或截取数据;
3248     *5.体积小,重量轻;
3249 
3250    4)缺点: 易脆断;
3251 
3252  2.非导引型传输介质(无线信道)
3253    电磁波在*空间的传播;
3254    频率越高,波长越小;
3255   1>根据电磁波频率、通信距离与位置的不同,电磁波的传播可以分为
3256   +----------------------+---------+-------------------+
3257   | 电磁波传播方式          |传输速率  |   距离地表高度     |
3258   +----------------------+---------+-------------------+
3259   | 地波传播               |2MHz以下 |    沿地表(WIFI)    |
3260   +----------------------+---------+-------------------+
3261   | 天波传播(电离层反射波) | 2-30MHz |  距离地表60-400Km  |
3262   +----------------------+---------+-------------------+
3263   | 视线传播(两点间无障碍) |高于30MHz|   电离层之上(卫星)  |
3264   +----------------------+---------+-------------------+
3265 
3266 (三)信道与信道容量
3267  1.信道分类与模型
3268   1>信道:通信系统中连接发送端与接收端的通信设备,实现从发送端到接收端的信号传送。
3269    1)狭义信道:仅指信号的传输介质;
3270    2)广义信道:包括传输介质和通信系统中的一些变换装置;(调制信道(连续信道) 和 编码信道(离散信道))
3271    3)广义信道的分类与组成
3272    
3273      信源->编码器->调制器->发射设备->传输介质->接收设备->解调器->译码器->信宿;
3274                  |      |----------调制信道---------|       |
3275                  |-----------------编码信道-----------------|
3276 
3277     *1.编码信道:数字信号由 编码器输出端 传输到 译码器输入端 经过的部分;  输入/出信号离散  离散信道
3278     *2.调制信道:从 调制器的输出端 传输到 解调器的输入端 经过的部分;      输入/出信号连续  连续信道
3279 
3280  2.信道传输特性
3281    不同类型的信道对信号的影响差异较大:随参信道 和 恒参信道
3282    1)随机参数信道(随参信道):信号通过信道发生畸变是 时变的。
3283      传输特性: 大部分无线信道(依靠地波和天波传播的无线电信道)
3284      *1.信号的传输衰变随时间随机变化;
3285      *2.信号的传输时延随时间随机变化;
3286      *3.存在 多径 传播现象;
3287 
3288    2)恒定参数信道(恒参信道):信号通过信道发生畸变和 时间无关。
3289      传输特性: 各种有线信道和部分无线信道(微波视线传播链路、卫星链路)
3290      *1.对信号幅值产生 固定的 衰减;
3291      *2.对信号输出产生 固定的 时延;
3292 
3293  3.信道容量
3294   1>信道容量概念
3295    0)信道容量:信道无差错传输信息的最大平均信息速率,是用来描述或衡量 信道的传输能力;
3296    1)信道的宽带:指能够有效通过该信道的信号的 最大频带宽度,用码元速率(或符号速率)描述, 单位:Baud;
3297    2)传输速率是信道 单位时间 内传输的码元(或符号)或信息的能力用传信率(或信息速率)描述,单位bit/s;
3298 
3299   2>连续信道容量(调制信道)
3300    1)奈奎斯特理想的,无噪音的信道容量
3301      /**
3302       * C:信道容量 单位bit/s;
3303       * B:信道带宽,单位Hz;
3304       * M:进制数,信号状态数;
3305       */
3306       C=2Blog₂M; //信道容量=2(信道带宽)log₂信号状态数
3307       最大信号传输速率=2B;//2倍带宽(最大频带利用率)
3308       
3309      示例.利用带宽为4000Hz的无噪声信道传输二进制基带信号,求最大的数据传输速率(信道容量);
3310      C=2×4000log₂2=8000bps; (M=2;//二进制)
3311 
3312    2)香农有噪声连续信道容量
3313      /**
3314       * C:信道容量 单位bit/s;
3315       * B:信道带宽,单位Hz;
3316       * S:输入信号功率
3317       * N:高斯白噪音的功率
3318       * S/N: 信噪比;
3319       */
3320        C=Blog₂(1+S/N);// 信道容量=带宽log₂(1+信噪比)
3321 
3322      信噪比的单位为功率,但题目中一般给到的是分贝(dB)
3323      分贝和功率的换算公式:
3324      (S/N)dB=10log10(S/N)功率 <=>(S/N)功率=10^(dB/10)
3325 
3326      示例:
3327      已知某信道带宽为8kHz,信噪比为30dB,试求该信道的信道容量C;
3328      解(S/N)dB=10log10(S/N)功率;
3329      30=10log10(S/N)功率 简化得 3=log10(S/N)功率
3330      可得: S/N=1000;
3331      C=Blog₂(1+S/N)
3332       =8×10³log₂(1+1000)
3333       =8×10³×log₂(1001)
3334       ≈80kbit/s
3335 
3336 (四)基带传输
3337  1.基带传输基本概念
3338    1>基带信号: 信源发出的没有经过调制的原始信号;
3339      模拟信源: 发出的原始信号是 模拟基带信号;(电话)
3340      数字信源: 发出的原始信号是 数字基带信号;(计算机)
3341      基带传输: 直接在信道传送基带信号;
3342      基带传输系统: 在信道中传输数字基带信号,相应的系统成为数字基带传输系统;
3343      数字基带传输系统结构:
3344 
3345      数字基带信号                                      再生数字基带信号
3346      ----------->信号形成器->信道->接收过滤器->抽样判决器--------------->
3347                               ↓           ↓    ↑
3348                              噪声      同步提取-3349 
3350  2.数字基带传输编码
3351   1>将数据映射为脉冲信号的 信息码(5种);
3352    1)单极不归零码(Not Return to Zero,NRZ)
3353      *1.脉冲幅值要么是正电平,要么是零电平,只有一个极性; 单极
3354      *2.整个脉冲持续时间内,电平保持不平,且脉冲持续期结束也不要求回归零电平; 不归零
3355      二进制 0:零电平表示, 1:正电平表示;
3356      例如: 1100100111
3357      y(t)↑
3358          |
3359          | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 |
3360          ├───┼───┐   |   ├───┤   |   ├───┼───┼───┤
3361          |   |   |   |   |   |   |   |   |   |   |
3362          |   |   |   |   |   |   |   |   |   |   |
3363          └---|---|---|---└---|---|---|---|---|---|--->
3364         0              单极不归零码信号波形          t
3365 
3366    2)单极归零码(Return to Zero , RZ)
3367      每个正脉冲持续期的 中间时刻, 电平要由正电平回到零电平;
3368      二进制 0:零电平表示, 1:正电平表示;
3369      例如: 1100100111
3370      y(t)↑
3371          |
3372          |  1  |  1  |  0  |  0  |  1  |  0  |  0  |  1  |  1  |  1  |
3373        +E├──┐  ├──┐  |     |     ├──┐  |     |     ├──┐  ├──┐  |──┐  |
3374          |  |  |  |  |     |     |  |  |     |     |  |  |  |  |  |  |
3375          |  |  |  |  |     |     |  |  |     |     |  |  |  |  |  |  |
3376          └--┴--├--┴--|-----├-----├--┴--|-----|-----├--┴--├--┴--├--┴--|-->
3377         0                    单极归零码信号波形                        t
3378 
3379 
3380    3)双极不归零码
3381      每个正、负脉冲持续期的中间时刻,电平都要回到零电平;
3382      二进制 0:负电平表示, 1:正电平表示;
3383      例如: 1100100111
3384      y(t)↑
3385          |
3386          | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 |
3387        +E├───┼───┐   |   ├───┐   |   ├───┼───┼───┤
3388          |   |   |   |   |   |   |   |   |   |   |
3389          |   |   |   |   |   |   |   |   |   |   |
3390         0|---┴---┼---┼---┼---┼---|---┼---|---|---|---->
3391          |       |   |   |   |   |   |   |   |   |   t
3392          |       |   |   |   |   |   |   |   |   |
3393        -E|       └───┼───┘   └───┼───┘   |   |   |
3394 
3395                   双极不归零码信号波形
3396    4)双极归零码
3397      每个正、负脉冲持续期的中间时刻,电平都要回到零电平;
3398      二进制 0:负电平表示, 1:正电平表示;
3399      例如: 1100100111
3400      y(t)↑
3401          |
3402          |  1  |  1  |  0  |  0  |  1  |  0  |  0  |  1  |  1  |  1  |
3403        +E├──┐  ├──┐  |     |     ├──┐  |     |     ├──┐  ├──┐  |──┐  |
3404          |  |  |  |  |     |     |  |  |     |     |  |  |  |  |  |  |
3405          |  |  |  |  |     |     |  |  |     |     |  |  |  |  |  |  |
3406         0|--┴--|--┴--┼--┐--┼--┐--|--┴--┼--┐--┼--┐--┼--┴--|--┴--|--┴--|-->
3407          |     |     |  |  |  |  |     |  |  |  |  |     |     |     | t
3408          |     |     |  |  |  |  |     |  |  |  |  |     |     |     |
3409        -E|     |     └──┘  └──┘  |     └──┘  └──┘  |     |     |     |
3410 
3411                               双极不归零码信号波形
3412 
3413 
3414    5)差分码(相对码)
3415      利用电平的变化与否来表示信息;
3416      和前一个脉冲时间的电平比, 当前脉冲时间表示0 波形无跳变 , 表示1时, 波形有跳变
3417      二进制 0:相邻电平无跳变, 1:相邻电平有跳变;*.这个也要看题目给出的限制,有时候相反;
3418      例如:1100100111(默认初始为零电平)
3419      y(t)↑
3420          |
3421          | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 |
3422          ├───┤   |   |   ├───┼───┼───┤   ├───┤   |
3423          |   |   |   |   |   |   |   |   |   |   |
3424          |   |   |   |   |   |   |   |   |   |   |
3425          └---|---|---|---└---|---|---|---|---|---|--->
3426         0              差分码信号波长                t
3427 
3428   2>将数字基带信号的 基本码型 变换为合适传输的数字传输基带 传输码型
3429     AMI码; 双相码; 米勒码; CMI码; nBmB码; nBmT码;
3430    1)信号交替反转码(Alternative Mark Inversion , AMI码)
3431      用3中电平(正电平、负电平、零电平)进行编码;
3432      0:零电平表示;
3433      1与-1:交替用正电平和负电平表示;
3434      例如:1100100111(默认初始为零电平)
3435      | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 |
3436      |+1 |-1 | 0 | 0 |+1 | 0 | 0 |-1 |+1 |-1 |
3437      y(t)↑
3438          |
3439          |1 |1 |0 |0 |1 |0 |0 |1 |1 |1 |
3440        +E├──┤  |  |  ├──┐  |  |  ├──┐  |
3441          |  |  |  |  |  |  |  |  |  |  |
3442          |  |  |  |  |  |  |  |  |  |  |
3443         0|--|--┼--┴--└--┴--┴--┼--┼--┼--|----->
3444          |  |  |              |  |  |  |    t
3445          |  |  |              |  |  |  |
3446        -E|  └──┘              └──┘  └──┘
3447                AMI(RZ)码信号波
3448 
3449    2)双相码(Biphase Code),又叫曼彻斯特(Manchester)码
3450      只有正负电平,脉冲持续时间的中间时刻都要进行 电平跳变
3451      1:正电平跳到负电平(1:正负);
3452      0:负电平跳到正电平(0:负正);
3453     例如:11001001(默认初始为零电平)
3454      y(t)↑
3455          |
3456          |  1  |  1  |  0  |  0  |  1  |  0  |  0  |  1
3457        +E├──┐  |──┐  |  ┌──┐  ┌──┼──┐  |  ┌──┤  ┌──┼──┐  |
3458          |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
3459          |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
3460         0|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|----->
3461          |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |    t
3462          |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
3463        -E|  └──┘  └──┼──┘  └──┘  |  └──┼──┘  └──┘  |  └──┘
3464                             曼彻斯特信号波形
3465 
3466    2-1)差分双相码(差分曼彻斯特码)
3467      1:相邻电平有跳变 (和前一个电平的落脚点不同,前一个落脚到负,当前从正开始, 反之从负开始)
3468      0:相邻电平无跳变 (和前一个电平的落脚点相同,前一个落脚到负,当前从负开始, 反之从正开始)
3469      例如:11001001(默认初始为零电平)
3470 
3471      y(t)↑
3472          |
3473          |  1  |  1  |  0  |  0  |  1  |  0  |  0  |  1
3474        +E├──┐  ├──┐  |  ┌──┼──┐  ├──┐  |  ┌──┼──┐  ├──┐  |
3475          |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
3476          |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
3477         0|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|----->
3478          |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |    t
3479          |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
3480        -E|  └──┘  └──┼──┘  |  └──┘  └──┼──┘  |  └──┘  └──┘
3481                             差分双相码信号波形
3482 
3483    3)米勒码(Miller Code): 延迟调制码
3484      1:正负或负正。
3485      11:交替编码。前面正,后面负;前面负,后面正;
3486      0:延续前面1的电平,正或负。脉冲期间不跳变。
3487      00:交替编码, 前面正,后面负;前面负,后面正;
3488      01:延续0的电平,正负或负正
3489      10: 延续前面1的电平,脉冲期间不跳变;
3490 
3491      1 1 00 10110 1
3492 
3493      y(t)↑
3494          |
3495          |  1  |  1  |  0  |  0  |  1  |  0  |  1  |  1  |  0  |  1  |
3496        +E├──┐  |  ┌──┼─────┤     |  ┌──┼─────┼──┐  |  ┌──┼─────┼──┐  |
3497          |  |  |  |  |     |     |  |  |     |  |  |  |  |     |  |  |
3498          |  |  |  |  |     |     |  |  |     |  |  |  |  |     |  |  |
3499         0|--|--|--|--|-- --|-----|--|--|-----|--|--|--|--|-----|--|--|->
3500          |  |  |  |  |     |     |  |  |     |  |  |  |  |     |  |  |     t
3501          |  |  |  |  |     |     |  |  |     |  |  |  |  |     |  |  |
3502        -E|  └──┼──┘  |     └─────┼──┘  |     |  └──┼──┘  |     |  └──┤
3503                             CMI码信号波形
3504 
3505    4)传号反转码(Coded Mak Inversion,CMI码)
3506      1:正、负,交替编码。
3507      0:负正。
3508      y(t)↑
3509          |  正   负   负正
3510          |  1 |  1 |  0  |   0 |  1 |  0  |   0 |  1 |
3511        +E├────┤    |  ┌──┤  ┌──┼────┤  ┌──┤  ┌──┤    |
3512          |    |    |  |  |  |  |    |  |  |  |  |    |
3513          |    |    |  |  |  |  |    |  |  |  |  |    |
3514         0|----|----|--|--|--|--|----|--|--|--|--|----|-------->
3515          |    |    |  |  |  |  |    |  |  |  |  |    |       t
3516          |    |    |  |  |  |  |    |  |  |  |  |    |
3517        -E|    └────┼──┘  └──┘  |    └──┘  └──┘  └────┘
3518                             CMI码信号波形
3519 
3520   例题:下图为曼彻斯特编码和差分曼城斯特编码的脉冲波形,试给出对应的比特串
3521        (假定差分曼彻斯特编码的初始信号为高电平) //表示初始值 停在 +E
3522        
3523      y(t)↑  1:正电平跳到负电平(1:正负);  0:负电平跳到正电平(0:负正);
3524          |
3525          |  0  |  1  |  1  |  0  |  0  |  0  |  1  |  1  |
3526        +E|  ┌──┼──┐  ┌──┐  |  ┌──┐  ┌──┐  ┌──┼──┐  ┌──┐  |
3527          |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
3528          |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
3529         0|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|-->
3530          |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | t
3531          |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
3532        -E└──┘  |  └──┘  └──┼──┘  └──┘  └──┘  |  └──┘  └──┘
3533                             曼彻斯特信号波形
3534 
3535      y(t)↑ 当前电平起点和前一个电平的落脚点相比,不同电平为1, 相同为0;
3536          |
3537          |  1  |  0  |  1  |  0  |  0  |  1  |  0  |  1  |
3538        +E|  ┌──┼──┐  ┌──┐  |  ┌──┼──┐  ┌──┐  |  ┌──┐  ┌──┐
3539          |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
3540          |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
3541         0|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--|--->
3542          |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | t
3543          |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
3544        -E└──┘  |  └──┘  └──┼──┘  |  └──┘  └──┼──┘  └──┘  |
3545   初始信号为高电平,        差分曼彻斯特信号波形
3546 
3547 (五)频带传输
3548  1.频带传输基本概念
3549   1>基带信号,具有低通特性(低频信号可通过),可用在低通特性的信道(有线信道)
3550     中进行传输;无线信道,是带通特性(对频率有要求),因此只能利用基带信号去
3551     调制与对应信道传输特性相匹配的载波信号;
3552 
3553   2>数字调制
3554     利用数字基带信号控制载波信号的特征参量,使载波信号的这些参量的变化
3555     反映数字基带信号的信息,进而将数字基带信号转为数字通带信号的过程;
3556 
3557   3>数字解调
3558     是指在 接收数据端 需将调制到载波信号中的数字基带信号卸载下来,还原为数字基带信号的过程;
3559 
3560   4>数字频带传输系统:实现 调制、传输 与 解调 的传输系统 ;//将慢波载到快波上
3561 
3562   5>数字调制系统基本结构
3563                           噪音                               幅值      相位
3564     数字基带信号             ↓          数字基带信号            ↑         ↑
3565     ------------>调制器--->信道-->解调器------------>     y(t)=acos(2πft+φ)
3566                    ↑                                                ↑
3567                   载波                                             频率
3568 
3569     幅值: 最高点到x的距离; 频率:快1; 慢0;    相位:左右平移;
3570 
3571   6>数字调制的基本方法:
3572     利用数字基带信号控制载波信号的某个(或某些)参数的变化,
3573     (利用0或1控制 或选择 载波的不同幅值、频率或相位);
3574     1)如果调制载波的幅值: 幅移键控(ASK);
3575     2)如果调制载波的频率: 频移键控(FSK);
3576     3)如果调制载波的相位: 相移键控(PSK);
3577 
3578  2.频带传输中三种调制方式;
3579   1>二进制数字调制 :数字通信系统频带传输的基本方式
3580    1)数字基带信号:   _|﹋|_|﹋|_|﹋|_|﹋|_|﹋|_|﹋|_|﹋|_
3581 
3582    2)二进制数字调制方式:
3583      通过数字调制将慢波的信号特征表现在载它的快波上(3种+1个变种);
3584      二进制幅移键控  二进制频移键控  二进制相移键控   二进制差分相移键控
3585         (2ASK)        (2FSK)        (2PSK)            (2DPSK)
3586          福啊           频发          橡皮              2D橡皮
3587       高(1)矮(0)     疏(0)密(1)    x下(1) x上(0)   重叠(0)    不重叠(1)
3588         101001       111  0 1       /\   /\  /    /\   /\     /\  /\  /
3589         W_W__W       WWW\/\/W     \/  \    \/   \/  \\/  \  \/  \   \/
3590 
3591       +-----------------------+-------------+--------------+
3592       |       调制方式         |      1      |       0      | _|﹋|_|﹋|_ 数字信号
3593       +-----------------------+-------------+--------------+
3594       |  二进制幅移键控(2ASK)   |     有波形   |    无波形    | _/\  /\   _
3595       +------------------------+-------------+--------------+    \/  \/
3596       |  二进制频移键控(2FSK)   |          频率不同           |WW\/\/W
3597       +------------------------+----------------------------+
3598       |  二进制相移键控(2PSK)   |         1和0相位不同        ||  /\  /\|/\  /\
3599       +------------------------+----------------------------+|\/  \/  |  \/  \/
3600       |二进制差分相移键控(2DPSK) |      看前一个周期波形       |    /\     /\     /\  /\   /
3601       +------------------------+----------------------------+ \/   \ \/   \ \/  \    \/
3602 
3603    3)二进制数字调制性能主要体现
3604     *1.频带利用率: 2FSK(二进制频移键控)最低;
3605     *2.误码率: 2ASK(二进制幅移键控)最高; 2PSK(二进制相移键控)最低;
3606     *3.对信道特性的敏感性: 2ASK(二进制幅移键控)变化敏感;
3607 
3608 
3609   2>多进制数字调制
3610       _|﹋|_|﹋|_|﹋|_|﹋|_|﹋|_|﹋|_|﹋|_
3611    1)码元: 一个固定时长的信号波形;
3612         一个脉冲时间(二进制码元):2¹
3613         两个脉冲时间(四进制码元):2²
3614         三个脉冲时间(八进制码元):2³
3615 
3616    2)码元的传输速率:单位时间内数字通信系统所传输的码元个数;
3617 
3618    3)数据传输速率Rb(bit/s) 与 码元传输速率RB(Baud) 以及 进制数M 间的关系为:
3619           Rb=RBlog₂M
3620      示例:若采用4进制数字调制方式使数据传输速率达到4800bit/s,求码元速率;
3621      4800=RBlog₂4; => 4800=2RB; 可得 RB=4800/2=2400Baud;
3622 
3623 
3624   3>正交幅值调制 QAM, 也称为幅值相位联合键控(APK)
3625    1)基本思想:二维调制技术,对载波信号的 幅值和相位 同时进行调制的联合调制技术;
3626    2)优点: 频带利用率高; 抗噪声能力强; 调制解调系统简单;
3627 
3628 
3629 (六)物理层接口规程
3630  1.物理层主要任务
3631   1)在传输介质上实现 无结构比特流 的传输;
3632   2)规定 数据终端设备(DTE) 和 数据通信设备(DCE)之间接口的相关特性;
3633     DTE:Data Terminal Equipment      数据终端设备
3634     DCE:Data Communication Equipment 数据通信设备
3635 
3636  2.物理层接口特性(4个)
3637   1)机械特性: 指明通信实体间硬件连接口的机械特点:例如:常用的电源插头的尺寸有严格规定;
3638   2)电气特性: 规定了物理连接上,导线的电气连接及有关电路特性; 例如:接收器和发送器电路特性的说明;
3639   3)功能特性: 指明物理接口各条 信号线 的用途等; 例如:数据信号线、控制信号线;
3640   4)规程特性: 通信协议,指明利用接口传输比特流的全过程; 例如:事件执行顺序;
3641 
3642 
3643 第七章 无线与移动网络
3644 (一)无线网络
3645  1.无线网络基本结构
3646   1)无线主机
3647   2)无线链路
3648   3)基站(base station)
3649     蜂窝网络中的蜂窝塔(cell tower)
3650     IEEE 802.11无线局域网中的接入点(Access Point,AP)
3651   4)网络基础设施
3652 
3653  2.无线网络模式
3654   1)基础设施模式: 无线主机与基站关联;
3655   2)自组织网络(AD Hoc网络,特定网络):无线主机不通过基站而直接与其他无线主机通信;
3656     自组织网络: 由一组用户群构成,不需要基站、没有固定的路由器的移动通信模式;
3657     自组织网络中的每个结点都 兼有 路由器 和 主机 两种功能;
3658 
3659  3.无线链路与无线网络特性
3660   1>无线链路的特点(3条):
3661    1)信号强度的衰减:路径损耗(大多数无线链路为随参信道);
3662    2)干扰;
3663    3)多径传播;(出现信号反射)
3664 
3665   2>隐藏站现象
3666    1)站点A、C都向站点B发送数据;
3667    2)站点A、C之间有物理阻挡,双方都无法检测出对方发送的信号;
3668    3)站点A、C都向站点B发送数据时,发生碰撞,站点B无法正确接收任何一方的数据;
3669 
3670 (二)移动网络
3671  1.移动网络基本原理
3672   1>原理内容(3条)
3673    1)从网络层的角度分析用户的移动性;
3674    2)移动结点的地址始终保持不变的重要性;
3675    3)可用的有线基础设施的支持;
3676 
3677   2>移动网络的术语
3678    1)移动结点的永久居所: 归属网络,家网;
3679    2)在归属网络中代表移动结点执行移动管理功能的实体: 归属管理, 家代理;
3680    3)移动结点当前所在非归属网络: 外部网络, 被访网络;
3681    4)在外部网络中帮助移动结点做移动管理功能的实体: 外部代理;
3682    5)通信者: 与该移动结点通信的实体;
3683 
3684  2.寻址
3685   1>移动寻址:
3686     当某移动结点位于一个外部网络时,所有指向此结点永久地址的流量需要导向外部网络;
3687 
3688   2>保持地址不变的解决办法
3689    1)外部网络通过向所有其他网络发通告,告诉它们盖移动结点正在它的网络中(不适用于大规模网络);
3690    2)将移动性功能从网络核心搬到网络边缘,由该移动结点的归属网络来实现(实际上移动网络采取的做法);
3691     *1.将外部代理放置在外部网络路由器上,外部代理为        归属网络               被访网络
3692        移动结点创造一个转交地址(Care-Of Address,COA);   永久地址:        永久地址  ▆ 转交地址:
3693     *2.移动结点与永久地址和COA都连接;                   127.198.6.7   127.198.6.779.168.14.2
3694     *3.外部代理告诉归属代理该移动结点的COA;              ▆---------●            ●
3695                                                         归属代理   ╲         ╱
3696   3>移动结点的路由选择                                               |-互联网-|
3697     数据报寻址并转发的方法: 间接路由选择 和直接路由选择                      ╲
3698    1)移动结点的 间接 路由选择:通信者将数据报寻址到移动结点的 永久地址          ■通信者
3699      网络层新功能:
3700      *1.移动结点到外部代理的协议:注册,取消;
3701      *2.外部代理到归属代理的注册协议:外部代理告诉归属代理COA;
3702      *3.归属代理数据报封装协议: 归属代理封装原始数据报,转发;
3703      *4.外部代理拆封协议:从封装好的数据宝报中提取原始数据报转发;
3704      三角路由问题
3705      通信者和移动结点之间存在一条更有效的路由,发往移动结点的数据也要先发给归属代理,然后再发送到被访网络;
3706 
3707    2)移动结点的直接路由选择
3708      通信者所在网络中的通信者代理先获取移动结点的COA,通信者代理将数据报发往移动结点的COA;
3709      引入的两个问题
3710      *1.需要一个移动用户定位协议,以便通信者代理向归属代理查询获得移动结点的COA;
3711      *2.归属代理仅在会话开始时被通信代理询问一次COA;
3712 
3713 
3714 
3715 (三)无线局域网 IEEE 802.11
3716  1.IEEE 802家族由一系列局域网(LAN)技术规范组成
3717    IEEE 802.11发表于1997年,是原始标准,频率:2.4GHz,支持速率2Mbit/s;
3718   +--------------+-------------+-------------------+
3719   |    标准         | 频率范围/GHz |       数据率       |
3720   +--------------+-------------+-------------------+
3721   | IEEE 802.11b |     2.4     |  最高为 11 Mbit/s  | b11
3722   +--------------+-------------+-------------------+
3723   | IEEE 802.11a |      5      |  最高为 54 Mbit/s  | a54
3724   +--------------+-------------+-------------------+
3725   | IEEE 802.11g |     2.4     |  最高为 54 Mbit/s  | g54
3726   +--------------+-------------+-------------------+
3727   | IEEE 802.11n |    2.4/5    |  最高为 600Mbit/s  | n600
3728   +--------------+-------------+-------------------+
3729 
3730  2.共同点:
3731   1)都是使用相同的介质访问控制协议CSMA/CA(冲突避免)
3732   2)链路层帧使用相同的帧格式;
3733   3)都具有降低传输速率以传输更远距离的能力;
3734   4)都支持"基础设施模式""自组织模式" 两种模式;
3735 
3736  3.IEEE 802.11体系结构的基本构建:
3737   1)基站:接入点(Access Point,AP)
3738   2)基本服务集(Basic Service Set,BSS)
3739     BSS包含: 一个接入点,一个或多个无线站点;
3740 
3741  4.AP发现(无线主机怎么找到AP)
3742   1)被动扫描:无线主机扫描信道 和 监听信标帧;
3743   2)主动扫描:无线主机向其范围内的所有AP广播 探测帧;
3744 
3745  5.IEEE 802.11的MAC协议
3746   1>IEEE 802.11的MAC协议采用CSMA/CA协议
3747     Carrier Sense Multiple Access with Collision Avoidance
3748     带碰撞避免的载波监听多路访问协议;
3749 
3750   2>CSMA/CA协议工作原理(简答题)
3751     通过 请求发送(RTS)帧 和 允许发送(CTS)帧 的交换,
3752     实现信道预约占用,避免数据帧传送过程中的冲突;
3753 
3754   3>CSMA/CA协议工作步骤
3755    1)源站发送数据之前,先监听,若空闲,等待一个分布式帧间间隔(Distributed Inter-Frame
3756      Space, DIFS)的短时间后,发送一个很短的请求发送(Request To Send,RTS) 控制针;
3757      RTS控制帧: 源地址 目的地址, 本次通信所需的 持续时间;
3758 
3759    2)若目的站正确收到源站发来的RTS帧,且无力介质空闲,等待一个短帧间间隔(Short Inter-Frame
3760      Spacing,SIFS)时间后,发送一个很短的允许发送(Clear To Send, TCS)控制帧作为响应;
3761      CTS控制帧: 本次通信持续时间等;
3762 
3763    3)源站和目的站周围的其他站点可以监听到两者要通信,其他站点在其持续通信时间内不会发送,
3764      这个时间被称为网络分配向量(Network Allocation Vector, NAV);
3765      NAV是其他站根据监听到的RTS或CTS帧中的持续时间来确定数据帧传输的时间;
3766 
3767    4)源站收到CTS帧后,在等待一段时间SIFS时间后,即可发送数据帧,
3768      若目的站正确接收到数据帧,在等待时间SIFS后,就向源站发送确认帧(ACK);
3769 
3770  6.IEEE 802.11 帧类型(3种:控制帧; 数据帧; 管理帧)
3771 
3772  7.IEEE 802.11 数据帧结构
3773   1>MAC首部:共30字节
3774    1)帧控制:包含多个子字段:如 类型和子类型字段:用于区分RTS帧、CTS帧、ACK帧 和 数据帧;
3775    2)持续期:IEEE 802.11的MAC协议允许传输结点 预约信道一段时间,包括传输其
3776            数据帧的时间 和 传输确认帧的时间,该持续值在该帧的 持续期字段中;
3777    3)有4个地址字段:最特殊;
3778    4)序号控制: 在IEEE 802.11网络中,站点正确收到其他站点的帧后,都会发一个确认帧,确认帧可能丢失,
3779               发送站点会发送一个帧等多个副本,使用序号可以区分新传输的帧和以前帧的重传;
3780 
3781   2>帧主体:帧的数据部分,不超过2312字节;通常IEEE 802.11帧长都小于1500字节;
3782   3>尾部: 帧检验序列FCS,共4字节;
3783                               MAC首部(30字节)
3784         ╭------------------------^--------------------------╮         MAC尾部
3785    字节 2       2       6      6      6        2          6    0-2312    4
3786     | 帧控制 | 持续期 | 地址1 | 地址2 | 地址3 | 序号控制 | 地址4 | 帧主体 | FCS|
3787     ╭----^----------------------------------------------3788    位| 2 | 2 |   4   | 1 |  1 | 1 |  1  | 1 | 1 | 1 | 1 |
3789      协议 类型 子类型  去往 来自 更多 重试 功率 更多    顺序
3790      版本  ↘  ↙      AP  AP  分片      管理 数据
3791              ↓用于
3792      区分RTS帧、CTS帧、ACK帧 和 数据帧;
3793 
3794     +--------+-------+--------+--------+-------+------+
3795     | 去往AP | 来自AP | 地址1  |  地址2 | 地址3  | 地址4 |
3796     +--------+-------+--------+--------+-------+------+
3797     |    0   |   1   |目的地址 | AP地址 | 源地址 |      |
3798     +--------+-------+--------+--------+-------+------+
3799     |    1   |   0   | AP地址 | 源地址  |目的地址|      |
3800     +--------+-------+--------+--------+-------+------+
3801 
3802 (四)蜂窝网络
3803  0.小区(cell): 蜂窝网覆盖的区域分成的六边形的区域;
3804  1.蜂窝网络体系结构:
3805   0>蜂窝:小区的地理覆盖区域;
3806   1>基站系统(BSS,Base Station System)
3807    1)收发基站(BTS,Base Transceiver Station):负责小区内的移动站点 发送或接收信号;
3808    2)基站控制器(BSC):服务于收发基站,为用户分配BTS无线信道、执行寻呼,执行移动用户的切换;
3809    3)移动交换中心(MSC):管理5个基站控制器,在用户鉴别和账号管理以及呼叫建立和切换中起着决定作用;
3810 
3811  2.间接路由选择方法管理移动性
3812   1)归属网络维护一个归属位置注册器(Home Location Register, HLR)的数据库:
3813     每个用户的永久蜂窝电话号码,用户个人信息,用户当前的位置信息;
3814   2)被访网络维护一个访问位置注册器(Visitor Location Register,VLR)的数据库:
3815     为每一位当前在其服务网络的移动用户提供一个表项;
3816 
3817  3.通信过程
3818   1)通信者拨打移动用户的电话号码;
3819   2)归属移动交换中心收到该呼叫,查询归属位置注册器来确定 移动用户的位置及其漫游号码;
3820   3)漫游号码确定后,归属移动交换中心通过网络呼叫被访网络的移动交换中心,
3821     被访网络的移动交换中心呼叫移动用户;
3822 
3823  4.移动通信2G/3G/4G/5G网络
3824   1>第一代蜂窝移动通信(1G) 淘汰
3825 
3826   2>第二代蜂窝移动通信(2G)
3827    1)全球移动通信系统(GSM,Global System for Mobile Communication)
3828     *1.GSM系统是第二代移动电话系统的开端。
3829     *2.GSM业务可以分为承载业务、电信业务、附加业务三大类。
3830     *3.GSM系统采用的是FDMA(频分)和TDMA(时分)混合接入的方式。
3831    2)短信服务
3832    3)通用分组无线业务(GPRS,General Packet Radio Service)
3833    4)增强数据速率的 GSM 演迚技术 (EDGE,Enhanced Data Rate for GSM Evolution)
3834 
3835   3>第三代移动通信系统(3G)
3836    1)国际电信联盟(ITU)提出并研究 WCDMA(欧洲)、CDMA2000(美国)、TD-SCDMA(中国)三大技术标准;
3837    2)3G是采用CDMA(码分多路复用)技术的通信系统;
3838    3)关键技术:无线传输技术;
3839 
3840   4>4G/LTE
3841    1)3GPP组织在2004年开始长期演迚(LTE)标准化项目,在2008年9月开使LTE-Advanced项目。
3842    2)4G特点:高速率传输、智能化、业务多样化、无缝接入、后向兼容、经济;
3843    3)LTE系统:
3844     *1.核心网(EPC):
3845       #1.移动管理实体(MME):负责移动性控制;
3846       #2.服务网关(S-GW):负责数据分组的路由与转发;
3847     *2.接入网(E-UTRAN):基站(E-NodeB);
3848 
3849     *3.接入网中e-Node B 与 e-NodeB之间 X2的接口;
3850        LTE核心网与接入网之间是 S1的接口;
3851   5>5G
3852    1)5G技术目的: 构建网络社会
3853    2)5G特点: 超高速率传输, 超高容量、超可靠性、随时随地可接入性;
3854 
3855 (五)移动IP网络
3856  1.移动IP(Mobile IP)
3857    因特网工程任务组(IETF,the Internet Engineering Task Force)
3858    允许计算机移动到外地时,任然保持其原来的IP地址;
3859               ╭代理发现(代理通告, 代理请求);
3860     移动IP标准< 向归属代理注册;
3861               ╰数据报的间接路由选择;
3862 
3863     移动代理通告扩展包含了该移动结点所需的附加信息:
3864     包括归属代理位(H), 注册要求为(R), 转交地址(COA)字段;
3865 
3866  2.代理发现
3867    当移动IP站点到达一个新网络时,移动结点都必须知道相应的外部代理或归属代理身份;
3868    代理发现的实现方式:
3869    1)代理通告: 代理周期性的广播一个类型字段为9(路由器发现)的ICMP报文;
3870    2)代理请求: 移动结点广播ICMP报文;
3871 
3872  3.向归属代理注册
3873    移动IP定义了外部代理向一个移动结点的归属代理注册或注销COA所使用的的协议;
3874    一旦某个移动IP结点收到一个COA,则该地址必须要向归属代理注册,这可通过
3875    外部代理来完成,共涉及4个步骤:
3876    1)当收到一个外部代理通告后,移动结点立即向外部代理发送一个移动IP注册报文;
3877    2)外部代理收到注册报文并记录移动结点的永久IP地址,分配一个COA;
3878    3)外部代理把注册请求发送给归属代理,归属代理接收注册请求并检查 真实性 和 正确性;
3879    4)外部代理接收注册应答,然后将其转发给移动结点;
3880 
3881 (六)其他典型无线网络简介(WiMax 蓝牙 ZigBee)
3882  1.全球微波互联接入(WiMax,World Interoperability for Microwave Access)
3883    又名IEEE 802.16标准,宽带无线标准;
3884 
3885   1>WiMax优势:
3886    1)更远的传输距离(可达50Km),
3887    2)更高速的带宽接入(最高300Mbit/s);
3888 
3889   2>WiMax劣势:
3890    1)不支持用户在移动过程中无缝切换;
3891    2)产业基础薄弱;
3892    3)和传统的蜂窝网络无法完全兼容;
3893 
3894  2.蓝牙(BlueTooth)
3895   1)IEEE 802.15.1标准, 无线个人区局域网(WPAN)标准;
3896   2)工作在全球通用的2.4GHz的频段;
3897   3)特点: 小范围, 低功率, 低速率, 低成本运行;(一小三低)
3898 
3899  3.ZigBee
3900   1)IEEE 802.15.4标准, 第二个个人区域网络标准;
3901   2)特点: 低功率, 低数据速率, 低工作周期;(三低);
3902 
3903 
3904 第八章 网络安全
3905 (一)网络安全概述
3906  0>网络安全概念
3907    网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的 或
3908    恶意的原因而遭受到破坏、更改、泄漏, 系统连续可靠正常地运行,网络服务不中断;
3909 
3910    *相对性是指网络永远只有相对的安全,没有绝对的安全;
3911 
3912  1>典型的网络安全威胁
3913   1)报文传输: 传输过程面临窃听、插入、假冒、劫持等安全威胁;
3914   2)拒绝服务DoS、分布式拒绝服务DDoS(利用多个源主机协同淹没接收方);
3915   3)映射: 先探路, 再攻击;
3916   4)分组 "嗅探";(Wireshark 是一个典型的分组嗅探软件);
3917   5)IP欺骗;
3918 
3919  2>网络安全通信需要的基本属性
3920   1)机密性: 只有发送方 和 接收方能理解报文内容;
3921   2)消息完整性: 消息未被篡改, 发生篡改一定会被检测到;
3922   3)可访问与可用性: 对授权用户提供有效服务;
3923   4)身份认证: 双方确认彼此的真实身份;
3924 
3925 (二)数据加密
3926  1.通信加密模型
3927   0>密码学包括: 密码编码学 和 密码分析学 两部分;
3928     密码技术是 保障信息安全的核心基础;
3929     密码分析学: 研究密码变化客观规律中的固有缺陷,并应用于破译密码以获取通信情报;
3930     密码编码学: 是指将密码变化的客观规律应用于编制密码来保守通信秘密;
3931 
3932   1>通信加密流程:
3933 
3934               密钥Ke          ━━━━━━━━━━━        密钥Kd
3935    明文M->加密C=E(M Ke)->密文C    信道    >密文->解密M=D(C Kd)->明文
3936                               ▔▔▔▔▔▔
3937    +-------+-------+--------+--------+--------+
3938    |   M   |   C   |   K    |   E    |   D    |
3939    +-------+-------+--------+--------+--------+
3940    |明文空间|密文空间|密钥空间 |加密算法| 解密算法|
3941    +-------+-------+--------+--------+--------+
3942 
3943   2>密码分类
3944     分类标准:密码*的特点、出现的先后时间;
3945     1)传统加密方式: 替代密码; 换位密码;
3946     2)对称密钥加密;
3947     3)非对称/公开密钥加密;
3948 
3949  2.传统密码算法
3950   1>替代密码
3951     包括:移位加密,乘数加密,仿射密码等;
3952     凯撒密码是替代密码的典型应用;
3953     例:对明文"bob, I love you Alice", 利用k=3的凯撒密码加密,得到密文;
3954        a b c d e f g h i g k l m n
3955        o p q r s t u v w x y z
3956        k=3的含义就是明文的每个字母表顺序推后3位;
3957        bob, I love you Alice
3958          加密后(字母后移3位)
3959        ere, L oryh brx Dolfh
3960 
3961   2>换位密码(置换密码):列置换密码
3962     包括列置换密码, 周期置换密码;
3963    1)加密原则:
3964      根据一定规则重新排列明文,以便打破明文的结构特性, 只改变明文结构,不改变内容;
3965 
3966    2)列置换密码加密过程:
3967     *1.首先将明文P按密钥K的长度n进行分组,并每组一行安行排列, 即每行有n个字符;
3968     *2.若明文长度不是n的整数倍,则不足部分用双方约定的方式填充,如双方约定用字母"x"替代空缺处;
3969     *3.设最后得到的字符矩阵为Mmn,m为明文划分的行数,然后,按照密钥规定的次序将Mmn对应的列输出,即可得到密文序列C;
3970 
3971    示例:假设采用密钥K=nice的列置换密码,对明文"bob i love you"进行加密;求得到的密文;
3972     1)密钥k=nice  密钥长度:n=4;  密钥字母顺序:n(4)i(3)c(1)e(2);
3973     2)将明文按密钥长度分组,每组一行,按行排列;
3974        4 3 1 2
3975        b o b i 密文按数字顺序,按列输出字母
3976        l o v e ========================> bvu iex ooo bly
3977        y o u x(双方约定x为填充字母)
3978 
3979    示例2 key=code,密钥长度n=4,故加密过程分 4列,每列24/6=6个字母,即把密文分为4段
3980          每段6个字母; 密文:cunorimetknlprwpceoterip;求明文;
3981                        c(1)o(4)d(2)e(3)    按行输出得到明文为:
3982          cunori 第一列   c   o   m   p    computer network principle;
3983          metknl 第二列   u   t   e   r
3984          prwpce 第三列   n   e   t   w
3985          oterip 第四列   o   r   k   p
3986                          r   i   n  c
3987                          i   p   l  e
3988 
3989  3.对称密钥加密
3990                                                ╭DES
3991                                       ╭分组密码< AES
3992                                       |        ╰IDEA
3993                     ╭相同(对称密钥加密)<
3994    加密密钥和解密密钥<                  ╰序列密码(流密码),利用密钥产生密钥流对明文串分别加密的过程;
3995                     ╰不同(非对称密钥加密);
3996 
3997   1>DES加密算法(Data Encryption Standard)
3998    1)加密: 明文分为64位分组序列,使用56位的密钥,进行16轮加密;
3999    2)三重DES: 使用两个密钥,执行三次DES算法,密钥长度达到 112位;
4000    3)DES过时原因:密钥长度太短,利用高性能计算机可在短时间内蛮力攻击破解;
4001 
4002   2>AES加密算法(Advanced Encryption Standard)
4003    1)密钥长度:128/192/256位
4004    2)AES加密算法的特点
4005     *1.分组长度和密钥长度均可变;
4006     *2.循环次数允许在一定范围内根据安全要求进行修正;
4007     *3.安全、效率、易用、灵活;
4008     *4.抗线性攻击 和 抗差分攻击 的能力大大增强;
4009     *5.如果1秒暴力破解DES,则需要149万亿年破解AES;
4010 
4011    3)AES加密过程涉及4种操作: 字节替代、行位移、列混淆、轮密钥加;
4012 
4013   3>IDEA加密算法(International Data Encryption Algorithm)
4014     密钥长度:128位;
4015 
4016   4>对称密钥加密算法面临的一个最大的问题是 密钥分发 问题;
4017 
4018  4.非对称/公开密钥加密
4019   1>非对称密钥加密(公开密钥加密)
4020    1)通信双方都有两个密钥: 公钥:任何人都可以得到; 私钥:只有自己知道;
4021    2)典型的公开密钥加密算法: Diffie-Hellman算法 和 RSA算法;
4022    3)Diffie=Hellman算法: 基于数学中素数理论;
4023      RSA算法: 基于数论设计,安全性建立在大数分解的难度上, 应用比较广泛,安全性高;
4024    4)利用公开密钥加密在报文传输中,分别用接收方的公钥和接收方的私钥来加密和解密报文;
4025 
4026   2>非对称密钥加密过程
4027    Alice给Bob写信:
4028    1)Alice用Bob的公钥加密明文,发送;
4029    2)Bob收到密文后,用自己的私钥解密得到明文;
4030    3)加密用私钥,解密用公钥也是可以的;
4031      公钥KB+  私钥KB-   KB-(KB+(m))=m=KB+(KB-(m));
4032 
4033 (三)消息完整性与数字签名
4034  0.报文/消息完整性(message integrity),也称报文/消息认证
4035   1)证明报文确实来自声称的发送方;
4036   2)验证报文在传输过程中没有被篡改;
4037   3)预防报文的时间、顺序被篡改;
4038   4)预防报文持有期被篡改;
4039   5)预防抵赖;
4040 
4041  1.消息完整性检测方法:用散列函数, 对报文m进行散列化;
4042   1>典型的散列函数
4043    1)MD5(Message-Digest Algorithm 5):128位散列值;
4044    2)SHA-1:160位散列值;
4045 
4046   2>散列函数的特性
4047    1)一般的散列函数算法公开;
4048    2)能够快速计算;
4049    3)对任意长度报文进行散列产生定长输出; MD5:128位 SHA-1:160位;
4050    4)对任意报文无法预知其散列值;
4051    5)不同报文不产生相同的散列值;
4052    6)单向性,抗弱碰撞性,抗强碰撞性;
4053 
4054  2.报文认证
4055   1>消息完整性检测一个重要目的:完成 报文认证 的任务;
4056     报文认证: 消息的接受者能够检验收到的消息是否是真实的方法;
4057     报文认证要完成 消息源的认证 和 消息的认证;
4058 
4059   2>消息完整性检测重要目的:报文认证;
4060     对报文m应用散列函数H,得到固定长度的散列码,称为报文摘要,记为H(m);
4061     报文摘要可以作为报文m的数字指纹(fingerprint);
4062              报文m---->H:散列函数--->H(m)
4063                       密码散列函数
4064 
4065   3>简单报文验证
4066     1)发送方对报文m应用散列函数H,得到固定长度的散列码,获得
4067       报文摘要h,将扩展报文(m,h)发送给接收方;|报文m|报文摘要h|
4068 
4069     2)接收方收到扩展报文后,提取报文m 和 报文摘要h, 同样对报文m
4070       应用散列函数H,获得新的报文摘要H(m), 将H(m) 和 H进行比较;
4071 
4072     3)若相同,报文认证成功,否则报文认证失败;
4073 
4074     *简单报文认证不足: 无法达到对消息源认证;
4075 
4076   4>报文认证码MAC(Message Authentication Code)
4077     1)发送方和接收方共享一个认证密钥s,发送方对 报文m 和 认证密钥s
4078       应用散列函数H得到报文认证码h,将 扩展报文(m,h) 发送给接收方;
4079 
4080     2)接收方收到扩展报文后,提取出报文m和报文认证码h, 对报文m 和 认证密钥s
4081       应用散列函数H获得新的报文认证码H(m+s),将H(m+s)与h进行比较;
4082                                                     |密钥s|报文m|    报文认证码h
4083     3)若相同,报文认证成功,否则报文认证失败;             散列化↓
4084                                                     新报文认证码H(m+s)
4085     *报文认证码MAC不足:无法保证消息在接收方没有被篡改;
4086 
4087  3.数字签名
4088   1>数字签名原理:
4089    在非对称密码*中,一个主体使用自己的私钥加密消息,得到密文,密文可使用
4090    该主体公钥解密来恢复成原来的消息,如此生成的"密文"对该消息提供认证服务;
4091 
4092    应用广泛的数字签名方法主要有三种: RSA签名、DSS签名、 Hash签名等;
4093 
4094   2>数字签名应满足
4095    1)接收方能确认发送方的签名,但不能伪造;
4096    2)发送方发出签名的消息给接收方后,就不能再否认他所签发的消息;
4097    3)接收方对已收到的签名消息不能否认,即有收报认证;
4098    4)第三者可以确认收发双方之间的消息传送, 但不能伪造这一过程;
4099 
4100   3>简单的数字签名                                  私钥加密
4101    1)Bob利用自己的私钥对报文m加密,创建签名报文,  报文m--------->签名报文
4102      将扩展报文(报文、签名报文)发送给Alice;       |报文m|签名报文|
4103 
4104    2)Alice收到扩展报文,利用Bob的公钥解密签名报文,  报文m    签名报文
4105      并检验解密后的签名报文和报文m是否一致;     是否一致 \     ↓公钥解密
4106                                                     解密后的报文
4107    3)若一致,则签名报文m的一定是Bob的私钥;
4108 
4109   4>签名报文摘要
4110    1)Bob对报文m应用散列函数H生成报文摘要H(m),然后Bob通过其私钥 对 报文摘要
4111      进行加密生成加密的报文摘要,将扩展报文(报文,加密的报文摘要)发送给Alice;
4112 
4113    2)Alice收到报文m及加密的报文摘要, Alice利用Bob的公钥解密加密的报文摘要,
4114      并对m应用散列函数生成新的报文摘要; 报文m            加密的报文摘要
4115                                       ↓ 散列化  比较       ↓公钥解密
4116                                   新的报文摘要<-------->报文摘要
4117    3)若一致,则签名报文m的一定是Bob的私钥;
4118 
4119 (四)身份认证
4120  0.作用:身份认证(身份鉴别)是一个实体经过计算机网络向另一个实体证明其身份的过程;
4121 
4122  1.基于共享对称密钥的身份认证(使用一次随机数R进行身份认证)   Alice            Bob
4123   1)Alice向Bob发送报文"I\'m Alice"                         |----I\'m Alice->|
4124   2)Bob选择一个 一次性随机数R,然后把这个值发送给Alice;       |<------R-------|
4125   3)Alice使用她与Bob共享的 对称秘密密钥 加密这个一次性随机数  |------KA-B(R)->|
4126     (避免重放攻击),然后把加密的一次性随机数发回给Bob;         ↓              ↓
4127   4)Bob解密收到的报文;                                    时间           时间
4128 
4129  2.基于公开密钥的身份认证
4130   1)Alice向Bob发送报文"I\'m Alice";                           Alice            Bob
4131   2)Bob选择一个一次性随机数R,然后把这个值发送给Alice;            |----I\'m Alice->|
4132   3)Alice使用她的私钥来加密R, 然后把加密的一次性随机数发回给Bob;  |<------R-------|
4133   4)Bob向Alice索要她的公钥;                                    |------KA-(R)-->|
4134   5)Alice向Bob发送自己的公钥;                                  |<--给我你的公钥-|
4135   6)Bob利用Alice的公钥解密收到的报文;                           ↓------KA+----->4136                                                              时间            时间
4137 (五)密钥分发中心与证书认证
4138  1.密钥分发中心
4139    对称密钥分发的典型解决方案:通过各方建立一个大家都信赖的密钥分发中心
4140    (Key Distribution Center, KDC),解决 对称密钥 安全可靠的分发;
4141 
4142   1>通信发起方会生成会话密钥
4143    1)Alice 和 Bob进行保密通信, Alice随机选择一个会话密钥, Alice           KDC             Bob
4144      用Alice和KDC之间长期的共享密钥加密会话密钥,发送给KDC;  |-KA-KDC(Ks,B)->|               |
4145                                                         |               |-KB-KDC(Ks,A)->|
4146    2)KDC得到后,解密获得会话密钥,以及所希望通信方Bob,       时间            时间            时间
4147      KDC利用其和Bob的长期共享密钥加密会话密钥,发送给Bob;           通发起方生成会话密钥
4148 
4149    3)Bob解密,获得会话密钥,并得知期望和自己通信的是Alice;
4150 
4151   2>KDC为Alice、Bob生成通信的会话密钥
4152    1)Alice在希望和Bob通信时,首先向KDC发送请求消息,        Alice            KDC            Bob
4153    2)KDC收到消息后,随机选择一个会话密钥,并将会话密钥分别用   |-请求与Bob通信->|               |
4154      和Alice、Bob的长期共享密钥加密,再分别发送给ALice、Bob; |<-KA-KDC(Ks,B)-|-KB-KDC(Ks,A)->|
4155    3)Alice、Bob收到KDC的密文后,分别解密,获得会话密钥;     时间            时间             时间
4156                                                                 由KDC生成通信的会话密钥
4157 
4158  2.证书认证机构
4159   1>证书认证机构用途
4160     要使公钥密码有效,需要证实你拥有的公钥,实际上就是要与你通信的实体公钥;
4161     将公钥与特定的实体绑定,通常由认证中心(Certification Authority,CA)完成;
4162 
4163   2>认证中心(CA)的作用:
4164    1)CA可以证实一个实体的真实身份;
4165    2)一旦CA验证了某个实体的身份,CA会生成一个把其身份和实体的公钥绑定起来的证书,
4166      其中包含该实体的公钥及其全局唯一的身份识别信息等,并由CA对证书进行数字签名;
4167      Bob获取个人数字证书(如图)↓
4168 
4169      Bob的公钥K+B---->数字签名--->由CA签发的Bob的公钥证书
4170             ↖         (加密)
4171                 ↖       ↑         _
4172                     ↖   |CA的私钥KCA
4173      Bob的识别信息---->认证中心(CA)
4174 
4175 (六)防火墙与入侵检测系统
4176  1.防火墙基本概念
4177    防火墙是能够隔离组织内部网络与公共互联网,允许某些分组通过,
4178    而阻止其他分组进行或离开内部网络的软件、硬件或软件硬件结合的一种设施;
4179 
4180  2.防火墙的分类
4181   1)无状态分组过滤器
4182     典型部署在内部网络和网络边缘路由器上的防火墙,路由器逐个检查数据报,
4183     根据访问控制表(Access Control List,ACL)实现防火墙规则;
4184 
4185   2)有状态分组过滤器
4186     跟踪每个TCP连接建立、拆除、根据状态确定是否允许分组通过;
4187 
4188   3)应用网关
4189     应用网关实现 授权 用户通过网关访问外部网络的服务;
4190 
4191  3.入侵检测系统(IDS,Intrusion Detection System)
4192    是当观察到潜在的恶意流量时,能够产生警告的设备或系统;
4193 
4194 
4195 (七)网络安全协议
4196  自顶向下介绍各层解决安全性的实例协议
4197  1.安全电子邮箱(应用层)
4198   1>电子邮件对网络安全的需求
4199    1)机密性
4200    2)完整性
4201    3)身份认证性
4202    4)抗抵赖性
4203 
4204   2>安全电子邮件标准:PGP标准(Pretty Good Privacy)
4205 
4206   3>PGP提供的服务
4207    1)邮件加密; 报文完整性; 数字签名;
4208    2)加密算法: 公钥加密算法(如RSA)、对称加密算法(如3DES)、散列算法(如SHA-1);
4209 
4210  2.安全套接字层SSL(传输层)
4211   1>SSL使用原因
4212    1)一般Web服务器越强大,包含安全漏洞的概率越高;
4213    2)Web浏览器也会遇到各种各样的安全威胁;
4214    3)普通Web应用的应用层数据,在传输过程中都以明文形式传输,可能受到攻击;
4215 
4216   2>在电子背景下,提出HTTP安全电子商务交易协议;
4217     在传输层之上构建一个安全层:
4218     安全套接字层(Secure Socket Layer,SSL)
4219     传输层安全(Transport Layer Security,TLS)
4220 
4221   3>SSL可以提供的服务
4222     机密性,完整性、身份认证等安全服务;
4223 
4224     用到的加密算法: 公开密钥加密算法, 对称密钥加密算法, MAC算法;
4225 
4226   4>SSL协议栈(协议的总和)
4227     SSL是介于TCP传输层和HTTP等应用层协议之间的一个可选层,
4228     大多数应用层协议直接建立在SSL协议之上,SSL是两层协议;
4229     +-------------+----------------+------------+
4230     | SSL握手协议  | SSL更改密码协议 | SSL警告协议 |
4231     +-------------+----------------+------------+
4232     |               SSL记录协议                  |
4233     +-------------------------------------------+
4234     |                  TCP                      |
4235     +-------------------------------------------+
4236     |                   IP                      |
4237     +-------------------------------------------+
4238 
4239    1)SSL握手协议:
4240      在握手过程中需要用到SSL握手协议、SSL更改密码协议,SSL警告协议;
4241      作用:协商密码组 和 建立密码组; 服务器认证与鉴别 和 客户认证与鉴别;
4242 
4243    2)SSL更改密码协议: 通信双方修改密码组,标志着加密策略的改变;
4244      +-------------------+----------------------------------------+
4245      |  公开密钥加密算法     | SSL主要是用RSA,其他多种公钥加密算法也支持 |
4246      +-------------------+----------------------------------------+
4247      |  对称密钥加密算法     |    SSL支持DES分组加密、3DES分组密码等    |
4248      +-------------------+----------------------------------------+
4249      |      MAC算法         |              MD5 或 SHA-1              |
4250      +-------------------+----------------------------------------+
4251 
4252    3)SSL警告协议:
4253      在发生出错或异常时,为对等实体传递SSL警告或终止当前连接;
4254      包含两个字段: 警告级别 和 警告代码;
4255 
4256    4)SSL记录协议:
4257      描述信息交换过程中的消息格式,前3个协议需要记录协议进行封装与传输;
4258 
4259 
4260  3.虚拟专用网VPN 和 IP安全协议IPSec(网络层)
4261   1>虚拟专用网VPN
4262     建立在公共网络上的安全通道,是用户通过公用网络建立的临时的、安全的连接
4263     实现远程用户、分支机构、业务伙伴等与机构总部网络的安全连接,从而构建针对
4264     特定组织机构的专用网络,虚拟专用网络最重点的特点就是 虚拟;
4265     虚拟专用网一般指 构建在Internet上能够 自我管理 的专用网络;
4266     关键技术: 隧道技术(IPSec), 数据加密; 身份认证; 密钥管理; 访问控制; 网络管理;
4267 
4268   2>隧道:通过Internet提供的点对点的数据传输的安全通道;
4269          通过数据加密保证安全,数据进入隧道时,由VPN封装成IP数据报,
4270          通过隧道在Internet上传输;离开隧道后,进行解装,数据便不受VPN保护;
4271 
4272   3>IPSec体系
4273     IPSec是网络层使用的最广泛的安全协议,待IPSec不是一个单一的协议,
4274    1)主要包括的协议: 封装安全荷载协议(ESP), 认证头(AH)协议;
4275    2)IPSec传输模式: 传输模式 和 隧道模式
4276     *1.传输模式: 主机模式, IPSec数据报的发送和接收都是由 端系统完成;
4277     *2.隧道模式: 将IPSec的功能部署在网络边缘的路由器上,路由器之间建立安全隧道,数据报在其中封装装传输;
4278 
4279   4>传输模式和协议组合
4280    1)传输模式AH;
4281    2)隧道模式AH;
4282    3)传输模式ESP;
4283    4)隧道模式ESP:最广泛 和 最重要的IPSec形式; //隧道式安全荷载协议