详解网络支架BGP协议.docx_第1页
详解网络支架BGP协议.docx_第2页
详解网络支架BGP协议.docx_第3页
详解网络支架BGP协议.docx_第4页
详解网络支架BGP协议.docx_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

详解: 网络支架BGP协议1. 概述因特网,在20世纪60年代末,作为一个实验,开始于DARPA(美国国防部的高级研究项目管理局)。随着研究机构、学院和政府加入,形成了最早的ARPANET.后来,美国国家科学基金会又开发了NSFNET(1995年4月停用)。发展到现在,因特网成为了由商业提供者运营的的更分散的体系。而下一代因特网(NGI)的计划已于1997年10月启动,目前已推出的主要方案有Internet2,Abilene等。出于管理和扩展的目的,因特网可以被分割成许多不同的自治系统(Autonomous System)。换句话说,因特网是由自治系统汇集而成的。BGPv4(Border gateway protocol Version 4)边缘网关协议(定义于RFC1771),是现行因特网的实施标准,就是用来连接自治系统,实现自治系统间的路由选择功能的。2. IGP与EGP所有的路由选择协议可以被分成IGP和EGP两种。要了解IGP和EGP的概念,应该首先了解自治系统(AS)的概念。传统的AS定义(RFC1771):AS是同一个技术管理下的一组路由器,它们使用一种内部网关协议和一致的度量尺度来对数据包进行AS内部的路由,而使用外部网关协议来对发向其它AS的数据包进行路由选择。发展到现在,已经允许并且时常采用在一个自治系统AS中使用多个内部网关协议,甚至多个路由选择的度量标准。所以,现在的自治系统被扩展的定义为:共享同一路由选择策略的一组路由器。IGP(Interior gateway protocols)内部网关协议,定义为在一个自治系统内部使用的路由协议(包括动态路由协议和静态路由)。IGP的功能是完成数据包在AS内部的路由选择,或者说,是讲述数据包如何穿过本地AS的。RIPv1v2,IGRP,EIGRP,OSPF,ISIS都是典型的IGP.EGP(Exterior gateway protocols)外部网关协议,定义为在多个自治系统之间使用的路由协议。它主要完成数据包在AS间的路由选择,或者说,讲述数据包为了到达目的IP,需要通过哪些AS.BGP4就是一种EGP.IGP只作用于本地AS内部,而对其他AS一无所知。它负责将数据包发到主机所在的网段(segment)。EGP作用于各AS之间,它只了解AS的整体结构,而不了解各个AS内部的拓扑结构。它只负责将数据包发到相应的AS中,余下的工作便交给IGP来做。每个自治系统AS都有唯一的标识,称为AS号(AS number),由IANA(Internet Assigned Numbers Authority)来授权分配。这是一个16位的二进制数,范围为165535,其中6541265535为AS专用组(RFC2270)。3.BGP-4的基本概念BGP-4是典型的外部网关协议,是现行的因特网实施标准。它完成了在自治系统AS间的路由选择。可以说,BGP协议是现代整个网络的支架。BGP-4在RFC1771中作出了规定,并且还涉及其他很多的RFC文档。在这一新版本中,BGP开始支持CIDR(Classless interdomains routing)和AS路径聚合(Aggregation),这种新属性的加入,可以减缓BGP表中条目的增长速度。BGP协议是一种距离矢量(Distance vector)的路由协议,但是比起RIP等典型的距离矢量协议,又有很多增强的性能。BGP使用TCP作为传输协议,使用端口号179.在通信时,要先建立TCP会话,这样数据传输的可靠性就由TCP协议来保证,而在BGP的协议中就不用再使用差错控制和重传的机制,从而简化了复杂的程度。另外,BGP使用增量的、触发性的路由更新,而不是一般的距离矢量协议的整个路由表的、周期性的更新,这样节省了更新所占用的带宽。BGP还使用“保留”信号(Keepalive)来监视TCP会话的连接。而且,BGP还有多种衡量路由路径的度量标准(称为路由属性),可以更加准确的判断出最优的路径。与传统的内部路由协议相比,BGP还有一个有趣的特性,就是使用BGP的路由器之间,可以被未使用BGP的路由器隔开。这是因为BGP在独立的内部路由协议之上工作,所以通过BGP会话连接的路由器能被多个运行内部路由协议的路由器分开。建立了BGP会话连接的路由器被称作对等体(peers or neighbors),对等体的连接有两种模式:IBGP(Internal BGP)和EBGP(External BGP)。IBGP是指单个AS内部的路由器之间的BGP连接,而EBGP则是指AS之间的路由器建立BGP会话。前面已经提到,BGP是用来完成AS之间的路由选择的,所以对于BGP来说,每一个AS都是一个原子的跳度。那么,IBGP又起什么样的作用呢?IBGP是用来在AS内部完成BGP更新信息的交换。虽然这种功能也可以由“再分布” (Redistribution)技术来完成将EBGP传送来的其他AS的路由“再分布”到IGP中,然后将其“再分布”到EBGP传送到其他AS.但是相比之下,IBGP提供了更高的扩展性、灵活性和管理的有效性。比如,IBGP提供了选择本地AS外出点的方式。IBGP的功能是维护AS内部连通性。BGP规定,一个IBGP的路由器不能将来自另一IBGP路由器的路由发送给第三方IBGP路由器。这也可以理解为通常所说的Split-horizon规则。当路由器通过EBGP接收到更新信息时,它会对这个更新信息进行处理,并发送到所有的IBGP及余下的EBGP对等体;而当路由器从IBGP接收到更新信息时,它会对其进行处理并仅通过EBGP传送,而不会向IBGP传送。所以,在AS中,BGP路由器必须要通过IBGP会话建立完全连接的网状连接,以此来保持BGP的连通性。如果没有在物理上实现全网状(full meshed)的连接,就会出现连通性上的问题。AS在BGP看来是一个整体,AS内部的BGP路由器都必须将相同的路由信息发送给边界的EBGP路由器。路由信息在通过IBGP链路时不会发生改变,只有通过EBGP链路时,路由信息才会发生变化。在AS内部,通过IBGP连接的路由器都有相同的BGP路由表(BGP路由表(BGP Routing Table)用于存放BGP路由信息,不同于IGP路由表,两个表之间的信息可以通过“再分布”(Redistribution)技术进行交换)。TCP/IP协议结构和各种协议四层模型TCP/IP这个协议遵守一个四层的模型概念:应用层、传输层、互联层和网络接口层。网络接口层模型的基层是网络接口层。负责数据帧的发送和接收,帧是独立的网络信息传输单元。网络接口层将帧放在网上,或从网上把帧取下来。互联层互联协议将数据包封装成internet数据报,并运行必要的路由算法。这里有四个互联协议:网际协议IP:负责在主机和网络之间寻址和路由数据包。地址解析协议ARP:获得同一物理网络中的硬件主机地址。网际控制消息协议ICMP:发送消息,并报告有关数据包的传送错误。互联组管理协议IGMP:被IP主机拿来向本地多路广播路由器报告主机组成员。传输层传输协议在计算机之间提供通信会话。传输协议的选择根据数据传输方式而定。两个传输协议:传输控制协议TCP:为应用程序提供可靠的通信连接。适合于一次传输大批数据的情况。并适用于要求得到响应的应用程序。用户数据报协议UDP:提供了无连接通信,且不对传送包进行可靠的保证。适合于一次传输小量数据,可靠性则由应用层来负责。应用层应用程序通过这一层访问网络。网络接口技术IP使用网络设备接口规范NDIS向网络接口层提交帧。IP支持广域网和本地网接口技术。串行线路协议TCP/IPG一般通过internet串行线路协议SLIP或点对点协议PPP在串行线上进行数据传送。(是不是我们平时把它称之为异步通信,对于要拿LINUX提供建立远程连接的朋友应该多研究一下这方面的知识)?TCP/IP基础-为Linux做准备(2)=2、ARP要在网络上通信,主机就必须知道对方主机的硬件地址(我们不是老遇到网卡的物理地址嘛)。地址解析就是将主机IP地址映射为硬件地址的过程。地址解析协议ARP用于获得在同一物理网络中的主机的硬件地址。解释本地IP地址(要了解地址解析工作过程的朋友看好了)主机IP地址解析为硬件地址:(1)当一台主机要与别的主机通信时,初始化ARP请求。当该IP断定IP地址是本地时,源主机在ARP缓存中查找目标主机的硬件地址。(2)要是找不到映射的话,ARP建立一个请求,源主机IP地址和硬件地址会被包括在请求中,该请求通过广播,使所有本地主机均能接收并处理。(3)本地网上的每个主机都收到广播并寻找相符的IP地址。(4)当目标主机断定请求中的IP地址与自己的相符时,直接发送一个ARP答复,将自己的硬件地址传给源主机。以源主机的IP地址和硬件地址更新它的ARP缓存。源主机收到回答后便建立起了通信。解析远程IP地址不同网络中的主机互相通信,ARP广播的是源主机的缺省网关。目标IP地址是一个远程网络主机的话,ARP将广播一个路由器的地址。(1)通信请求初始化时,得知目标IP地址为远程地址。源主机在本地路由表中查找,若无,源主机认为是缺省网关的IP地址。在ARP缓存中查找符合该网关记录的IP地址(硬件地址)。(2)若没找到该网关的记录,ARP将广播请求网关地址而不是目标主机的地址。路由器用自己的硬件地址响应源主机的ARP请求。源主机则将数据包送到路由器以传送到目标主机的网络,最终达到目标主机。(3)在路由器上,由IP决定目标IP地址是本地还是远程。如果是本地,路由器用ARP(缓存或广播)获得硬件地址。如果是远程,路由器在其路由表中查找该网关,然后运用ARP获得此网关的硬件地址。数据包被直接发送到下一个目标主机。(4)目标主机收到请求后,形成ICMP响应。因源主机在远程网上,将在本地路由表中查找源主机网的网关。找到网关后,ARP即获取它的硬件地址。(5)如果此网关的硬件地址不在ARP缓存中,通过ARP广播获得。一旦它获得硬件地址,ICMP响应就送到路由器上,然后传到源主机。ARP缓存为减少广播量,ARP在缓存中保存地址映射以备用。ARP缓存保存有动态项和静态项。动态项是自动添加和删除的,静态项则保留在CACHE中直到计算机重新启动。ARP缓存总是为本地子网保留硬件广播地址(0xffffffffffffh)作为一个永久项。此项使主机能够接受ARP广播。当查看缓存时,该项不会显示。每条ARP缓存记录的生命周期为10分钟,2分钟内未用则删除。缓存容量满时,删除最老的记录。加入静态(永久)记录通过添加静态ARP项可减少ARP请求访问主机的次数。ARP包的结构ARP结构的字段如下:硬件类型-使用的硬件(网络访问层)类型。协议类型-解析过程中的协议使用以太类型的值。硬件地址长度-硬件地址的字节长度,对于以太网和令牌环来说,其长度为6字节。协议地址长度-协议地址字节的长度,IP的长度是4字节。操作号-指定当前执行操作的字段。发送者的硬件地址-发送者的硬件地址。发送者的协议地址-发送者的协议地址。目的站硬件地址-目标者的硬件地址。目的站协议地址-目标者的协议地址。?TCP/IP基础-为Linux做准备(3)=3、ICMP和IGMPinternet控制消息协议ICMP是用于报告错误并代表IP对消息进行控制。IP运用互联组管理协议IGMP来告诉路由器,某一网络上指导组中的可用主机。ICMPICMP源抑制消息:当TCP/IP主机发送数据到另一主机时,如果速度达到路由器或者链路的饱和状态,路由器发出一个ICMP源抑制消息。ICMP数据包结构类型:一个8位类型字段,表示ICMP数据包类型。代码:一个8位代码域,表示指定类型中的一个功能。如果一个类型中只有一种功能,代码域置为0。检验和:数据包中ICMP部分上的一个16位检验和。指定类型的数据随每个ICMP类型变化的一个附加数据。IGMPIGMP信息传给别的路由器以使每个支持多路广播的路由器获知哪个主机组和哪个网络中。IGMP包结构版本:IGMP的版本,值一般为0x1h。类型:IGMP消息的类型。0x1h类型称为主机成员请求,在多路广播路由器上用于指定多级组中的任何成员轮询一个网络。0x2h类型称为主机成员报告,在主机上用于发布指定组中的成员情况或对一个路由器的主机成员请求进行回答。未用:未用的域名被发送者置零且被接收者忽略。检验和:IGMP头的一个16位检验和。组地址:主机用该组地址在一个主机成员请求中存储IP多路广播地址。在主机成员请求中,组地址被全置零,而且硬件级的多路广播地址被用来标示主机组。4、IPIP是一个无连接的协议,主要就是负责在主机间寻址并为数据包设定路由,在交换数据前它并不建立会话。因为它不保证正确传递,另一方面,数据在被收到时,IP不需要收到确认,所以它是不可靠的。有一些字段,在当数据从传输层传下来时,会被附加在数据包中,我们来看一下这些字段:源IP地址:用IP地址确定数据报发送者。目标IP地址:用IP地址确定数据报目标。协议:告知目的机的IP是否将包传给TCP或UDP。检查和:一个简单的数学计算,用来证实收到的包的完整性。TTL生存有效时间:指定一个数据报被丢弃之前,在网络上能停留多少时间(以秒计)。它避免了包在网络中无休止循环。路由器会根据数据在路由器中驻留的时间来递减TTL。其中数据报通过一次路由器,TTL至少减少一秒。根据我们前面提到关于ARP的知识,如果IP地址目标为本地地址时,IP将数据包直接传给那个主机;如果目标地址为远程地址的话,IP在本地的路由表中查找远程主机的路由(看来好象我们平时拨114一样)。如果找到一个路由,IP用它传送数据包。如果没找到呢,就会将数据包发送到源主机的缺省网关,也称之为路由器。(很多时候一直在搞网关和路由器的定义,其实我觉得在学的时候不一定死抠概念,现在硬件和软件结合的产品越来越多了,一时很分清的,只要我们运用的时候可以解决实际问题嘛。)这样当路由器收到一个包后,该包向上传给IP:(1)如果交通阻塞(听起来蛮可怕的),包在路由器中停滞,TTL至少减1或更多。要是它降到0的话,包就会被抛弃。(2)如果对于下一网络来说包太大的话,IP会将它分割成若干个小包。(3)如果包被分解,IP为每个新包制造一个新头,其中包括:一个标志,用来显示其它小包在其后;一个小包ID,用来确定所有小包是一起的;一个小包偏移,用来告诉接收主机怎么重新组合它们。(4)IP计算一个新的检验和。(5)IP获取一个路由的目标硬件地址。(6)IP转发包。在下一主机,包被发送到TCP或UDP。每个路由器都要重复该过程。直到包到达最终目的地。当包到达最终目的地后,IP将小包组装成原来的包。TCP/IP基础-为Linux做准备(4)=5、TCPTCP是一种可靠的面向连接的传送服务。它在传送数据时是分段进行的,主机交换数据必须建立一个会话。它用比特流通信,即数据被作为无结构的字节流。通过每个TCP传输的字段指定顺序号,以获得可靠性。如果一个分段被分解成几个小段,接收主机会知道是否所有小段都已收到。通过发送应答,用以确认别的主机收到了数据。对于发送的每一个小段,接收主机必须在一个指定的时间返回一个确认。如果发送者未收到确认,数据会被重新发送;如果收到的数据包损坏,接收主机会舍弃它,因为确认未被发送,发送者会重新发送分段。端口SOCKETS实用程序使用一个协议端口号来标明自己应用的唯一性。端口可以使用0到65536之间的任何数字。在服务请求时,操作系统动态地为客户端的应用程序分配端口号。套接字套接字在要领上与文件句柄类似,因为其功能是作为网络通信的终结点。一个应用程序通过定义三部分来产生一个套接字:主机IP地址、服务类型(面向连接的服务是TCP,无连接服务是UDP)、应用程序所用的端口。TCP端口TCP端口为信息的传送提供定地点,端口号小于256的定义为常用端口。TCP的三次握手TCP对话通过三次握手来初始化。三次握手的目的是使数据段的发送和接收同步;告诉其它主机其一次可接收的数据量,并建立虚连接。我们来看看这三次握手的简单过程:(1)初始化主机通过一个同步标志置位的数据段发出会话请求。(2)接收主机通过发回具有以下项目的数据段表示回复:同步标志置位、即将发送的数据段的起始字节的顺序号、应答并带有将收到的下一个数据段的字节顺序号。(3)请求主机再回送一个数据段,并带有确认顺序号和确认号。TCP滑动窗口TCP滑动窗口用来暂存两台主机间要传送的数据,有点类似CACHE。每个TCP/IP主机有两个滑动窗口:一个用于接收数据,另一个用于发送数据。6、UDP用户数据报协议UDP提供了无连接的数据报服务。它适用于无须应答并且通常一次只传送少量数据的应用软件。UDP端口端口作为多路复用的消息队列使用。15NETSTAT网络状态53DOMAIN域名服务器69TFTP平凡文件传送协议137NETBIOS-NSNETBIOS命令服务138NETBIOS-DGMNETBIOS数据报服务161SNMPSNMP网络监视器TCP/IP基础-为Linux做准备(5)IP地址分配1、IP地址IP地址标识着网络中一个系统的位置。我们知道每个IP地址都是由两部分组成的:网络号和主机号。其中网络号标识一个物理的网络,同一个网络上所有主机需要同一个网络号,该号在互联网中是唯一的;而主机号确定网络中的一个工作端、服务器、路由器其它TCP/IP主机。对于同一个网络号来说,主机号是唯一的。每个TCP/IP主机由一个逻辑IP地址确定。网络号和主机号IP地址有两种表示形式:二进制表示(1和0太多了就搞不清)和点分十进制表示。每个IP地址的长度为4字节,由四个8位域组成,我们通常称之为八位体。八位体由句点.分开,表示为一个0-255之间的十进制数。一个IP地址的4个域分别标明了网络号和主机号。2、地址类型为适应不同大小的网络,internet定义了5种IP地址类型。可以通过IP地址的前八位来确定地址的类型:类型 IP形式 网络号 主机号A类 w.x.y.z w x.y.zB类 w.x.y.z w.x y.zC类 w.x.y.z w.x.y z我们来看一下这5类地址:A类地址:可以拥有很大数量的主机,最高位为0,紧跟的7位表示网络号,余24位表示主机号,总共允许有126个网络。B类地址:被分配到中等规模和大规模的网络中,最高两位总被置于二进制的10,允许有16384个网络。C类地址:被用于局域网。高三位被置为二进制的110,允许大约200万个网络。D类地址:被用于多路广播组用户,高四位总被置为1110,余下的位用于标明客户机所属的组。E类地址是一种仅供试验的地址。3、地址分配指南在分配网络号和主机号时应遵守以下几条准则:(1)网络号不能为127。大家知道该标识号被保留作回路及诊断功能,还记得平时ping?(2)不能将网络号和主机号的各位均置1。如果每一位都是1的话,该地址会被解释为网内广播而不是一个主机号。(TCP/IP是一个可广播的协议嘛)(3)相应于上面一条,各位均不能置0,否则该地址被解释为“就是本网络”。(4)对于本网络来说,主机号应该是唯一。(否则会出现IP地址已分配或有冲突之类的错误)分配网络号对于每个网络以及广域连接,必须有唯一的网络号,主机号用于区分同一物理网络中的不同主机。如果网络由路由器连接,则每个广域连接都需要唯一的网络号。分配主机号主机号用于区分同一网络中不同的主机,并且主机号应该是唯一的。所有的主机包括路由器间的接口,都应该有唯一的网络号。路由器的主机号,要配置成工作站的缺省网关地址。有效的主机号A类:w.0.0.1-w.255.255.254B类:w.x.0.1-w.x.255.254C类:w.x.y.1-w.x.y.254TCP/IP基础-为Linux做准备(6)=4、子网屏蔽和IP地址TCP/IP上的每台主机都需要用一个子网屏蔽号。它是一个4字节的地址,用来封装或“屏蔽”IP地址的一部分,以区分网络号和主机号。当网络还没有划分为子网时,可以使用缺省的子网屏蔽;当网络被划分为若干个子网时,就要使用自定义的子网屏蔽了。缺省值我们来看看缺省的子网屏蔽值,它用于一个还没有划分子网的网络。即使是在一个单段网络上,每台主机也都需要这样的缺省值。它的形式依赖于网络的地址类型。在它的4个字节里,所有对应网络号的位都被置为1,于是每个八位体的十进制值都是255;所有对就主机号的位都置为0。例如:C类网地址和相应的缺省屏蔽值。确定数据包的目的地址我们说把屏蔽值和IP地址值做“与”的操作其实是一个内部过程,它用来确定一个数据包是传给本地还是远程网络上的主机。其相应的操作过程是这样的:当TCP/IP初始化时,主机的IP地址和子网屏蔽值相“与”。在数据包被发送之前,再把目的地址也和屏蔽值作“与”,这样如果发现源IP地址和目的IP地址相匹配,IP协议就知道数据包属于本地网上的某台主机;否则数据包将被送到路由器上。注:我们知道“与”操作是将IP地址中的每一位与子网屏蔽中相应的位按逻辑与作比较。建立子网1、子网简介一个网络实际上可能会有多个物理网段,我们把这些网段称之为子网,其使用的IP地址是由某个网络号派生而得到的。将一个网络划分成若干个子网,需要使用不同的网络号或子网号。当然了,划分子网有它的优点,通过划分子网,每个单位可以将复杂的物理网段连接成一个网络,并且可以:(1)混合使用多种技术,比如以太网和令牌环网。(最流行的两种接口都支持了哦)(2)克服当前技术的限制,比如突破每段主机的最大数量限制。(3)通过重定向传输以及减少广播等传输方式以减轻网络的拥挤。实现子网划分在动手划分子网之前,我们一定要先分析一下自己的需求以及将来的规划。一般情况下我们遵循这样的准则:(1)确定网络中的物理段数量。(就是子网个数嘛)(2)确定每个子网需要的主机数。注意一个主机至少一个IP地址。(3)基于此需求,定义:整个网络的子网屏蔽、每个子网唯一的子网号和每个子网的主机号范围。子网屏蔽位在定义一个子网屏蔽之前,确定一下将来需要的子网数量及每子网的主机数是必不可少的一步。因为当更多的位用于子网屏蔽时,就有更多的可用子网了,但每个子网中的主机数将减少。(这和定义IP地址的概念正好相反)TCP/IP基础-为Linux做准备(7)=2、定义子网屏蔽将网络划分成若干个子网时,必须要定义好子网屏蔽。我们来看看定义的步骤:(1)确定物理网段也就是子网的个数,并将这个数字转换成二进制数。比如B类地址,分6个子网就是110。(2)计算物理网段数(子网数)的二进制位数,这里是110,所以需要3位。(3)以高位顺序(从左到右)将这个反码转换成相应的十进制值,因为需要3位,就将主机号前3位作为子网号,这里是11100000,所以屏蔽就是。3、定义子网号子网号与子网屏蔽的位数相同。(1)列出子网号按高到低的顺序使用的位数。例如子网屏蔽使用了3位,二进制值是11100000。(2)将最低的一位1转换成十进制,用这个值来定义子网的增量。这个例子中是1110,所以增量是32。(3)用这个增量迭加从0开始的子网号,直到下一个值为256。这个例子中就是w.x.32.1-w.x.63.254、w.x.64.1-w.x.127.254等。4、定义子网中的主机号从上面的例子看出,一旦定义了子网号,就已经确定了每个子网的主机号了。我们在做每次增量后得出的值表明了子网中主机号范围的起始值。确定每个子网中的主机数目(1)计算主机号可用的位数。例如在B类网中用3位定义了网络号,那么余下的13位定义了主机号。(2)将这个余下的位数也就是主机号转换为十进制,再减去1。例如13位值1111111111111转换为十进制的话就是8191,所以这个网络中每个子网的主机数就是8190了。实现IP路由1、IP路由简介路由就是选择一条数据包传输路径的过程。当TCP/IP主机发送IP数据包时,便出现了路由,且当到达IP路由器还会再次出现。路由器是从一个物理网向另一个物理网发送数据包的装置,路由器通常被称为网关。对于发送的主机和路由器而言,必须决定向哪里转发数据包。在决定路由时,IP层查询位于内存中的路由表。(1)当一个主机试图与另一个主机通信时,IP首先决定目的主机是一个本地网还是远程网。(2)如果目的主机是远程网,IP将查询路由表来为远程主机或远程网选择一个路由。(3)若未找到明确的路由,IP用缺省的网关地址将一个数据传送给另一个路由器。(4)在该路由器中,路由表再次为远程主机或网络查询路由,若还未找到路由,该数据包将发送到该路由器的缺省网关地址。每发现一条路由,数据包被转送下一级路由器,称为一次“跳步”,并最终发送至目的主机。若未发现任何一个路由,源主机将收到一个出错信息。TCP/IP基础-为Linux做准备(=静态IP和动态IP路由路由器采用的路由方式决定它如何获得路由信息。静态路由是IP协议的函数实现,它需要创建路由表并进行人工刷新。若路由改变,则静态方式的路由器并不通知彼此的变化,也不会与动态方式的路由器进行交换。而动态路由是路由协议的函数实现,相关的协议如:路由信息协议RIP和开放式最短路径协议OSPF等。这些协议周期性地在采用动态方式的路由器之间进行交换彼此已知的路由信息,包括信息的变化也能自动通知。2、静态IP路由静态路由器只能与有已知接口并正常工作的网络通信。此时可以在每一个网络上增加一个路由表,或者为另一个路由器的本地接口增加缺省网关地址。配置静态IP路由器一个主机要与网络上的其它主机通信,缺省网关地址的配置,就要与路由器在本地接口上的IP地址相匹配。一个不需要手工增加路由的静态路由配置方法,是把每一个有多接口主机的缺省网关地址,配置成公用网络上其它多接口主机的本地接口,当然这种方法只在在两个静态路由器的情况下才可行。创建路由表我们可以用route命令来增加路由项目。比如这条命令:#routeadddefault54就在路由表中增加了一条缺省网关的地址。其它的使用方法可以参见man中对route命令的描述。对路由表进行修改后可以用netstat-r命令来查看当前的路由表的内容:#netstat-rRoutingtablesInternet:DestinationGatewayFlagsRefsUseNetifExpiredefault54UGSc1941ed0-刚才手工加入的项UH1644lo0192.168.1UC00ed0540:e0:1e:ce:85:a9UHLW20ed03、动态IP路由路由器使用动态路由协议(RIP或OSPF)在已知网络间自动交换彼此的路由数据。如果数据变化的话,路由协议会自动更新路由表,同时将更新通知网络上其它的路由器。一个主机与网络上的其它主机通信时,缺省网关地址必须与本地路由器的接IP地址匹配,也就是说这个主机对外的通信都是通过缺省网关即本地路由器对本地的接口代理的。RIP路由信息传输协议RIP帮助网络交换传输信息,所有的RIP信息数据都是用UDP端口520传输的。使用RIP的路由器会互相交换网络号和到达这些网络的路由距离。这个距离用来被路由器选择到达网络的最少路由。混合静态与动态路由我们可能会想到如果使用混合的路由的情况吧。静态路由器不与动态路由器交换路由信息。如果要使静态路由器向运行RIP或OSPF的动态路由器传送信息时,必须在各自的路由表中增加一个静态路由数据。很久没来论坛了,去了两次面试,其实觉得面试的东西很看重基础知识的理解,有一次面试就问道的OSI七层的东西。我觉得,面试官很看重学生的基础知识。除非,要求你进去就马上能干活的那种。毕竟这样我觉得是少数,毕竟我们学的再多,也不可能学完,学全。每个企业,对于每一方面的要求都是不一样的。毕竟业务范围不同。知识内容是网络转来的,不是很深,蛮看吧。动态路由协议基本工作原理最近忙着学OSPF协议,于是就去网上搜了些不错的文章,大伙们,共享了!正文如下:随着Internet技术在全球范围内的飞速发展,IP网络作为一种最有前景的网络技术,受到了人们的普遍关注。而作为IP网络生存、运作、组织的核心IP路由技术提供了解决IP网络动态可变性、实时性、QoS等关键技术的一种可能。在众多的路由技术中,OSPF协议已成为目前Internet广域网和Intranet企业网采用最多、应用最广泛的路由技术之一。本文在分析OSPF动态路由协议基本工作原理的基础上,提出了Dijkstra算法和OSPF路由表计算的实现方法。目前应用较多的路由协议有RIP和OSPF,它们同属于内部网关协议,但RIP基于距离矢量算法,而OSPF基于链路状态的最短路径优先算法。它们在网络中利用的传输技术也不同。RIP是利用UDP的520号端口进行传输,实现中利用套接口编程,而OSPF则直接在IP上进行传输,它的协议号为89.在RIP当中,所有的路由都由跳数来描述,到达目的地的路由最大不超过16跳,且只保留唯一的一条路由,这就限制了RIP的服务半径,即其只适用于小型的简单网络。同时,运行RIP的路由器需要定期地(一般30s)将自己的路由表广播到网络当中,达到对网络拓扑的聚合,这样不但聚合的速度慢而且极容易引起广播风暴、累加到无穷、路由环致命等问题。为此,OSPF应运而生。OSPF是基于链路状态的路由协议,它克服了RIP的许多缺陷:第一,OSPF不再采用跳数的概念,而是根据接口的吞吐率、拥塞状况、往返时间、可靠性等实际链路的负载能力定出路由的代价,同时选择最短、最优路由并允许保持到达同一目标地址的多条路由,从而平衡网络负荷;第二,OSPF支持不同服务类型的不同代价,从而实现不同QoS的路由服务;第三,OSPF路由器不再交换路由表,而是同步各路由器对网络状态的认识,即链路状态数据库,然后通过Dijkstra最短路径算法计算出网络中各目的地址的最优路由。这样OSPF路由器间不需要定期地交换大量数据,而只是保持着一种连接,一旦有链路状态发生变化时,才通过组播方式对这一变化做出反应,这样不但减轻了不参与系统的负荷而且达到了对网络拓扑的快速聚会。而这些正是OSPF强大生命力和应用潜力的根本所在。一、OSPF工作原理分析OSPF是一种分层次的路由协议,其层次中最大的实体是AS(自治系统),即遵循共同路由策略管理下的一部分网络实体。在每个AS中,将网络划分为不同的区域。每个区域都有自己特定的标识号。对于主干(backbone)区域,负责在区域之间分发链路状态信息。这种分层次的网络结构是根据OSPF的实际提出来的。当网络中自治系统非常大时,网络拓扑数据库的内容就更多,所以如果不分层次的话,一方面容易造成数据库溢出,另一方面当网络中某一链路状态发生变化时,会引起整个网络中每个节点都重新计算一遍自己的路由表,既浪费资源与时间,又会影响路由协议的性能(如聚合速度、稳定性、灵活性等)。因此,需要把自治系统划分为多个域,每个域内部维持本域一张唯一的拓扑结构图,且各域根据自己的拓扑图各自计算路由,域边界路由器把各个域的内部路由总结后在域间扩散。这样,当网络中的某条链路状态发生变化时,此链路所在的域中的每个路由器重新计算本域路由表,而其它域中路由器只需修改其路由表中的相应条目而无须重新计算整个路由表,节省了计算路由表的时间。OSPF由两个互相关联的主要部分组成:“呼叫”协议和“可靠泛洪”机制。呼叫协议检测邻居并维护邻接关系,可靠泛洪算法可以确保统一域中的所有的OSPF路由器始终具有一致的链路状态数据库,而该数据库构成了对域的网络拓扑和链路状态的映射。链路状态数据库中每个条目称为LSA(链路状态通告),共有5种不同类型的LSA,路由器间交换信息时就是交换这些LSA.每个路由器都维护一个用于跟踪网络链路状态的数据库,然后各路由器的路由选择就是基于链路状态,通过Dijkastra算法建立起来最短路径树,用该树跟踪系统中的每个目标的最短路径

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论