目录

一、绪论

1、网络、互联网和因特网

2、因特网发展的三个阶段

3、因特网的标准化工作

4、因特网的组成

5、三种交换方式

6、计算机网络的定义

7、计算机网络的分类

 8、计算机网络的性能指标

9、计算机网络体系结构

二、物理层

1、物理层的基本概念

2、物理层下面的传输媒体

 3、传输方式

4、编码与调制

​编辑

5、信道的极限容量

三、数据链路层

1、概述

2、封装成帧

3、差错检测

4、可靠传输

5、可靠传输的实现机制

 6、点对点协议PPP

 7、媒体接入控制

8、MAC地址/IP地址/ARP协议

1、MAC地址

2、IP地址

3、ARP协议

9、集线器与交换机

10、以太网交换机自学习和转发帧的流程

11、以太网交换机的生成树协议STP

12、虚拟局域网VLAN概述

13、虚拟局域网VLAN的实现机制

1、IEEE 802.1Q帧

2、交换机的端口类型

四、网络层

1、概述

2、网络层提供的两种服务

3、IPv4地址概述

 1、分类编址的Pv4地址

 2、划分子网的IPv4地址

3、无分类编址的IPv4地址

4、IPv4地址的应用规划

1、定长的子网掩码FLSM

 2、变长的子网掩码VLSM

4、IP数据报的发送和转发过程

5、静态路由配置及其可能产生的路由环路问题

6、路由选择协议

1、概述

2、路由信息协议RIP的基本工作原理

3、开放最短路径优先OSPF的基本工作原理

4、边界网关协议BGP的基本工作原理


一、绪论

1、网络、互联网和因特网

网络由若干结点和链接这些结点的链路组成

多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网,因此,互联网是网络的网络

因特网是世界上最大的互联网络

internet:是一个通用名词,它泛指由多个计算机网络互联而成的网络,在这些网络之间的通信协议可以是任意的。

Internet:是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用TCP/IP协议作为通信的规则,其前身是美国的ARPANET。

2、因特网发展的三个阶段

1969:从单个网络ARPANET向互联网发展;

1985:逐步建成三级结构的因特网;

1993:逐步形成了多层次ISP结构的因特网。

因特网服务提供者(ISP)

基于ISP的三层结构的因特网

b2a031cf212e4434be54c69b00dcb997.png

3、因特网的标准化工作

因特网的标准化工作对因特网的发展起到了非常重要的作用

因特网在指定其标准上的一个很大的特点是面向公众

        因特网所有的RFC技术文档都可以从因特网上免费下载;

        任何人都可以随时用电子邮件发表对某个文档的意见或建议

因特网协会ISOC是一个国际性组织,它负责对因特网进行全面管理,以及在世界范围内促进其发展和使用。

        因特网体系结构委员会IAB,负责管理因特网有关协议的开发

        因特网工程部IETF,负责研究中短期工程问题,主要针对协议的开发和标准化。

        因特网研究部IRTF,从事理论方面的研究和开发一些需要长期考虑的问题。

指定因特网的正式标准要经过以下四个阶段:

①因特网草案

②建议标准

③草案标准

④因特网标准

4、因特网的组成

边缘部分:由所有连接在因特网上的主机组成,这部分是用户直接使用的,用来进行通信和资源共享

核心部分:由大量网络和连接这些网络的路由器组成,这部分是为边缘部分提供服务的

1734e69b46f94512bdd5211227c75287.png

5、三种交换方式

1、电路交换:电话交换机连通电话线的方式

从通信资源的分配角度来看,交换就是按照某种方式动态地分配传输线路的资源

2c0ccffe4e614732ae65494b6c161cfc.png

电路交换的三个步骤:①建立连接、②通话、③释放连接

2、分组交换

727ca3e2ffb9497389599cc12431ec88.png

3、报文交换

4、三种交换方式的对比

2fc7bbee2cc244628bf29405862234c1.png

 电路交换:

优点:①通信时延小、②有序传输、③没有冲突、④适用范围广、⑤实时性抢、⑥控制简单

缺点:①建立连接时间长、②线路独占,使用效率低、③灵活性差、④难以规格化

报文交换:

优点:①无需建立连接、②动态分配路线、③提高线路可靠性、④提高线路利用性、⑤提供多目标服务

缺点:①引起了转发时延、②需要较大存储空间、③需要传输额外的信息量

分组交换:

优点:①无需建立连接、②线路利用率高、③简化了存储管理、④加速传输、⑤减少出错概率和重发数据量

缺点:①引起了转发时延、②需要传输额外的信息量、③对于数据报服务,存在失序丢失或重复分组问题。

6、计算机网络的定义

计算机网络的精确定义并未统一

计算机网络的最简单定义是:一些互相连接的、自治的计算机的集合。

        互连:是指计算机之间可以通过有线或无线的方式进行数据通信;

        自治:是指独立的计算机,他有自己的硬件和软件,可以单独运行使用

        集合:是指至少需要两台计算机。

计算机网络较好的定义:计算机网络主要是由一些通用的,可编程的硬件互连而成的,这些硬件并非专门用来实现某一特定目的,这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛和日益增长的应用

7、计算机网络的分类

a93b5862a37a46178dd5822e5c12e255.png

 8、计算机网络的性能指标

1、速率:

比特:计算机中的数据量的单位,也是信息论中信息量的单位,一个比特就是二进制数字中的一个1或0。

96e66ac66f0f48999ee15ca06b65d2b4.png

 速率:连接在计算机网络上的主机在数字通道上传送比特的速率,也称比特率

3a5fa621b5664441befefa1c356e1766.png

 2、带宽

带宽:用来表示网络的通信线路所能传送数据的能力,因此网络带宽表示在单位时间内从网络中的某一点到另一点所能通过的最高数据率,单位:b/s

 3、吞吐量

吞吐量表示在单位时间内通过某个网络的数据量

吞吐量受网络的带宽或额定速率的限制

4、时延

网络时延:

①发送时延=分组长度(b)/发送速率(b/s)

②传播时延=通信长度(m)/电磁波传播速率(m/s)

③处理时延(忽略)一般不便于计算

5、时延带宽积

时延带宽积=传播时延 × 带宽

若发送端连续发送数据,则在所发送的第一个比特即将到达终点时,发送端就已经发送了时延带宽积个比特、链路的时延带宽积又称为以比特为单位的链路长度

6、往返时间(RTT)

7、利用率

①信道利用率:用来表示某信道又百分之几的时间是被利用的

②网络利用率:全网络的信道利用率的加权平均

根据排队论,当某信道的利用率增大时,该信道引起的时延也会迅速增加,因此,信道利用率并非越高越好

25ea3f64e55c4487b685088a4f9c7dee.png

 也不能使信道利用率太低,这会使宝贵的通信资源被白白浪费,应该使用一些机制,可以根据情况动态调整输入到网络中的通信量,使网络利用率保持在一个合理的范围之内。

8、丢包率

丢包率即分组丢失率,是指在一定时间范围内,传输过程中丢失的分组数量与总分组数量的比率

分组丢失主要有两种情况:

①分组在传输过程中出现误码,被结点丢弃

②分组到达一台队列已满的分组交换机时被丢弃,在通信量较大时就可能造成网络拥塞。

9、计算机网络体系结构

1、

5dcc2d37ef824f3190bf02e73e60820a.png

 2、计算机网络体系结构分层的必要性

计算机网络是个非常复杂的系统,早在最初的ARPANET设计时就提出了分层的设计理念

aa2ada9e234d4438856d4e43f8f83d00.png

 3、专业术语

实体:任何可发送或接收信息的硬件或软件进程

对等实体:收发双方相同层次中的实体

27e7ba2692b7476aa3c28c8c8db691de.png

协议:控制两个对等实体进行逻辑通信的规则的集合

3d8c35d8d1b9426b802347c8f9f028c1.png

协议三要素:语法、语义、同步

语法:定义所交换信息的格式

语义:定义收发双方所要完成的操作

同步:定义收发双方的时序关系

在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务

要实现本层协议,还需要使用下面一层所提供的服务

协议是水平的,服务是垂直的

实体看得见相邻下层所提供的服务,但并不知道实现该服务的具体协议,也就是说,下面的协议对上面的实体是透明的。

bbff1b31de9c464db6f90dc8cd1aeea3.png

 服务访问点:在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型。

数据链路层的服务访问点为帧的类型字段

网络层的服务访问点为IP数据报首部的协议字段

运输层的服务访问点为端口号

服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令称为服务原语

协议数据单元PDU:对等层次之间传递的数据包

服务数据单元SDU:同一系统内,层与层之间交换的数据包

多个SDU可以合成为一个PDU,一个SDU也可以划分为几个PDU

f350243b467d44e4a606fc6dc15b4f2d.png

二、物理层

1、物理层的基本概念

物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流。

物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么。

cbb91589e4aa4352af94394424d6a65e.png

 物理层协议的主要任务:

机械特性:指明接口所用接线器的形状和尺寸、引脚数目和排列、固定和锁定装置

电器特性:指明在接口电缆的各条线上出现的电压的范围

功能特性:指明某条线上出现的某一电平的电压表示何种意义

过程特性:指明对于不同功能的各种可能时间的出现顺序

2、物理层下面的传输媒体

9b7a741fd8ca4f51b03a2f19ea496c14.png

导引型传输媒体:

①同轴电缆:

4e03b9d58d574524b22acc11d7170bb1.png

②双绞线:

c4ed7c1ffa7a48158e752ba7ffde4a16.png

③光纤

68c7c8d451c14f7ca39bd9f3f119e2a4.png

674dd54b02dd40b89651336f132bd2fd.png 当光从高折射率的媒体射向低折射率的媒体上,其折射角将大于入射角,因此,如果入射角够大,就会出现全反射,即光碰到包层时,就会反射回纤芯。

光在纤芯中传输的方式使不断地全反射

f7a9b51bb94045debbb9ad60bab7a93c.png

④电力线:

0cd5285ce15e407fa0cae0b1df79ce29.png

非导引型传输媒体:

①无线电波:

②微波:

③红外线:

点对点无线传输。直线传输,中间不能有障碍物。传输速率低。

④可见光:

 3、传输方式

串行&并行:

07d03b5d544c4cc2918314f6e3321f49.png

同步&异步:

9677938816ba4507930dd209eb5f40af.png

单向&双向交替&双向同时:

2f5ee34974c646e68272b989f234ca8f.png

4、编码与调制

9de65a09f4014ff2bb8160858351c316.png

 码元:在使用时间域的波形表示数字信号时,代表不同离散数值的基本波形。

1、编码

不归零编码:

e215647a43334614bfda301a5391981a.png

 需要额外一根传输线来传输时钟信号,使发送方和接收方同步。

对于计算机网络,宁愿利用这根传输线传输数据信号,而不是时钟信号。

归零编码:

e683753902034f64989502f224eadef4.png

 每个码元传输结束后信号都要归零,所以接收方只要在信号归零后进行采样即可,不需要单独的时钟信号。

实际上,归零编码相当于把时钟信号用归零方式编码在了数据内,这称为自同步信号。

但是,归零编码中大部分的数据带宽都用来传输归零而浪费掉了。

曼彻斯特编码:

e86b19032fcf4e79bcfe8aefbdfdce0a.png

码元中间时刻的跳变既表示时钟,又表示数据。

差分曼彻斯特编码:

045a0b38a52c46d2b66ebd25ebd86eba.png

跳变仅表示时钟。

码元开始处电平是否变化表示数据。

2、调制

基本调制方法:
b89e27168e7445218c38781e78310bcb.png

使用基本调制方法,1个码元只能包含1个比特信息。

混合调制:

因为频率和相位是相关的,即频率和相位随时间的变化率,所以因此只能调制频率和相位中的一个。

通常情况下,相位和振幅可以结合起来一起调制,称为正交振幅调制QAM。

6f419308a2894f9e9054111d0eecf757.png

5、信道的极限容量

失真因素:①码元传输速率、②信号传输距离、③噪声干扰、④传输媒体质量。

1、奈氏准则

在假定的理想条件下,为了避免码间串扰,码元传输速率是有上限的。

85a523cce7cc461a8b7af8b4944d2dd8.png

 码元传输速率又称为波特率、调制速率,它与比特率有一定关系:

        当1个码元只携带1比特信息量时,则波特率与比特率在数值上是相等的、

        当1个码元携带n比特的信息量时,则波特率转换成比特率时,数值要×n。

要提高信息传输速率(比特率)就必须设法使每个码元能携带多个比特的信息量,这需要采用多元制。

实际的信道所能传输的最高码元速率,要明显低于奈氏准则给出的上限数值。

2、香农公式

 带宽受限且有高斯白噪声干扰的信道的极限信息传输速率

fb5e2c7151c84c7e88c5456bb1b18922.png

在信道带宽一定的情况下,根据奈氏准则和香农公式,要想提高信息传输速率就必须采用多元制和努力提高信道中的信噪比。

自从香农公式发表后,各种新的信号处理和调制方法就不断出现,其目的都是为了尽可能地接近香农公式给出的传输速率极限。

三、数据链路层

1、概述

链路就是从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。

数据链路是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路。

数据链路层以帧为单位传输和处理数据。

使用点对点信道的数据链路层的三个重要问题:

封装成帧、差错检测、可靠传输

使用广播信道的数据链路层:

共享式以太网的媒体接入控制协议CSMA/CD;

802.11局域网的媒体接入控制协议CSMA/CA;

数据链路层的互联设备:

网桥和交换机的工作原理、集线器与交换机的区别。

2、封装成帧

封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使其成为帧。

        帧头和帧尾中包含有重要的控制信息。

        帧头和帧尾的作用之一就是帧定界。

透明传输是指数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样。

        面向字节的物理链路使用字节填充的方式实现透明传输;

        面向比特的物理链路使用比特填充的方式实现透明传输;

为了提高帧的传输效率,应当使帧的数据部分长度尽可能大些。

考虑到差错控制等多种因素,每一种数据链路层协议都规定了帧的数据部分的长度上限,即最大传送单元MTU。

3、差错检测

实际的通信链路都不是理想的,比特在传输过程中可能会产生差错:1可能会变成0,而0也可能会变成1,这称为比特差错。

在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER。

使用差错检测码来检测数据在传输过程中是否产生了比特差错,是数据链路层所要解决的重要问题之一。

1、奇偶校验

在待发送的数据后面添加1位奇偶校验位,使整个数据中”1“的个数为奇数(奇校验)或偶数(偶校验)。

如果有奇数个位发生误码,则奇偶性发生变化,可以检查出误码;

如果有偶数个位发生误码,则奇偶性不发生变化,不能检查出误码。

2、循环冗余校验CRC

收发双方约定好一个生成多项式G(x);

发送方基于待发送的数据和生成多项式计算出差错检验码,将其添加到待传输数据后一起传输。

接收方通过生成多项式来计算收到的数据是否产生了误码。

0b238a47e40d4380b49c520ded8dbfcd.png

dff26ab879284baa8b46c32f35ae3931.png

 举例:

4ecc1e157e24434cb9032069708bb743.png

 判断传输是否误码:余数为0,认为传输过程无误码;余数不为0,认为传输过程产生误码。

检错码只能检测出帧在传输过程中出现了差错,但并不能定位错误,因此无法纠正错误。

要想纠正传输中的差错,可以使用冗余信息更多的纠错码进行前向纠错,但纠错码的开销比较大,在计算机网络中较少使用。

循环冗余校验CRC有很好的检错能力,虽然计算比较复杂,但非常易于用硬件实现,因此广泛应用于数据链路层。

在计算机网络中通常采用检错重传方式来纠正传输中的差错,或者仅仅是丢弃检测到差错的帧,这要取决于数据链路层向上层提供的是可靠传输服务还是不可靠传输服务。

4、可靠传输

使用差错检验技术,接收方的数据链路层就可检测出帧在传输过程中是否产生了误码。

数据链路层向上层提供的服务类型:

        不可靠传输服务:仅仅丢弃有误码的帧;

        可靠传输服务:想办法实现发送端发送什么,接收端就收到什么。

一般情况下,有线链路的误码率比较低,为减小开销,并不要求数据链路层向上提供可靠传输服务,即使出现了误码,可靠传输的问题由其上层处理。

无线链路易受干扰,误码率较高,因此要求数据链路层必须向上层提供可靠传输服务。

比特差错只是传输差错中的一种。

从整个计算机网络体系结构来看,传输差错还包括分组丢失、分组失序、分组重复。

可靠传输服务并不仅局限于数据链路层,其他各层均可选择实现可靠传输。、

5、可靠传输的实现机制

1、停止-等待协议SW

2d847692db354915948b8d1ab5827a2a.png

22a21e14cbfb4386bd12be9f746c8814.png

 接收方收不到数据分组,就不会发送ACK/NAK,如果不采取其他措施,发送方就会一直处在等待接收方的状态。为了解决该问题,可以在发送方发送完一个数据分组时,启动一个超时计时器,若到了超时计时器所设置的重传时间,而发送方仍收不到接收方的任何ACK/NAK,则重传原来的数据分组。一般可将重传时间选为略大于从发送方到接收方的平均往返时间。

82f6cb194a7b4bed92aa0ea2c2a2f638.png

为避免分组重复,必须给每个分组带上序号。对于SW,由于每发送一个数据分组就停止等待,只要保证每发送一个数据分组,发送序号与上次发送的数据分组的序号不同就可以了,因此用一个比特位来编号就够了。

a6c11ab7c31642eda30ac91a1f4b54a5.png

 为了让发送方能判断所收到的ACK分组是否是重复的,需要给ACK分组编号,所用的比特数量与数据分组编号所用的比特数量一样,数据链路层一般不会出现ACK分组迟到的情况,因此数据链路层实现SW可以不用给ACK分组编号。

SW的信道利用率

98e0ff48ba574bed995f6a37caf4366d.png

f93354baf4f044a288012206e52b0350.png

当往返时延RTT远大于数据帧发送时延Td时,信道利用率非常低。

为了克服SW信道利用率很低的缺点,就产生了另外两种协议。

2、回退N帧协议GBN

ab45cc65b08e44bda8234c0c5e2e5e39.png

 接收方不一定要对收到的数据分组逐个发送确认,而是可以在收到几个数据分组后(由具体实现而定),对按序列到达的最后一个分组发送确认,ACKn表示序号为n及以前的所有数据分组都已正确接收。

即使确认分组丢失,发送方也可能不必重传。

发送方收到重复的确认,就知道之前所发送的数据分组出现了差错,于是可以不等超时计时器就立刻重传。

 当通信线路质量不好时,回退N帧协议的信道利用率并不比停止-等待协议高。

若Wt超过取值范围:接收方无法分辨新、旧分组。

89a0248cb030499e9d5870f06818fcf1.png

回退N帧协议的接收窗口尺寸Wr只能等于1,因此接收方只能按序接收正确到达的数据分组。

一个数据分组的误码就会导致后续多个数据分组不能被接收方按序接收而丢弃。这必然会造成发送方对这些数据分组的超时重传,显然这是对通信资源的浪费。

为了进一步提升性能,可设法只重传出现误码的数据分组,因此,接收窗口的尺寸Wr不应再等于1,以便接收方先收下失序到达但无误码并且序号露在接收窗口内的数据分组,等到所缺分组收齐后再一并送交上层,这就是选择重传协议。

3、选择重传协议SR

PS:选择重传协议为了使发送方仅重传出现差错的分组,接收方不能再采用累计确认,而需要对每个正确接收到的数据分组进行逐一确认。

83e0feee3de84835bbd579f036ff28c7.png

9c7b7caa22ad49478d4c2c78f0e1beb3.png 107b073622a04440a967a1c391b6e2a1.png

 6、点对点协议PPP

点对点协议PPP是目前使用最广泛的点对点数据链路层协议。

PPP协议为在点对点链路传输各种下而已数据报提供了一个标准方法,主要有以下三部分组成:

        对各种协议数据报的封装方法(封装成帧)

        链路控制协议LCP:用于建立、配置以及测试数据链路的连接

        一套网路控制协议NCPs:其中的每一个协议支持不同的网络层系协议。

c0809fb4729041379635bb3576ecdfc8.png

 帧格式

c6461fee64de4bfe9737a2af3ce3e6f1.png

 标志字段:PPP帧的定界符,取值为0x7E

地址字段:取值为0xFF,预留

控制字符:取值为0x03,预留

协议字段:指明帧的数据部分送交哪个协议处理

eec9290c38d84b86a33a32b3678a04c2.png

 帧检验序列字段:CRC计算出的校验位

透明传输

实现透明传输的方法:面向字节的异步链路、面向比特的同步链路

 0150f3e35d6d431982e0e0755e3e2e2d.png

 面向字节的异步链路采用插入转义字符的字节填充法:

03d6956cf67944d6a2e8f19350f187e1.png

 面向比特的同步链路采用插入比特0的比特填充法:

71d793da08dc43988fe0759ce5378acb.png

 差错检测
f0f9d0d873304df18f484a50fe2f2723.png

 采用的生成多项式:

c7304bdc507d418b990e410b27a3da6c.png

 接收方每收到一个PPP帧,就进行CRC检验,若CRC检验正确,就收下这个帧;反之,就丢弃这个帧,使用PPP的数据链路层向上不提供可靠传输服务。

工作状态:

 4407bc5e842c4ce79735116a05eece10.png

 7、媒体接入控制

共享信道要着重考虑的一个问题就是如何协调多个发送和接收站点对一个共享传输媒体的占用,即媒体接入控制MAC。

1、静态划分信道

信道复用:

复用是通信技术中的一个重要概念,复用就是通过一条物理线路同时传输多路用户的信号。

当网络中传输媒体的传输容量大于多条单一信道传输的总通信量时,可利用复用技术在一条物理线路上建立多条通信信道来充分利用传输媒体的带宽。

c10e6b9c43ee405a9618fed0d8c67d94.png

 频分复用FDM

cb5314e3b1e642ae8117ecf8494e36d7.png

 频分复用的所有用户同时占用不同的频带资源并行通信。

时分复用TDM

0f8565e6518a4590aceededcff39da66.png

 时分复用的所有用户在不同时间占用同样的频带宽度。

波分复用WDM

5074923ded0f4f66ac0e6c8e7391c616.png

码分复用CDM

人们更常用的名词是码分多址CDMA

同理,上述复用对应的名词是频分多址FDMA、时分多址TDMA

与FDMA和TDMA不同,CDMA的用户可以在同样的时间使用同样的频带进行通信。

由于各用户使用经过特殊挑选的码型,因此各用户之间不会造成干扰。

在CDMA中,每一个比特时间再划分为m个短的时间间隔,称为码片。通常m的值是64/128。

使用CDMA的每一个站被指派一个唯一的m bit码片序列。

一个站如果要发送比特1,则发送他自己的m bit码片序列;

一个站如果要发送比特0,则发送他自己的m bit码片序列的二进制反码。

5f25cbf1ce9e4e6cb0f273ea5a474573.png

 码片序列挑选原则:

1.分配给每个站的码片序列必须各不相同

2.分配给每个站的码片序列必须相互正交(规格化内积为0)

令向量S表示站S的码片序列,向量T表示其他任何站的码片序列

25382d0190f0465ab8bfe2d6c819f516.png

2、动态接入控制——随机接入 ——CSMA/CD

载波监听多址接入/碰撞检测 CSMA/CD协议

MA:多个站连接在一条总线上,竞争使用总线;

CS:每一个站在发送帧之前先要检测总线上是否有其他站点在发送帧

        若检测到总线空闲96比特时间,则发送这个帧;

        若检测到总线忙,则继续检测并等待总线转为空闲96比特时间,然后发送这个帧。

CD:每一个正在发送帧的站边发送边检测碰撞

        一旦发现总线上出现碰撞,则立即停止发送,退避一段随机时间后再次发送。

以太网还采取一种叫做强化碰撞的措施,这就是当发送帧的站点一旦检测到碰撞,除了立即停止发送帧之外,还要再继续发送32比特/48比特的人为干扰信号,以便有足够多的碰撞信号使所有站点都能检测出碰撞。

争用期(碰撞窗口):

13c1208dc6854191bd4e3c9e1ed81b03.png

 主机最多经过2eq?%5Ctau的时长就可以检测到本次发送是否遭受了碰撞。

因此,以太网的端到端往返传播时延2eq?%5Ctau称为争用期(碰撞窗口)。

经过争用期这段时间还没检测到碰撞,才能肯定这次发送不会发生碰撞。

显然,在以太网中发送帧的主机越多,端到端往返传播时延越大,发生碰撞的概率就越大。也难辞,共享式以太网不能连接太多主机,使用的总线也不能太长。

最小帧长:

以太网规定最小帧长为64字节,即512比特(512比特时间即为争用期)

以太网的最小帧长确保了主机可在帧发送完成之前就检测到该帧发送过程中是否遭遇了碰撞。

截断二进制指数退避算法:

退避时间=基本退避时间(争用期2eq?%5Ctau)×随机数r(r从离散的整数集合(0,1,2……2^k-1)中随机挑选一个数k=Min[重传次数,10])

例如:

32ab9d2ca00244dfb689b43947712ebc.png

 若连续多次发生碰撞,就表明可能有较多的主机参与竞争信道,但使用上述退避算法可使重传需要推迟的平均时间随重传次数而增大(动态退避),因而减小发生碰撞的概率,有利于系统稳定。

当重传达16次仍不能成功时,表明打算发送帧的主机太多,则丢弃该帧,并向高层报告。

信道利用率:

10ac2f67511b48998396f09a648a0769.png

 考虑以下理想情况:

各主机发送帧都不会发生碰撞;总线一旦空闲就有某个主机立即发送帧;发送一帧占用总线的时间为T0+eq?%5Ctau,而本身的发送时间是T0.

e7fea1463e5244eda8c606fb418b6f65.png

 参数a的值应该尽量小,以提高信道利用率,以太网端到端的距离受到限制,以太网帧的长度应尽量长些。

帧发送流程:

12c2976e516b4e19b1007c9b30f7714f.png

帧接收流程:

acc8d0412af44aeb9d41ccd033aaa9a1.png

 3、动态接入控制——随机接入 ——CSMA/CA

载波监听多址接入/碰撞避免 CSMA/CA

在无线局域网中,仍然可以使用载波监听多址接入CSMA,即在发送帧之前先对传输媒体纪念性载波监听,如果有其他站在发送帧,就推迟发送以免发生碰撞。

在无线局域网中不能使用碰撞检测CD,原因:

1、由于无线信道的传输条件特殊,其信号强度的动态范围非常大,无线网卡上接收到信号强度往往会远小于发送信号的强度,如果要在无线网卡上实现碰撞检测CD,对硬件的要求非常高。

2、即使能够在硬件上实现无线局域网的碰撞检测功能,但由于无线电波传播的特殊性(存在隐蔽站问题),进行碰撞检测的意义也不大。

0a31a014636440bc8e169def194fe8bf.png

 802.11无线局域网使用CSMA/CA协议,在CSMA的基础上增加了一个碰撞避免CA功能,而不再实现碰撞检测功能。

由于不可能避免所有的碰撞,并且无线信道误码率较高,802.11标准还使用了数据链路层确认机制(停止-等待协议)用来保证数据被正确接收。

802.11的MAC层标准定义了两种不同的媒体接入控制方式:

1.分布式协调功能DCF。在DCF方式下,没有中心控制站点,每个站点使用CSMA/CA协议通过争用信道来获取发送权,这是802.11定义的默认方式。

2.点协调功能PCF。PCF方式使用集中控制的接入算法(一般在接入点AP实现集中控制),是802.11定义的可选方式,在实际中较少使用。

帧间间隔IFS:

802.11标准规定,所有站点必须在持续检测到信道空闲一段指定时间后才能发送帧,这段时间称为帧间间隔IFS

帧间间隔的长短取决于该站点要发送的帧的类型:

高优先级帧需要等待的时间较短,因此可以优先获得发送权;

低优先级帧需要等待的时间较长,某个站的的低优先级帧还没来得及发送,而其他站的高优先级已发送到信道上,低优先级帧只能再推迟发送,减少发生碰撞的机会。

常用的两种帧间间隔:

短帧间间隔SIFS(28eq?%5Cmus),是最短的帧间间隔,用来分隔开属于一次对话的各帧,一个站点应当能够在这段时间内从发送方式切换到接收方式,使用SIFS的帧类型有ACK帧,CTS帧,由过长的MAC帧分片后的数据帧,以及所有回答AP探询的帧和在PCF方式中接入点AP发送出的任何帧。

DCF帧间间隔DIFS,它比SIFS长的多,在DCF方式中用来发送数据帧和管理帧。

CSMA/CA的工作原理:

ec3782a976f64e57afb7804276df2fe5.png

 当站点检测到通信是空闲的,并且所发送的数据帧不是成功发送完上一个数据帧之后立即连续发送的数据帧,则不使用退避算法。

以下情况必须使用退避算法:

1.在发送数据帧之前检测到信道处于忙状态时

2.在每一次重传一个数据帧时

3.在每一次成功发送后要连续发送下一个帧时(避免一个站点长时间占用信道)。

CSMA/CA的退避算法:

在执行退避算法时,站点为退避计时器设置一个随机的退避时间:

当退避计时器的时间减小到零的时候,就开始发送数据;

当退避计时器的时间未减小到零时,而信道又转变为忙状态,这时就冻结退避计时器的数值,重新等待信道变为空闲,再经过时间DIFS后,继续启动退避计时器。

在进行第i次退避时,退避时间在间隙编号(0,1,……2^(2+i)-1)中随机选择一个,然后乘基本退避时间(一个间隙的长度)就可以得到随机的退避时间,这样做是为了使不同站点选择相同退避时间的概率变小,当间隙编号达到255时,就不再增加了。

c7b89ee386e04f958c0628293a44d1c0.png

CSMA/CA协议的通信预约和虚拟载波监听:

为了尽可能减少碰撞的概率和降低碰撞的影响,802.11标准允许要发送数据的站点对西宁道进行预约。

1.源站在发送数据帧之前先发送一个短的控制帧,称为请求发送RTS。它包括源地址,目的地址,以及这次通信所需的持续时间;

2.若目的站正确接收到源站发来的RTS帧,且媒体空闲,就发送一个响应控制帧,称为允许发送CTS,他也包括这次通信所需的持续时间(从RTS帧中复制到CTS中);

3.源站收到CTS帧后,再等待一段时间SIFS后,就可发送其数据帧;

4.若目的站正确接收到源站发来的数据帧,再等待一段时间SIFS后,就向源站发送确认帧ACK。

28b6953f2e0747f386f51eaa627bad0e.png

 除源站和目的站以外的其他各站,在收到CTS帧后就推迟接入到无线局域网中,这样就保证了源站和目的站之间的通信不会收到其他站的干扰;

如果RTS帧发生碰撞,源站就收不到CTS帧,需执行退避算法重传RTS帧。

由于RTS帧和CTS帧很短,发送碰撞的概率、碰撞产生的开销很小。因此用很小的代价对信道进行预约是很值得的。

802.11标准规定了3种情况:

使用RTS帧和CTS帧

不使用RTS帧和CTS帧

只有当数据帧的长度超过某一数值时才使用RTS帧和CTS帧。


除RTS帧和CTS帧会携带通信需要持续的时间,数据帧也能携带通信需要持续的时间,这成为802.11的虚拟载波监听机制。

由于利用虚拟载波监听机制,站点只要监听到RTS帧、CTS帧、数据帧中的任何一个,就能知道信道被占用的持续时间,而不需要真正监听信道上的信号,因此虚拟载波监听机制可以减少隐蔽站带来的碰撞问题。

8、MAC地址/IP地址/ARP协议

1、MAC地址

使用点对点信道的数据链路层不需要使用地址;使用广播信道的数据链路层必须使用地址来区分各主机。

当多个主机连接在同一个广播信道上,要想实现两个主机之间的通信,则每个主机都必须有一个唯一的标识,即一个数据链路层地址。

在每个主机发送的帧中必须携带标识发送主机和接收主机的地址,由于这类地址是用于媒体接入控制MAC,因此这类地址被称为MAC地址。

        MAC地址一般被固化在网卡(网络适配器)的电可擦可编程只读存储器EEPROM中,因此MAC地址也被称为硬件地址。注意:这并不意味着MAC地址属于网络体系结构中的物理层

一般情况下,用户主机会包含两个网络适配器:有线局域网适配器(有线网卡)和无线局域网适配器(无线网卡)。每个适配器都有一个全球唯一的MAC地址,而交换机和路由器往往拥有更多的网络接口,所以会有更多的MAC地址。严格来说,MAC地址是对网络上各接口的唯一标识,而不是对网络上各设备的唯一标识。

 

 判断多播地址:

2、IP地址

 IP地址是因特网上的主机和路由器所使用的地址,用于标识两部分信息:

①网络编号:标识因特网上数以百万计的网络

②主机编号:标识同一网络上不同主机(或路由器各接口)

显然,MAC地址不具备区分不同网络的功能

如果只是一个单独的网络,不接入因特网,可以只使用MAC地址(不是一般用户的应用方式)

如果主机所在的网络要接因特网,则IP地址和MAC地址都要使用。

 数据包转发过程中IP地址和MAC地址的变换情况:

 数据包转发过程中源IP地址和目的IP地址保持不变;

数据包转发过程中源MAC地址和目的MAC地址逐个链路改变。

3、ARP协议

源主机在自己的ARP高速缓存表中查找目的主机的IP地址所对应的MAC地址,若找到了,则可以封装MAC帧进行发送;若找不到,则发送ARP请求(封装在广播MAC帧中)。

目的主机收到ARP请求后,将源主机的IP地址和MAC地址记录到自己的ARP高速缓存表中,然后给源主机发送ARP响应(封装在单播MAC帧中),ARP响应中包含有目的主机的IP地址和MAC地址。

源主机收到ARP响应后,将目的主机的IP地址与MAC地址记录到自己的ARP高速缓存表中,然后就可以封装之前想发送的MAC帧并发送给目的主机。

ARP的作用范围:逐段链路或逐个网络使用。

除了ARP请求和响应外,还有其他类型的报文。

ARP没有安全验证机制,存在ARP欺骗问题。

9、集线器与交换机

早期的总线型以太网

使用双绞线和集线器HUB的星型以太网

使用集线器的以太网本质上还是总线网,各站共享总线资源,使用CSMA/CD协议;

集线器只工作在物理层,它的每个接口仅简单地转发比特,不进行碰撞检测(由各站网卡检测);

集线器一般都有少量的容错能力和网络管理能力。

以太网交换机:

 以太网交换机通常都有多个接口,每个接口都可以直接与一台主机或另一个以太网交换机相连,一般都工作在全双工方式。

以太网交换机具有并行性,能同时连接多对接口,使多对主机能同时通信,无碰撞(不适用CSMA/CD协议)。

以太网交换机工作在数据链路层(也包括物理层),它收到帧后,在帧交换表中查找帧的目的MAC地址所对应的接口号,然后通过该接口转发帧。


对比集线器和交换机:

集线器HUB:早期以太网的互联设备,工作在OSI体系的物理层,对接收到的信号进行放大,转发;使用集线器作为互联设备的以太网仍然属于共享总线式以太网,集线器互连起来的所有主机共享总线带宽,属于同一个碰撞域和广播域。

交换机SWITCH:目前以太网使用最广泛的互联设备,工作在OSI体系的数据链路层,根据MAC地址对帧进行转发,使用交换机作为互联设备的以太网称为交换式以太网,交换机可以根据MAC地址过滤帧,即隔离碰撞域;交换机的每个接口是一个独立的碰撞域。交换机隔离碰撞但不隔离广播

10、以太网交换机自学习和转发帧的流程

以太网交换机是一种即插即用的设备,刚上电启动时其内部的帧交换表是空的,随着网络中各主机间的通信,以太网交换机通过自学习算法自动逐渐建立起帧交换表。

每条记录都有自己的有效时间,到期自动删除,这是因为MAC地址与交换机接口的对应关系不是永久性的。

以太网自学习和转发帧的流程:

①收到帧后进行登记,登记的内容为帧的源MAC地址以及进入交换机的接口号;

②根据帧的目的MAC地址和交换机的帧交换表对帧进行转发,有三种情况:

Ⅰ明确转发:交换机知道应该从哪个接口转发该帧(单播,多播,广播);

Ⅱ盲目转发:交换机不知道应该从哪个接口转发该帧,只能将其通过除进入交换机的接口外的其他接口转发(泛洪);

Ⅲ明确丢弃:交换机知道不应该转发该帧,将其丢弃。

11、以太网交换机的生成树协议STP

添加冗余链路可以提高以太网的可靠性,但是冗余链路也会带来负面效应——形成网络环路

带来以下问题:

①广播风暴:大量消耗网络资源,使得网络无法正常转发其他数据帧;

②主机收到重复的广播域:大量消耗主机资源;

③交换机的帧交换表震荡。

以太网交换机使用生成树协议STP可以在增加冗余链路的同时又避免网络环路带来的问题。

不论交换机之间采用怎样的物理连接,交换机都能够自动计算并构建一个逻辑上没有环路的网络,其逻辑拓扑结构必须是树形的(无逻辑环路)。

最终的树形逻辑拓扑要确保联通整个网络;

当首次连接交换机或网络物理拓扑发生变化时,交换机都将进行生成树的重新计算。

12、虚拟局域网VLAN概述

以太网交换机工作在数据链路层,使用一个或多个以太网交换机互联起来的交换式以太网,其所有的站点都属于同一个广播域。随着交换式以太网规模的扩大,广播域相应扩大,巨大的广播域会带来很多弊端:广播风暴,难以管理和维护,潜在的安全问题。

 分割广播域的方法:

使用路由器可以分割广播域(成本较高)

 虚拟局域网VLAN技术应运而生

VLAN是一种将局域网内的设备划分成与物理位置无关的逻辑组的技术,这些逻辑组具有某些共同的需求。

13、虚拟局域网VLAN的实现机制

1、IEEE 802.1Q帧

IEEE 802.1Q帧也称Dot One Q帧,对以太网的MAC帧格式进行了扩展,插入了4字节的VLAN标记

 VLAN标记的最后12比特称为VLAN标识符VID,它唯一地标志了以太网帧属于哪一个VLAN

802.1Q帧是由交换机处理的,而不是用户主机。

当交换机收到普通的以太网帧时,会将其插入4字节的VLAN标记转变为802.1Q帧;

当交换机转发802.1Q帧时,可能会删除其4字节VLAN标记转变为普通以太网帧。

2、交换机的端口类型

Access端口一般只用于连接用户计算机,Access端口只能属于一个VLAN,Access端口的PVID值与端口所属的VLAN的ID相同(默认为1)。

Access端口接收处理方法:一般只接受”未打标签“的普通以太网MAC帧,根据接收帧的端口的PVID给帧打标签,即插入4字节的VLAN标记字段,字段中的VID取值与端口的PVID取值相等。

Access端口发送处理方法:若帧中的VID与端口的PVID相等,则去标签并转发该帧,否则不转发。

Trunk端口一般用于交换机之间或交换机与路由器之间的互联;Trunk端口可以属于多个VLAN,用户可以设置Trunk端口的PVID值,默认情况下为1。

Trunk端口接收处理方法:接收未打标签的帧,根据接收帧的端口的PVID给帧打标签,字段中的VID取值与端口的PVID相等。接收已打标签的帧

Trunk端口发送处理方法:对VID等于PVID的帧,去标签后转发。对VID不等于PVID的帧,直接转发。

Hybrid端口既可用于交换机之间或交换机与路由器之技安的互联,也可用于交换机与用户计算机之间的互联。Hybrid端口可以属于多个VLAN,用户可以设置Hybrid端口的PVID值,默认情况下为1

Hybrid端口发送处理方法:查看帧的VID是否在端口的去标签列表中,若存在,去标签后转发,若不存在,直接转发。

Hybrid端口接收处理方法:接收未打标签的帧,根据接收帧的端口的PVID给帧打标签,字段中的VID取值与端口PVID相等。接收已打标签的帧。

四、网络层

1、概述

网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输。

要实现网络层任务,需要解决以下问题:

网络层向运输层提供怎样的服务(可靠传输还是不可靠传输);

网络层寻址问题;

路由选择问题。

因特网使用TCP/IP协议栈,由于TCP/IP协议栈的网络层使用网际协议IP,是整个协议栈的核心协议,因此在TCP/IP协议栈中的网络层常称为网际层。综上,我们通过学习TCP/IP协议栈的网际层来学习网络层的实践技术。

2、网络层提供的两种服务

1、面向连接的虚电路服务

 可靠通信由网络保证;

必须建立网络层的连接——虚电路VC;

通信双方沿着已建立的虚电路发送分组;

目的主机的地址仅在连接建立阶段使用,之后每个分组的首部只需要携带一条虚电路的编号;

这种通信方式如果再使用可靠传输的网络协议,就可使所发送的分组最终正确到达接收方(无差错按序到达、不丢失、不重复);

通信结束后,需要释放之前所建立的虚电路。

2、无连接的数据报服务

可靠通信应由用户主机来保证;

不需要建立网络层连接;

每个分组可走不同路径;

每个分组的首部必须携带目的主机的完整地址;

这种通信方式所传送的分组可能误码、丢失、重复、升序;

由于网络本身不提供端到端的可靠传输服务,这就使网络中的路由器可以做的比较简单,而且价格低廉;

因特网采用了这种设计思想,也就是将复杂的网络处理功能置于因特网的边缘而将想读简单的尽最大努力的分组交付功能置于因特网核心。

3、两种服务的比较

 由于TCP/IP体系结构的因特网的网际层提供的是简单灵活、无连接的、尽最大努力交付的数据报服务,后续内容主要围绕网际层如何传送IP数据报这个主题进行讨论。

3、IPv4地址概述

在TCP/IP协议中,IP地址是一个最基本的概念。

IPv4就是给因特网上的每一台主机(或路由器)的,欸一个接口分配一个在全世界范围内是唯一的32比特的标识符;

IP地址由因特网名字和数字分配机构ICANN进行分配;

我国用户可向亚太网络信息中心APNIC申请IP地址,需要缴费;

2011年2月3日,互联网号码分配管理局IANA宣布,IPv4地址已经分配完毕;

我国在2014年也逐步停止了向新用户分配IPv4地址,同时全面开展商用部署IPv6.

IPv4的编址方式经历了三个阶段:

 32比特的IPv4地址不方便阅读、记录以及输入等,因此IPv4地址采用点分十进制表示方法以方便用户使用。

 1、分类编址的Pv4地址

 PS:①只有A类、B类、C类地址可分配给网络中的主机或路由器的各接口;

②主机号为全0的地址是网络地址,不能分配给主机或路由器的各接口;

③主机号为全1的地址是广播地址,不能分配给主机或路由器的各接口。

A类:

最小网络号0,保留不指派;

第一个可指派的网络号为1,网络地址为1.0.0.0

 最大网络号127,作为本地环回测试地址,不指派

最小的本地环回测试地址:127.0.0.1;

最大的本地环回测试地址:127.255.255.254。

 最后一个可指派的网络号为126,网络地址为:126.0.0.0

 B类:

最小网络号也是第一个可指派的网络号:128.0,网络地址为:128.0.0.0

最大网络号也是最后一个可指派的网络号:191.255,网络地址为:191.255.0.0

C类:

 最小网络号也是第一个可指派的网络号:192.0.0,网络地址为:192.0.0.0

 最大网络号也是最后一个可指派的网络号:223.255.255,网络地址为:223.255.255.0

PS:

根据地址左起第一个十进制的值,可以判断出网络类别(小于127为A,128~191为B,192~223为C)

根据网络类别,可以找出地址中的网络号部分和主机号部分(网络号:A:左起第一个字节,B:左起前两个字节,C:左起前三个字节)

以下三种情况的地址不能指派给主机或路由器接口:

①A类网络号0和127;

②主机号为全0,这是网络地址;

③主机号为全1,这是广播地址。

 2、划分子网的IPv4地址

为新增网络申请新的网络号会带来以下弊端:

①需要等待时间和花费更多费用;

②会增加其他路由器中路由表记录的数量;

③浪费原有网络号中剩余的大量IP地址。

为此,从主机号部分借用一部分作为子网号

 

 32比特的子网掩码可以比表明分类IP地址的主机号部分被借用了几个比特作为子网号

子网掩码使用连续的比特1来对应网络号和子网号;

子网掩码使用连续的比特0来对应主机号;

将划分子网的IPv4地址与其对应的子网掩码进行逻辑与运算就可得到IPv4地址所在子网的网络地址。

 EG:

 

 给定一个分类的IP地址和其相对应的子网掩码,就可知道子网划分的细节:

划分出的子网数量;

每个子网可分配的IP地址数量;

每个子网的网络地址和广播地址;

每个子网可分配的最小和最大地址。

默认的子网掩码是指在未划分子网的情况下使用的子网掩码

A类:255.0.0.0;

B类:255.255.0.0;

C类:255.255.255.0。

3、无分类编址的IPv4地址

划分子网在一定程度上缓解了因特网在遇到的困难,但是数量巨大的C类网因为其地址空间太小奥并没有得到充分利用,而因特网的IP地址仍在加速消耗,整个IPv4地址空间面临全部耗尽的威胁。

为此,因特网工程任务组IRTF又提出了采用无分类编址方式来解决。

1993年,IETF发布了误分类域间路由选择CIDR的RFC文档

CIDR消除了传统的A类、B类、C类地址,以及划分子网的概念;

CIDR可以更加有效地分配IIPv4的地址空间,并且可以在新的IPv6使用之前允许因特网的规模继续增长。

CIDR使用斜线记法,即在IPv4地址后面加上斜线“/”,在斜线后面写上网络前缀所占的比特数量。

 CIDR实际上是将网络前缀都相同的连续的IP地址组成一个CIDR地址块

我们只要知道CIDR地址块中的任何一个地址,就可以知道该地址块的全部细节:

地址块的最小地址;

地址块的最大地址;

地址块中的地址数量;

地址块聚合某类网络的数量;

地址掩码;

EG:

 路由聚合(构造超网)

 聚合地址块:172.1.4.0/22

网络前缀越长,地址块越小,路由越具体;

若路由器查表转发分组时发现有多条路由可选,则选择网络前缀最长的那条,这称为最长前缀匹配,因为这样路由更具体。

4、IPv4地址的应用规划
1、定长的子网掩码FLSM

使用同一个子网掩码来划分子网;

子网划分方式不灵活:只能划分出2^n个子网(n是从主机号部分借用的用来作为子网号的比特数量);

每个子网所分配的IP地址数量相同,造成IP地址浪费。

 2、变长的子网掩码VLSM

使用不同的子网掩码来划分子网;

子网划分方式灵活,可以按需分配;

每个子网所分配的IP地址数量可以不同,尽可能减少对IP地址的浪费。

4、IP数据报的发送和转发过程

IP数据报的发送和转发过程包含以下两部分:

主机发送IP数据报;

判断目的主机是否与自己在同一个网络:

若在同一个网络,属于直接交付;

若不在同一个网络,属于间接交付,传输给主机所在网络的默认网关,由其转发。

通过设置默认网关使主机C……知道路由器R的存在:

 路由器收到IP数据报后进行转发:

①检查IP数据报首部是否出错,若出错直接丢弃该IP数据报并通告源主机;若没有出错,则进行转发。

②根据IP数据报的目的地址在路由表中查找匹配的条目,若找到匹配的条目,则转发给条目中指示的下一跳;若找不到,则丢弃该IP数据报并通告源主机。

5、静态路由配置及其可能产生的路由环路问题

静态路由配置是指用户或网络管理员使用路由器的相关命令给路由器人工配置路由表。

这种人工配置方式简单、开销小,但不能及时适应网络状态(流量、拓扑)的变化。

一般只在小规模网络中采用。

使用静态路由配置可能出现以下导致产生路由环路的错误:

①配置错误;

②聚合了不存在的网络;

③网络故障

EG:静态路由配置

 EG:默认路由

 EG:静态路由配置错误导致路由环路

 为了防止IP数据报在路由环路中永久兜圈,在IP数据报首部设有生存时间TTL字段。IP数据报进入路由器后,TTL字段的值减一,若TTL的值不等于0,则被路由器转发,否则被丢弃。

EG:聚合了不存在的网络而导致路由环路

 EG:网络故障导致路由环路

 路由条目的类型:

①直连网络

②静态路由(人工配置)

③动态路由(路由协议选择)

特殊的静态路由条目:

①默认路由(目的网络为0.0.0.0,地址掩码为0.0.0.0)

②特定主机路由(目的网路为特定主机的P地址,地址掩码为255.255.255.255)

③黑洞路由(下一跳为null0)

6、路由选择协议

1、概述

静态路由选择:

由人工配置的网络路由、默认路由、特定主机路由、黑洞路由都属于静态路由;

这种人工配置方式简单、开销小。但不能及时适应网络状态的变化;

一般只在小规模网络中采用。

动态路由选择:

路由器通过路由选择协议自动获取路由信息;

比较复杂、开销比较大。能较好地适应网络状态的变化;

适用于大规模网络。

因特网采用的路由选择协议的主要特点:

①自适应:动态路由选择,能较好地适应网络状态的变化;

②分布式:路由器之间交换路由信息;

③分层次:将整个因特网划分为许多较小的自治系统AS。

 常见的路由选择协议:

 路由器的基本结构:

 路由表一般仅包含从目的网络到下一跳的映射;

路由表需要对网络拓扑变化的计算最优化;

转发表是从路由表得出的;

转发表的结构应当使查找过程最优化。

2、路由信息协议RIP的基本工作原理

路由信息协议RIP是内部网关协议IGP中最先得到广泛应用的协议之一。

RIP要求自治系统AS内的每一个路由器都要维护从它自己到AS内其它每一个网络的距离记录,这是一组距离,称为距离向量D-V。

RIP使用跳数作为度量来衡量到达目的网络的距离。

路由器到直连网络的定义为1;

路由器到非直连网络的距离定义为所经过的路由器加1;

允许一条路径最多只能包含15个路由器。距离等于16相当于不可达,因此RIP只适用于小型互联网。

RIP认为好的路由就是距离短的路由,也就是所通过路由器最少的路由;当到达同一目的网络有多条距离相等的路由时,可以进行等价负载均衡。

RIP包含以下三个要点:

①和谁交换信息:仅和相邻路由器交换信息;

②交换什么信息:自己的路由表;

③何时交换信息:周期性交换。

RIP的基本工作过程:

 ①路由器刚开始工作时,只知道自己到直连网络的距离为1;

②每个路由器仅和相邻路由器周期性地进行交换并更新路由信息;

③若干次交换和更新后,每个路由器都知道到达本AS内各网络的最短距离和下一跳地址,称为收敛。

RIP的路由条目更新规则:

RIP存在“坏消息传播得慢”的问题:

 该问题又称为路由环路或距离无穷计数问题,这是距离向量算法的一个故有问题,可以采用多种措施减少出现该问题或减小该问题带来的危害:

①限制最大路径距离为15;

②当路由表发生变化时就立即发送更新报文(触发更新),而不仅是周期性发送;

③让路由器记录收到某特定路由信息的接口,而不让同一路由信息再通过此接口反方向传送(水平分割)。

3、开放最短路径优先OSPF的基本工作原理

 开放最短路径优先是为了克服RIP的缺点开发出来的;

开放表明OSPF协议是公开发表的;

最短路径优先是因为使用了Dijkstra提出的最短路径算法SPF。

OSPF是基于链路状态的,而不像RIP那样基于距离向量;

OSPF采用SPF算法计算路由,从算法上保证了不会产生路由环路;

OSPF不限制网络规模,更新效率高,收敛速度快。

链路状态是指本路由器和哪些路由器相邻,以及相应链路的代价(费用、时延、带宽等等)

OSPF相邻路由器之间通过交互问候分组,建立和维护邻居关系

Hello分组封装在IP数据报中,发往组播地址224.0.0.5;

 发送周期为10s;

40s未收到来自邻居的路由器Hello分组,则认为该邻居路由器不可达。

 使用OSPF的每个路由器都会产生链路状态通告LSA,LSA包含以下内容:

直连网络的链路状态信息;

邻居路由器的链路状态信息。

LSA被封装在链路状态更新分组LSU中,采用洪泛法发送。

每个路由器都有一个链路状态数据库LSDB,用于存储LSA;

通过各路由器洪泛发送封装有自己LSA的LSU分组,各路由器的LSDB最终将达到一致。

 使用OSPF的各路由器基于LSDB进行最短路径优先SPF计算,构建各自的路由表。

 OSPF有以下五种分组类型:

1、问候分组:用来发现和维护邻居路由器的可达性;

2.数据库描述分组:向邻居路由器给出自己的链路状态数据库中的所有链路状态项目的摘要信息;

3、链路状态请求分组:向邻居路由器请求发送某些链路状态项目的详细信息;

4、链路状态更新分组:路由器使用这种分组将其链路状态进行洪泛发送,即用洪泛法对全网更新链路状态;

5、链路状态确认分组:这是对链路状态更新分组的确认分组。

OSPF的基本工作过程:

 OSPF在多点接入网络中路由器邻居关系的建立

选举指定路由器DR和备用的指定路由器BDR;

所有的非DR/BDR只与DR/BDR建立邻居关系;

非DR/BDR之间通过DR/BDR交换信息。

 为了使OSPF能够用于规模很大的网络,OSPF把一个自治系统再划分为若干个更小的范围,叫做区域。

 区域内路由器IR:R1、R2、R8、R9

区域边界路由器ABR:R3、R4、R7

主干路由器BBR:R3、R4、R5、R6、R7

自治系统边界路由器ASBR:R6

划分区域的好处就是把利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个自治系统,这就减少了整个网络上的通信。

4、边界网关协议BGP的基本工作原理

内部网关协议IGP(RP/OSPF):设法使分组在一个自治系统内尽可能有效地从源网络传输到目的网络;无需考虑自治系统外部其他方面的策略。

外部网关协议EGP(BGP):在不同自治系统内,度量路由的代价可能不同;因此,对于自治系统之间的路由选择,使用代价作为度量来寻找最佳路由是不行的。

自治系统之间的路由选择必须考虑相关策略(政治、经济、安全)

BGP只能是力求寻找一条能够到达目的网络且比较好的路由,而并非要寻找一条最佳路由。

BGP发言人除了运行BGP外,还必须运行自己所在自治系统所使用的内部网关协议IGP。

BGP发言人交换网络可达性的信息(要到达某个网络所要经过的一系列自治系统);

当BGP发言人交换了网络可达性信息之后,各BGP发言人就根据所采用的策略从收到的路由信息中找到到达各自治系统的较好路由,也就是构造出树形结构,不存在回路的自治系统连通图。

BGP适用于多级结构的因特网:

 BGP-4有以下四种报文:

OPEN报文:用来与相邻的另一个BGP发言人建立关系,使通信初始化;

UPDATE报文:用来通告某一路由信息,以及列出要撤销的多条路由;

KEEPALIVE报文:用来周期性地证实邻站的连通性;

NOTIFICATION报文:用来发送检测到的差错。

7、IPv4数据报的首部格式

·

版本:占4比特,表示IP协议的版本。

通信双方使用的IP协议的版本必须一致,目前广泛使用的IP协议版本号为4(IPv4).

首部长度:占4比特,表示IP数据报首部的长度,该字段的取值以4字节为单位。

最小十进制取值为5,表示IP数据报首部只有20字节固定部分;

最大十进制取值为15,表示IP数据报首部包含20字节固定部分和最大40字节可变部分。

可选字段:长度从1字节到40字节不等,用来支持排错、测量以及安全等措施。

可选字段增加了IP数据报的功能,但这同时也使得IP数据报的首部长度成为可变的,这就增加了每一个路由器处理IP数据报的开销。实际上可选字段很少被使用。

填充字段:确保首部长度为4字节的整数倍,使用全0进行填充。

区分服务:占8比特,用来获得更好的服务,该字段在旧标准中叫做服务类型,但实际上一直没有被使用过,1998年,因特网工程任务组把这个字段改名为区分服务,利用该字段的不同数值可提供不同等级的服务质量,只有在使用区分服务时,该字段才起作用。

 总长度:占16比特,表示IP数据报的总长度(首部+数据载荷)。

最大取值为十进制的65535,以字节为单位。

标识标志片偏移三个字段共同用于IP数据报分片。

标识:占16比特。属于同一个数据报的各分片数据报应该具有相同的标识。IP软件维持一个计数器,每产生一个数据报,计数器增加1,并将此值赋给标识字段;

标志:占3比特,DF位:1表示不允许分片,0表示允许分片。

MF位:1表示后面还有分片,0表示这是最后一个分片;

保留位:必须为0。

片偏移:占13比特,指出分片数据报的数据载荷部分偏移其在原数据报的位置有多少个单位。片偏移以8个字节为单位。

分片举例:

 生存时间TTL:占8比特,现在以跳数为单位,路由器转发IP数据报时,将IP数据报首部中的该字段的值减一,若不为0就转发,否则就丢弃。

作用:防止IP数据报在网络中永久兜圈。

协议:占8比特,指明IPv4数据报的数据部分是何种协议数据单元,常用的:

首部检验和:占16比特,用来检测首部在传输过程中是否出现差错,比CRC检验码简单,成为因特网检验和。IP数据报每经过一个路由器,路由器都要重新计算首部检验和,因为某些字段的取值可能发生变化。在IPv6中,路由器不再计算首部校验和,从而更快转发IP数据报。

源IP地址和目的IP地址:各占32比特,用来填写发送该IP数据报的源主机IP地址和接收该IP数据报的目的主机的IP地址。

例题:

 

PS:片偏移量必须为整数。

8、网际控制报文协议ICMP

为了更有效地转发IP数据报和提高交付成功的机会,在网际层使用了网际控制报文协议ICMP;

主机或路由器使用ICMP来发送差错报告报文和询问报文。

ICMP报文被封装在IP数据报中发送。

差错报告报文共有五种:

1、终点不可达:

当路由器或主机不能交付数据报时,就向源点发送终点不可达报文。

2、源点抑制:

当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报的发送速率放慢。

3、时间超过:

当路由器收到一个目的IP地址不是自己的IP数据报,会将其生存时间字段的值减一。

若结果不为0,则将该IP数据报转发出去;若结果为0,丢弃该IP数据报,还要向源点发送时间超过报文。

 另外,当终点在预先规定时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片都丢弃,也向源点发送时间超过报文。

4、参数问题:

当路由器或目的主机收到IP数据报后,根据其首部中的检验和字段发现首部在传输过程中出现了误码,就丢弃该数据报,并向源点发送参数问题报文。

5、改变路由(重定向):

路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由。

以下情况不应发送ICMP差错报告报文:

常用的ICMP询问报文

1、回送请求和回答:ICMP回送请求报文是主机或路由器向一个特定的目的主机发出的询问,收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文,这种询问报文用来测试目的站是否可达及了解其有关状态。

2、时间戳请求和回答:ICMP时间戳请求报文是请某个主机或路由器回答当前的日期和时间,在ICMP时间戳回答报文中有一个32位的字段,其中写入的整数代表从1900年1月1日起到当前时刻一共有多少秒。这种询问报文用来进行时钟同步和测量时间。

9、虚拟专用网VPN和网络地址转换NAT

 NAT:

由于IP地址的紧缺,一个机构能够申请到的IP地址数量往往远小于本机构所拥有的主机数量。因此,虚拟专用网中的各主机所分配到的地址应该是本机构可自由分配的专用地址。

1994年提出的网络地址转换NAT方法再次缓解了IP地址空间耗尽的问题。

NAT能使大量使用内部专用地址的专用网络用户共享少量外部全球地址来访问因特网上的主机和资源。

由于NAT对外网屏蔽了内网主机的网络地址,能为内网的主机提供一定的安全保护。

五、运输层

1、概述

Logo

长江两岸老火锅,共聚山城开发者!We Want You!

更多推荐