第五章 因特网基础
——the,network of network”
因特网概述
什么是因特网?
因特网是在 TCP/IP协议基础上建立的
国际互联网。它是“计算机网络的网
络”,即将全世界不同国家、不同地区、
不同部门和机构的不同类型的计算机网
络互联在一起,形成一个世界范围的信
息网络。
Internet是指通过网络互连设备把不同的多个网络或
网络群体互连而形成的大的网络,也称为网际网
或者因特网,英文名称 Internent网
Internet网的主要组成部分
1、通信线路
2、路由器
3、服务器与客户机
4、信息资源
Internet实现互联的奥秘
5.1 Internet 可以视为一个分组交换系统
计算机通讯初期,直接连线;共享线路分时;
60 年代分组交换技术,计算机数据的每一个分组,从一台计算机
到另一台传输,由网络硬设备监视;一旦到达目的机,识别 (数据包)分
组头,就能知道 是否是给自己的 ;如果是,写入内存。“组头”就是一个
标签,他指明从何机到何机。 网络分组交换允多台机同时通信。
多台机发送时都“分组”,“加头”,向外发;到达接收机时,接
收机 将“分组包”掐头去尾,重装。
5.2 路由器是实现 Internet网络 互连的关键部件
? Internet是通过路由器连接起来多个网络的集合。
? 路由器的体系结构允许 Internet中包含 多种类型的网络 。
? 路由器是 实现 Internet主干网互连的 关键部件 。
5.3 TCP/IP是 Internet的核心协议
5.3.1 TCP/IP 的基本特性
1.逻辑编址
2.路由选择
3.域名解析
4.错误检测与流量控制
5.对应用程序的支持
5.3.2 TCP/IP 协议族
网络互联的根本目标是隐藏所有底层网络硬件的细节,同
时提供一般的通信服务。
实现互连网的协议有很多种。其中,TCP协议和 IP协议是
最具有代表性,也是最重要的网络协议,它们是网络体系结构的
关键之一。 TCP/IP是“黏合剂”,它实现了 Internet的“一统天
下”。 事实上,TCP/IP是一个协议族,
它是 ARP,IP,ICMP,IGMP,UDP,TCP等 100多个协议的集合。
5.3.3 TCP/IP分层作用 简述
1,网络接口层
该层协议很多,任何可用 IP数据包交换的分组传输协议均可纳入 。,包容性”,
“适应性”正是 TCP/IP协议成功的基础。
该层接收 IP数据报,并通过网络发送出去;
或从网上接收物理帧,形成 IP数据报,交网际网层 (互连层 )处理。
2,互连层(网际网层)
负责相邻计算机间的通信。
( 1)处理来自传输层的请求,将分组形成 IP数据报,选路径,送往网络接口层。
( 2)处理来自网络接口层的数据报,检查合法性,如已到信宿机,去报头剩
下 TCP段,送传输层;否则,选路由转发该报。
( 3)处理网际网 ICMP协议,即处理路径、流控、拥塞、报告差错。
3,传输层( TCP)
根本任务是处理应用程序之间的通信问题,即端到端问题。
( 1)发送方,把要发送的数据,分组,加信息,指明谁给谁,发给低层。
( 2)接收方,发回“确认”或要求重发报文。
4,应用层
应用层包括了许多应用程序,如电子邮件,远程登录;严格说来,它们不属于
TCP/IP。不过,TCP/IP制定了若干协议;人们可以自行开发应用。
Internet的工作原理
TCP IP
3 4
1 2
5 6
7 8






78
5 63
41
2
原信息
TCP/IP重组信息
网络层基本功能
——分组投递
网络层的任务
网络层涉及的是将源端发出的分组经各种途径送到目
的端。从源端到目的端可能的经过许多中间节点。这
一功能与数据链路层形成鲜明的对比,数据链路层仅
仅将数据帧从导线的一端送到另一端
为了实现网络层的目标,网络层必须知道通信子网的
拓扑结构(即所有路由器的位置),并选择通过子网
的合适路径。( 路由选择 )。选择路径时要注意到,
不要使一些通信线路超负荷工作,而另一些通信线路
却处于空闲状态。( 负载均衡 )
为传输层提供的服务
网络层在网络层 /传输层接口上为传输层提供服务。这
一接口往往是载体与用户的接口,亦即,它是通信子
网的边界。
网络层的服务是按下列目标进行的:
? 服务应与通信子网技术无关
? 通信子网的数量、类型和拓扑结构对于传输层来说是隐蔽的
? 传输层所能获得的网络地址应采用统一的编号方式,即使跨
越了多个 LAN和 WAN
对于网络层应提供的服务,有两种观点:面向连接的
服务与无连接的服务。
无连接的服务
这种观点认为:通信子网的工作实在网上传送比特,
除此之外,别无它事。按照他们的观点,不管怎样设
计,通信子网注定是不可靠的。因此,主机应该接受
这样的事实:必须自己进行差错控制和流量控制。
它导致了这样的结论:网络层提供的服务是用原语
SEND PACKET和 RECEIVE PACKET及少许其它原语构
成的无连接方式。尤其是,由于分组排序和流量控制
都将由主机来进行,因而不必再进行这项工作,并且
进行两次分组排序和流量控制并不会得到更好的效果。
因此在网络层中不必再设置分组排序和流量控制功能。
此外,由于每个被发送的分组的传送都与其前面发送
出去的分组无关,因此,每个分组都必须带有目的端
的完整地址
面向连接的服务
这种观点认为:子网应该提供一种可靠的、面向连
接的服务。按照这一要求,其连接应有如下特征:
1,发送数据前,发送端网络层进程必须与接收端网络层对等
进程建立连接。这是一个具有特殊标识的连接。一直到数
据传送完毕后才能明确的释放。
2,建立连接时,两个进程可就其服务参数、服务质量和服务
开销进行协商。
3,通信是双向的,分组按次序进行递交。
4,能自动提供流量控制功能,以防止一个快速发送者以高于
接收者取出分组的速率将分组堆积在队列中,从而导致溢
出。
面向连接和无连接两种服务方式间的争论,实质就是将复杂的功能放
在何处的问题。在面向连接服务,它们被置于网络层(通信子网),
而在无连接服务中,则被置于传输层(主机)。
网络层是否面向连接和网络层是否可靠是两
个独立的问题。
首先,网络层可以是面向连接的(需要建立连接);也可
以是无连接的(不需要建立连接)。其次,网络层可能是
可靠的(无丢失、重复或不完整分组)或不可靠的(分组
可能丢失、重复或不完整)。理论上说,四种组合都可能
存在,但最主要的两种组合是可靠的、面向连接的网络层
和不可靠的、无连接的网络层。所以其它两种组合渐渐就
无声息了。
两种观点都由运行实例来做代表,Internet具有一个无连接的网络层,
而 ATM有一个面向连接的网络层。一个明显的问题是,当 Internet运
行在基于 ATM提供的载体的通信子网上时,它如何工作。解决办法是,
源主机首先与目的主机建立一个 ATM网络层连接,再在该连接上发送
独立的( IP)分组。此方法虽然有用,但效率很低,因为某些功能在
两个层中重复出现。例如,ATM网络层保证分组按次序递交,但 TCP
代码仍旧包含了管理和记录无序分组的完整机制。
因特网编址机制
因特网目前主要有三种不同形式但可以
互相映射的地址管理机制:
? 域名地址,www.henu.edu.cn(帮助记忆 )
? IP v4地址,202.196.96.4(32位逻辑编码,
用来在因特网中定位主机和路由器的接
口 )
? 介质访问控制( MAC)地址,12-FA-9B-
23-DB-11(48位物理编码,用来在局域网
中定位主机和路由器的接口 )
因特网编址机制
TCP/IP协议中各类地址的映射
? 在广域网中主要使用逻辑编址。按 IP地址来确定网络、
网段和主机。
? 依靠域名服务系统( DNS)来实现域名地址到 IP地址
的映射和转换
? 在局域网中,需要使用网卡的 MAC地址来通信,MAC
地址是在网卡出厂时就固化在芯片中。
? 在局域网中,由各主机上的地址解析协议 (ARP)模块
负责完成 IP地址到 MAC地址间的转换。
? 简单地址:如局域网的 Mac地址
– 寻址方式复杂
?广播方式
?逐台主机进行试探
MAC地址
运行,命令提示符”,然后在里面
输入 ipconfig/all命令,就可以查出
自己的网卡地址
为什么需要 IP地址
已有设备的网络的网络地址(网卡地址,MAC地址)
作为最底层通信地址,为何还需要 IP地址,
1,并非所有的主机都有网卡,拨号上网的主机无需网卡
利用 IP地址可以使拨号主机上网。
2,物理地址包括供应商 ID( 24位)和主机 ID(24位 )
两部分,用户使用不友好。 IP地址可以使逻辑地址
有序,便于理解和组织。
3.物理地址只在两个物理设备在同一网段中时才使用,
IP地址提供了对远程网络设备中进行寻址和访问的方法
它使网关容易决定数据是留在本地还是传到网络。
4 最重要的是,IP地址是一种逻辑地址,与物理设备完全
无关。
?层次型的地址
–Internet概念分为三个层次
–IP地址由网络号和主机名构成
–IP地址的层次性,导致了 IP地址管理以及
其它 Internet管理(如域名管理、路由寻径)
的层次性
IP地址
IP地址 (Internet地址 )
要使 Internet上主机间能正常通信, 必须给每个计算机
一个全球都能接收和识别的唯一标识, 它就是 IP地址 。
二进制 32位:
11001010 11000100 01100000 00000100
点分十进制表示, 由二进制变化而来,32位的二进制分为
4个 8位组,每个 8位二进制用十进制来表示
202, 196, 96, 4
(四个数字都在 0~255之间)
一个 IP地址分为两个部分:
前一个部分为网络 ID,标识主机所在的网络,即标识一个
网络。
后一个部分为主机 ID,标识一台主机。
网络 ID 主机 ID
IP地址的分类和表示
从概念上讲,每个 IP地址都是由两部分构成:网络
号,主机号 。其中,网络号标识某个网络,主机号
标识在该网络上的一个特定的主机 。
网络号 主机号0A 类地址
E 类地址
D 类地址
C 类地址
B 类地址 1 0 网络号
0 7 8 3115 16 23 24
主机号
1 1 0 网络号 主机号
1 1 01
1 1 011
组播地址
保留
图 6 - 2 I P 地址格式
IP地址分为 A,B,C,D,E五类,
A类,第一个字节的最高位是 0
B类,第一个字节的前两位是 10
C类,第一个字节的前三位是 110
D类,第一个字节的前四位为 1110
E类,第一个字节的前五位为 11110
A,B,C三类 IP地址的结构都是由两部分组成:网络号和主机号 。
A类地址,共 126个子网, 每个子网内可以有 1600万台主机;
B类地址,共 16,384个子网, 每个子网内可以有 65,534台主机;
C类子网,共 200万个子网, 每个 C类子网内最多只能有 254台主机 。
表示成点分十进制, 五类地址如下:
类型 最低地址 最高地址
A 1.0.0.1 127.255.255.254
B 128.0.0.1 191.255.255.254
C 192.0.0.1 223.255.255.254
----------------------------------------------------------
D 224.0.0.0 239.255.255.255
E 240.0.0.0 247.255.255.255
表 6-1 IP地址范围 (其中某些值是保留作特殊用途的 )
A类地址
前 8位为网络地址,且首位为 0,01111111为回送地址
只有 126个 A类网络。
后面 24位为主机地址
因此每个 A类网络可以有 16777214个具有不同 IP的主机
A类
0XXXXXXX 主机 ID( 24)
B类地址
前 16位为网络 ID,且最高两位总为 10,
有 16384个 B类网络。
后面 16位为主机地址
因此每个 B类网络可以有 65534个具有不同 IP的主机
B类
10XXXXXX
XXXXXXXX
主机 ID(16)
C类地址
前 24位为网络 ID,且最高三位总为 110,
有 2097152个 C类网络。
后面 8位为主机地址
因此每个 C类网络可以有 254个具有不同 IP的主机
C类
110XXXXX.
XXXXXXXX,
XXXXXXXX.
主机 ID(8)
特殊的 IP地址
1,广播地扯
所有主机号部分为, 1”的地址是广播 (broadcast)地址 。
广播地址分为两种:
在一特定子网中, 主机地址部分为全 1的地址称为 直接广播地址 (direct
broadcast)。
一台主机使用直接广播地址, 可以向任何指定的网络直接广播它的数据
报, 很多 IP协议利用这个功能向一个子网上广播数据 。
例如, 在子网地址为 162.105.130.0的网络上, 162.105.130.255就是对
该网络的广播地址 。 协议规定, 每台主机和路由器等都要接收和处理目的地
址为本子网广播地址的数据报 。 不在这个子网 (162.105.130.0)内的主机 ( 如
IP地址为 202.112.7.12的机器 ), 也可以用广播地址 162.105.130.255向该子
网上所有的主机广播信息 。
32个比特全为 1的 IP地址 (即 255.255.255.255)被称为 有限广播地址
(limited broadcast address)或本地网广播地址 (local network broadcast
address),该地址被用作在本网络内部广播 。 使用有限广播地址, 主机在不
知道自己的网络地址的情况下, 也可以向本子网上所有的其它主机发送消息 。
无论哪种广播地址都不能像其它的 IP地址那样分配给某台具体的主机 。
因为它是指满足一定条件的一组机器 。
广播地址只能作为 IP报文的目的地址, 表示该报文的一组接收者 。
2,,零, 地址
网络号 ====主机号为零的 IP地址。 从来不分配给任何一个单个的主机 主机号为
零, 例如,202.112.7.0 就是一个典型的 C类网络地址,表示该网络本身。
主机号 ====网络号为, 0”的 IP地址,指的是本网络上的某台主机 。例如,如果一
台主机 (IP地址为 202.112.7.13)接收到一个 IP报文,它的目的地地址中网络号部分为
,0”,而主机号部分与它自己的地址匹配 (即,IP地址为 0.0.0.13),则接收方把该 IP
地址解释成为本网络的主机地址,并接收该 IP数据报。
,0.0.0.0”====代表本主机地址 。网络上任何 主机 都可以 用它来表示自己 。
3,回送地址
属于 A类地址范围内的 IP地址 127.0.0.0 -- 127.255.255.255
任何一个以数字 127开头的 IP地址 (127.any.any.any)都叫做回送地址 (loopback
address).它是一个保留地址,最常见的表示形式为 127.0.0.1。
在每个主机上对应于 IP地址 127.0.0.1有个接口,称为回送接口 (loopback
interface)。 IP协议规定,当任何程序用回送地址作为目的地址时,计算机上的协议
软件不会把该数据报向网络上发送,而是把数据直接返回给本主机(直接上交,并不
交给数据链路层) 。因此,网络号等于 127的数据报文不能出现在任何网络上,主机
和路由器不能为该地址广播任何寻径信息。
回送地址的用途是,可以实现对 本机网络协议的测试 或实现 本地进程间的通信 。
特殊 IP地址
确定下面的 IP是否有效
131.255.255.18
127.21.19.109
240.9.12.12
192.5.22.255
类型 最低地址 最高地址
A 1.0.0.1 126.255.255.254
B 128.0.0.1 191.255.255.254
C 192.0.0.1 223.255.255.254
----------------------------------------------------------
D 224.0.0.0 239.255.255.255
E 240.0.0.0 247.255.255.255
表 5-1 IP地址范围 (其中某些值是保留作特殊用途的 )
IP地址和物理地址
IP地址是指 Internet协议使用的地址,而 MAC是 Ehernet
协议用的地址,
TCP头
应用层数据
应用层数据
TCP头 应用层数据IP头
TCP头 应用层数据IP头帧头 帧尾
IP地址
MAC地址
H1
IP1
H2
IP2
IP3 IP4
IP5
IP6
HA3HA1 HA2 HA4
HA5 HA6
MAC帧 MAC帧
MAC帧
IP层上的互联网



1



2
FDDI
HA1?HA2 HA3?HA4 HA5?HA6
R1 R2
IP数
据报
IP1 数据IP6
HA1 IP1 数据IP6HA2
HA3 IP1 数据IP6HA4
HA5 IP1 数据IP6HA6
IP1 数据IP6
5.5 地址解析协议 /反向地址解析协议
5.5.1 地址解析协议 (ARP)
使用 IP地址, Internet构成一个虚拟网络 。 但是真正通信还是靠物理地址 (MAC地
址 )。
从源端到目的地的路径上, 每一步的传输使用的都是 MAC地址, 即都需要完成 IP到
MAC地址的映射 。
从源端到目的网点途中, 在每一个 中间站点 进行转发报文时, 都使用下一站 (next hop)路由器
的 MAC地址 ;在当该报文到达最 终目的地子网时, 要把它交给目的地主机, 实际上使用的还是目的
地的物理地址;都需要将 IP地址映射成物理地址 。
在以太网等具有广播能力的网络上, TCP/IP协议使用地址解析协议 ARP(Address Resolution
Protocol),来实现 IP地址到 MAC地址的动态转换 。
A YBX
( a ) 主机A 向网上所有的机器广播一个A R P 请求包,它包含I
B
地址
A YBX
( b ) 主机B 响应一个包含( I
B
,M
B
) 的A R P 应答
图 6 - 3 A R P 协议的请求及响应
网络 192.31.96.0
网络 192.31.96.0
图 6-3所示, 当主机 A要查询 已知 IP地址为 IB (eg.192.31.96.5)的主机 B的 MAC地址 MB是什么时, 它首先 广播
一个特殊的报文, 询问:, 谁的 IP地址是 192.31.96.5?”要求 IP地址为 IB的主机返回自己的物理地址 MB。
包括 B在内的所有网络 192.31.65.0上的主机都接收到这个查询请求, 每个收到该广播的机器都会查
一下自己的 ip地址 。 只有 主机 B识别出它的 IP地址并发出一个含有它自己 MAC地址的应答 。 当 A收到应答后,
就可以用该 MAC地址把数据报文封装后直接发送给主机 B。
ARP 消息格式
硬件地址类型 协议地址类型
硬件地址长度 协议地址长度 操作符
发送方硬件地址(前 4个字节)
发送方硬件地址(后 2) 发送方协议地址(前 2)
发送方协议地址(后 2) 接收方硬件地址(前 2)
接收方硬件地址(后 4)
接收方协议地址
硬件地址类型,1表示以太网地址
协议地址类型,0x0800表示 IP地址
地址长度:单位为字节
? 对以太网上的 IP协议,硬件,6;协议,4
操作符,1,ARP请求; 2,ARP应答; 3:
RARP请求; 4,RARP应答
提高 ARP的效率
1) 缓存与应答
2) 启动时广播 ARP查找自己的 IP地址
3) 缓存刷新
跨网间传送
5.5.2 反向地址解析协议 (RARP)
反向地址解析协议 RARP(Reversed Address Resolution
Protocol),顾名思义它可以 实现 MAC地址到 IP地址的转换。
无盘工作站在启动时,只知道自己的网络接口的 MAC地址,
不知道自己的 IP地址。它首先要使用 RARP协议得到自己的 IP地
址后,才能和其他服务器通信。
在一台无盘工作站启动时,工作站首先以广播方式发出
RARP请求。询问:, 我的 48位 MAC地址是 12-FA-9B-23-DB-11,
谁知到我的 IP地址?, 同一网络上的 RARP服务器就会根据 RARP
请求中的 MAC地址为该工作站分配个 IP地址,生成一个 RARP响
应包发送回去。
RARP报文和 ARP报文的格式几乎完全一样。唯一的差别在
于 RARP请求包中是由发送者填充好的源端 MAC地址,而源端 IP
地址域为空 (需要查询 )。在同一个子网上的 RARP服务器接收到
请求后,填入相应的 IP地址,然后发送回给源工作站。
RARP的一个缺点是使用了全 1的目标地址以达到 RARP服务
器,但是,这种广播不会被路由器转发。因此,每个网络上都
需要 RARP服务器
分用
IP地址的实质与局限
IP地址的实质:
? 标识一条网络连接
IP地址的局限:
? 一个设备可能有多个 IP地址,使用不同 IP地
址的报文行为可能不同
? 换网必须换 IP地址
网间互连协议 IP
IP是网络互连协议 (Internet Protocol)的简称 。 IP协议具有良好的适应性, 因此
IP协议得到广泛使用, 成为支撑 Internet的基础 。
IP协议提供的是一种无连接的, 不可靠的, 尽力发送的服务, 把数据从源端发送到
目的端 。 IP数据报在经过网络传输时, 有可能因为网络拥塞, 链路故障等原因而造成丢
失或出错 。 对此, IP协议仅具有有限的错误报告功能, 它调用 ICMP协议来实现差错报告 。
数据报内容的差错捡测和恢复则交给高层 (传输层协议 --TCP)去完成 。
IP协议的内容包括:基本传输单元的格式, 也就是 IP报文的类型与定义, IP地址以
及分配方法, IP报文的路由转发以及 IP报文的分段与重组 。
5.6.1 IP数据报的格式
IP数据报 (packet)是 IP协议的基本处理单元, 它由两部分组成,报文头和数据部分 。
源I P 地址
总长度服务类型版本号 头长度
标识符 标志 段偏移值
生存时间 协议类型 头校验和
目的I P 地址
可选项( 0 或多个) 填充(可 选)
数据( 0 - - 6 4 k )
0 3 4 7 8 15 16 31
图 6 - 5 I P 报文格式
包头
数据
图 6-5给出了 IP数据报的格式。 IP数据报的报文头包含一些必要的控制信息,它本身有 20个字节
的固定部分和变长的可选项 (option)部分构成。
版本号 (Version),IP协议的版本号,它占用 4位。
长度字段:头长度 (Header Length)和总长度 (Total Length)。 头长度字段占用 4位,表示报文
头的长度。它的数值是以 4字节为单位表示长度,即 IP报文头中真正的字节数应该等于头长度值乘以
4。 IP报文头又分为固定部分和选项 (option)部分,固定部分正好是 20个字节,而选项部分为变长,
因此需要有用一个字段来给出 IP报文头的长度。而且若选项部分长度不为 4的倍数,则还应根据需要
填充 (padding)1到 3个字节以凑成 4的倍数。 总长度字段 表示整个 IP报文的长度 (既包括报文头又包括
数据部分 ),它以字节为单位。总长度字段占用 16位,所以 IP数据报最长可达 64K字节。
服务类型 (Type of Service)和优先级, IP报文头中的服务类型字段规定了对于本数据报的处理
方式。该字段总共为 1个字节,被分为 5个子域。其结构如下图 6-6:
其中优先权 (共 3比特 )指示本报文的重要程度,其取值范围为 0到 7。 用 0表示一般优先级,而 7表
示网络控制优先级,即值越大,表示优先级越高 。它提供了一种区分不同 IP数据报的手段,例如,
让重要的网络控制信息比一般 IP数据报具有更高的优先级。
D,T,R三位表示本数据报所希望的传输类型。 D是延迟 (delay)的缩写,T是吞吐率 (throughput)
的缩写,而 R表示可靠性 (reliability)。 若上述三个标志位被置为 1,分别表示要求低延迟、高吞吐
率或高可靠性等。例如,当前的会话为文件传输,如果这三个比特位的设置为 001,则表示在传输过
程中需要高可靠性,而对延迟或吞吐率不做要求。
当然,互连网并不能保证一定满足上述传输要求,而是把这种 要求作为路由选择时的一个提示,
途经的路由器可以把它们当作选径时的参考。 假如路由器知道去往目的地网络有多条路径,则路由
器可以根据这三个标志位的设置情况来选择一条最合适的路由。
这三个标志位中只能有一个被设置为 1(表明最关心那方面的性能 ),否则路由器将无法正确地进
行处理。
优先权 D T R 保留
0 2 3 654 7
图 6 - 6 服务类型
数据报的分段和重组,IP数据报要放在物理帧中再进行传输,这一过程叫做封装
(encapsulation)。一般来说在传输的过程中要跨越若干个不同的物理网络,所容许的最大帧长度
不同。 IP协议需要一种分段机制,把一个大的 IP报文,分成若干个小的分段进行传输,最后到达目
的地处再重新组合还原成原来的样子。
分段 (fragment),可以在任何必要的中间路由器上进行,而重组仅在目的主机处进行 。在 IP
包头中,共有三个字段用来实现对数据报的分段和重组:标识符 (identification)、标志域 (flag)
和分段偏移值 (fragment offset)。
标识符,是一个无符号整型值,它是 IP协议赋予 报文的标识,属于 同一个报文的分段具有相
同的标识符 。 标识符的分配绝不能重复,IP协议每发送一个 IP报文,则要把该标识符的值加 1,作
为下个报文的标识符。
报文标志域, 为三个比特,但只有低两位比特有效。每个比特的意义如下:
比特 0 (MF位 ),最终分段标志 (More Fragments)
比特 1 (DF位 ),禁止分段标志 (Don’t Fragment)
比特 2,未用
当 DF位被置为 1,则该报文不能被分段 。假如此时 IP数据报的长度大于网络的 MTU值,则根据
IP协议把该报文丢弃,同时向源端返回出错信息。
MF标志位置为 0时,说明该分段是原报文的最后一个分段 。
分段偏移值,指出本分段的第 1个字节在初始的 IP报文中的偏移值,该偏移量以 8字节为单位 。
数据报生存时间 (TTL,Time to live),IP协议中提出了的生存时间 TTL(Time To Live)的控
制,它限制了一个报文在 网络中的存活时间 。报文头的生存时间被初始化设置为最大值 255。 在报
文每经过一个路由器时,其 TTL值减 1,直到它的值减为 0时,则丢弃该报文 。这样,即使在网络中
出现循环路由,循环转发的 IP报文也会在有限的时间内被丢弃。
协议类型 (Protocol),协议类型字段的内容指出 IP报文中数据部分是属于哪一种协议 (高层协
议 )的,接收端则根据该协议类型字段的值来确定应该把 IP报文中的数据交给哪个上层协议去处理。
常见的上层协议包括 TCP,UDP,ICMP,IGMP等 。其对应的协议类型分别为 6,17,1,2。有关的其
他协议及其对应的编号请参见 RFC1700。
头校验和 (Header Checksum),头校验和字段用于保证头部数据的正确性。
源和目的地址 (Source/Destination IP Address),源端地址和目的地址,分别表示该报文的发
送者及接收者。
IP报文选项 (Options),IP选项主要用于额外的控制和测试,在 IP报头中可以包括多个选项。每
个选项第 1个字节为标识符,标识该选项的类型。如果该选项的值是变长的,则紧接在其后的 1个字节
给出其长度,之后才是该选项的值。在 IP协议中可以有如下表 6-2中所示的一些 IP选项类型:
表 6-2 IP报文头中的可选项
安全选项 (Security) 表示该 IP数据报的保密级别
严格源选径 (Strict Source Routing) 给出完整的路径表
松散源选径 (Loose Source Routing) 给出该报文在传输过程中必须要
经历的路由器的地址
路由记录 (Record Route) 让途经的每个路由器在 IP报文中记录其 IP地址
时间戳 (Timestamp) 让途经的每个路由器在 IP报文中记录其 IP地址
及时间值
3,IP数据报的封装、分段与重组
IP报文要交给数据链路层,封装成帧之后才能发送。理想情况,IP报文正好放在一个物理帧中,这
样可以使得网络传输的效率最高。 而实际的物理网络所支持的最大帧长各不相同。 例如,以太网帧中最多
可以容纳 1500字节,而一个 FDDI帧中可以容纳 4470字节的数据。我们把这个上限称为物理网络的最大传输
单元 MTU(Maximum Transfer Unit)。 有些网络的 MTU非常小,其值可能只有 128个字节。
为能把一个 IP报文放在不同的物理帧中,最大 IP报文的长度就只能等于这条路径上所有物理网络的
MTU的最小值 。当数据报通过一个可以传输长度更大的帧的网络时,把数据报的大小限制在互连网上最小
的 MTU之下不经济;如果数据报的长度超过互连网中最小的 MTU值的话,则当该数据报在穿越该子网时,就
无法被封装在一个帧中。
IP协议在发送 IP报文时,一般选择一个合适的初始长度 。 如果这个报文要经历的中间物理网络的 MTU
值比 IP报文长度要小,则 IP协议把这个报文的数据部分分割成若干个较小的数据片,组成较小的报文,然
后放到物理帧中去发送。 每个小的报文称为一个分段 (fragmentation)。 分段的动作一般在路由器上进行 。
如果路由器从某个网络接口收到了一个 IP报文,要向另外一个网络转发,而该网络的 MTU比 IP报文长度要
小,那么就要把该 IP报文分成多个小 IP分段后再分别发送。
B
M T U = 1 5 0 0 M T U = 1 5 0 0
I P 报文头 数据( 1 4 0 0 B )
分段1 的头
( 偏移为0 )
数据片1
( 6 0 0 B )
分段2 的头
( 偏移为6 0 0 )
数据片2
( 6 0 0 B )
分段3 的头
( 偏移为1 2 0 0 )
数据片3
( 2 0 0 B )
( b ) 原始I P 报文
分段1
( a ) 多个拥有不同M T U 值的网络
分段2
分段3
图 6 - 1 1 I P 数据包的分段和重组
A
0 2 0 B
R1 R2
网络1 网络2网络3
M T U = 6 2 0
图 6-11给出了一个对 IP报文进行分段的网络环境示例。
在图 6-11(a)中,两个以太网通过一个远程网互联起来。以太网的 MTU都是
1500,但是中间的远程网络的 MTU为 620个字节。如果主机 A现在发送给 B一个长度
超过 620字节的 IP报文,首先在经过路由器 R1时,就必须把该报文分成多个分段。
在进行分段时,每个数据片的长度依照物理网络的 MTU而确定 。由于 IP报文头
中的偏移字段的值实际上是以 8字节为单位,所以要求每个分段的长度必须为 8的
整数倍 (最后一个分段除外,它可能比前面的几个分段的长度都小,它的长度可能
为任意值 )。
图 6-11(b)是一个包含有 1400字节数据的 IP报文,在经过图 6-11(a)所示网络
环境中路由器 R1后,该报文的分段情况。
从图中可以看出,每个分段都包括各自的 IP报文头。而且该报文头和原来的
IP报文头非常相似,除了 MF标志位、分段偏移、校验和,等几个字段外,其它内
容完全一样。
重组 (Reasembly)是分段的逆过程,把若干个 IP分段重新组合后还原成原来的
IP报文 。
在目的端收到一个 IP报文时,可以根据其分段偏移和 MF标志位来判断它是否
一个分段。 如果 MF位是 0,并且分段偏移为 0,则表明这是一个完整的 IP数据报。
否则,如果分段偏移不为 0,或者 MF标志位为 1,则表明它是一个分段。这时目的
地端需要实行分段重组 。 IP协议根据 IP报文头中的标识符字段的值来确定哪些分
段属于同一个原始报文,根据分段偏移来确定分段在原始报文中的位置。 如果一
个 IP数据报的所有分段都正确地到达目的地,则把它重新组织成一个完整的报文
后交给上层协议去处理 。
5.6.2 IP数据报文的转发过程
一个 IP数据报从源端发送到目的地的途中, 一般要经历若干个路由器, 而路由器存储转发 IP数据
报, 为每个 IP报文寻找最优路径 。 以图 6-7的网络实例来进行说明 。
路由器 R1收到主机 A发送给主机 C的 IP数据报 。 R1的链路层根据帧中的以太网类型确定帧中的数据
是 IP报文, 于是交给 IP协议处理 。 IP协议首先要检验 IP报文头中的各个域的正确性, 包括版本号,
校验和以及长度等 。 如果发现错误, 则丢弃该数据报;如果全部正确, 则把 TTL域的值减 1。
TTL的值为 0,数据报到期, 应该丢弃; TTL大于 0,根据 IP数据包中目的地址查询 R1中的路由表;
找到合适的路由, 把该数据报向下一站转发 ( 需要知道下一站的 MAC地址, 进行帧封装 ) ;没有合适
的路由, 则丢弃该数据报 。
报文 经过路由器 时, 由于路由器修改了 IP头中的 TTL域, 所以还需要重新计算 IP头中的校验和 。
如果 IP报文头带有 IP选项 (option),则 还要 根据选项的内容 进行处理 。 在处理的过程中, 凡是出现
错误, 路径不通等情况, IP协议都要向报文的源端发送一个 ICMP差错报文, 报告不能转发及其原因 。
图 6-7 一个网络互连的例子
A
B
162.105.1.5
255.255.255.0
162.105.1.10
255.255.255.0
162.105.1.1
255.255.255.0
以太网 1
162.105.1.2
255.255.255.0
以太网 3
162.105.4.1
255.255.255.0
E 162.105.4.5255.255.255.0
C
D
162.105.10.1
255.255.255.0
以太网 2
DDN
162.105.3.1
255.255.255.0
162.105.3.2
255.255.255.0
R1
R2
R3
网 4
40.0.0.0
目的主机所在网络 下一站路由器的地址
20.0.0.0 直接交付
30.0.0.0 直接交付
10.0.0.0 20.0.0.7
40.0.0.0 30.0.0.1
网 1
10.0.0.0
10.0.0.4 20.0.0.7
网 2
20.0.0.0
20.0.0.9 30.0.0.2 30.0.0.1 40.0.0.0
网 3
30.0.0.0
R1 R2 R3
网 1
10.0.00
10.0.0.4 20.0.0.7 20.0.0.9 30.0.0.2 30.0.0.1 40.0.0.0
R1 R2 R3
IP数据报文的转发(表驱动)
默认路由
目的主机所在网络 下一站路由器的地址
20.0.0.0 直接交付
30.0.0.0 直接交付
10.0.0.0 20.0.0.7
40.0.0.0 30.0.0.1
Default 50.0.0.8
I P 协议要检验I P 头中的:
版本号、校验和、最大
长度限制,等是否正确。
路由器收到一个I P 数据包
( 例:主机A - > 主机C )
数据链路层判断出f r a m e 中封装的是
I P 数据报文
T T L 值减1,
T T L > 0?
查找与目的地相匹配的路由表项
找到路由项了吗?
查找本地A R P 表中N e x t - h o p 的M A C
找到M A C 地址了吗?
利用M A C 地址封装I P 数据包
发送封装后的f r a m e
发送I C M P 错误报文,丢
弃该I P 数据包
结束
发送A R P 请求
接收到A R P 响应后,把
M A C 地址记入A R P 表
Y
N
Y
N
Y
N
N
Y
图 6 - 8 路由器接收到一个I P 数据报后的处理过程
Internet的地址扩展技术
对 IP地址的占用:
? A:50% B:25% C:12.5%
(数量太少 ) (较合适 ) (规模太小 )
“三只熊, 问题
Internet的地址扩展 ——子网编址技术
如何减少网络号的分配?
? 多个物理网络共享一个网络地址
子网编址
? 思想:从 HostID部分借位,用于网络部分
? 新问题:如何指示网络部分?
?子网掩码
HostIDNetIDIP地址
HostIDSubnetIDNetIDIP地址
00…… 011………………………… 1子网掩码
子网编址举例
分到一个 C类地址 202.196.103.0,要组建 6个物理网络,
每个网络中不超过 30台主机
? RFC 950规定,全 0和全 1不能用作子网号(此限制在更新的
RFC 1812中已被废除)
子网 ID长度 子网掩码 子网数 每物理网络主机数
2 255.255.255.192 2 62
3 255.255.255.224 6 30
4 255.255.255.240 14 14
5 255.255.255.248 30 6
6 255.255.255.252 62 2
子网编址举例( RFC 1812)
子网 ID长度 子网掩码 子网数 每物理网络主机数
1 255.255.255.128 2 126
2 255.255.255.192 4 62
3 255.255.255.224 8 30
4 255.255.255.240 16 14
5 255.255.255.248 32 6
6 255.255.255.252 64 2
Internet的地址扩展 ——超网编址 (CIDR)
思考:一个单位网络较大,但申请不到 B类网络号;申请到了几个 C
类网络号(如 202.196.96.0~202.196.103.0),怎么办?
问题:路由表膨胀
地址范围,202.196.96.0~202.196.103.255
11001010 11000100 01100000 00000000
11001010 11000100 01100111 11111111
相同
解决:子网编址的逆向思考
? 从网络 ID中借位用作主机 ID
表示,202.196.96.0
Mask:255.255.224.0(11111111 11111111 11100000 00000000)
? 或 202.196.96.0/21
使用超网编址,就可将几个(一般为 2的 n次方)网络作为一个 地址
块 分配给某单位,而在路由表中这个地址块的几个表项可压缩为一个
表项
超网编址 (CIDR)
使用超网编址 (supernet addressing)技术,
IP地址的, 类, 的分别就不再重要,所以
该技术也叫做 CIDR(Classless
InterDomain Routing),无类别域间路由。
5.6.3 IP路由表
1,路由表的构成
在 同一个子网 上,使用 IP协议通信时,利用 ARP协议得到对方的 MAC地址, 然后利用 MAC地址把要传
输的 IP数据报进行封装, 交给数据链路层去发送 。 主机在 不同的子网上, 则数据报必须经过路由器的
转发 。 要选择路径, 确定应该向哪一个下一站 (next hop)系统发送 。
上述工作都是根据一个数据结构 -- IP路由表 (routing table)的内容来完成 。 主机和路由器都
维护着各自的路由表, 表的格式大体上是相同的 。
在每个路由表中, 至少有如下几项:目的地址, 掩码, 下一跳 以及接口名称 。 目的地址和掩码是
整个表的关键字, 唯一地确定到某目的地的路由 。 下一跳表示下站 (next hop)路由器的地址, 而接口
名字则指出应该向本机的哪个网络接口进行转发 。
在路由表中每个表项还有两个标志值得说明,标志 H表示该路由是主机 (Host)路由, 即该路由项指
明到一台具体的主机的路由, G则表示网关域中的地址是个有效的路由器 (Gateway)的地址 。
图 6-9所示的路由表给出了四条路由信息 。
第一条是到 127.0.0.0子网的路由 。 前面说过, 类似 127.*.*.*这样的 IP地址为回送地址 。 所以网
接口上发送的数据实际上都要交给本主机去处理 。 如果数据报的目的地址为 127.0.0.1,则和该路由
项匹配, IP协议因而把它交给虚拟的回送接口 (loopback,用 lo0表示 )去处理 。
Next HopMask TagDestination Metric Interface
0.0.0.0255.0.0.0 UH127.0.0.0 0 lo0
0.0.0.0255.255.255.0 U162.105.1.0 0 eth0
162.105.1.2255.255.255.0 UG162.105.4.0 3 eth0
162.105.1.10.0.0.0 UG0.0.0.0 5 eth0
第二条路由项的目的子网实际上是和该主机直接相连的子网地址。目的地址为该子网的子网
号,而掩码为该网络接口上的掩码。 由于没有设置标志位 G,表示网关域并不是一台真正的路由器
地址。此时数据报应该往以太网接口 (第一块以太网网卡用 eth0表示 )上发送,而下一跳 (next hop)
地址应该是 IP数据报中的目的主机的地址。
第三条路由项是到以太网 3的路由。路由项中的 G标志位有效,表示到达该网络应该经过路由
器 162.105.1.2。
第四条路由项的目的地址和掩码全为 0,表示和任何目的地址都可以匹配。这样的路由称为缺
省路由 (default route),表示如果目的地址和路由项中的所有其他项都不能匹配,则最后使用该
项作为其路由。这条路由设置了标志位 G,所以路由项中的网关域是有效的路由器地址,作为下一
跳路由器的地址,并且应该通过 eth0接口访问该路由器。
2,路由表的搜索
那么,如何确定一条路由是否符合要求呢?方法很简单,即把 IP报文中的目的地址跟路由表
的每一项中的掩码做与运算,看其结果是否与相应的路由项中的目的子网地址相等。
在查找路由表时,要求使用最佳匹配原则。因为在路由表中每条路由的掩码长度不一样,如果
有多条成功匹配的路由项,则选择掩码最长的项所对应的路由。 实际上,路由器一般都是按照掩码
的长度从长到短排序。这样,在查找路由表的时候,自然就从掩码最长的路由开始进行搜索。 缺省
路由的掩码长度为 0,所以它应该是整个路由表的最后一项。
路由表的查找过程如图 6-10所示。
Next HopMask TagDestination Metric Interface
0.0.0.0255.0.0.0 UH127.0.0.0 0 lo0
0.0.0.0255.255.255.0 U162.105.1.0 0 eth0
162.105.1.2255.255.255.0 UG162.105.4.0 3 eth0
162.105.1.10.0.0.0 UG0.0.0.0 5 eth0
目的地地址& 掩码
= = 目的子网?
已知I P 数据包,
对路由表中的每一项:
路由标识位是G?
N e x t H o p = 网关
Y
Y
N e x t H o p =
I P 数据包中的目
的地址
封装成帧后,交给相应
的“接口名”所指的接
口去处理
N
路由表结束了吗?
Y
N
路由失败
N
图 6 - 1 0 路由表的查找过程
5.7 ICMP和 IGMP
5.7.1 ICMP简介
IP协议所提供的是无连接数据报的发送 。 IP协议自身可以进行差错恢复, 但是还
要有 ICMP协议的配合 。
ICMP(Internet Control Message Protocol)是一个差错报告协议 。 它能检查出
并报告一些基本的差错, 在一定程度上给出出错原因, 还可以让一个路由器向其它路
由器或主机发送差错或控制报文, ICMP在两台机器上的 Internet协议软件之间提供了
一种通信方式 。
ICMP协议最早是被用来进行差错报告的 。 在前面介绍 IP协议时我们已看到如何 IP
数据包的错误检测 。 如:每个 IP数据包的头部都有一个校验和 (checksum)字段, 它负
责对整个 IP报文头进行检验 。
另外, 由于 IP数据包在每次转发时, 根据规定其报文头中的 TTL字段值要减 1,导
致了整个报文头的校验和的改变 。 因此, 路由器在每次转发一个 IP报文之前都要重新
计算一个新的校验和 。
在 ICMP协议中分别定义了差错消息及控制消息, 有如下几种:
(1) 源抑制 (Source Quench):
当大量的数据涌入一台路由器的某个端口而来不及处理 。 此时大量的数据报处于
发送等待队列中, 占用大量的缓冲区, 而导致缓冲区溢出, 这就是所谓的拥塞
(congestion)情形 。
IP协议采用源抑制 (source quench)机制来 控制源端发送数据的速率, 以此来缓
解网络的拥塞状况
(2) 数据包超时 (Time Exceeded)
路由表发生错误,就会出现循环路由,数据包不休止传输
(3) 目的地不可达 (Destination Unreachable)
路由器应向源端发送目的地不可达报文,同时抛弃该 IP报文。
(4) 重定向 (Redirect)
路由选择主要由路由器来承担。 主机在工作过程中,依赖于路由器的信息来更新自己的路由
表 。路由器会发一个重新定向数据包,告诉主机它去往目的地的最优路径。这样,主机便得到一个
最优的路由表。不过,重新定向数据包仅限于同一个网上的路由器和主机间的交互。
除上之外,ICMP还定义了一些控制消息类型。如回送请求 /应答 (echo request/reply)消息。
常用命令 ping就是典型的使用 ICMP请求 /应答报文来实现对网络进行测试的工具 。
6.7.2 ICMP报文的传输
当路由器有一个 ICMP消息需要发送时,它创建一个 IP数据包,把该 ICMP消息封装在 IP数据包中
再进行传输。如图 6-12所示,
ICMP数据包也分为头部和数据两部分。尽管每个 ICMP报文都有自己的格式,但它
们都以相同的三个字段开始,如图 6-13所示。
其中,类型 (type)占一个字节,用来标识报文的信息类型。 代码 (code)也是占一
个字节,提供有关报文类型的进一步信息。 校验和 (checksum)共占两个字节,提供对
整个 ICMP报文的校验和 (与 IP报文头的校验和产生方法相同 )。
I C M P 头 I C M P 数据体
图 6 - 1 2 I C M P 报文的封装
I P 报文头 I P 数据区
帧头 帧数据区
类型 代码
校验和
数据区( 变长)
0 7 8 15
图 6 - 1 3 I C M P 报文格式
路由选择算法
路由选择算法分为两大类:
? 非自适应算法( nonadaptive algorithm)
?eg,Dijikstra算法、扩散法
? 自适应算法( adaptive algorithm)
?eg,距离矢量路由选择、链路状态路由选择
最优化原则:
如果路由器 J在从路由器 I到路由器 K的最佳路
由上,那么 J到 K的最佳线路肯定在同一路由中
这样,从所有其它点到目的端的最佳路由集合,就形成了一目的
地为根的树( 汇集树 ),如图所示。应当指出,汇集树并不唯一,
其它具有相同的路由尺度的树也有可能存在
最短路由选择( Dijikstra算法)
永久域 临时域
A(0,-) B(∞,-),C(∞,-),D(∞,-),E(∞,-),F(∞,-),G(∞,-),H(∞,-)
A(0,-) B(2,A),C(∞,-),D(∞,-),E(∞,-),F(∞,-),G(6,A),H(∞,-)
A(0,-),B(2,A) C(9,B),D(∞,-),E(4,B),F(∞,-),G(6,A),H(∞,-)
A(0,-),B(2,A),E(4,B) C(9,B),D(∞,-),F(6,E),G(5,E),H(∞,-)
A(0,-),B(2,A),E(4,B),G(5,E) C(9,B),D(∞,-),F(6,E),H(9,G)
A(0,-),B(2,A),E(4,B),G(5,E),F(6,E) C(9,B),D(∞,-),H(8,F)
A(0,-),B(2,A),E(4,B),G(5,E),F(6,E),H(8,F) C(9,B),D(10,H)
A(0,-),B(2,A),E(4,B),G(5,E),F(6,E),H(8,F),C(9,B) D(10,H)
A(0,-),B(2,A),E(4,B),G(5,E),F(6,E),H(8,F),C(9,B),(10,H)
迪杰特斯拉 (Dijikstra)算法 (2)
扩散法
这种算法将受到的每一个分组,从除了分组到来的线路外的所有输出线
路上发出。显然扩散要产生大量的重复分组,事实上有可能是无穷多个
分组。所以要采用一些抑制措施:
? 一种措施是让每个分组头包含站点计数器,每经过一个站点,计数器减 1,当计数器值
为 0时,就丢弃分组。理想的情况是计数器设置初值为从源端到目的端的路径长度。如
果发送者不知道路径的长度,可以按最糟糕的情况来设置初值。
? 另一种方法是记录下分组扩散的路径,防止它第二次在扩散到一扩散的路径中。达到这
一目的的一种方法是让源端路由器在所接收的来自主机的每一个分组中设置一个序号,
每个路由器中维护一张表,用来指明已见到的是源端生成的哪个序号。如果收到的分组
已经在表中,则不再扩散。为了防止表无限制的增长,每个表应该加一个计数器 k作为参
数,表示直到 k的序号都已见过了。
扩散法一个稍为实际一些的变种是选择性扩散法。在这种算法中,路由
器并不将每一个进来的分组向每一条输出线路上发出,而仅仅发送到与
正确方向接近的那些线路上。不太可能将一个应该向西传送的分组传送
到向东的线路上,除非拓扑结构极为奇特。
扩散法在实际应用中极少采用。但在一些特殊场合还是有用的:
? 军事应用
? 分布式数据库
? 衡量其它路由选择算法
距离矢量路由选择
该算法让每个路由器维护一张表(即矢量),表中给出了到每个目的地
已知的最佳距离和路线。通过与相邻路由器交换信息来更新表的信息。
在本算法中,每个路由器维护一张子网中每一个以其它路由器为索引的
表。表中的每一项对应于子网中的每一个路由器。此表包括两个部分:
希望使用的到目的地的输出线路和估计到达目的地所需时间或距离。所
用度量值可以为站点数,估计的时间延迟,该路由排队的分组估计总数
或类似的值。
假定路由器知道它到每个相邻路由器的, 距离, 。如果度量标准为站点,
其距离就是一个站点;如果度量标准时队列长度,则路由器会简单的检
查每个队列;如果度量标准是延迟,路由器可以直接发送一个特别, 响
应, ( ECHO)分组来测出延迟,接收者只对它加上时间标记后就尽快送
回。
一个例子:假定用延迟来作为度量标准。且路由器知道其到相邻路由器
的延迟。每隔 T ms路由器将它估计到的到各目的地的延迟清单送给每个
相邻节点,它也从各相邻节点收到一分类似的清单。假定从相邻节点 X刚
收到这样一张表,其中用 Xi表示 X估计的由它到路由器 i的延迟,如果路由
器知道它到 X的延迟为 m ms 它也就知道了它经由 X到路由器 i的所需时间
为 Xi+m ms。通过对每个相邻路由器进行计算,此路由器就可以找出哪
一个线路最好,并在它的新路由表中使用该线路。
注意,在计算时不使用旧的路由选择表。
距离矢量路由选择 ( 2)
链路状态路由选择
使用链路状态路由选择,每个路由器必
须:
1,发现它的邻居节点
2,测量到它各邻居节点的延迟或开销
3,组装一个分组以告知他刚知道的所有信息
4,将这个分组发送给其它所有路由器
5,计算到每个路由器的最短路径。
发现邻居节点
E
测量线路开销
延时测量中是否引入流量因素?
如果要考虑流量因素,往返时间应该从 ECHO分组进入队列时开始计时;如果忽略流量,
往返时间应该从 ECHO分组到达队列第一位时开始计时
在延时测量中引入流量因素意味着当一个路由器在两条具有相同带宽的线路间进行选择
时,如果一条线路总是很繁忙,而另一条线路相比要好得多。那么后者将被认为是一条更短
的路径。这种选择能导致良好的性能
但在延时测量中引入流量因素也有问题:线路载荷震荡。
组装链路状态分组
一旦用于交换的信息收集起来,下一步就是构造包含
所有数据的分组。该分组以发送者的标志符开头,紧跟着
是顺序号和年龄,后面是一个邻居节点列表,对应于每个
邻居节点,都给出了到他们的延迟。
发布链路状态分组
发布链路状态分组 ( 2)
发布链路状态分组 ( 3)
计算新路由
一旦一个路由器积累了一整套的链路状
态分组,它就可以用 Dijikstra算法重新计
算它的路由表,以决定到每个节点的分
组分别应从哪条线路发出。
分级路由选择
分级路由选择 ( 2)
网管程序的应用
网管程序的应用(续)