第1页:第4章网络层章节封面
- 本章主要讨论问题:
- 网络互连及相关协议,重点讨论网际协议IP。
- 对TCP/IP协议族介绍,深入理解目前使用广泛的Internet是如何工作的。
- 目前较流行的多种网络互连方案及模式
- 介绍了Internet的路由策略及路由选择协议。
第2页:网络层中的服务模式
- 网络层的任务:在源节点和目的节点之间传输数据包
- 面向连接的服务:虚电路服务
- 源主机先发送一个通信连接请求(虚呼叫),寻找一系列路由器构成一条通往目的主机的最优路径;目的主机返回同意消息,然后在源与目的主机之间建立一条连接通路,也就是虚电路;
- 在这条通路上进行数据的传输与通信;
- 通信完毕而释放虚电路。
第3页:网络层中的服务模式
- 虚电路是逻辑电路,一条物理线路可以建立几条逻辑电路,它们断断续续共同使用物理线路。
- 虚电路服务适合大数据量的传输,一批发送的n个数据包,每个只要携带较短的标记路径的编号,不用携带较长的目的地址。
- 由于只有一个通道,目的主机接收数据包的顺序与源主机的发送顺序一致。
- 如果有一个数据包发生错误,包括该包在内的所有后续数据包要重新发送。
第4页:网络层中的服务模式
- 无连接的服务:数据报服务主机发送的一批数据包,每一个都携带目的地址,由交换节点(路由器)根据该地址决定每个路段的传输路径
- 数据报服务适合小数据量的通信
第5页:网络层中的服务模式
- 后发的数据包可能先到,即目的主机接收数据包的顺序与源主机的发送顺序不一致(错序)。
- 只有错误的数据包需要重发。
- 源主机实行超时重传,对同一个数据包,目的主机可能接收多次(重复)。
- 错序和重复等传输错误要由目的主机来纠正。
第6页:因特网网络层服务模式为数据报服务(1)
- 因特网网络层服务模式为数据报服务
- 因特网网络层传递的数据单元是数据包(数据分组,IP包);
- 每个数据包都带有完整的源、目的IP地址;
- 交换节点(路由器)采用存储-转发方式传递数据包,即先从上一个节点接受数据包,存储起来,加入排队序列,等待处理;然后根据数据包的目的IP地址,通过路由算法,选择一条通向目的计算机的、当前最好的下一个节点将数据包转发过去;
第7页:因特网网络层服务模式为数据报服务(4)
- 因特网网络层服务模式为数据报服务
- 每个数据包都由一系列交换节点独立地完成从源计算机到目的计算机的数据传输过程,这意味着从同一源计算机出发、到同一目的计算机的各个数据包走的路径可能不一样,因而到达目的计算机的顺序和离开源计算机的顺序不一样(错序)。
- 网络层不负责错序数据包的重新排序,对数据包首部进行检查,如果有错,整个数据包被扔掉(丢失),对于被扔掉的数据包,因此网络层数据包服务是不可靠传输。
- 源主机采用超时重传方式避免丢失数据包的损失,这又会造成重复错误。
- 因特网网络层传输会造成错序、丢失、重复错误。
第8页:网络互连协议
- IP是互连网络协议的简称,它具有良好的网络互连功能。
- IP协议是TCP/IP协议体系中最重要的两个协议之一,它与地址解析协议、逆向地址解析协议和差错控制报文协议等共同规范网络层的数据交换格式和过程。
- 通过IP协议可以将许多计算机网络互连起来。
第9页:网络互连概述(1)
- 什么是网络互连?将不同类型的物理网络连接在一起构成一个统一的网络
- 为什么要进行网络互连?
- 解决网络长度的物理限制
- 实现更广泛的资源共享
- 实现不同网络之间的连接
- 提高网络的效率和管理的方便性
- 不同类型网络如何能够连接?通过采用相同的协议,使相连的物理网络某个层次数据格式相同,以实现不同物理网络之间对彼此的数据互相识别。
第10页:网络互连概述(2)
- 网络互连要解决的问题是什么?不同类型的网络可能有很多差异:提供的服务,应用的协议,寻址方式,分组大小,出错处理、流量控制、拥塞控制等方式等等网络互连要解决的问题就是由互连设备在网络接口处消除这些差异的影响,使各个网络能够按照自己的方式正常运行
- 目前,网络互联最普遍、规模最大、影响最大的是互联网(Internet)。
- 互联网对联入网络的最基本要求是网络运行采用TCP/IP协议,即在网络层、传输层处理方式相同。
第11页:网络互连层次
- 物理层互连
- 要求两个网络使用的设备兼容,控制、数据信号相同
- 数据链路层互连
- 要求两个网络使用的帧格式相同
- 网络层互连
- 要求两个网络使用的数据包格式相同,使用的协议相同
- 高层互连
- 两个完全不同的网络,主要是使用的协议不同应用层表示层会话层传输层网络层数据链路层物理层应用层表示层会话层传输层网络层数据链路层物理层中继器网桥路由器网关传输介质
第12页:网络互连设备(1)
- 物理层互连设备通常称为转发器(Repeater),主要以比特的形式转发数据包。将数据包以比特的形式从一种介质转换到另一种介质或从一段介质转换到相同的另一段介质。物理层的互连设备主要有中继器和集线器。
- 数据链路层互连设备通常称为桥接器。数据链路层的桥接设备以数据帧为单位进行数据转发。它可以将从一条链路上收到的数据帧,经检查链路层协议的帧头后传送到另一条链路上。数据链路层上实现互连的设备主要有网桥和交换机。
第13页:网络互连设备(2)
- 网络层互连设备通常称为路由器。网络层互连主要解决路由选择、拥塞控制、差错处理和分段等技术问题。
- 高层互连设备在网络层以上各层间进行的互连一般统称为高层互连,实现高层互连的设备统称为网关和应用网关。网关的主要作用是协议翻译。
- 互连起来的网络可以看成一个整体,称为虚拟互连网络,即逻辑上可以彼此异构,但从网络层来看好象是一个整体。计算机通过这个网连接起来。
第14页:互连网络与虚拟互连网络互连网
2.互连网络与虚拟互连网络网络网络网络网络网络互连网络虚拟互连网络路由器虚拟互连网络(互联网)
第15页:互连网络与虚拟互连网络
2.互连网络与虚拟互连网络网络网络网络网络网络(a)互连网络(b)虚拟互连网络路由器虚拟互连网络(互联网)
第16页:IP地址
- IP地址是为每个网络连接(网卡)分配一个在全世界范围内惟一的标识。
- 报文头中的源IP地址、宿IP地址分别表示源主机、目的主机的IP逻辑地址。
- IP地址长度为32比特,由网络号、主机号组成,为了方便记忆,将32比特分成四个字节、每个字节用一个十进制数表示,十进制数之间用圆点分割,它是IP地址的十进制表示。如172. 16. 122. 204网络号主机号32位8位1728位168位1228位204...以“.”间隔十进制表示
第17页:IP地址的分类(1)
按32位IP地址基本格式的第一个字节的前几位将IP地址分为A、B、C、D和E五类地址。
第18页:IP地址的分类(2)
- A、B、C类地址为单目传送(Unicast)地址,而D类地址为组播(Multicast)地址,E类地址为保留地址,以备特殊用途。保留地址网络能包含最大主机数网络位/主机位地址范围最高位目标格式IP地址类
- x.x.x127.x.x.x167772147/241.0.0.1~126.255.255.2540较大组织N,H,H,HA128.
- x.x191.255.0.06553414/16128.1.0.1~191.254.255.2541,0中型组织N,N,H,HB192.0.0.0223.255.255.025421/8192.0.0.1~223.255.254.2541,1,0相对小的组织N,N,N,HCN/AN/A224.0.0.0~239.255.255.2551,1,1,0多广播组N/ADN/AN/A240.0.0.0~255.255.255.2541,1,1,1高级N/AE
第19页:特殊的IP地址
- 广播地址
- 主机地址部分全为“1”的地址是广播地址,将向指定网络的所有主机发数据。
- IP地址全为“1”的地址(255.255.255.255)是有限广播地址,将向本网络的所有主机发数据。
- “零”地址
- 主机号为“0”的IP地址表示该网络本身,是一个网络号。
- 网络号为“0”的IP地址表示本网络上的某台主机。
- “0.0.0.0”代表本主机自己。
- 回送地址任何一个以数字127开头的IP地址。当任何程序用回送地址作为目的地址时,计算机上的协议软件不会把该数据报向网络上发送,而是把数据直接返回给本主机。
第20页:地址空间保留地址IP地址10进制表示A类
- 地址空间保留地址IP地址10进制表示A类IP地址空间(231)
- x.x.x(不可用)00000000,xxxxxxxx,xxxxxxxx,xxxxxxxx1.0.0.0(不可用)00000001,00000000,00000000,000000001.0.0.1(可用)00000001,00000000,00000000,000000011.0.0.2~126.255.255.253(主机号全0全1者不可用)………………126.255.255.254(可用)01111110,11111111,11111111,11111110126.255.255.255(不可用)01111110,11111111,11111111,11111111127.x.x.x(不可用)01111111,xxxxxxxx,xxxxxxxx,xxxxxxxx
第21页:地址空间保留地址IP地址10进制表示B类
- 地址空间保留地址IP地址10进制表示B类IP地址空间(230)128.
- x.x(不可用)10000000,00000000,xxxxxxxx,xxxxxxxx128.1.0.0(不可用)10000000,00000001,00000000,00000000128.1.0.1(可用)10000000,00000001,00000000,00000001128.1.0.2~191.254.255.253(主机号全0全1者不可用)………………191.254.255.254(可用)10111110,11111111,11111111,11111110191.254.255.255(不可用)10111111,11111110,11111111,11111111191.255.x.x(不可用)10111111,11111111,xxxxxxxx,xxxxxxxx
第22页:地址空间保留地址IP地址10进制表示C类
- 地址空间保留地址IP地址10进制表示C类IP地址空间(229)192.0.
- x(不可用)11000000,00000000,00000000,xxxxxxxx192.0.1.0(不可用)11000000,00000000,00000001,00000000192.0.1.1(可用)11000000,00000000,00000001,00000001192.0.1.2~223.255.254.253(主机号全0全1者不可用)………………223.255.254.254(可用)11011111,11111111,11111110,11111110223.255.254.255(不可用)11011111,11111111,11111110,11111111223.255.255.x(不可用)11011111,11111111,11111111,xxxxxxxx
第23页:子网和掩码
- 在一个网络内部,将本网络划分成若干小规模的网络,称为子网络(或子网)。
- 子网络效率更高,更好管理。
- 子网是通过对主机号空间进行划分实现的主机号网络号经典地址格式划分子网地址格式主机号子网号网络号
- 子网掩码:掩码与IP地址对应,有32位数字。掩码的位取值1或0。通过掩码可以把IP地址中的主机号再分为两部分:子网号和主机号。
- 掩码中为1的位相对应的部分为子网号,为0的位则表示的是主机号。
- 接口的IP地址和接口上的掩码相“与”运算,得到该接口所在网络的子网地址,而把地址和掩码的反码进行“与”运算,即可得到主机地址。11111…...1111111000000子网掩码
第24页:IP地址的分配方法
- IP地址是由网络管理机构提供给用户的。
- IP地址绑定在网卡上,一个网卡通常有一个接口连接电缆,它是网络的物理接口。
第25页:IP地址绑定
3.IP地址绑定
第26页:IP地址的分配方法
- 一个IP地址表示一个网络连接,是一个网络接口。
- 一台主机可以插入多个网卡,所以可以有多个物理接口;一个网卡可以绑定多个IP地址,所以可以有多个网络接口。
- 一个网站应该有多个服务器,如Web服务器、Ftp服务器、Email服务器和DNS服务器,它们可安装在一台或多台主机,每个服务器需要有独立的IP地址。
第27页:IP报文格式(1)4
- IP报文格式(1)4 4 8 16IP报文头20字节数据报长度服务类别头部长度版本段偏移标志标识头部校验和协议生存时间源IP地址宿IP地址填充项任选项(0/多项)数据(可变长度)…
- 上表所示是IP协议所规定的数据包格式
- 其中,数据项是上层所交付的要传递的数据,最大长度为65535个字节
- 报文头是网络层为传递数据所加的各种控制信息
第28页:IP报文格式(2)
- 版本号
- VERS
- 分组长度(HLEN)
- 报文头部的字数(字长=32bits)
- 生存时间(TTL)
- 规定分组在网上传送的最长时间(秒),防止分组无休止地要求网络搜寻不存在的目的地址;
- 协议(Protocol)
- 发送分组的上层协议号(TCP= 6,UDP=17)校验和(Header Checksum):分组头校验和
- IP选项(IP Options)
- 网络测试、调试、保密及其他
- 数据(Data)
- 上层协议数据
- 业务类型(Type of Service):分组的处理方式
- 总长度(Total Length):分组头部和数据的总长度(字节数)
- 标识(Identification)、标记(Flags)、片偏移(Frag Offset):对分组进行分片,以便允许网上不同MTU时能进行传送
- 源和目IP地址(Source and Destination IP Address):标识网络中端设备的IP地址
第29页:IP报文结构浅析[收集]
- 版本号(Version):长度4比特。标识目前采用的IP协议的版本号。一般的值为0100(IPv4),IPv6的值(0110)
- IP包头长度(Header Length):长度4比特。这个字段的作用是为了描述IP包头的长度,因为在IP包头中有变长的可选部分。IP包头最小长度为20字节,由于变长的可选部分最大长度可能会变成60字节。
- 服务类型(Type of Service):长度8比特。这个子段可以拆分成两个部分:Precedence和TOS。TOS目前不太使用。而Precedence则用于QOS应用。
- IP包总长(Total Length):长度16比特。IP包最大长度65535字节。
第30页:IP报文结构浅析[收集]
- 标识符(Identifier)
- 长度16比特,数据包的编号。该字段和Flags和FragmentOffest字段联合使用,对大的上层数据包进行分段(fragment)操作。
- 标记(Flags)
- 长度3比特。该字段第一位不使用。第二位是DF位,DF位设为1时表明路由器不能对该上层数据包分段。如果一个上层数据包无法在不分段的情况下进行转发,则路由器会丢弃该上层数据包并返回一个错误信息。第三位是MF位,当路由器对一个上层数据包分段,则路由器会在除了最后一个分段的IP包的包头中将MF位设为1。
第31页:IP报文结构浅析[收集]
分段序号(Fragment Offset):长度13比特。该字段对包含分段的上层数据包的IP包赋予序号。由于IP包在网络上传送的时候不一定能按顺序到达,这个字段保证了目标路由器在接受到IP包之后能够还原分段的上层数据包。某个包含分段的上层数据包的IP包在传送时丢失,则整个一系列包含分段的上层数据包的IP包都会被要求重传。
第32页:IP报文结构浅析[收集]
- 生存时间(TTL)
- 长度8比特。当IP包进行传送时,先会对该字段赋予某个特定的值。当IP包经过每一个沿途的路由器的时候,每个沿途的路由器会将IP包的TTL值减少1。如果TTL减少为0,则该IP包会被丢弃。这个字段可以防止由于故障而导致IP包在网络中不停被转发。
- 协议(Protocol)
- 长度8比特。标识了上层所使用的协议(TCP= 6,UDP=17)。
- 头部校验(Header Checksum):长度16位,由于IP包头是变长的,所以提供一个头部校验来保证IP包头中信息的正确性。
第33页:IP报文结构浅析[收集]
- 起源和目标地址(Source and Destination Addresses):这两个地段都是32比特。标识了这个IP包的起源和目标地址。
- 可选项(Options):这是一个可变长的字段。该字段由起源设备根据需要改写。可选项目包含以下内容:
- 松散源路由(Loose source routing):给出一连串路由器接口的IP地址。IP包必须沿着这些IP地址传送,但是允许在相继的两个IP地址之间跳过多个路由器。
- 严格源路由(Strict source routing):给出一连串路由器接口的IP地址。IP包必须沿着这些IP地址传送,如果下一跳不在IP地址表中则表示发生错误。
- 路由记录(Record route):当IP包离开每个路由器的时候记录路由器的出站接口的IP地址。
- 时间戳(Timestamps):当IP包离开每个路由器的时候记录时间。
第34页:数据包在不同网络中的必要处理
- 一个数据包从起点到终点的传递,要经过多个不同的网络;
- 数据包在经过的每个网络中,都要满足每个网络的协议规定;
- 连接不同网络的路由器负责将数据包进行处理,以便该数据包能在本网络中传递;
- 经过处理的数据包离开本网络时,路由器要将经过处理的数据包还原成本来面目。
- 一个简单而明显的例子是数据包的大小变化。
第35页:数据包在不同网络中的必要处理
- 根据IP协议,数据包大小上限不得超过64K;
- 不同的网络根据自己的协议规定,独立地确定自己网络数据包的大小,并按此要求封装、传递、处理数据包;
- 可能这个网络能处理的数据包的大小为64K,那个网络数据包的大小为4K;
- 能处理64K数据包的网络能够直接传递4K的数据包;
- 能处理4K数据包的网络不能传递64K的数据包,必须由路由器将大数据包划分成小数据包
第36页:数据包在不同网络中的必要处理
- 划分的方法是:
- 将数据包的数据部分划分成若干个分片,每个分片组成新数据包的数据部分;
- 原数据包的首部复制若干份,作为新数据包的首部;
- 新的数据包首部和新的数据包数据部分组成新的数据包;
- 在每个新数据包首部中做必要的记录,以便能够将这些新生成的数据包还原成原数据包;
- 记录方法见数据包首部各字段基本功能。
第37页:例题
一个数据报长度为6000字节(固定首部长度)。现在经过一个网络传送,但此网络能够传送的最大数据长度为1500字节。试问应当划分为几个短些的数据报片?各数据报片的数据字段长度、片偏移字段和MF标志应为何数值?
第38页:例题解:数据报总长度为6000字节
例题解:数据报总长度为6000字节,固定首部20字节,因此数据报数据部分长度6000-20=5980字节。传输网络最大数据长度即该网络数据报长度为1500字节,其数据报数据部分最大长度1500-20=1480字节。因此划分数据报片长度上限为1480字节。
第39页:例题一种划分方法是将数据报数据部分
例题一种划分方法是将数据报数据部分5980字节划分成:1480,1480,1480,1480,60字节共5个分片。则分片首部的片偏移字段依次是:0,185(即1480/8),370,555,740。分片首部的MF标志依次是:1,1,1,1,0。完毕。
第40页:网络层的IP协议及配套协议各种应用层协议
5、网络层的IP协议及配套协议各种应用层协议网络接口层(HTTP, FTP, SMTP等)物理硬件运输层TCP, UDP应用层ICMPIPRARPARP与各种网络接口网络层(网际层)IGMP
第41页:IP地址与硬件地址TCP报文段IP数据包
5、IP地址与硬件地址TCP报文段IP数据包数据帧应用层数据首部首部尾部首部链路层及以下使用硬件地址物理地址网络层及以上使用IP地址IP地址
第42页:路由器转发报文过程
5、路由器转发报文过程IP1IP3IP4IP5IP6IP2HA1HA3HA4HA5HA6HA2IP层上的互联网从HA4到HA5从HA6到HA2从HA1到HA3从IP1到IP2从IP1到IP2从IP1到IP2IP地址物理地址IP数据报主机1主机2路由器1路由器2数据帧
第43页:地址解析协议/反向地址解析协议
- IP地址是逻辑地址,是网络层地址。路由器仅根据IP地址的网络号进行路由选择。
- MAC帧中的源地址和目的地址都是物理地址,是数据链路层地址。
- 真正通信仍需依据物理地址(MAC地址)。只有使用物理地址才能将数据数据传输到设备上。
第44页:地址解析协议/反向地址解析协议
- 需要完成IP到MAC地址的相互映射。
- 地址解析:由IP地址转换(映射)为MAC地址的过程。对应的协议称为地址解析协议(ARP协议)
- 反向地址解析:由MAC地址转换(映射)为IP地址的过程。对应的协议称为反向地址解析协议(RARP协议)。
- ARP协议和RARP协议是网络层的另两个重要协议。
第45页:地址解析原理
- 每台设备实际发出的是比特化了的帧。
- 帧:网络层数据包+MAC地址+其他的帧控制信息
- MAC地址:源MAC地址+目的MAC地址
- 数据链路层组帧时必须知道下一个节点的MAC地址
- 交换节点中有ARP表记录本网中的部分计算机和路由器的IP地址和MAC地址
第46页:地址解析原理
- 若表中没有目的节点记录,主机向网络广播带有目的节点IP地址的ARP数据包。目的节点向源返回带有目的节点MAC地址的ARP数据包。
- 源节点在ARP表中记录目的节点的IP地址和MAC地址
- 源节点定期清理ARP表,删除长期不用的项目,确保ARP表不太庞大。
第47页:逆地址解析
- 无盘工作站,拨号上网没有自己固定的IP地址。
- 上网的主机必须拥有一个IP地址,否则,其他主机无法向该主机发送数据。
- 无固定IP地址的计算机,登录时,向管理该网络的服务器申请IP地址;服务器寻找一个空闲的IP地址分配给该主机,直到该计算机退出登录,才收回该IP地址,以供其他登录计算机使用。
第48页:逆地址解析
- 向服务器发出一个RARP请求数据包,并在此数据包中给出自身的物理地址。
- RARP服务器存放一个事先制作的从无盘工作站的物理地址到IP地址的映射表,当收到RARP请求分组后,RARP服务器就从这个映射表选一个没有使用的IP地址,写入RARP响应分组,发回给无盘工作站。
第49页:差错控制报文协议(1)
- ICMP是一种差错控制报文协议,属于网络层
- 它能检查并报告网络上存在的一些基本差错,并在一定程度上指出错误原因
- 可以让一个路由器向其他路由器或主机发送差错或控制报文,提供网络中发生的最新情况
- 它为网络中多台主机的Internet协议软件之间提供了一种通信方式。
第50页:差错控制报文协议(2)
- ICMP报文类型
- 差错报告报文和控制报文
- 差错类别
- 见右表
- ICMP报文的传输
- 将报文装入IP报文数据区,利用IP报文进行传输地址掩码应答18地址掩码请求17时间戳应答14时间戳请求13数据报参数出错12数据报超时11回送请求8重定向(改变路由)5源站抑制4目的不可到达3回送应答0ICMP报文的类型类型字段的值路由器发出主机发出主机发出
- ICMP报文格式163181507校验和代码类型数据区(长度可变部分)
第51页:路由
- 路由的概念
- 路由是指路由器从一个接口上收到数据包,根据数据包的目的地址进行定向(路径选择)并转发到另一个接口的过程。
- 路由的概念复杂,在不同场合有不同的意思,要注意体会。
第52页:路由
- 路由分类
- 默认路由:通向路由器不知道的目的地的通信量将被送到这个默认出口。
- 静态路由:根据静态路由表进行路径选择。
- 动态路由:根据动态路由表进行路径选择。
- 静态路由表是固定不变的,由人为事先规定的两主机通信路径。可能不是最佳
- 动态路由表通过路由协议动态建立和更新得来的。可以动态适应网络拓扑结构的变化,并寻找到目的地的最佳路径。网络中的路由器根据路由算法定期计算,以保证路径始终最佳。
第53页:路由
- 直接路由
- 将数据包发往本网络中的一台主机。(到终点了)
- 间接路由
- 将数据包发往另一台路由器。(尚在途中)
第54页:路由器
- 路由选择是IP层的一项重要功能,它完成Internet中IP报文的正确转发
- 完成路由选择的设备是路由器
- 路由器的两大工作:根据路由表信息,将报文正确发送到下一个路由器;与其他路由器交换路由信息,更新路由表。
- 前者是目的,后者为前者服务。后者是路由器量的定期工作。
第55页:路由器
互联网的标准组件,实现网络互联的硬件设备。局域网广域网局域网ABC
第56页:路由器
特殊的直连网:由路由器直接连接局域网局域网
第57页:路由器
- 类似于网桥,有处理器和内存,用端口与每个网络相连,根据表信息做决定。
- 两者区别
- 路由器工作于网络层,实现网络级互联;网桥工作于链路层,连接不同局域网。
- 路由器构成的互联网络可以存在回路。
- 它们在安全策略、实现技术、性能、价格方面均有所不同。
- 由网桥扩展的局域网仍然属于一个局域网,它们具有相同的网络号。
第58页:路由选择
- 路由器接到一个报文时需要根据目的IP地址做出选择:
- 转发给与自己相连的网络(直接路由)
- 发往另一个路由器,由它继续向前传递(间接路由)
- 丢弃报文
- 直接路由使用主机号查询物理地址,间接路由使用网络号,因此路由表中只要保存网络号。
第59页:路由选择
- 直接路由(直接交付)在同一物理网络中的两个站点(主机-主机,主机-路由器,路由器-路由器)之间发送报文时,发送站点将IP数据报封装在物理网络的帧中直接发给目的站点。
- 间接路由(间接交付)发送站点和目的站点可能相隔多个网络,IP数据报到达目的站点可能要穿过多个路由器(多个物理网络),直到最后通过直接路由到达目的站点。需要做的工作是选择一个更靠近目的站点的路由器,将数据包发过去。
第60页:路由器转发报文过程
如果一个路由器连接通过若干个端口连接若干个网络,则每个端口在所属的网络中得到一个IP地址,同时每个端口有自己的物理地址。10.0.0.040.0.0.030.0.0.050.0.0.020.0.0.050.0.0.120.0.0.240.0.0.330.0.0.4R4网络号的一种表示方法是将IP地址中主机号置020.0.0.1R3
第61页:路由器转发报文过程
通过一个网络连接的若干个路由器有属于同一个网络的IP地址,都属于该网络,遵守该网络的底层协议,通过该网络的数据帧传送数据
第62页:路由器转发报文过程
数据在相邻节点中是以比特流化的数据帧形式传递,每个接收节点数据链路层从帧中剥离出IP数据报交给本节点的网络层。帧头源MAC地址目的MAC地址源IP地址目的IP地址TTL等其他字段数据字段帧尾数据帧IP数据报
第63页:路由器转发报文过程
- 从网络层的角度看,所能见到的只是IP数据报,这对网络层的程序员而言,就屏蔽了底层网络的差异。
- 数据报中的源IP地址和目的IP地址在整个传输过程中是不变的,数据帧中的源MAC地址和目的MAC地址随着中间节点的变化而变化。
第64页:路由器转发报文过程
- 路由器在它的网络层取出目的IP地址
- 计算网络号:目的IP地址∩子网掩码
- 查询路由表确定转发目的IP地址∩子网掩码=目的主机所在网络号则按照该端口路由表内容行事
第65页:路由器R4的路由表
路由器R4的路由表:下表列出相关数据。
路由器R4的一种可能路由表| 目的主机所在网络 | 子网掩码 | 下一跳地址 |
|---|
| 20.0.0.0 | 255.0.0.0 | 直接路由,端口1 |
|---|
| 10.0.0.0 | 255.0.0.0 | 直接路由,端口0 |
|---|
| 30.0.0.0 | 255.0.0.0 | 直接路由,端口2 |
|---|
| 其他网络 | 255.0.0.0 | 20.0.0.1(默认路由) |
|---|
说明:原页路由表以图呈现,表中路由项依据课件给出的目的网络与直连端口整理,默认路由指向 20.0.0.1。
第66页:例题
设某路由器建立了如下路由表:下一跳子网掩码目的网络接口M0255.255.255.128128.96.39.0接口M1255.255.255.128128.96.39.128R2255.255.255.128128.96.40.0R3255.255.255.128192.4.153.0R4默认
第67页:例题现共收到5个分组,其目的地址分别是
例题现共收到5个分组,其目的地址分别是:(1)128.96.39.10(2)128.96.40.12(3)128.96.40.151(4)192.4.153.17(5)192.4.153.90试分别计算其下一跳。
第68页:例题解:目的地址与路由表各项子网掩码相与
例题解:目的地址与路由表各项子网掩码相与,得到目的网络号(包括子网号);然后选与路由表目的网络号相同的项,确定下一跳;如果没有相同的目的网络号,选择默认的下一跳R4。
第69页:例题
- (1)128.96.39.10∩255.255.255.128=128.96.39.0为表中第一项,下一跳选,接口M0
- (2)128.96.40.12∩255.255.255.128=128.96.40.0为表中第三项,下一跳选,R2
- (3)128.96.40.151∩255.255.255.128=128.96.40.128没有相同项,下一跳选,R4
第70页:例题
- (4)192.4.153.17∩255.255.255.192=192.4.153.0为表中第四项,下一跳选,R3
- (5)192.4.153.90∩255.255.255.192=192.4.153.64没有相同项,下一跳选,R4
第71页:Internet结构
- 20世纪80年代初,Internet只是一个网络(ARPANET),路由表大小和路由器负载随着接入的路由器数量(与网络数目相关连)的增加而增加;
- 路由器数量的增加也会导致种类的增加;
- 当需要对路由算法和协议进行升级时,必须在同一时间内对所有的路由器升级;
- 路由器数量的庞大、种类的繁多、归属不同组织机构等使升级工作十分复杂
- 解决办法:改革“单一网络”,建立多层结构
第72页:Internet结构 ASRIGP协议
11、Internet结构 ASASASRIGP协议EGP协议核心主干网核心网关互联网划分方法:核心主干网+一系列自治系统(AS)
第73页:Internet结构
- 一个AS就是同一管理机构下的网络,有权自主决定在本系统内应采用何种路由选择协议
- AS内部的路由器运行同样的协议,彼此保持互连互通
- 一个部门管辖的两个网络,如果要通过其他的主干网才能互连起来,那么这两个网络还是两个AS
- 最小的AS可以是一台路由器直接将一个局域网连入核心主干网
第74页:Internet结构
- AS内部的路由器称为“内部网关”,相应的协议称为内部网关协议(IGP),使用最多的是RIP和OSPF协议
- 连接到其他AS的路由器称为“外部网关”,相应的协议称为外部网关协议(EGP)。目前使用的是BGP
- 充当外部网关的路由器不仅要运行内部网关协议,还要运行AS间的路由选择协议
第75页:Internet结构
- 比较大的AS,还可将所有的网络再进行一次划分,构成一个主干网和若干个区域网。
- 区域网通过路由器连接主干网。
- 在一个区域内找不到目的站,可以通过路由器经过主干网到达另一个区域网,或者通过外部路由器到别的自治系统中查找。
第76页:IGP:内部网关协议
- 包括
- RIP、IGRP和OSPF协议
- 算法和协议的区别
- 算法是解决问题的思想和策略,协议涉及算法的具体实现技术
- RIP和IGRP协议使用V-S算法,OSPF协议使用L-S算法
第77页:RIP协议
- 20世纪70年代由施乐公司的帕洛阿尔托研究中心(PARC)设计。
- 每隔30秒,向相邻路由器广播路由表。
- 路由度量为跳步数。最大跳步数为15。
- 引入更新定时器,无效定时器,保持定时器,刷新定时器。
- 更新定时器:控制路由更新周期,30秒。
- 无效定时器:180秒,该时间内路由器不发出更新信息,其他路由器判定它为失效,进入“保持”。
第78页:RIP协议
- 保持定时器
- 180秒,路由器的“保持”状态时间。
- 刷新定时器
- “保持”时间过后,将对该路由器表项刷新,240秒后仍无法获取来自该路由器的报文,删除该表项。
第79页:IGRP协议
- Internet网关路由协议,由Cisco公司90年代初期开发。
- 设计思想:纠正RIP的缺陷。
- 并不完美:路径环检测存在问题;不能支持长子网掩码VLSM
- 增强型IGRP(E IGRP)协议,可基于带宽、延迟、负载、可靠性等因素综合考虑
第80页:OSPF协议
- 开放最短路径优先(OSPF)协议,90年代广泛使用。
- 路由器维持一个网络拓扑数据库,来决定最短路径。
- 定期更新数据库。
- 收敛快,支持路径距离精确度量、多重度量,支持冗余路径。
- OSPF协议一直处在发展变化中。
第81页:EGP:外部网关协议
- EGP用于两个自治系统之间的路由信息交换。
- EGP的作用是在AS之间交换网络“可达性”信息
- 外部协议发布内部网络“可达性”信息的条件:
- 有路径通道存在,
- AS允许
- EGP涉及政治、经济、安全问题,一般通过人工配置实现。
第82页:路由算法
- 采用动态路由的网络中的路由器之间通过周期性的路由信息交换,更新各自的路由表。
- 路由器信息交换的方式由路由算法确定。
第83页:路由算法
- 路由算法的设计目标正确、完整,简单,优化,稳定、收敛、灵活
- 选择最佳路径的度量参数最佳度量参数有:路径最短、最可靠性、延迟最小、路径带宽最大、负载最小和价格最便宜等。
- 路由算法的类型
- 静态路由算法:预先建立起来的路由映射表。除非人为修改,否则映射表的内容不发生变化。
- 动态路由算法:通过分析接收到的路由更新信息,对路由表作出相应的修改。
第84页:典型静态路由算法
- 洪泛法路由器从某条输入链路收到一个不是发给它的分组时,就向除原输入链路外的所有输出链路转发该分组。
- 固定路由法路由器保存一张路由表,表中的每一项都记录着对应某个目的路由器以及下一步应选择的邻接路由器。当一个分组到达时,依据该分组所携带的地址信息,从路由表中找到对应的目的路由器及所选择的邻接路由器将此分组发送出去。
第85页:典型静态路由算法
- 分散通信量法路由器内设置一个路由表,该路由表中给出几个可供采用的输出链路,并且对每条链路赋予一个概率。当一个分组到达该路由器时,路由器即产生一个从0.00到0.99的随机数,然后选择概率最接近随机数的输出链路。
- 随机走动法路由器随机地选择一条链路作为转发的路由。对于路由器或链路可能发生的故障,随机走动法非常有效,它使得路由算法具有较好的稳健性。
第86页:典型动态路由算法
- 距离向量算法(V-D路由算法)
- 该算法要求路由器之间周期性地交换信息
- 交换信息中包括一张向量表,记录了所有其他路由器到达本路由器的“距离”
- “距离”的度量是“跳步数”或延迟,规定相邻路由器之间的“跳步数”为1。“距离”表示的是一种传送代价。
第87页:V-D路由算法(4)
- V-D路由算法
- 每个路由器维护一张表,表中记录了到达目的地的各种路由选择以及相应的距离。给出了到达每个目的地的已知最佳距离D(i,j)和最佳线路k,通过与邻接路由器交换信息来更新表。
- 节点i:路由器自身;节点j:目的节点;节点k:节点i的相邻节点。
- D(i,j)=min(d(i,k)+D(k,j))。d(i,k)相邻节点距离,通过与邻接路由器交换信息得到。
第88页:V-D路由算法(7)
- V-D路由算法
- 节点i通过交换信息得知节点k出故障,d(i,k)=∞,通过重新计算D’(i,j),找到新的最佳线路s,改变表中记录为D’(i,j),s。
- 节点k的相邻节点出故障导致D(k,j)改变,重新计算D’(i,j),有两种可能结果:找到新的最佳线路s,改变表中记录为D’(i,j),s;k仍为最佳线路,改变表中记录为D’(i,j),k。
第89页:V-D路由算法例子
- 以延迟时间为距离,每个路由器通过发送“回响”报文,来测得自己与相邻路由器的距离(有时以跳步为距离,规定相邻路由器的跳步为1)
- 每个路由器定期与相邻路由器交换信息(路由表)
- 每个路由器根据交换信息计算本路由器的路由表
- 路由器J为例,说明如何更新路由表,数据为延迟时间ABCDEFGHIJKL
第90页:更新路由表JJJ只能从相邻的路由器A
14、更新路由表JJJ只能从相邻的路由器A, I,H, K获得路由信息,即得到4个路由表2436187272027200102233I0122514402330202482129A203119308191002012199H延迟ABCDEFGHIJKL212836222440411922609K线路JABCEDFGHIJKL
第91页:更新路由表
14、更新路由表J2436187272027200102233I0122514402330202482129A203119308191002012199H延迟ABCDEFGHIJKL212836222440411922609K线路JJABCEDFGHIJKL源路由器
第92页:更新路由表J延迟
14、更新路由表J延迟ABCDEFGHIJKL线路JJABCEDFGHIJKL目的路由器2436187272027200102233I0122514402330202482129A203119308191002012199H212836222440411922609K
第93页:更新路由表J延迟
14、更新路由表J延迟ABCDEFGHIJKL线路JJABCEDFGHIJKL源路由器与目的路由器之间的距离2436187272027200102233I0122514402330202482129A203119308191002012199H212836222440411922609K
第94页:V-D路由算法例子
14、V-D路由算法例子ABCDEFGHIJKLJ820281720302212100615延迟AAIIHIHHI--KK线路J2436187272027200102233I0122514402330202482129A203119308191002012199H212836222440411922609K
第95页:V-D路由算法例子
14、V-D路由算法例子820281720302212100615延迟ABCDEFGHIJKLAAIIHIHHI--KK线路JJ2436187272027200102233I0122514402330202482129A203119308191002012199H212836222440411922609K
第96页:V-D路由算法的慢收敛问题:好消息传
14、V-D路由算法的慢收敛问题慢收敛问题:好消息传播快,坏消息传播慢∞ ∞ ∞ ∞A B C D EA B C D E1 2 3 4
第97页:V-D路由算法的慢收敛问题:好消息传
14、V-D路由算法的慢收敛问题慢收敛问题:好消息传播快,坏消息传播慢∞ ∞ ∞ ∞A B C D E1 ∞ ∞ ∞1 2 ∞ ∞1 2 3 ∞1 2 3 4∞ ∞ ∞ ∞A B C D E1 2 3 43 2 3 43 4 3 45 4 5 45 6 7 6…………故障排除,好消息故障出现,坏消息
第98页:水平分割法解决慢收敛
- 特殊规定:如果C通过B与A相连,则C向B报告与A的距离为∞,C向其他路由器报告与A的距离仍为2。即每个路由器准备两套报告方案。
- 对C而言,情况如图所示∞ ∞ ∞A B C D1 2 3∞ 2 3
第99页:典型动态路由算法
- V-D算法的缺陷在于每个路由器不知道全网的状态链路状态算法(L-S算法)解决了这个问题。
- L-S算法基本思想:通过节点之间的路由信息交换(每个路由器到相邻路由器的距离,这种信息是确切无疑的,是由路由器自己测出来的),每个节点可获得关于全网的拓扑信息,得知网中所有的节点、各节点间的链路连接和各条链路的代价(时延、费用等),将这些拓扑信息抽象成一张带权无向图,利用最短通路路由选择算法(Dijkstra算法,迪杰斯特拉算法)计算出到达各个目的节点的最短通路。
第100页:L-S算法
- 发现相邻路由器通过向邻居发问候(hello)报文,从应答报文可知道相邻路由器
- 测量距离通过向相邻路由器发回应(echo)报文,计算延迟时间
第101页:L-S算法
构造链路状态报文根据相邻路由器的延迟,构造链路状态报文报文信息:本路由器名,邻接路由器以及距离,序号,年龄ABCFED12435786B4F5A序号年龄A4C2B序号年龄E6B2D3C序号年龄F1B6D7E序号年龄F8A5C1F序号年龄E8C3E7D序号年龄
第102页:L-S算法
广播链路状态报文每个路由器利用洪泛法向外界广播,确保本网中任何其它路由器都能收到。
第103页:L-S算法
- 重复报文的消除广播的问题是产生大量重复报文,必须想办法消除。利用序号和年龄字段消除。
- 序号:路由器以递增方式为每一个发出的状态报文编号;1,2,3,……每个路由器收到别的路由器发来的新的链路状态报文,将两个序号进行比较,新到的报文序号小于等于保留的序号,说明是重复报文,丢弃;否则,收报文,然后向外广播。某一个状态报文被所有路由器收到以后,还在传递的这种报文会很快消失。
第104页:L-S算法
- 年龄:是原始路由器发出报文时设置的一个数,是报文的生存时间,每过一秒减1;
- 或者是最大允许跳步数,每经过一个路由器,被减1;
- 当它为0时,所有路由器丢弃它。
第105页:L-S算法
- 计算新路由每个路由器都可以获得其它路由器发出的链路状态报文,每个路由器都可以据此构造出网络拓扑图。根据网络拓扑图,利用最短路径算法(Dijkstra)算出所有目的路由器最短路径,建立新的路由表。
- 每个路由器用问候(hello)报文和回应(echo)报文定期(10秒)访问相邻路由器。若40秒钟未收到相邻路由器用问候报文,则认为该路由器不可达,修改链路状态。
- 任何路由器发现链路状态有变化,才向外发广播
第106页:无分类编址
- 以网络号为单位分配IP地址方式的两个问题:
- IP地址资源不足与浪费问题:网络号不够多,一个网络号下IP地址浪费多;
- 主干网上路由表项目数太多主干网路由表需要记录下层所有网络的网络号,以便进行正确路由选择。
- CIDR为解决此问题而提出
第107页:无分类编址CIDR做法
- 将32位IP地址分成网络前缀和主机号两部分
- 用斜线记法表明前缀长度128.14.35.7/20网络前缀为前20位(用地址掩码表示)
- 网络前缀都相同的连续的IP地址组成一个CIDR地址块
- 地址块是CIDR地址分配单元,常常需要明确地址块的最小、最大,计算其地址数。
- 一个地址块的最小、最大地址分别对应主机号部分全0(128.14.32.0)、全1地址(128.14.47.255)但主机号部分全0、全1地址一般不用
第108页:无分类编址
- 物理网络以地址块为单位组网,即一个需要组网的组织根据自己网络中的主机数量申请一个地址块,来建立网络。例如:某组织有1000台计算机,可以申请一个128.14.32.0/22的地址块(共1024个IP地址)
- 路由器以地址块为单位进行路由选择,可以减少路由表表项
- 例如上例,原本需要四个C类网络四个表项,现在只需要一个表项
第109页:无分类编址
- 地址块中地址数为2的N次方,N可大可小,可根据需要确定地址块的大小例如,一个组织需要1025个IP地址,可以申请两个地址块128.14.32.0/22(1024)和128.14.48.16/28(16)
- 一个组织可以把地址块再次分解成若干个小地址块例如,将地址块206.0.68.0/22分成四块
第110页:无分类编址
平均分202.0.01000100.0/22202.0.01000100.0/24202.0.68.0/24256202.0.01000101.0/24202.0.69.0/24256202.0.01000110.0/24202.0.70.0/24256202.0.01000111.0/24202.0.71.0/24256
第111页:无分类编址
依次分202.0.01000100.0/22分配202.0.01000100.0/23202.0.68.0/23剩下202.0.01000110.0/23202.0.70.0/23分配202.0.01000110.0/24202.0.70.0/24剩下202.0.01000111.0/24202.0.71.0/24对半分配202.0.01000111.00000000/25202.0.71.0/25202.0.01000111.10000000/25202.0.71.128/25
第112页:无分类编址
- 路由器根据地址块决定下一跳
- 路由表由网络前缀和下一跳两项组成
- 一个IP地址可以匹配长短不一的多个网络前缀,例如:202.0.71.1(202.0.01000111.00000001)可以匹配前页多个(202.0.01000111.0/25,202.0.01000100.0/22)
- 网络前缀,由哪个表项决定下一跳?
第113页:无分类编址
- 尽管有多个地址块与一个IP地址匹配,但它们最终指向的是同一台计算机。任何一跳都可以。这些地址块相互之间是包含关系
- 短前缀地址块包含长前缀地址块
- 长前缀地址块主机数量更少,跳到这种地址空间,后续跳步更少,定位更快。
- 最长前缀匹配最佳,因此在路由表中找最长前缀匹配表项决定下一跳。IP
第114页:无分类编址
- 不找到最后一项,不能确定前缀最长,费时
- 将路由表表项的所有唯一前缀按二叉树形式组织起来,沿二叉树寻找到树叶,就可以确定最长前缀
第115页:网络层常见的几种技术
- 链路加密
- 隧道技术
- 专用网
- 地址转移技术它们都是在路由器上实现的技术
第116页:链路加密:网络提供的加密
- 网络应用日益广泛,网络安全问题突出
- 涉密者应该加强自身的保密意识,但无法应对数据传输过程中的安全问题
- 信息传递者无法制止窃听行为,甚至不能发觉是否存在窃听。
- 采用加密技术使窃听者能够截获数据,但得不到信息发送端接收端明文X明文X明文X窃听,截获
第117页:一般数据加密模型
- 在发送端,明文X通过加密算法和加密密钥K1处理变成密文Y;
- 在接收端,密文Y通过解密算法和解密密钥K2处理变成明文X;
- 在进行解密运算时,如果不使用事先约定好的解密密钥K2,就无法解出明文X;
- 截获者正是因为没有解密密钥K2,而无法得到明文X。加密算法解密算法明文X明文X密文Y加密密钥K1解密密钥K2截获
第118页:链路加密
- 数据包在传输介质上处于加密状态。
- 节点对接收到的数据包采用与上一个节点配套的方法进行解密;在向下一个节点传输前,采用与下一个节点配套的方法对数据包进行加密。H 节点NN通信子网
第119页:链路加密
- 在到达目的地之前,一个数据包可能要经过许多通信链路的传输,因而被用不同的方法加、解密多次。
- 优点:自动加、解密,无须用户操心。
第120页:隧道技术
- 将两个同类型的、但物理分开的网络,通过公用网络连接起来。
- 网1、网2是同类型网络,数据包格式相同,传输协议相同,如果物理互连,数据包能够自由通行。但是…
- 将内网数据包作为数据封装在外网数据包中,通过外网传输。这种技术就是隧道技术。在具有这种功能的路由器上实现。
- 隧道路由器必须具有内网数据包的封装、准确发送和提取功能。网1互联网网2
第121页:隧道技术公共网络隧道内网数据包公网IP数
隧道技术公共网络隧道内网数据包公网IP数据包首部数据首部数据网1和网2中的数据包隧道中通行的公网IP数据包R2R1网1网2
第122页:虚拟专用网
- 本地地址——仅在机构内部使用的IP地址。可以由本机构自行分配,而不需要向因特网的管理机构申请。
- 全球地址——全球唯一的IP地址。必须向因特网的管理机构申请。
第123页:RFC 1918专用地址范围
RFC 1918专用地址范围:下表列出相关数据。
RFC 1918指明的专用地址| 地址范围 | 网络规模 |
|---|
| 10.0.0.0 ~ 10.255.255.255 | 1个A类网 |
|---|
| 172.16.0.0 ~ 172.31.255.255 | 16个B类网 |
|---|
| 192.168.0.0 ~ 192.168.255.255 | 256个C类网 |
|---|
第124页:X10.1.0.1用隧道技术实现虚拟专用
X10.1.0.1用隧道技术实现虚拟专用网部门A因特网部门BR1R2隧道125.1.2.3194.4.5.6Y10.2.0.3使用隧道技术本地地址本地地址全球地址网络地址= 10.1.0.0(本地地址)网络地址= 10.2.0.0(本地地址)
第125页:用隧道技术实现虚拟专用网X10.1.0.
用隧道技术实现虚拟专用网X10.1.0.1部门A因特网部门BR1R2隧道125.1.2.3194.4.5.6Y10.2.0.3加密的从X到Y的内部数据报外部数据报的数据部分源地址:125.1.2.3目的地址:194.4.5.6数据报首部部门A部门BXYR1R2125.1.2.3194.4.5.610.1.0.110.2.0.3虚拟专用网VPN
第126页:内联网intranet和外联网
- 内联网intranet和外联网extranet(都是基于TCP/IP协议)
- 由部门A和B的内部网络所构成的虚拟专用网VPN又称为内联网(intranet),表示部门A和B都是在同一个机构的内部。
- 一个机构和某些外部机构共同建立的虚拟专用网VPN又称为外联网(extranet)。
第127页:远程接入
- 有的公司可能没有分布在不同场所的部门,但有很多流动员工在外地工作。公司需要和他们保持联系,远程接入VPN可满足这种需求。
- 在外地工作的员工拨号接入因特网,而驻留在员工PC机中的VPN软件可在员工的PC机和公司的主机之间建立VPN隧道,因而外地员工与公司通信的内容是保密的,员工们感到好像就是使用公司内部的本地网络。
第128页:网络地址转换
- 网络地址转换NAT(Network Address Translation)
- 网络地址转换NAT方法于1994年提出。
- 需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球地址IPG。
- 所有使用本地地址的主机在和外界通信时都要在NAT路由器上将其本地地址转换成IPG才能和因特网连接。
第129页:网络地址转换的过程
- 内部主机X用本地地址IPX和因特网上主机Y通信所发送的数据报必须经过NAT路由器。
- NAT路由器将数据报的源地址IPX转换成全球地址IPG,但目的地址IPY保持不变,然后发送到因特网。
- NAT路由器收到主机Y发回的数据报时,知道数据报中的源地址是IPY而目的地址是IPG。
- 根据NAT转换表,NAT路由器将目的地址IPG转换为IPX,转发给最终的内部主机X。
第130页:网络地址转换NATR1内网数据包外网数据
网络地址转换NATR1内网数据包外网数据包对照表内网数据包外网数据包IPX……IPY……IPX……IPG……IPG……IPY……IPY……IPG……IPY……IPX……①②③④
第131页:IP多播
- 一个源点发送,多个终点接收。互联网上的一对多通信。
- 要求:同时发送相同信息(如现场直播)。
- 源点发送只需发送一次,由路由器按要求复制、分发。
- 多播可以大幅减少网络中的数据量。
第132页:共有90个主机接收视频节目
共有90个主机接收视频节目R1R3R4R2视频服务器M………30个30个30个30个30个30个90个不使用多播时需要发送90次单播
第133页:多播1个多播组成员共有90个
多播1个1个多播多播多播组成员共有90个R1R3R4R2视频服务器M………1个1个1个1个1个发送1次多播复制
第134页:IP多播
- 实现IP多播,需要能够运行多播协议的路由器-----多播路由器。
- 局域网具有硬件多播功能,不需要复制分组。
第135页:IP多播
- 实现IP多播,需要使用多播IP地址。
- D类地址就是多播地址,共有228个D类地址,可以表示228个多播组。
- 但不是所有D类地址都用于多播:
- 只有224.0.1.0至238.255.255.255可用于全球多播;
- 239.0.0.0至239.255.255.255只能用于组织内部多播。
第136页:IP多播
- 多播地址只能用于目的地址,不能用于源地址。
- 加入同一个多播组的主机拥有相同的多播地址。
- 任何主机(不一定属于该多播组)都可以向一个多播组发送信息。
第137页:网际组管理协议IGMP和多播路由选择协议
- IP多播需要两种协议
- 网际组管理协议IGMP:使路由器知道多播组成员的信息
- 多播路由选择协议:
- 多播路由器还必须和因特网上的其他多播路由器协同工作
- 把多播数据报用最小代价传送给所有的组成员
第138页:IGMP可分为两个阶段
第一阶段:当某个主机加入新的多播组时,该主机应向多播组的多播地址发送IGMP报文,声明自己要成为该组的成员。本地的多播路由器收到IGMP报文后,将组成员关系转发给因特网上的其他多播路由器。
第139页:IGMP可分为两个阶段
- 第二阶段:因为组成员关系是动态的,因此本地多播路由器要周期性地探询本地局域网上的主机,以便知道这些主机是否还继续是组的成员。
- 只要对某个组有一个主机响应,那么多播路由器就认为这个组是活跃的。
- 但一个组在经过几次的探询后仍然没有一个主机响应,则不再将该组的成员关系转发给其他的多播路由器。
第140页:多播路由选择
- 多播路由选择实际上就是要找出以源主机为根结点的多播转发树。
- 在多播转发树上的路由器不会收到重复的多播数据报。
- 对不同的多播组对应于不同的多播转发树。同一个多播组,对不同的源点也会有不同的多播转发树。
第141页:转发多播数据报使用的方法
- 洪泛与剪除
- 隧道技术(tunneling)
- 基于核心的发现技术
第142页:洪泛与剪除
一开始,路由器转发多播数据报使用洪泛的方法(这就是广播)。为了避免兜圈子,采用了叫做反向路径广播RPB(ReversePath Broadcasting)的策略。
第143页:RPB的要点
- 路由器收到多播数据报时,先检查是否从源点经最短路径传送来的。
- 若是,就向所有其他方向转发刚才收到的多播数据报,否则就丢弃而不转发。
- 如果存在几条同样长度的最短路径,那么只能选择一条最短路径,选择的准则就是看这几条最短路径中的相邻路由器谁的IP地址最小。
第144页:剪除没有组成员的树枝源点
剪除没有组成员的树枝源点R3R4R6R7R8R1R5R2转发多播数据报收到后即丢弃反向路径广播RPB和剪除
第145页:多播中使用的隧道技术不支持多播的网络隧道
19、多播中使用的隧道技术不支持多播的网络隧道多播数据报单播IP数据报首部数据首部数据网1和网2中的多播数据报隧道中通行的单播IP数据报R2R1网1(支持多播)网2(支持多播)
第146页:基于核心的发现技术
- 这种方法是对每一个多播组G指定一个核心(core)路由器,给出它的IP单播地址。
- 核心路由器按照前面讲过的方法创建出对应于多播组G的转发树。
第147页:IPv6网际互连协议
- IP协议(IPv4)是在二十世纪七十年代末设计的,使用32位的IP地址。
- 用户急剧增加,导致IP地址日趋短缺。
- 1991年开始了IPv6的标准化工作,地址长度是128位。
- 我国的互联网系统于2006年年初开始使用IPv6协议。
第148页:IPv6的提出–移动电话
20、IPv6的提出–移动电话、家电上网等需要大量的IP地址;–为了从根本上解决IP地址空间匮乏的问题;–1990年,开始IPv6的工作;–1992年,7个建议被讨论;–1993年,3个比较好的建议发表在IEEE Network上,进一步讨论、修改、结合后,形成IPv6;–IPv6与IPv4不兼容,但与其它Internet协议兼容,如TCP、UDP、OSPF、BGP、DNS等,但实际上还是需要开发另外一套协议栈。
第149页:IPv6的目标–即使在不能有效分配地址空
20、IPv6的目标–即使在不能有效分配地址空间的情况下,也能支持数十亿的主机;–减少路由表的大小;–简化协议,使得路由器能够更快的处理包;–提供比IPv4更好的安全性;–更多的关注服务类型,特别是实时数据;–支持多播;–支持移动功能;–协议具有很好的可扩展性;–增强安全性–在一段时间内,允许IPv4与IPv6共存。
第150页:IPv6的主要变化–地址变长
- IPv6的主要变化–地址变长,由32位变成128位;–IP头简化,由13个域减少为7个域,提高路由器处理速度
- 由于IPv6包头定长,取消“头部长度”域;
- “协议类型”域取消,用“下一个头部”域表示;
- 取消与分段有关的域,IPv6采用不同的分段方法:所有主机和路由器必须支持576字节的包,当主机发送一个大包时,路由器不做分段,而是给主机发一个错误信息,由主机做分段;–安全性提高;–更注重服务类型。
第151页:版本优先级流标识净荷下一个头部跳步限制源
版本优先级流标识净荷下一个头部跳步限制源地址(16字节)目的地址(16字节)20、IPv6包头
第152页:IPv6包头–版本,值为
20、IPv6包头–版本,值为6;–优先级,用来区分源端可以流控或不能流控的包,值0 ~ 7表示发生拥塞时源端可以降速,值8 ~ 15表示发送速率固定的实时负载,值越小优先级越低;–流标识,用来允许源和目的建立一条具有特殊属性和需求的伪连接;–净荷长度,用来指示IP包中40字节包头后面部分的长度,与IPv4的total length域不同;–下一个头部,指示扩展包头,若是最后一个包头,则指示传输协议类型(TCP/UDP);–跳步限制,IP包的生存时间;–源地址,目的地址,16字节定长地址
第153页:IPv6地址表示–16字节地址表示成用冒
- IPv6地址表示–16字节地址表示成用冒号(:)隔开的8组,每组4个16进制位,例如,8000:0000:0000:0000:0123:4567:89AB:CDEF–由于有很多“0”,有三种优化表示
- 打头的“0”可以省略,0123可以写成123;
- 一组或多组16个“0”可以被一对冒号替代,但是一对冒号只能出现一次。上面的地址可以表示成8000::123: 4567:89AB:CDEF
- IPv4地址可以写成一对冒号和用“.”分隔的十进制数,例如::192.31.20.46