1、Internet 与与TCP/IP体系结构体系结构第第6章章 16.1 Internet概述概述nInternet是一个虚网、网上之网。任何一个主机、任何一个网络,只要遵循TCP/IP协议,就可以成为其一部分。2TCP/IP参考模型参考模型物理层物理层数据链路层数据链路层网络层网络层传输层传输层会话层会话层表示层表示层应用层应用层物理网络物理网络网际层:网际层:IP,ICMP,传输层:传输层:TCP,UDP应用层:应用层:HTTP,FTP,SMTP,DNSOSITCP/IP网络接口层网络接口层:ARP/RARP,CLIP/PPP3TCP/IP与与OSI的比较的比较l1.层次性是否严格l2.可靠
2、性第一还是效率第一l3.主机负担重还是通信子网负担重l4.异种网互连的能力46.2 IP协议协议lIP提供的是非可靠的无连接数据报服务。l非可靠是指无论传输正确与否,都不做验证、不发确认,也不保证IP数据报的正确顺序。有关可靠性的工作,都留给传输层处理。l无连接是指每一个IP数据报的处理都独立于其他IP数据报,一串IP数据报从一台计算机出发经过不同的路径到达另一计算机,中间可能部分丢失,而其他部分仍然被传送,IP不轻易丢弃IP数据报。5IP在在TCP/IP模型中的位置模型中的位置 66.2.1 有分类的有分类的IP地址结构地址结构Internet地址结构地址结构lIP地址是Internet协议
3、地址的简称,用作Internet网络上的独立的计算机唯一标识。l一个IP地址对应一台主机。l32位二进制,通常用4个十进制数表示(如图)7地址分类与结构地址分类与结构8说明说明l分为A、B、C、D和E五类,地址开始部分分别用0、10、110、1110和11110标识。lA、B、C是3类基本地址类型,都由3部分组成:l标志、网络标识符(netid)和主机编号(hostid)。lD类地址是一种多址广播地址格式,E类地址是为实验保留的地址。9IP分类地址中的特殊地址(1)A、B、C三类地址中主机标识字段(host-id)为全“1”和全“0”的地址。l全“0”:“本主机”(this);l全“1”:所有
4、的(aal)。(2)A类地址中的网络标识字段(net-id)为全“1”和全“0”的两个地址。l全“0”:“本网络”;l127():本地软件环回测试本机。10IP分类地址的可分配范围分类地址的可分配范围 网络类型最多网络数可用网络号范围每个网络中的最多主机数A类27-2=1261126224-2=16777214B类214=16384128.0191.255216-2=65534C类221=2097152192.0223.255.25528-2=25411子网掩码子网掩码 l将这些较小的网络看作一个网络的子网,并从hostid域中借用某几位高位作为子网的subnetid域。l子网掩码:用一个与I
5、P地址格式相同的屏蔽码对网络IP地址进行“与”操作,用来限定一个网络的IP地址范围。l网络管理员使用子网掩码来借用hostid域中的某几位高位作为子网的subneitid域。它是用一个与IP地址格式相同的屏蔽码对网络IP地址进行“与”操作,用来限定一个网络的IP地址范围利用子网掩码,可以把一个大的网络划分为几个子网。12A,B,C 3类网络的缺省掩码类网络的缺省掩码lA类网络 11111111 00 即255.0.0.0,lB类网络 11111111 11111111 00000 即255.255.0.0,lC类网络 11111111 11111111 11111111 00000000,即2
6、55.255.255.0。13子网掩码举例子网掩码举例1 例6.1 将一个有256台主机、网络号为200.15.192的C类型网络分为2个相同的各拥有128台主机的子网。在 网 络 号 为 200.15.192的 C类 网 络 中,主 机 的 编 号 为200.15.192.0200.15.192.256。由于要将一个C类网络分为两个子网,因而要在其hostid域中借用最高一位,子网掩码由C 类的缺省掩码255.255.255.0变为255.255.255.128,即 11111111.11111111.11111111.10000000。由此类推,要划分为4个子网,应借用2位:1111111
7、1.11111111.11111111.11000000。要划分为8个子网,应借用3位:11111111.11111111.11111111.11100000。14 例6.2 对于一个C类网络202.113.240,可以使用子网掩码255.255.255.224,划分为8个子网,每个子网有32个IP地址:l202.113.240.0 202.113.240.31 l202.113.240.32 202.113.240.63 l l202.113.240.224202.113.240.255 应当注意:不管如何划分,一个网络中可容纳的主机总数不会增多。子网掩码举例子网掩码举例2156.2.2 I
8、P地址的无分类编址地址的无分类编址CIDR 用变长的“网络前缀”(network-prefix)代替分类地址中的网络号和子网号l斜线记法:如127.16.34.20/22,表示前22位为子网地址。l允许省略低位连续的0。如127.0.0.0/22,可以写为127/22。16CIDR地址块地址块 例如,127.20.32.0/20表示该地址块的起始地址为127.20.32.0,共有212个地址。1000 0 00100000 0000 00001111 1111 11111000 0 0010最小地址:最大地址:网络前缀主机地址17l在路由表中,使用一个网络前缀项目就可以表示多个原来分类地址的路
9、由,形成路由聚合(route aggegation)或构成超网(supernetting)。18使用使用CIDR的好处的好处l方便,容易理解。l不仅可以划分成“子网”,还可以聚合成“超网”和路由聚合。l路由聚合可以大大减少路由表中的项目数,减少路由器之间的路由选择信息的交换,提高整个Internet网络的性能。使用CIDR后,路由表的栏目改为由网络前缀和下一跳地址组成。lCIDR的RFC文档(RFC15171520)于1993年形成。现在CIDR已经成为Internet的建议标准协议。196.2.3 IP数据报格式数据报格式20各字段的含义各字段的含义 l版本号VER(Version)IPV4
10、和IPV6l头标长IHL(Internet Header Length)l服务类型TOS(Type of Service)l总长度TL(Total Length)允许最长的IP数据报为65535字节 l标识符ID(Identification)l标志F(Flag)21n生存时间TTL(Time to Live)n协议PROT(Protocol)标识接收IP数据报中的数据的高层(传输层)协议。nIP数据报头校验和(Header Cheksum)对报头数据每16位求异或,结果取反。当目的地计算出的校验和与该域的值不符,则丢弃该报文。n源地址SOURCE(Source Address),32位。n目
11、的地址DEST(Destination Address),32位。n任选字段OPT(Options)n填充段(Padding)226.3 网络接口层相关协议网络接口层相关协议 1.网络接口层负责将IP数据报封装成适合在具体的物理网络上传输的帧结构并交付传输。2.它包括用于协作IP数据报在已有网络介质上传输的协议,如Ethernet、Token Ring;还定义了地址解析协议ARP(Address Resolution Protocol)和RARP来提供TCP/IP协议的数据结构与实际物理网络之间的接口进行IP地址与实际物理网络地址间的转换;23 6.3.1 PPP协议协议 lPPP(Point
12、to-Point Protocol)是串行通信线路上一个有效的点对点通信协议。它的格式与HDLC相似 lPPP帧格式在IP数据报之上增加了起始和结束标志、地址、控制、协议和校验等字段。24PPP协议工作状态结束寂静建立打开认证配网协商成功认证成功认证失败通信结束载波停止建立失败载波出现网络层配置完成256.3.2 地址解析地址解析26 地址解析技术地址解析技术 与地址解析协议与地址解析协议l(1)查表(table lookup)方法:将地址绑定信息存放在内存的一张表中,当要进行地址解析时,可以查表找到所需的结果。这种方法常用于WAN。l(2)相似形式计算(close-form computa
13、tion):网络中主机的IP地址分配通过对硬件地址的简单逻辑运算和算术运算得到,因而在IP地址与物理地址之间存在一种函数关系,可以直接运算求出。这种方法常用于可配置的网络。l(3)报文交换(message exchange)法:前两种方法是集中式地址解析,而报文交换是分布式地址解析方法,即当一台机器要解析同一网络中另一台计算机的IP地址时,先通过网络发送一个请求报文请求对指定IP地址的解析,之后收到一个应答回答对应的硬件地址。这种方法常用于静态编址的LAN。27www.sytuwww.sytu.E.EIPIP地址地址如如:(202.195:(202.195 .144.130).144.130)
14、物理地址物理地址1)1)域名域名系统系统ARPARPRARPRARP28用于以太网的ARP分组格式硬件类型协议类型硬件地址长度协议地址长度操作目标IP地址(8位组03)发送方硬件地址(8位组45)发送方IP地址(8位组01)发送方IP地址(8位组23)目标硬件地址(8位组01)发送方硬件地址(8位组03)目标硬件地址(8位组25)0 7 8 15 16 31296.4 网际控制报文协议网际控制报文协议ICMP l引入原因:IP的不可靠lICMP是一种差错报告机制,它提供如下服务:l测试目的主机可达性和状态,如接收设备接收IP数据报时缓冲区是否够用;l将不可到达的目的主机报告给源主机;l进行IP
15、数据报流量控制;l发送路由器路由改变请求;l检测循环(由此会引发“广播风暴”)或超长路由;l报告错误IP数据报头;l获取网络地址;l获取子网掩码。30ICMP分组及其封装分组及其封装类型码代 码校验和首部其余部分数据部分0 7 8 15 16 31ICMP分组IP数据IP首部帧的数据帧头帧尾(a)ICMP分组的格式 (b)ICMP分组的封装31主要ICMP分组基本类基本类类型码类型码分组名称分组名称代码代码说说 明明差差错错报报告告3 3目的站不可达0 01515代码段指明了16种不可达具体原因1111超时0 0TTL超时(只由路由器使用)1 1重组超时(只由目的主机使用)1212参数出错0
16、0在首部的一个字段中有差错或二义性1 1缺少所需选项部分控控制制4 4源站抑制0 0拥塞控制和源站抑制5 5重定向0 0对特定网络路由的改变1 1对特定主机路由的改变2 2基于指明服务类型对特定网络路由的改变3 3基于指明服务类型对特定主机路由的改变测测试试8 8回应请求0 0测试可达性0 0回应应答0 01313时间戳请求0 0测试IP分组在两台机器之间往来所需时间1414时间戳应答0 01717地址掩码请求0 0测试子网掩码1818地址掩码回答0 01010路由器询问0 0测试路由器地址及其是否正常工作32基于基于ICMPICMP的应用的应用(1)pingping是TCP/IP网络中一个最
17、简单而又非常有用的ICMP应用程序。它使用ICMP回应请求/应答,测试一台主机的可达性,验证一个IP安装是否正确,具体可以用于下列场合:l验证基础TCP/IP软件的操作;l验证DNS服务器的操作;l验证一个网络或网络中的设备是否可以被访问。ping在不同的实现中语法格式有所不同。下面是在UNIX中的应用格式:ping-switches host lhost,目的主机的名字或其IP地址;lswitch,参数选项,它是下列可选项的组合:-dfnqrvR-ccount-iwait-lpreload-ppattern-spacktssize(2)traceroutetraceroute程序用来确定通过
18、网络的路由IP数据分组。它先把一个TTL=1的IP分组发送给目的主机,在经过第1个路由器时把TTL减到0,遂丢弃该分组并把ICMP超时消息返回给源主机,从而标识了第1个路由器。以后,不断增加TTL值重复上述过程,就可以依次标识出通向目的主机的路径上各路由器。335.5 IP路由路由Internet就是用路由器连接起来的网络。Internet中的路由器的分布,形成了其骨架结构。34接收帧,拆包,分解出IP包IP包选项处理本地提交否链路层寻址是IP包合法?目的地为本地?转发寻径允许转发?TTL=0?需分段?数据分段是否是是丢弃否否是否 路由器的主要工作是:l路径判断,使用一定的路由算法选择合适路径
19、l转发。5.5.1 路由器的工作路由器的工作35l(1)接收帧,分解出IP分组l(2)验证IP包的合法性l(3)IP分组选项处理l(4)确定IP分组是本地提交还是转发l(5)转发寻径l(6)转发验证l(7)TTL处理l(8)数据包分段l(9)链路寻址路由器工作说明路由器工作说明36路由器的分组转发结构路由器的分组转发结构交换结构(转发表)分组排队分组排队数据链路层 处 理物理层处 理物理层处 理数据链路层 处 理网络层处理网络层处理路由表输输入入端端口口输输出出端端口口37端口转发时分组所经过的层交换结构(转发表)路由表网 络 层网 络 层数据链路层数据链路层物 理 层物 理 层38路由器为
20、报文寻找路由需要需要的信息路由器为报文寻找路由需要需要的信息 l目的地址信息:报文发送的目的主机。l邻站确定信息:指明谁直接连接到路由器的接口上。l路由发现信息:发现邻站知道哪些网络。l路由选择信息:通过从邻站学习到的信息,提供最优的(与度量值有关)到达目的地的路径l路由保持信息:路由器保存一张路由表,它存储所知道的所有路由信息。39路由算法的复习路由算法的复习l1.静态路由静态路由l(1)洪泛(flooding)算法l(2)热土豆(Hot Potato)算法l(3)固定路由算法4041 动态(Dynamic)路由表是路由器根据网络系统的运行情况自动调整的路由表。通常是通过路由器与相邻路由器交
21、换网络信息来动态地进行路由表维护的。路由器间相互交换网络信息的规范由路由协议定义。根据发现和计算到达目的网络的新路径的方法,可以把动态路由算法分为3种。动态路由路由42距离向量(distance vector)算法l距离向量算法的原理非常简单:它把每经过一个路由器称为一跳。一条路由上的跳数称为“距离”,然后动态地选择最短距离作为路径。43l这类协议每隔30秒,就要向相邻站点发送整个路由选择表,使相邻站点的路由选择表得到更新。这样,它就能从别的站点(直接相连的或其他方式连接的)收集一个网络的列表,以便进行路由选择。如果在9 0秒内没有收到相邻站点发送的路由选择表更新,它才认为相邻站点不可达。44
22、链路状态(link state)算法R1R2-2R3-1R2R1-2R4-4R3R1-1R4-1R5-3R4R3-1R2-4R5-3R5R3-3R4-4(b)链路状态数据库(a)网络拓扑结构R1R2R3R4R5(c)网络树状表示R1R2R4R5R345重要概念重要概念度量路由器从一个网络接收分组,并将分组转发到另一个网络。但是,路由器通常连接到多个网络,并且都可能到达目的网络,这时它将把分组转发到哪个网络呢?l为了基于最优化原则决定一个可用的最佳路径,人们引入了度量(或称度,metric)。度量就是给通过的网络所指派的代价,是被路由算法用来计算和确定到达目的地的最优路径的标准。一个特定路由的总
23、度量等于组成该路由的所有网络的度量之和。按照最优化原则,路由器选择具有最小度量的路由。给每一个网络指派的度量,取决于协议的类型。46常用的几种路由度量标准常用的几种路由度量标准 l(1)路径长度。通常用跳步数表示。l(2)可靠性。在一般情况下,可靠性通常取网络链路的错误比特的比率。l(3)时延。路由时延是指通过网络把数据包从源地址移动到目的地所需要的时间总和。l(4)带宽。l(5)负载。网络资源或链路已被使用的部分的大小,例如CPU的使用率以及每秒钟可以处理的数据包的数目等。l(6)最大传输单元(MTU)。在一条路径上所有链接可接受的最大消息长度(单位为字节)。l(7)通讯成本。对那些相对于网
24、络性能更加关注运行成本的企业来说,其重要性就更加明显。47n划分了自治系统后,就可以把Internet中使用的协议分为两大类:n(1)内部网关协议(IGP,InteriorGatewayProtocol)在一个自治系统内部使用的路由选择协议与其他自治系统中采用什么路由选择协议无关,主要有RIP、OSPF等。n(2)外部网关协议(EGP,External Gateway Protocol)当两个自治系统中使用不同的路由选择协议时,在两个自治系统之间进行数据报文的转换路由选择协议,主要有BGP。n一个自治系统就是处于一个管理机构控制之下的路由器和网络群组,它由一个单独的管理机构管理(即由一个ISP
25、运营),有权自主地决定本系统内部的路由协议。重要概念重要概念自治系统486.5.2 路由信息协议RIPlRIP(RoutingInformationProtocol)是一种内部协议网关。它采用距离向量(跳数表)算法,用于小型自治系统中,并且将源代码嵌入了基于BSDUNIX的操作系统中,使人们容易接受。49RIP的特点的特点l(1)动态更新路由l周期性地(通常每隔30s)更新它的距离向量表,及时交换因拓扑结构变化引起的路由信息,维护相邻路由器的关系,同时根据收到的路由表计算自己的路由表。l(2)距离向量协议l不允许同时使用多条路由,只能按照含最少路由器数选择路由。l(3)适用于小型自治网络lRI
26、P允许一条路由最多只能包含15个路由器。l(4)好消息传得快,坏消息传得慢l坏消息传播得慢,会使许多更新过程的收敛时间过长。50目的主机所在网号下一站路由器地址距离N10直达0N20直达0N10直达0N20直达0N30N4020.0.0.820.0.0.812更新目的主机所在网号下一站路由器地址距离N20直达0N30直达0N20直达0N30直达0N10N4020.0.0.230.0.0.711更新目的主机所在网号下一站路由器地址距离N30直达0N40直达0N30直达0N40直达0N10N2030.0.0.430.0.0.421更新R1N1010.0.0.0N2020.0.0.0N3030.0.
27、0.0N4040.0.0.020.0.0.210.0.0.520.0.0.830.0.0.430.0.0.740.0.0.6初始路由表更新后路由表更新R2R3RIP路由表的建立过程路由表的建立过程516.5.3 开放式最短路径优先协议OSPF(openshortestpathfirst)是针对RIP的缺点于1989年开发出来的一种路由协议52OSPF的设计特点的设计特点 l(1)“开放”。开放的设计思想,表明它不受任何一家厂商所左右,这正是它的强大生命力和广泛用途的源泉所在。l(2)OSPF把物理网络称为链路。OSPF是一种分布式链路状态协议,它通过传递链路状态广播数据包(Link State
28、 Advertisement,LSA)维护一张网络有向拓扑图。l(3)分层路由。OSPF把一个大型网络除了按照运营分割成一些自治系统外,还进一步分割成一些“区域”(area),形成不同层次的路由,如 区域之间的路由;区域内部的路由。l(4)OSPF路由协议支持路由验证,只有互相通过路由验证的路由器之间才能交换路由信息。并且OSPF可以对不同的区域定义不同的验证方式,提高网络的安全性。53OSPFOSPF区域区域lOSPF允许将每一个AS分为一些编号区域(area),用32bit的区域标识符RID(areaID)标识。区域是包含在AS内部的一些网络、主机、路由器的集合,通常对应地理边界或者行政边
29、界。对于几个相邻网络,各区域之间不重叠,有些路由器可能不属于任何区域。l所有的OSPF网络都至少要包含一个区域,并且要有一个主干区域。在具有多个区域的OSPF网络中,主干区域要与其他区域连接,以使其他区域直接把路由信息通知给主干区域,然后再由主干区域把此信息通知给其他区域。因此,主干区域相当于一级区域.其他区域相当于二级区域。l区域是通过一个32位的区域ID来识别的。区域ID可以表示成一个十进制的数字,也可以表示成一个点分十进制的数字,例如:l.l16.16l271.1.15l主干区域的编号为0。54OSPFOSPF路由器分类路由器分类l(1)内部路由器(internal router):这类
30、路由器连接的网络都在一个区域内。l(2)区域边界路由器ABR(AreaBorderRouter):把本区域的有关信息概括起来发给其他区域。l(3)自治系统边界路由器ASBR(ASBorderRouter):连接AS的路由器,一台路由器可以同时既是ABR,又是ASBR。l(4)主干路由器(backbone router):在主干中的路由器。一个主干路由器同时也可能是一个ABR或ASBR。55Internal RoutersInternal RoutersBackbone/Internal RoutersExternal ASABR and Backbone RoutersABR and Back
31、bone RoutersASBR and Backbone RoutersArea 0Area 2Area 1有有4 4类类OSPFOSPF路由器的网络路由器的网络56层次路由层次路由57链路(网络)类型链路(网络)类型 l(1)点到点链路(或称点对点网络)点到点链路直接连接两个路由器,中间没有其他主机或路由器。l(2)过渡链路(或称多路访问网络)过渡链路是一种连接有若干个路由器的网络。数据可以从任何一个路由器进入网络,并从任何另一个路由器离开网络。这种链路又可以分为两种:l广播多路访问网络支持与两个以上的路由器连接,并可以同时把一个报文发送到所有与之连接的路由器。l非广播多路访问网络支持与两
32、个以上的路由器连接,但无广播能力。其特例是点到多点网络。l(3)残桩链路残桩链路是只连接到一个路由器的网络。数据分组通过这个单一路由器进入网络,并通过这个路由器离开该网络。l(4)虚拟链路虚拟链路是当两个路由器之间的链路断开时管理员在它们之间使用一条更长的路径(可能经过几个路由器)创建的链路。58邻接路由器和邻接路由器和OSPFOSPF报文类型报文类型 l属于相同OSPF区域的两个相邻路由器(neighbor router),在同步了它们的拓扑结构数据库后,就可以成为邻接路由器。59OSPFOSPF的的5 5类消息类消息 报文类型描 述Hello报文路由器启动时,用于发现邻接路由器数据库描述报
33、文出现新链路时,给出报文发送者拥有的所有链路状态项序列号,接收者据此判定谁的数据最新链路状态请求报文路由器间相互发送该报文以从邻接路由器要求获取对应的链路状态信息,确定谁的数据最新链路状态更新报文用洪泛法向全网发送更新链路数据库状态链路状态确认报文对链路更新报文的确认60OSPFOSPF报文格式报文格式 lVersionnumber:定义所采用的OSPF路由协议的版本。lType:定义OSPF数据包类型。lPacketlength:定义整个数据包的长度。lRouterID:用于描述数据包的源地址,以IP地址来表示。lAreaID:用于区分OSPF数据包属于的区域号,所有的OSPF数据包都属于一
34、个特定的OSPF区域。lChecksum:校验位,用于标记数据包在传递时有无误码。lAuthenticationtype:定义OSPF验证类型。lAuthentication:包含OSPF验证信息,长为8个字节。61OSPF工作过程工作过程l(1)建立邻接关系l一个路由器运行OSPF协议后,就试图与相邻路由器建立邻接关系。它定期地向各个网络接口(包括虚拟网络接口)发送Hello报文。在Hello报文中,含有自己的ID(即某一接口的IP地址)、优先权和相邻路由表。接收到Hello报文的路由器如果发现自己在对方的相邻路由表中,就表明双方都收到了对方的Hello报文。l(2)同步LSA数据库l建立了
35、邻接关系的路由器之间相互交换各自LSA数据库内信息的过程称为数据库的同步。每一个LSA数据库中包括许多LSA。每一个LSA代表某一个路由器的局部信息,由头部和实例(instance)组成。l每当路由器发送新的LSA时,其序列号将增1。路由器接收到一个新的LSA后,可以根据LSA头部的类型、标志和广播路由器判断其自身数据库中是否有相同的LSA,并根据LSA序号决定对哪一个LSA更新。l(3)计算路由表l在接收到新的链路状态更新报文以及在实现了数据库同步后,路由器都要根据拓扑数据库重新计算它到各子网的最短路径,建立路径表。由于OSPF将Internet分成区域、AS和AS外部三个层次,所以路由的计
36、算也要分三个层次进行。62两台邻接路由器之间两台邻接路由器之间LSA数据库同步的过程数据库同步的过程 63l 假设路由器A与路由器B刚建立起邻接关系,路由器A和B将相互发送数据库描述报文。在数据库描述报文中包括多个LSA头部。l 一方(如B)发现对方(如A)的数据库描述报文中一些LSA头所代表的LSA自己的数据库中没有,或比自己的新,则将该LSA头部放入自己的LSA请求表中,然后向对方发送链路状态请求报文,要求得到具体的LSA信息(实例)。l 对方(如A)收到LSA请求报文后,将向请求方(如B)发送LSA更新报文。更新报文的数据部分是所请求LSA的完整信息。l 请求方(如B)收到每一个LSA更
37、新报文后,进行检查,将收到的新的LSA从自己的LSA请求表中删去,并向发送方(如A)发出LSA确认报文。l 如果两个路由器间的LSA请求表为空,则表明两者的数据库达到一致,同步成功。l注意,同步是一个扩散过程。即一个路由器在其链路状态发生变化或收到其他路由器发送的LSA更新报文后,也要向其邻接路由器主动发送LSA更新报文,以便其他路由器尽快更新其拓扑数据库。说明说明64l 根据所在区域的数据库,利用本区域内的路由器LSA和网络LSA,计算路由器到本区域内各网络的路由。l 根据ABR向本区域散发的网络综合LSA,计算路由器到本AS其他区域内各子网的可达信息。计算方法为:l 本路由器到目的网络的距
38、离=边界网关到目的网络的距离+本路由器到边界网关的距离l路由器选择到目的地的最优路径记录在路由表中。l 根据ASBR综合LSA和外部LSA,计算路由器到AS外部的网络的可达性。计算方法为:本路由器到目的网络的距离=本路由器到ASBR的距离+ASBR到目的网络的距离 其中:“本路由器到ASBR的距离”可以从前两步中得到;“ASBR到目的网络的距离”可以从AS外部LSA中得到。计算路由表的过程计算路由表的过程65SPF算法及最短路径树算法及最短路径树 SPF算法将每一个路由器作为根(ROOT)来计算其到每一个目的地路由器的距离,每一个路由器根据一个统一的数据库会计算出路由域的拓扑结构图,该结构图类
39、似于一棵树,在SPF算法中,被称为最短路径树。在OSPF路由协议中,最短路径树的树干长度,即OSPF路由器至每一个目的地路由器的距离,称为OSPF的Cost,其算法为:从源节点开始,将所连接的节点分为两个集合试验的和确定的,即先将一些节点选入试验节点集合中,然后检查它们,并把符合给定准则的节点移入确定节点集合中,从而找到最短路径中的一个节点。重复进行,直到到达目的节点。下面说明算法。l 以本地节点(路由器)作为树根。l 将代价0指派给该节点,并使之成为确定节点。l 重复进行下列步骤,对最后一个确定节点的每一个相邻节点进行检查,直到找到最短路径:l 给每一个节点指派一个累计Cost,并使之成为试
40、验的;l 在试验集合中寻找具有最小累计Cost的节点,使其成为确定的。666.5.4 6.5.4 边界网关协议边界网关协议(BGPBGP)边界网关协议(border gateway protocol,BGP)是一种外部网关协议,可以处理多个ISP间路由。67BGPBGP网络结构网络结构 BAS 1AS 1AS 2AS 2IBGPEBGPAS 3AS 3AS XAS XOSPF/RIPOSPF/RIPBGP发言人OSPF/RIPOSPF/RIPBGP发言人OSPF/RIPBGP发言人OSPF/RIPOSPF/RIPOSPF/RIPBGP发言人OSPF/RIPBGP发言人EBGPEBGPOSPF/
41、RIPIBGP68l在每个AS内部,可以运行OSPF或RIP。运行BGP的路由器称为BGP说话者(BGP speaker)。lBGP在一对邻接BGP说话者之间交换路由信息。l一对邻接的BGP称为BGP邻居(BGP neighbor)IBGP(内部BGP邻居):位于同一AS中的一对BGP邻居;EBGP(外部BGP邻居):位于不同AS中的一对BGP邻居。说明说明 69流量类型流量类型BGP定义了两种类型的流量:l本地流量:在AS中发出、在AS中终止的流量。l传输流量:其他流量都是传输流量。BGP的一个目标就是最小化传输流量的总量。70BGPBGP定义的定义的3 3种种ASAS类型类型lStubAS
42、只与另一个AS连接,并只承载本地流量。l多穴AS与一个或两个AS连接,但被配置成不转发传输流量。l 传输AS与一个或两个AS连接,并被配置成承载本地流量和传输流量。71ASAS号和号和ASAS路径路径 lAS号惟一标识一个AS的一个16bit串。lAS路径描述通过网络路由的AS号列表。72BGPBGP路由策略路由策略 l(1)第一类策略:控制从本AS到其他AS的路径。例如,制定策略限制本AS发出的数据不能经过某些中间自治系统。l(2)第二类策略:控制本AS是否为某相邻的AS传递过境数据。l(3)第三类策略:实现AS内部的协调。73 BGPBGP报文类型报文类型 l(1)OPEN(打开)报文 l
43、2)KEEPALIVE(保活)报文 l(3)UPDATE(更新)报文 l(4)NOTIFICATION(错误条件通知)报文 746.5.6 第三层交换第三层交换l第三层交换技术也称为IP交换技术。它将第二层交换机和第三层路由器两者的优势结合成为一个有机的整体,是一种利用第三层协议中的信息来加强第二层交换功能的机制,能有效地弥补传统路由器的上述不足。75第三层交换技术类型第三层交换技术类型l报文到报文交换。l流交换。76报文到报文处理的基本原理报文到报文处理的基本原理 l 报文从物理接口进入系统后,要在第二层接受目的MAC检查,若在第二层能交换则进行二层交换,否则进入到第三层。l 在第三层,报
44、文要经过路径确定、地址解析及某些特殊服务。处理完毕后报文已更新。l 确定合适的输出端口后,报文通过第一层传送到物理介质上。776.6 78n具有非常充分的地址空间扩充到128位;n简化协议,允许路由器更好地处理IP数据报;n减少路由表大小路由数可减少一个数量级;n提供身份验证和保密等进一步的安全性能;n更多地关注服务类型,特别是实时性服务;n允许通过指定范围辅助多投点服务;n允许主机IP地址与地理位置无关;n可以承前启后,可以与IPv4共存,又允许进一步演变。IPv6的的主要目标79IPv6数据报结构数据报结构80 IPv6 IP数据报固定头结构数据报固定头结构81IPv6报头介绍报头介绍l版
45、本号(4位)版本号的值为0110(6)。l优先级(4位)分非拥挤控制的交通和拥挤控制交通两种;非拥挤控制的交通是实时性交通,如实时视频和声频,优先级别高于拥挤控制交通l流标记(24位)l载荷长度(16位)载荷长度表明除IPv6头外其他部分(扩展头和传输层PDU)的长度,单位为字节数。82IPv6地址类型地址类型l单投点地址:标识单个接口,IP数据报将选择一条最短路径到达目的接口。l多投点地址:标识一组接口,IP数据报将发送给使用该多投点地址的所有接口。l任意投点地址:标识一组接口,但IP数据报只发送给其中的一个接口。83n冒分十六进制格式:x:x:x:x:x:x:x:xnx is a 16 b
46、it hexadecimal fieldn FEDC:BA98:7654:3210:FEDC:BA98:7654:3210n:can be used to represent multiple groups of 16 bits of zeron:can only be used once in an addressnFF01:0:0:0:0:0:0:101=FF01:101n0:0:0:0:0:0:0:1=:1n0:0:0:0:0:0:0:0=:IPv6地址地址表示84从从IPv4IPv4向向IPv6IPv6的过渡的过渡(1)双协议栈技术IPv6与IPv4虽然格式不兼容但它们都基于相同的物理
47、平台,而且加载于其上的TCP和UDP完全相同。因此,如果一台主机能同时运行IPv4和IPv6,就有可能逐渐实现从IPv4向IPv6过渡。(2)网络地址转换-协议转换(NAT-PT)技术NAT-PT(NetworkAddressTranslationProtocolTranslation)技术通过与SIIT协议转换和传统的IPv4下的动态地址翻译(NAT)以及适当的应用层网关(ALG)相结合,实现只安装了IPv6的主机与只安装了IPv4的主机间大部分应用的相互通信。(3)6 over 4隧道技术隧道技术就是设法在现有的IPv4网络上开辟一些“隧道”将这些局部的IPv6网络连接起来。具体方案是,将
48、IPv6数据分组封装入IPv4,送入隧道,IPv4分组的源地址是隧道入口,IPv4分组的目的地址是隧道出口。IPv4分组穿过隧道后,在出口处再取出IPv6分组转发给目的站点。(4)6 to 4隧道技术6to4隧道技术简称6to4技术,它是一种自动构造隧道的技术,它可以自动从IPv6地址的前缀中提取一个IPv4地址。856.7 TCP/UDPl物理网络实现了链路中的通信lIP层实现了主机间的通信lTCP/UDP运输层用于实现应用进程间通信。86TCPIP网络接口应用网络接口IP网络1TCPIP网络接口应用网络2 TCP看到的通信系统TCP协议所处的位置协议所处的位置 TCP 提供多个端口保证多进
49、程通信,提供端到端的、面向连接的、可靠的流服务 876.7.1 TCP服务特征服务特征 l点对点的通信 l虚电路连接l全双工通信l面向数据流的服务l有缓冲的传输l完全可靠性l可靠连接的建立l可靠数据传输:l从容关闭:确保关闭连接之前传递所有的数据。88TCP连接的可靠建立连接的可靠建立 三次握手建立连接三次握手建立连接l三次握手(three-way handshake)方案解决了由于网络层会丢失、存储和重复分组带来的问题。l三次握手正常建立连接的过程lA 发出序号为X的建立连接请求CR TPDU(TPDU:传输协议数据单元)。lB 发出序号为Y的接受连接确认ACK TPDU,并确认A的序号为X
50、的建立连接请求。lA 发出序号为X的第一个数据DATA,并确认B的序号为Y的接受连接确认。89SYN=1,ACK=0,SEQ=y,ACK=x+1 TCPB 主机B主机A TCPASYN=1,ACK=1,SEQ=xSYN=1,ACK=1,SEQ=x+1,ACK=y+1 连接请求对确认再确认接受请求,回送确认连接成功!三次握手建立三次握手建立TCP连接过程连接过程90从容关闭从容关闭 三次握手释放三次握手释放TCP连接过程连接过程FIN=1,ACK=x+1 TCPB 主机B主机A TCPAACK=1,SEQ=x应用进程不再发送数据,请求释放连接确认确认SEQ=y,FIN=1,ACK=1,SEQ=y






