第二章 物理层
频分复用:频分复用的用户在同样的时间占用不同的带宽资源(频率带宽)
时分复用:时分复用的用户在不同的时间占用同样的频带宽度,每个用户占用的时隙周期性(时分复用帧的长度)出现。可能造成线路资源的浪费。
波分复用:光的频分复用
码分复用:各用户使用经过挑选的不同码型,彼此不干扰
码片:每一个比特时间划分为m个短间隔
-
码片序列
>例子:S站的8bit码片序列是00011011
发送比特1时,发送序列00011011
发送比特0时,发送序列11100100(发送比特1时的二进制反码)
码片序列的正交关系:向量S和向量T规格化内积为0例子:
S(-1 -1 -1 +1 +1 -1 +1 +1)T(-1 -1 +1 -1 +1 +1 +1 -1)
S和自己规格化内积为1,S和S的反码规格化内积为-1 宽带接入技术:
ADSL(非对称数字用户线):
用数字技术对现有的模拟电话用户线改造,使它能够承载宽带业务。把0~4kHz低端频谱留给传统电话使用,把原来没有被利用的高端频谱留给用户上网使用。用户线越细,信号传输时的衰减就越大。所能得到的最高数据传输速率与实际的用户线上的信噪比密切相关。
ADSL特点:
上行(从用户到ISP)和下行(从ISP到用户)带宽部队称。ADSL在用户线两端各自安装一个ADSL调制解调器。
ADSL数据率:
采用自适应调制技术使用户线能够传送尽可能高的数据率
ADSL启动时,用户线两端的调制解调器测试可用频率,各子信道受到的干扰情况以及在每个频率上测试信号的传输质量。
ADSL不能保证固定的数据率。
下行数据率在32kb/s ~ 6.4Mb/s之间,上行数据率到32kb/s ~ 640kb/s之间DSL(数字用户线):ISDN用户线。
第二代ADSL:
采用无缝速率自适应技术SRA,可在运营中不中断通信,不产生误码,自适应调整数据率,提高调制效率得到更高数据率。改善线路质量评测和障碍定位功能。
用户接口盒UIB提供三种连接:
- 使用同轴电缆连接到机顶盒,再连接到用户电视机
- 使用双绞线连接到用户电话机
- 使用电缆调制解调器连接到用户计算机
第三章 数据链路层
数据链路层使用的信道:
- 广播信道:一对多的广播通信,使用专用共享信道协议
- 局域网:网络为一个单位所拥有,地理范围和站点数目有限
优点:
具有广播功能,一个站点访问全网,主机可共享连接局域网上各种软硬件资源。便于系统扩展和演变,各设备位置可灵活调整改变,提高系统可靠性,可用性,残存性。
数据链路层的子层:
- 逻辑链路控制LLC子层:不管采用何种协议的局域网对LLC来说都是透明的
媒体介入控制MAC子层
点对点信道:
一对一的点对点通信
链路:
无源的点到点物理线路段,中间没有任何其他的交换结点。
数据链路:
把实现了通信协议(控制数据传输)的硬件和软件加到链路上构成了数据链路。数据链路层传送的是帧。
适配器(网卡):
包括数据链路层和物理层的功能
三个问题:
- 封装成帧:在一段数据前后添加首部和尾部构成一个帧,首部和尾部的作用是进行帧定界。
- 透明传输
解决:数据中出现控制字符SOH或EOT的前面插一个转义字符ESC;字节填充或字符填充(接收端的数据链路层将数据送往网络层之前删除插入的转义字符,若转义字符也出现在数据中,应在转义字符前插一个转义字符,接收端收到两个连续转义字符时删掉前面的一个) - 差错控制(保证数据传输的可靠性)
传输过程中可能产生比特差错:1可能变成0,0可能变成1
误码率与信噪比有很大关系
循环冗余检验CRC:
发送端把数据划分为组,在待传送的数据后添加供差错检验用的n位冗余码一起发送。若得出余数R=0则此帧无错,接受。否则有错丢弃。凡是能接受的帧都能以接近于1的概率认为此帧传输过程中没有产生差错。但要做到可靠传输(发送什么收到什么)必须再加上确认和重传机制。
计算冗余码:
例子:
余数作为冗余码添加在数据M后发送出去
循环冗余检验(CRC)不等于帧检验序列(FCS)
CRC是常用检错方法,FCS是冗余码,可以用CRC的方法得出,但CRC并非用来获得FCS的唯一方法
点对点协议PPP:
应满足:简单(首要要求),封装成帧,透明性,多种网络层协议,多种类型链路,差错监测,监测连接状态,最大传送单元,网络层地址协商,数据压缩协商。
不需要的功能:纠错,流量控制,序号,多点线路,半双工或单工链路
PPP协议组成:
- 一个将IP数据包封装到串行链路的方法。
- 链路控制协议LCP
- 网络控制协议NCP
PPP协议的帧格式:
- 标志字段F=0x7E
- 地址字段A只置为0xFF
- 控制字段C通常置为0x03
- PPP面向字节,所有PPP帧长度是整数字节
- PPP有一个2字节的协议字段:
当协议字段为0x0021,PPP帧的信息字段是IP数据报
当协议字段为0xC021,PPP帧的信息字段是PPP链路控制数据
当协议字段为0x8021,则表示是网络控制数据
PPP的工作状态:
用户拨号接入ISP,路由器的调制解调器确认拨号,建立物理连接。PC机向路由器发送LCP分组(封装成多个PPP帧),LCP分组及其响应选择PPP参数,进行网络层配置。NCP给新接入的PC机分配临时IP地址使PC机成为因特网上的一个主机,通信完毕NCP释放网络层连接,收回IP地址,释放数据链路层连接,释放物理层连接。
适配器的功能:
- 进行串行/并行转换
- 缓存数据
- 安装设备驱动程序
- 实现以太网协议
计算机通过适配器和局域网进行通信
为通信简便,以太网采用的措施:
- 采用较灵活的无连接工作方式,不必先建立连接可直接发送数据
- 对发送的数据帧不编号,不要求对方发回确认
以太网提供的服务:
- 不可靠的交付
- 丢弃收到有差错的数据帧
- 数据重传时以太网当做新的数据帧来发送
以太网规定最短有效帧长为64字节,凡小于64字节的帧都是由于冲突而异常终止的无效帧。
以太网的信道利用率
- 以太网信道被占用的情况:
争用期长度为端到端传播时延的两倍,检测到碰撞后不发送干扰信号。
帧长为L(bit),数据发送速率为C(b/s),因而帧的发送时间为L/C=T0(s)
a -> 0表示一碰撞就能监测出来并立即停止发送,a越小信道利用率越高
适配器检查MAC地址:
适配器从网络上每收到一个MAC帧就首先用硬件检查MAC帧中的MAC地址。若是发往本站的帧就收下,否则丢弃。
发往本站的帧:
单播帧(一对一),广播帧(一对全体),多播帧(一对多)
以太网的MAC帧格式:
类型字段标志上一层用的是什么协议,以便把收到的MAC帧的数据交给上一层的这个协议。
MAC客户数据字段的最小长度=最小长度64字节-18字节的首部和尾部
当数据字段长度小于46字节,应在数据字段的后面加入整数字节的填充字段来保证以太网MAC帧长不小于64字节。
无效的MAC帧:
- 数据字段长度与长度字段的值不一致
- 帧的长度不是整数个字节
- 用收到的帧检验序列FCS查出有差错
- 数据字段的长度不在46~1500字节之间
- 有效的MAC帧长度为64~1518字节之间
- 对于检查出无效MAC帧就简单丢弃,以太网不负责重传丢弃的帧
在数据链路层扩展局域网:
使用网桥(过滤:根据MAC帧的目的地址对收到的帧进行转发)。
网桥不改变它转发的帧的源地址。
网桥每收到一个帧就几下其进入该网桥的时间,其源地址和进入网桥的接口作为转发表中的一个项目。
网桥优点:
过滤通信量,扩大物理范围,提高可靠性,可连接不同物理层,不同MAC子层,不同速率(如10
Mb/s和100Mb/s以太网)的局域网。
网桥缺点:
存储转发增加了时延
在MAC子层没有流量控制功能
具有不同MAC子层的网段桥接在一起时时延更大
只适合于用户数不太多的通信量不太大的局域网,否则有时会因为传播过多的广播信息产生网络拥塞(广播风暴)
网桥和集线器
集线器在转发帧时不对传输媒体进行检测。
网桥在转发帧之前必须执行CSMA/CD算法,若发送过程中出现碰撞必须停止发送进行退避
透明网桥:
一种即插即用设备(透明指局域网上站点不知道发送帧经过哪几个网桥)
以太网交换机(多接口网桥):
每个接口直接与主机项链,一般工作在全双工方式,能同时连接许多对接口进行无碰撞传输数据,使用专用的交换结构芯片,拥有较高交换速率。用户通信时独占带宽。方便实现虚拟局域网。
虚拟局域网(VLAN):
由一些局域网网段构成的与物理位置无关的逻辑组。是局域网给用户提供的一种服务,不是一种新型局域网。
这些网段具有某些共同要求
每一个VLAN的帧都有一个明确标识符,指明发送这个帧的工作站属于哪个VLAN
虚拟局域网限制了接受广播信息的工作站数,使得网络不会因传播过多的广播信息(广播风暴)而引起性能恶化。
虚拟局域网使用的以太网帧格式:
VLAN标记:
指明发送该帧的工作站属于哪个虚拟局域网
高速以太网:
速率达到或超过100Mb/s的以太网
吉比特以太网:
允许在1Gb/s下全双工(不使用CSMA/CD)和半双工(使用CSMA/CD)两种方式工作。
全双工方式:当吉比特以太网工作在全双工方式时(通信双方可同时进行发送和接收数据),不适用载波延伸和分组突发。
端到端的以太网传输优点:
成熟的技术,互操作性很好,在广域网中使用以太网时价格便宜,统一的帧格式简化了操作和管理。
以太网从10Mb/s到100Gb/s的演进证明了以太网是:
- 可扩展的
- 灵活的(多种传输媒体、半/全双工、共享/交换)
- 易于安装
- 稳健性好
第四章 网络层
虚电路:
逻辑连接,分组沿着这条逻辑连接按照存储转发方式传送,并不是真正建立了一条物理连接。
网络层向上只提供简单灵活的,无连接的,尽最大努力交付的数据报服务。
网络在发送分组时不需要先建立连接,每一个分组(IP数据包)独立发送,与其前后分组无关(不进行编号)。
网络层所传送的分组可能出错,丢失,重复和失序(不按序到达终点),也不保证分组传送的时限。
对比
虚电路服务和数据报服务:
网际协议IP:
- 地址解析协议ARP
- 网际控制报文协议ICMP
- 网际组管理协议IGMP
中继系统(网络互相连接起来使用的中间设备):
- 物理层中继系统:转发器
- 数据链路层中继系统:网桥或桥接器
- 网络层中继系统:路由器
- 网桥和路由器的混合物:桥路器
- 网络层以上的中继系统:网关
- 互联网是指用路由器进行互联的网络。
虚拟互联网络:
逻辑互联网咯(利用IP协议使性能各异的网络从用户看起来好像是一个统一的网络)
- 优点:
当互联网上的主机进行通信时好像在一个网络上通信一样,看不见互联的各具体的网络异构细节。
IP地址:
给每个连接在因特网上的主机分配一个在全世界范围是唯一的32位标识符。由因特网名字与号码指派公司ICANN进行分配。
IP地址的编址方法:
分类的IP地址:
每一类地址都由两个固定长度的字段组成(网络号net-id:标志主机或路由器所连接到的网络。主机号host-id:标志该主机或路由器)两级的IP地址可以记为:
A、B、C类地址的网络号字段net-id分别为1、2、3字节
A、B、C类地址的主机号字段host-id分别为3、2、1字节
D类是多播地址
E类地址保留为今后使用
点分十进制记法:
IP地址分级的优点:
- IP地址管理机构在分配IP地址时只分配网络号,剩下的主机号由得到该网络号的单位自行分配,方便IP地址的管理。
- 路由器仅根据目的主机所连接的网络号来转发分组(而不考虑主机号),减少路由表中的项目数,见效路由表所占的存储空间。
IP地址标志一个主机(或路由器)和一条链路的接口。
多归属主机:
一个主机同时连接到两个网络上,具有两个相应的IP地址,网络号net-id必须不同。
一个路由器至少应该连接两个网络,至少应该有两个不同的IP地址。路由器的每一个接口都有一个不同网络号的IP地址。
用转发器或网桥连接起来的若干个局域网仍为一个网络,这些局域网具有同样的网络号net-id,所有分配到网络号net-id的网络都是平等的。
在同一个局域网上的主机和路由器的IP地址中网络号必须一致。
两个路由器直接相连的接口处若指明IP地址,则这段连线构成只包含一段线路的特殊“网络”,也可不指明。
IP地址与硬件地址:
- 网络层及以上使用IP地址
- 链路层及以下使用硬件地址
两个路由器的IP地址并不出现在IP数据报的首部中
路由器只根据目的站的IP地址的网络号进行路由选择
地址解析协议ARP:
不管网络层使用什么协议,在实际网络的链路上传送数据帧时最终还是必须使用硬件地址。每个主机都设有一个ARP高速缓存,里面有所在的局域网上的各主机和路由器的IP地址到硬件地址的映射表。
例:主机A向本局域网上主机B发送IP数据报。
1.先在其ARP高速缓存总查看有无主机B的IP地址,若有,查出对应硬件地址,将其写入MAC帧
2.通过局域网将此MAC帧发往硬件地址
ARP高速缓存作用:
- 解决同一局域网上的主机或路由器的IP地址和硬件地址的映射问题。
- 减少网络上的通信量,主机A在发送ARP请求分组时将自己的IP地址到硬件地址的映射写入ARP请求分组,主机B收到A的ARP请求分组时将主机A的地址映射写入自己的ARP高速缓存。以后B向A发送数据报时会更方便。
- 若要找的主机和源主机不在同一局域网就要通过ARP找到位于本局域网上某路由器的硬件地址,把分组发给路由器,让路由器把分组转发给下一个网络(做剩下的工作)。
从IP地址到硬件地址的解析是自动进行的。
为什么不直接使用硬件地址进行通信?
全世界各式各样的网络使用不同的硬件地址,使这些异构网络互相通信进行的硬件地址转换工作非常复杂。调用ARP来寻找某个路由器或主机的硬件地址是有计算机软件自动进行的,用户看不见调用过程。
IP数据报格式:
一个IP数据报由首部和数据两部分组成
所有IP数据报必须具有首部,首部的前一部分是固定长度,共20字节,首部固定部分后面是可选字段,长度可变。
各字段:
- 版本:
指IP协议版本,目前IP协议版本号为4(即IPv4) - 首部长度:
可表示最大数值是15个单位(一个单位4字节) - IP首部长度最大值是60字节。
- 区分服务:
用来获得更好的服务,只有在使用区* 分服务时,这个字段才起作用,一般情况不使用此字段。 - 总长度:
指首部和数据之和的长度,单位为字节,数据报最大长度为65535字节,本长度必须不超过最大传送单元MTU - 标识:
是一个计数器,用来产生数据报的标识 - 标志:
标志字段的最低位是MF(MF=1表示后面还有分片,MF=0表示最后一个分片,标志字段中间的一位是DF,只有当DF=0时才允许分片) - 片偏移:
较长分组在分片后某片在原分组中的相对位置,以8个字节为偏移单位。 - 生存时间:
TTL,数据报在网络中可通过的路由器数的最大值 - 协议:
指出此数据报携带的数据使用何种协议,以便目的主机的IP层将数据部分上交给哪个处理过程 - 首部检验和:
只检验数据报的首部,不检验数据部分,采用简单的计算方法不采用CRC检验码。
源地址和目的地址:各占4字节
IP数据报分片
IP数据报首部的可变部分:
一个选项字段,用来支持排错,测量以及安全等措施,内容丰富。长度可变,1~40字节不等,取决于所选项目。增加首部的可变部分是为了增加IP数据报的功能,但同时使得IP数据报的首部长度可变,增加了每个路由器处理数据报的开销。
IP层转发分组的流程:
按主机所在的网络地址来制作路由表
查找路由表:
根据目的网络地址确定下一跳路由器
特定主机路由:
可使网络管理人员能更方便控制和测试网络,考虑某种安全问题时可采用这种特定主机路由。
默认路由:
减少路由表所占用的空间和搜索路由表所用的时间。适用于一个主机连接在一个小网络上,这个网络只用一个路由器和因特网连接的情况。
IP数据报首部中没有地方可以用来指明“下一跳路由器的IP地址”
当路由器收到待转发的数据报,送交下层的网络接口软件
分组转发算法:
1.提取数据报首部的目的主机IP地址D,得出目的网络地址N
2.若N与此路由器直接相连,则把数据报直接交付D,否则间接交付->3
3.若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器,否则执行4
4.若路由表中有到达N的路由,则把数据报传送给路由表指明的下一跳路由器,否则执行5
5.若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器,否则执行6
6.报告转发分组出错
划分子网:
在IP地址中增加一个“子网号字段”使两级的IP地址编程为三级的IP地址。
划分子网的基本思路:
划分子网属于一个单位内部的事情,单位对外表现为没有划分子网的网络。从主机号借用若干单位作为子网号subnet-id,主机号host-id相应减少若干个位。
凡是从其他网络发送给本单位某主机的IP数据报仍然根据IP数据报的目的网络号net-id,先找到连接在本单位网络上的路由器,路由器收到IP数据报后按目的网络号和子网号找到目的子网,最后将IP数据报直接交付目的主机。
划分子网后变成了三级结构(没划分子网时IP是两级结构):
划分子网只是把IP地址的主机号进行再划分,而不改变IP地址原来的网络号。
子网掩码:
从一个IP数据报的首部无法判断源主机或目的主机所连接的网络是否进行了子网划分。
使用子网掩码可找出IP地址中的子网部分。
(IP地址)AND(子网掩码)=网络地址
子网掩码是一个网络或一个子网的重要属性。
路由器在相互交换路由信息时必须把自己所在网络或子网的子网掩码告诉对方。
路由表中每个项目除了给出目的网络地址,还要给出该网络的子网掩码。
一个路由器连接在两个子网上就拥有两个网络地址和子网掩码。
默认子网掩码:
不同的子网掩码得出相同的网络地址,但不同的掩码效果是不同的。
使用子网掩码的分组转发过程:
网络地址取决于那个网络所采用的子网掩码,但数据报的首部并没有提供子网掩码的信息。
在划分子网的情况下路由器转发分组的算法:
1.在收到分组的首部提取目的IP地址D
2.用各网络子网掩码与D逐位相“与”,若与相应的网络地址匹配则将分组直接交付,否则间接交付,执行3
3.若路由表中有目的地址为D的特定主机路由则将分组传送给指明的下一跳路由器,否则执行4
4.对路由表中每一行子网掩码和D逐位相“与”,若结果与该行目的网络地址匹配则将分组传送给该行指明的下一跳路由器,否则执行5
5.若路由表中有一个默认路由,则将分组传送给路由表中指明的默认路由器,否则执行6
6.报告转发分组出错
255是二进制的全1,因此255 AND xyz =xyz
无分类编址CIDR:
特点:消除了传统的A、B、C类地址以及划分子网的概念,因而可以更加有效的分配IPv4的地址空间
CIDR使用各种程度的网络前缀来代替分类地址中的网络号和子网号。
IP地址从三级编址(使用子网掩码)又回到了两级编址。
CIDR虽然不适用子网,但仍然使用掩码
无分类的两级编址:
斜线(CIDR)记法:在IP地址钱加“/”,然后写上网络前缀所占位数(对应于三级编址中子网掩码中1的个数)
CIDR把网络前缀都相同的连续IP地址组成“CIDR地址块”
所有地址的前n位前缀都是一样的(n是/后的数字)
CIDR地址块
全0和全1的主机号地址一般不使用
对于/n地址块,它的掩码是n个连续的1
例:
10.0.0.0/10 隐含指出IP地址10.0.0.0的掩码是255.192.0.0
11111111 11000000 00000000 00000000
掩码中有10个连续的1
网络前缀的后面加一个星号*表示方法
如:00001010 00,之前是网络前缀,*表示IP地址中的主机号,可以是任意值。
路由聚合(也称为构成超网):
一个CIDR地址块表示的很多地址的聚合,使得路由表中一个项目可以表示很多个原来传统分类地址的路由。
前缀长度不超过23位的CIDR地址块都包含了多个C类地址
这些C类地址合起来构成超网
CIDR地址块中的地址数一定是2的整数次幂
网络前缀越短,其地址块所包含的地址数就越多。
网络前缀越长,其地址块就越小,路由越具体。
在三级结构的IP地址中,划分子网使网络前缀变长。
最长前缀匹配:
使用CIDR时,路由表中每个项目由网络前缀和下一跳地址组成。查找路由表时可能得到不止一个匹配结果。应从匹配结果中选择具有最长网络前缀的路由。
使用二叉线索查找路由表:
减小路由表的查找时间
二叉线索:
将无分类编址的路由表存放在一种层次的数据结构中,自上而下按层次查找。二叉线索中的各个路径代表路由表中存放的各个地址。提高二叉线索的查找速度可使用各种压缩技术。
网际控制报文协议ICMP:
提高IP数据报交付成功的机会
ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。
ICMP是IP层协议。
ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发出去。
ICMP报文:
种类:
- ICMP 差错报告报文(终点不可达,源点抑制,时间超过,参数问题,改变路由(重定向))
- ICMP询问报文(回送请求和回答报文,时间戳请求和回答报文)
ICMP 差错报告报文
不应发送ICMP差错报告报文的情况:
1.对ICMP差错报告报文不再发送ICMP差错报告报文
2.对第一个分片的数据报片的所有后续数据报 片都不发送ICMP差错报告报文
3.对具有多播地址的数据报都不发送ICMP差错报告报文
4.对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文。
ICMP应用:PING
PING用来测试两个主机之间的连通性
PING使用了ICMP回送请求与回送回答报文
PING是应用层直接使用网络层ICMP的例子,不通过运输层的TCP或UDP
理想的路由算法:
正确的,完整的,计算上简单,能适应通信量和网络拓扑的变化(自适应性),稳定性,公平,最佳。
自治系统AS:
在单一技术管理下的一组路由器使用一种AS内部路由选择协议和共同度量以确定分组在该AS内的路由,同时使用一种AS之间的路由选择协议用以确定分组在AS之间的路由。一个AS对其他AS表现出的是一个单一的一致的路由选择策略。
路由选择协议:
内部网关协议IGP(RIP,OSPF):
在自治系统内部使用
RIP(适用于小型互联网):
分布式基于距离向量的路由选择协议,要求网络中每个路由器都维护从它自己到其他每一个目的网络的距离记录(最短距离)。
距离(跳数):
从路由器到直接相连的网络距离定义为1。从路由器到非直接连接的网络的距离定义为每经过一个路由,跳数+1。
RIP允许一条路径最多只能包含15个路由器。距离最大值为16时相当于不可达。
要点:
仅和相邻路由器交换信息
交换的信息是当前本路由器所知道的全部信息(即自己的路由表),按固定时间间隔交换路由信息。
所有的路由器最终都拥有了整个AS的全局路由信息,但每个路由器的位置不同,它们的路由表也不同。
RIP的收敛:
在AS中所有节点都得到正确的路由选择信息的过程。
距离向量算法:
收到相邻路由器(其地址为X)的一个RIP报文:
1.修改此RIP报文中所有项目:把下一跳字段中的地址都改为X,并把所有距离字段的值加一。
2.对修改后的RIP报文中的每一个项目,重复以下步骤:
若项目中的目的网络不在路由表中则把该项目加到路由表中。否则若下一跳字段给出的路由器地址是同样的则把收到的项目替换原路由表中的项目。否则若收到项目中的距离小于路由表中的距离,则进行更新,否则什么也不做。
3.若三分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达路由器,即将距离置为16(距离为16表示不可达)。
4.返回。
RIP2协议的报文格式:
RIP2报文=首部+路由部分
路由标记填入AS的号码(使RIP有可能收到本AS以外的路由选择信息)
RIP的缺点:
当网络出现故障时要经过比较长的时间才能将此信息传送到所有的路由器。限制了网络规模,它能使用的最大距离为15(16表示不可达)。
路由表之间交换的路由信息是路由表中的完整路由表,随着网络规模的扩大,开销增加。
优点:
实现简单,开销较小
OSPF(Open Shortest Path First)协议:
特点:
1.不受某一家厂商控制,公开发表。
2.使用了最短路径算法SPF。
3.OSPF只是一个协议名字,并不表示其他的路由选择协议不是最短路径优先。
4.是分布式的链路状态协议。
5.对不同链路课根据IP分组的不同服务类型TOS而设置成不同的代价。对于不同类型的业务可算出不同的路由。
6.多路径间的负载平衡:到同一个目的网络有多条相同代价的路径可将通信量分配给这几条路径。
7.所有在OSPF路由器之间交换的分组都具有鉴别功能。
8.支持可变长度的子网划分和无分类编址CIDR
9.每一个链路状态都带上一个32位的序号,序号越大状态越新。
10.规定每隔一段时间刷新一次数据库中的链路状态
11.一个路由器的链路状态只涉及到与相邻路由器的联通状态,与整个互联网规模无直接联系,当互联网规模很大时,OSPF协议要比距离向量协议RIP好很多。
12.OSPF响应网络变化的时间小于100ms。
OSPF分组
OSPF的五种分组类型:
1.问候分组
2.数据库描述分组
3.链路状态请求分组
4.链路状态更新分组,用洪泛法对全网更新链路状态
5.链路状态确认分组
OSPF的基本操作:
问候(确定可达性)
数据库描述(达到数据库同步)
链路状态请求(新情况下的同步)
链路状态更新(新情况下的同步)
链路状态确认(新情况下的同步)
要点:
向本AS中所有路由器发送信息使用洪泛法
发送的信息是与本路由器相邻的所有路由器的链路状态(说明本路由器和那些路由器相邻,以及该链路的度量),但这只是路由器所知道的部分信息。
只有当链路状态发生变化时路由器才用洪泛法向所有路由器发送此信息。
链路状态数据库:
全网的拓扑结构图,它在全网范围内是一致的(链路状态数据库的同步)
OSPF的链路状态数据库能较快更新,使各个路由器能及时更新其路由表。
OSPF的区域(将AS划分的若干更小范围):
每个区域都有一个32位的区域标识符(用点分十进制表示)。
区域不能太大,在一个区域内的路由器最好不超过200个。
划分区域(层次结构的划分):
将利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个AS,减少整个网络上的通信量。
一个区域内部的路由器只知道本区域的完整网络拓扑,不知道其他区域的网络拓扑情况。
上层区域是主干区域(标识符规定为0.0.0.0),作用:联通其他下层区域。
OSPF不用UDP而是直接用IP数据报传送。
OSPF构成的数据报很短,减少路由信息的通信量,可以不必将长数据报分片传送,分片传送的数据报只要丢失一个就无法组装成原来的数据报而整个数据报必须重传。
洪泛法:将收到的封包往所有的可能连结路径上递送直到封包到达为止。
指定的路由器:代表该局域网上所有链路向连接到该网络上的各路由器发送状态信息。多点接入的局域网采用了指定的路由器方法使广播的信息量大大减少。
外部网关协议EGP(BGP-4):
若源站和目的站处在不同的AS中,当数据报传到一个AS边界时需要使用外部网关协议将路由器选择信息传递到另一个AS中。
域间路由选择:AS之间的路由选择
域内路由选择:AS内的路由选择
外部网关协议BGP:
是不同AS的路由器之间交换路由信息的协议,力求寻找一条能够到达目的的网络且比较好的路由,而并非要寻找一条最佳路由。
BGP协议特点:
1.交换路由信息的结点数量级是AS数的量级,这比这些AS中的网络数少很多。
2.每个AS中BGP发言人很少,使得AS之间的路由选择不至于过分复杂。
3.BGP支持CIDR,BGP路由表包括目的网络前缀,下一跳路由器,到达目的网络所要经过的各个AS序列。
4.BGP刚运行时的邻站是交换整个的BGP路由表,以后只需更新发生变化的部分,节省网络带宽,减少路由器的处理开销。
每一个AS的管理员选择至少一个路由器作为该AS的BGP发言人。两个BGP发言人通过一个共享网络连接在一起,BGP发言人一般是BGP边界路由器,但也可以不是。
一个BGP发言人与其他AS中的BGP发言人交换路由信息要先建立TCP连接,在此连接上交换BGP报文建立BGP会话,利用BGP会话交换路由信息。(使用TCP连接能提供可靠服务,简化路由选择协议,使用TCP连接交换路由的两个BGP发言人成为彼此的邻站或对等站)
AS连通图:
BGP交换的网络可达性信息要达到某个网络所要经过的一系列AS,当BGP发言人互相交换了网络可达性信息后,各BGP发言人根据所采用的策略从收到的路由信息中找出到达各AS的较好路由。
BGP-4共使用四种报文:
1.OPEN报文:跟相邻BGP发言人建立关系
2.UPDATE报文:发送某一路由的信息,列出要撤销的多条路由
3.KEEPALIVE报文:确认打开报文和周期性证实邻站关系
4.NOTIFICATION报文:发送检测到的差错
在RFC2918中增加了ROUTE-REFRESH报文(请求对等端重新通告)
BGP报文具有通用的首部:
路由器的结构:
具有多个输入端口和输出端口的专用计算机,其任务是转发分组。输入端口收到分组,处理分组(数据链路层剥去帧首部和尾部,将分组送到网络层队列中排队等待(产生时延),查表和转发),输出端口(先缓存分组,数据链路层处理模块将分组加上链路层的首部和尾部,交给物理层后发送到外部线路)根据目的网络把分组发送到下一跳路由器。下一跳路由器按同种方法处理分组直到该分组到达终点。
分组丢弃:若路由器处理分组速率赶不上分组进入队列的速率则队列的存储空间最终减少到0,使后面再进入队列的分组由于没有存储空间只能被丢弃。
路由器中输入或输出队列产生溢出是造成分组丢失的重要原因。
转发和路由选择的区别:
转发:路由器根据转发表将用户IP数据报从合适的端口转发出去。
路由选择:按照分布式算法根据从各相邻路由器得到的关于网络拓扑的变化情况动态改变所选择的路由。
路由表根据路由选择算法得出,转发表从路由表得出。
IP多播:
可明显减少网络资源消耗
特点:
1.使用组地址———IP使用D类地址支持多播,多播地址只能用于目的地址,不能用于源地址
2.永久组地址———由因特网号码指派管理局IANA负责指派
3.动态的组成员
4.使用硬件进行多播
TCP/IP协议使用的以太网多播地址块的范围:00-00-5E-00-00-00 ~ 00-00-5E-FF-FF-FF
D类IP地址可供分配的有28位,其中前五位不能用来构成以太网硬件地址。
IP多播需要的协议:
网际组管理协议IGMP(使路由器知道多播组成员信息)
多播路由选择协议(局域网上的多播路由器和因特网上其他多播路由器协同工作以便把多播数据报用最小代价传送给所有组成员)。
IGMP的本地使用范围:
IGMP并非在因特网范围内对所有多播组成员进行管理。
IGMP不知道IP多播组包含的成员数和他们都分布在哪些网络上。
IGMP协议让连接在本地局域网上的多播路由器知道本局域网上是否有主机参加或退出了某个多播组。
IGMP使用IP数据报传递其报文(IGMP报文加IP首部构成IP数据报),IGMP应被看成是属于整个网际协议IP的一个组成成分。
IGMP:
第一阶段:
当某主机加入新的多播组时,应向多播组的多播地址发送IGMP报文声明自己要成为该组成员。本地多播路由器收到IGMP报文后将组成员关系转发给因特网上其他多播路由器。
第二阶段:
组成员关系是动态的,本地多播路由器要周期性探询本地局域网上的主机以便知道这些主机是否还继续是组的成员。只要对某个组有一个主机响应,多播路由器就认为这个组是活跃的。一个组在经过多次探询后仍然没有主机响应则不再将该组成员关系转发给其他多播路由器。
多播转发必须动态适应多播组成员的变化(这时网络拓扑并未发生变化)。单播路由选择通常在网络拓扑发生变化时才需要更新路由。多播数据报可以由没有加入多播组的主机发出,也可以通过没有组成员接入的网络。
在主机和多播路由器之间所有通信都使用IP多播。
多播路由器在探询组成员关系时只需要对所有组发送一个请求信息的询问报文,默认询问速率是每125秒发送一次。
当同一网络上连接几个多播路由器时,他们能迅速有效选择其中一个来探询主机的成员关系。
IGMP询问报文中有一个数值N,指明一个最长响应时间,当收到询问时主机在0到N之间随机选择发送响应所需经过的时延。对应于最小时延的响应最先发送。
同组内每个主机都要监听响应,本组只要有其他主机先发送了响应自己就可以不再发送响应了。
多播路由选择:
找出以源主机为根节点的多播转发树。
多播组成员动态变化,随时有主机加入或离开。
多播转发树上的路由器不会收到重复的多播数据报。
不同的多播组对应于不同的多播转发树,同一个多播组对不同的源点也会有不同的多播转发树。
转发多播数据报使用的方法:
1.洪泛与剪除(适合较小多播组,所有组成员接入的局域网相邻接):为避免兜圈子采用反向路径广播RPB策略。
RPB:
路由器收到多播数据报时先检查是否从源点经最短路径传送而来,若是,向所有除进入方向的其他方向转发此多播数据报,否则丢弃不转发。若存在几条同样长度的最短路径,只能选择其中一条,选择其中相邻路由器IP地址最小的那一条。
2.隧道技术
3.基于核心的发现技术(适用于多播组大小在较大范围内变化的情况):对每一个多播组G指定一个核心路由器,给出它的IP单播地址,核心路由器创建出对应于多播组G的转发树。
多播路由器选择协议:
距离向量多播路由选择协议DVMRP
基于核心的转发树CBT
开放最短通路有限的多播扩展MOSPF
协议无关多播-稀疏方式PIM-SM
协议无关多播-密集方式PIM-DM
虚拟专用网VPN:
本地地址:仅在机构内部使用的IP地址,可由本机构自行分配,不需要向因特网管理机构申请。
全球地址:全球唯一IP地址,必须向因特网管理机构申请。
在因特网中的所有路由器对目的地址是专用地址的数据报一律不进行转发。
内联网(intranet):
由部门A和B的内部网络所构成的虚拟专用网VPN,表示部门A和B都在同一个机构的内部。
外联网(extranet):
一个机构和某些外部机构共同建立的虚拟专用网VPN
外联网和内联网都基于TCP/IP协议。
远程接入VPN:
在外地工作的员工拨号接入因特网,驻留在员工PC机中的VPN软件可在员工的PC机和公司主机之间建立VPN隧道,通信内容保密。
网络地址转换NAT:
需要在专用网连接到因特网的路由器上安装NAT软件,装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球地址。所有使用本地地址的主机在和外界通信时都要在NAT路由器上将其本地地址转换成外部全球地址才能和因特网连接。