网络基础 上海广电通讯网络有限公司 金宁亚 13337815608 jinningya@svacomm.com
TCP/IP简介(Internet物理结构、TCP/IP原理) Lucent 19 מרץ, 2017 TCP/IP原理及应用简介 TCP/IP简介(Internet物理结构、TCP/IP原理) IP路由协议介绍 其它 Analyst
一、Internet的物理结构 Internet是一个利用TCP/IP技术,通过路由器连接各种局域网的覆盖全球的计算机网络,在它上面提供了许多我们所需要的服务。如,WWW ,FTP ,TFTP ,Telnet,BBS,Mail,Gopher等。 Intranet LAN Router Intranet FTP Server HTTP Server SMTP Server Intranet Intranet Intranet Internet结构示意图
TCP/IP与OSI模型比较 TCP/IP OSI 应用层 应用层 表示层 会话层 TCP UDP 协议 传送层 网络层 IP协议 网络层 数据链路层 网络接口协议 物理层 物理网络
TCP/IP结构 TELNET FTP SMTP DNS TFTP TCP UDP ARP RARP ICMP IP 网络接口协议
二、了解TCP/IP——信息如何从源端穿越网络到达目的端? 在TCP/IP中,所有的协议被封装在IP分组中,通过IP网间网传输。 IP是一个路由协议,这意味着使用IP通信的两个节点不必连接到同一物理线路上(不进行路由)。要对信息是如何穿越有一个基本的了解,要理解以下六个问题: 1. 该协议中的地址格式是什么? 2. 设备如何获得一个地址? 3. 协议中的地址如何映射到一个物理地址? 4. 终端节点如何查找路由器? 5. 路由器如何由网络的拓扑结构进行路由? 6. 用户如何查找网络上的服务(服务名字解析:DNS等)?
2.1 MAC(物理地址)地址与IP地址 MAC地址: 在网上的两个计算机要通信,最终要利用它们的物理地址来联系。在局域网的技术中,使用最普遍的物理地址是MAC地址(以太网卡标识),它在以太网中唯一地标识了每个对象。MAC地址是一个48bit的整数。一般写成:U:V:W:X:Y:Z或U-V-W-X-Y-Z,U到Z是0~255的整数(常用16近制表示),其中X:Y:Z代表以太网卡厂家,如 00:20:AF属于3Com。MAC地址是全球唯一的。 IP地址:IP地址由一个32位值组成,它是由网络管理员为每一台工作站(或服务器)设置的一组数字。一般写成:W.X.Y.Z,W到Z是0~255的整数。Internet上的每个机器具有唯一的IP地址。它用于节点在IP互联网上的通信。为了便于路由,IP地址是一种层次化地址,它可分为两部分:网络地址和节点地址。当一个IP包要前往一个IP终端的时候,先利用该网络地址寻找最佳的到达终端网络的路径,然后利用节点地址定位到目的地。共由五类IP地址:A类地址、B类地址、C类地址、D类地址、E类地址。
2.1 MAC(物理地址)地址与IP地址 地址 用途 IP地址中有一些是保留的,它们具有特殊的用途。 全0网络地址 只在系统启动时有效,用于启动时临时通信 网络127 指本地节点(一般为127.0.0.1),用于测试网卡及TCP/IP软件,这样浪费了1700万个地址 全0节点地址 用于指定网络本身,指网络号,如用于子网掩码 全1节点地址 用于广播,也称定向广播,需要指定目标网络 全0 IP 地址 RIP协议中用它指定默认路由,路由表中信宿的网络号为0.0.0.0 全1 IP 地址 用于本地广播,也称有限广播,无须知道本地网络地址 特殊的IP地址
2.1 MAC(物理地址)地址与IP地址 A类地址 7bit 24bit B类地址 10 14bit 16bit 31 网络号 节点号 7bit 24bit 网络号 节点号 共有27-2(全0、全1)=126个A类网络,每个网络可容纳224-2(全1、全0)个节点。 B类地址 31 10 14bit 16bit 节点号 网络号 共有214-1=16,383个B类网络,每个网络可容纳216-2=65,534个节点。
2.1 MAC(物理地址)地址与IP地址 C类地址 110 21bit 8bit D类地址 1110 28bit 31 节点号 网络号 110 21bit 8bit 节点号 网络号 共有221-1=2,097,171个C类网络,每个网络可容纳28-2=254个节点。一般net.1用于默认路由器,最多只有253个主机。 D类地址 31 1110 28bit 该地址 用于组播,从224.0.0.0~239.255.255.255,其中224.0.0.1用于永久组播。 E类地址:11110XXX.H.H.H,作为实验的保留地址,从240.0.0.0~247.255.255.255。 另外,11111XXX.H.H.H留着备用。
IP地址与MAC地址的关系: 2.1 MAC(物理地址)地址与IP地址 既然每一台设备已经有一个物理地址,那么为什么还需要IP地址呢?首先,并不是每一台设备都支持以太地址,而IP地址能使那些没有以太地址的设备(光纤、令牌环等)能利用IP地址连接到Internet。其次,以太地址由设备商管理,而不是由买方机构管理,因此最终要得到一个基于设备商,而不是设备位置的有效路由方式是不可能的。而IP地址是根据网络拓扑结构来分配的,这利于网络路由。最后一点,利用IP地址和MAC地址结合的方式增加了组网的灵活性。如果一块以太卡坏了,可以换掉它,而不必获取一个新的IP地址;如果一个IP节点从一个网络被移到另一个网络,可以给它分配一个新的IP地址,而不必更换一块新的以太卡。 IP地址是网络层地址,用于信息穿越互联网络的目的,可利用它路由。而MAC地址用于同一线路上两个节点间的通信,不能用来路由。
2.2 给TCP/IP设备分配IP地址 要将网络连接到Internet,可以向InterNIC(Internet Network Information Center)申请IP地址。可通过E-MAIL到hostmaster@internic.net联系。也可以向ISP申请IP地址。过去,当一个组织向NIC申请IP地址时,你可以取得一个A或B或C。在某一类地址中具体的地址分配可以由组织自己控制。由于IP地址的紧张,现在已不以地址类别为地址分配单位了,而采用CIDR(Classless InterDomain Routing,无类型域间路由)分配方式。 解决IP地址紧张的手段有两种:利用Proxy代理技术和子网划分技术。假设公司只得到了一个B的地址172.16.0.0。公司可能有几个物理网络,由于只有一个网络号,所以不可能给每个物理网络一个网络地址。可以将公司的Intranet划分成几个子网,它们之间通过路由器连接起来。在IP地址中,可以将172.16.0.0中的后两个字节的一部分作为子网地址。这样还可以减少网络交通,便于管理。划分子网时,要为每台设备指定子网掩码。这样,具有相同的子网掩码的设备就处于同一个子网内。子网之间的路由与Internet中的路由相似。注意,RIP I 不支持子网路由,RIP II支持。 例:将网络172.16.0.0分成4个子网。网络结构-掩码配置-子网识别。
2.2 给TCP/IP设备分配IP地址 有了子网的概念,下面进一步讲CIDR地址分配。现在NIC可以给你一个子网掩码地址(即给你一个子网),如可以提供子网号192.168.2.192,这样你的网络中可以有26-2=62台设备。这样的子网称slash网(它具有的是子网号,而不是网络号)。192.168.2.192子网是一个slash 26网,NIC控制前26位,组织控制后6位。 得到了IP地址,就可以将它分配给设备。大部分IP设备需要人工配置IP地址,将IP地址输入到某些配置程序或控制台中。一起输入的通常还有其它信息,如广播地址,子网掩码和默认网关地址等。某些站点支持IP地址的动态配置。像引导协议(Boot Protocol, BOOTP)和动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)这样的协议能利用集中服务器分配唯一的IP地址,并根据需求配置其它信息。
2.3 将IP地址映射到MAC地址(ARP) Internet中的两个节点要通信,它们首先是靠IP地址来标识联系的,但它们最终要靠MAC地址来通信,一旦知道了对方的MAC地址,两个节点就可以在以太网内进行通信。所以要将IP地址映射到MAC地址。完成这个工作的协议是地址解析协议(Address Resolution Protocol,ARP)。在具体讲述ARP之前,先来了解一下以太网中流动的信息(IEEE802.3)。 我们先看一下以太网的一般配置: 打、拆帧和计算校验和 网卡 网卡 处理载波监听和冲突检测(A/D、D/A) 主机 主机
2.3 将IP地址映射到MAC地址(ARP) 以太帧格式: 总体结构(10/100M): A D C B 8B 6B 6B 2B CRC 帧前导 目的地址 源地址 帧类型 数据 8B 6B 6B 2B 46~1500B 填充 4B 10...10,10101011 基于CSMA/CD原因 自识别,增加上层协议的灵活性 帧同步 帧起始 可能是单目、多目和广播(FFFFFF)
2.3 将IP地址映射到MAC地址(ARP) 当信源网卡想通过信宿IP地址知道其MAC地址的时候,它向同一线路上的所有机器广播一个ARP报文(如下图),该报文封装在以太帧中。它填充以太帧的“数据”字段。 帧头 ARP数据报文 CRC 31 8 16 硬件类型 协议类型 硬件地址长度 协议地址长度 操作 发送者硬件地址(0~3B) 发送者硬件地址(4~5B) 发送者IP(0~1B) 发送者IP(2~3B) 目的硬件地址(0~1B) 目的硬件地址(2~5B) 目的IP(0~3B)
2.3 将IP地址映射到MAC地址(ARP) ARP报文解释: ARP报文处理 硬件类型:发送者本机硬件接口类型(以太网卡:1) 协议类型:发送者提供的高级协议类型(IP协议:0X0800) 操作:说明报文类型 1:ARP请求 2:ARP响应 目的硬件地址:ARP请求时,空出该域。 有些硬件技术不支持上层软件访问帧头,所以在帧头中和ARP数据报文中都有发送者硬件地址域。 ARP报文处理 进行ARP请求时,发送者在“发送者硬件地址”域和“发送者协议地址”域分别填入本机的硬件地址和IP地址;并在“目标协议地址”域填入要解析的目标机的IP地址,在“操作”域填入“1”。 目标机处理请求时,在所缺域中填入相应数据,交换发送者域和目标域的位置,将“操作”域更改为“2”。
2.3 将IP地址映射到MAC地址(ARP) 当A(IP_A)为得到B(IP_B)的MAC地址而广播ARP请求时,它在以太帧头的目的物理地址中填入“FFFFFF”。问在同一线路上的所有机器,“请IP地址是IP_B的机器告诉它的MAC地址”。这时候只有B会响应,并回答出自己的MAC地址。 为了提高效率,ARP使用了高速缓存技术。机器尽可能地将它所能知道的IP和MAC地址对存入高速缓存(默认生存期是30s,可人为修改),对在高速缓存中有的IP地址,它将不进行ARP请求。另外,在新机入网时,它主动广播其MAC地址。
路由器是将局域网连接成广域网的常用的方法。路由器在网络中的一般位置如图:它有两个MAC地址和两个IP地址。 2.4 终端节点找路由器 路由器是将局域网连接成广域网的常用的方法。路由器在网络中的一般位置如图:它有两个MAC地址和两个IP地址。 路由器 LAN LAN 当TCP/IP网络上的节点有一个IP分组要发送给另一个节点时,它遵循一个简单的算法来决定如何进行。它利用目标地址与子网掩码“与”的方法来决定发送者和目标是否在同一个网段。若它们在同一个网段,发送节点就使用ARP得到信宿节点的MAC地址,并将分组封装在一个数据链路层的帧中,直接传送到信宿节点。如果它们不在同一个网段,这时候要将分组交给路由器去处理(同前)。 节点如何知道到哪一个路由器呢?在TCP/IP的终端上至少要人工配置一个路由器的地址,通常称默认网关(我机器的默认网关是192.168.2.1)。当分组到达路由器以后,路由器对它的处理就是路由的问题。
2.5 路由器路由 一个以太网中包含IP数据的帧传向路由器是为了到达其它网络,那么在终端节点和路由器之间流动的到底是什么呢?一旦终端节点通过ARP知道了路由器的MAC地址,它就可以将IP数据封装在以太帧中(如下图)传向路由器。这种方式使得IP具有很好的灵活性,能适应各种下层网络。下面按照Internet协议(IP协议)和TCP及UDP协议以下层以太网为例来介绍一下帧内容。
2.5 路由器路由- IP协议 IP协议: 传输机制 IP数据报传输是一种简洁而有效的分组交换方式,为了达到最高的传输速率,它放弃了可靠性保证(如检错、重传等,数据的可靠性要靠更高层协议,如TCP等来保证),以便尽快将数据报传往目的地。它不保证传输质量,只是尽最大努力来传输要传的数据。IP数据报传输的关键问题是分片和重组。分片是为了适应物理网的最大传输单元(MTU),重组是为了将已分片的数据根据分片规则重新组合起来。数据报传输的一大特点是随机路由,因而从信源到信宿的时延也是随机的。另外,在路由时数据报还可能进入一条循环路由,IP中采用“生存期”来解决。
2.5 路由器路由- IP协议 IP数据报 4 8 16 19 24 31 版本号 报头长度 TOS 总长度 标识符 标志 分片偏移量 4 8 16 19 24 31 版本号 报头长度 TOS 总长度 标识符 标志 分片偏移量 TTL 协议 首部校验和 信源IP地址 目的IP地址 IP选项(若有) 填充 数据 ………………... 版本:V4 报头长度:它是以32比特为单位的。最常见的是5(不含IP选项,20B),也有为6的(含IP选项,24B)。 TOS(业务类型):IP协议是一个不保证质量的协议。它通过TOS来弥补一下其QOS的不足。其8个比特的含义如下:
2.5 路由器路由- IP协议 IP数据报(续) TOS(业务类型):IP协议是一个不保证质量的协议。它通过TOS来弥补一下其QOS的不足。其8个比特的含义如下: 3 5 7 优先级 D T R 保留 三个比特的优先级指明本数据报的优先级,允许发送方表示数据报的重要程度。优先级从0到7,其中“0”表示普通用户优先级,“7”表示网络控制优先级。 D、T、R表示本数据报希望的传输类型。D=1表示低时延,T=1表示高吞吐量,R=1表示高可靠性。注意,优先级对网络没有强制性,目前大多数网络对此一般不作处理,但为技术的进一步的提供了手段。 总长度:指明IP数据报的长度,以字节为单位。数据报最长为216=64k字节 标识符、标志和分片偏移量:它们用于分片和重组,下面一同介绍。
2.5 路由器路由- IP协议 IP数据报(续) 我们知道,任何IP帧最终都要封装在链路层帧中才能发送和被目标所接收。而链路层帧在每一种物理网络中都有一个最大长度限制,这个最大长度称为最大传输单元(Maximum Transfer Unit,MTU)。所以虽然IP数据报的最大长度可以达到64k,但在链路上传输的数据帧最大只能达到MTU。所以当IP数据报从IP层传到数据链路层和从一个MTU较大的的物理网络通过路由器达到另外一个MTU较小的网络的时候,主机和路由器先要将IP数据报划分成较小的数据单元,这个过程叫做数据报分片。较小的数据报在达到目的地之前不会进行重组,他们可以自由路由,到达目的地后他们会重新组合成原来的数据报,若在这个过程中,某一个数据报片丢失,整个数据报将无法重组。在实际情况下,接收机在收到初始片后将启动一个重组定时器,如果在收到所有分片之前定时器超时,则接收机丢弃已收到的分片,不对数据报进行进行处理。IP规范要求:路由器必须接收所连网络中MTU大小的数据报;同时必须随时能够处理至少576B的数据报,对主机的要求也是如此。 分片和重组的具体过程:
2.5 路由器路由- IP协议 IP数据报(续) 在将数据报分片时,先将原数据报的报头复制到每个数据报片中,然后填入“标志”域,它一共有3个比特,第一个比特指明是否要对数据报分片,为‘1’表明这是一个分片数据报;第二个比特指明该分片是否是这个数据报的最后一个分片,‘1’表示不是最后一个分片,也就是说分片未完;第三个比特未用。其中的标识符指明了它原来属于哪一个数据报。然后填入“偏移量”域,它指明该分片的数据在原来数据只能中从数据头开始的字节偏移量,第一个分片的偏移量为0,这样可以确定数据片在原数据中的位置,以便到终端进行重组。它还要填入“总长度”域,它指明分片的长度。 当各分片通过各种路径到达接收机的时候,通过“标志”域的第一位可以知道这是一个分片,并且由“标识符”知道它属于哪一个数据报;由第二位知道是否收到了最后一个分片,如果收到了最后一个分片,由该分片中的“偏移量”和所有属于该数据报的数据总长度就可以知道是否收到了所有的分片,从而可以进行重组。重组好数据报后就可以交给IP层去处理。
2.5 路由器路由- IP协议 IP数据报(续) TTL(Time To Live,生存期):它用来处理时延。它以秒为单位,指明了数据报在网络中的最长有效时间。路由器处理报头时,从TTL中减1;若数据报在路由器中排队而被延迟;则要从TTL中减去等待时间;若TTL=0则将它从网络中删除。 协议:它指明数据区中的数据格式,说明在IP的上一层(传输层)所采用的协议,如(TCP、UDP)。当IP数据报到达对端以后,将按照“协议”来将数据报交给传输层进行相应处理。 头部校验和:对报头的CRC。 IP选项:包括时间戳、源站路由、路由器路由,IP数据报中可以没有这些选项。 UDP、TCP协议:为了对基于TCP/IP的高层服务进行访问,TCP和UDP数据报被封装在IP分组中进行传送。为了把数据交给相应的上层程序去处理,需要另一级寻址。在节点上提供的每一个服务可以通过“端口”的唯一地址访问。它们位于传输层,提供了端口(进程)复用的能力。
2.5 路由器路由- TCP/UDP协议 UDP、TCP协议: TCP、UDP 服务/端口(保留):一共有216=65536个端口 端口号 关键字 描述 42 NAMESERVER 主机名字服务 53 DOMAIN 域名服务 UDP 67 BOOTPS 启动协议服务 69 TFTP 简单文件传输 111 SUNRPC 微系统公司RPC(远程过程调用) 20 FTP-DATA 文件传输服务(数据连接) 21 FTP 文件传输服务(控制连接) TCP 23 TELNET 远程登录服务 25 SMTP 简单邮件服务 42 NAMESERVER 主机名字服务 53 DOMAIN 域名服务
2.5 路由器路由- TCP/UDP协议 UDP建立在IP协议之上,它封装在IP数据区中,同IP协议一样提供无连接数据报传输。相对于IP协议,它唯一增加的能力是提供协议端口,以保证进程通信。UDP报文格式如下: 16 31 UDP源端口 UDP信宿端口 长度 UDP校验和 数据 ……………….. UDP信宿端口:一个UDP端口是一个可读写的软件结构,内部有一个接收报文缓冲区。接收数据时,UDP软件要判断此信宿端口是否与当前使用的端口匹配,如是,则将数据报放入相应的接收队列,否则,抛弃该数据并向信源端口发送“端口不可达”的差错消息报文。 长度:以字节计的整个报文长度,最小为8,只有报头。 校验和:它是一个可选项,以提高效率。 在利用IP传送语音和视频的时候,要利用UDP协议。
2.5 路由器路由- TCP/UDP协议 TCP也是建立在IP协议之上,封装在IP数据区中,但它是在基于无连接的IP协议之上提供面向连接 的高可靠性 数据传输和与进程通信的能力。它利用确认与超时重传、滑动窗口机制 进行流控和拥塞控制来保证高可靠性的,同时,为了保证可靠性,它以牺牲效率为代价,在高适时要求场合不合适。TCP段格式如下: 4 10 16 24 31 源端口 信宿端口 序号 确认号 头长 保留 码位 窗口 校验和 紧急指针 可选项 填充 数据 ………………..
2.5 路由器路由- TCP/UDP协议 序号:指出段中数据在发送端数据流中的位置。 确认号:指出本机希望下一个接收的字节的序号。 头长:指出以32比特为单位的段头长度。它是针对便长的“选项”域设计的。 码位:有些报文段是用于传输数据的,但有些报文段仅仅携带了确认信息,另一些报文段携带的是建立和关闭连接的请求。它使用“码位”来指出段的目的与内容。这6个比特各位的意义如图: 0 URG,紧急指针字段可用 1 ACK,确认字段可用 2 PSH,本报文段请求急迫(PUSH)操作 3 RST,连接复位 4 SYN,序号同步,用于建立连接中的同步 5 FIN,发送方字节流结束 由于有时发送方希望终止操作,不想接收方接收完所有的比特。如远程主机上的程序错误时就需要这种信号。TCP将数据指定为“紧急”型,接收方收到这种数据后,会不必排队而尽快通知应用程序。URG比特为1时,表明它是紧急的,其中的“紧急指针”指出了紧急数据在报文段中的结束位置。
2.5 路由器路由- TCP/UDP协议 当所有的紧急数据消失之后,TCP软件会告诉应用程序恢复正常的操作状态。PUSH位提供了数据强迫传输机制,以强迫传输当前流中的数据,而不必等待缓冲区满。远程登录中,终端的击键信号就是用PUSH操作来提供的。 窗口(滑动窗口):用于通知接收端接收缓冲区的大小。 理解TCP的面向连接特性: 一条TCP连接是一条虚电路,它通过主机IP地址和端口号来标识一条连接。如(192.168.2.37,21;192.168.2.30,21)就标识了一条TCP连接。所以两个程序可以共享主机上的同一端口,因为连接不同。 连接的建立和拆除需要得到对方的认可,而UDP中,一方发送数据是不需要得到对方的认可的。 连接能保持状态并实现可靠性,而无连接不能保持状态。一般来说,控制信息是通过TCP来传递的。 它是在无连接的协议,IP协议之上来实现面向连接的。
TCP/IP Internet环境中的协议层次 2.5 路由器路由- TCP/UDP协议 TCP/IP Internet环境中的协议层次 Telnet,FTP等 报文或数据流 TCP/UDP 数据报或段 IP IP数据报 802.3等 特定网络帧 硬件(含ARP) 数据流内容 ….. 信源IP 信宿IP …… 以太帧头 IP头 TCP/UDP头 应用数据 校验 同步 目标MAC 源MAC 协议类型
2.5 路由器路由 前面讲述了在网络上流动的信息的内容,当IP分组到达路由器以后,路由器要通过路由将它传向下一个路由器或直接交给目标网络(若目标机在路由器所在的网络)。具体的路由过程留在后面讲述。这里还有一个问题,终端节点在通过ARP用路由器的IP地址找到其MAC地址后,在IP头中的“目标IP地址”中的内容是什么呢,是路由器的IP地址,还是最终节点的IP地址? 当然是最终节点的IP地址,否则路由 器不会知道把该分组送到那里去。 事实上,分组在网络中穿梭的过程中,IP头中的“目标IP地址”和源“源IP地址”始终不变,都是最终节点的IP地址。而两个MAC地址是随着穿越不同的网络而改变的。 192.168.2.2 192.168.3.2 00:08:00:00:02:02 主机 主机 00:08:00:00:03:02 192.168.2.1 192.168.3.1 路由器 00:08:00:00:03:01 00:08:00:00:02:01 … 00:08:00:00:02:01 00:08:00:00:02:02 0800 … 192.168.2.2 192.168.3.2 ... … 00:08:00:00:03:02 00:08:00:00:03:01 0800 … 192.168.2.2 192.168.3.2 ...
Lucent 19 מרץ, 2017 IP 地 址 规 划 Analyst
Lucent 19 מרץ, 2017 Host 地 址 172.16.200.1 10.1.1.1 V0 V1 172.16.3.10 10.250.8.11 172.16.12.12 10.180.30.118 IP: 172.16.2.1 IP: 10.6.24.2 172.16 . . 12 12 Each device or interface must have a nonzero host number. A host address of all ones is reserved for an IP broadcast into that network. A value of zero means 搕his network?or 搕he wire itself?(for example, 172.16.0.0). It was also used for IP broadcasts in some early TCP/IP implementations, although it is rarely found now. The routing table contains entries for network or wire addresses; it usually does not contain any information about hosts. An IP address and subnet address on an interface achieves three purposes: It enables the system to process the receipt and transmission of packets. It specifies the device抯 local address. It specifies a range of addresses that share the cable with the device. Routing Table Network Host Network Interface 172.16.0.0 10.0.0.0 V0 V1 Analyst
地 址 没 有 进 行 子 网(SubNets) Network 172.16.0.0 172.16.0.0 Lucent 19 מרץ, 2017 地 址 没 有 进 行 子 网(SubNets) 172.16.0.0 For an address without subnets, the outside world sees the organization as a single network, and no detailed knowledge of our internal structure is required. All datagrams addressed to 172.16 are treated the same way, regardless of the third and fourth octet of the address. A benefit from this addressing schemecan be the relatively short routing tables that routers can use. Network addressing with the scheme we have set up so far has no way of distinguishing individual segments (wires) within the network. Inside the cloud having no subnets we have a single large broadcast domain梐ll systems on the network encounter all the broadcasts on the network. This addressing scheme can result in relatively poor network performance. By default, this Class B address space defines one wire with 65,000 workstations on it. What is needed is a way to divide this wire into segments. Network 172.16.0.0 Analyst
地 址 有 子 网 (SubNets) Network 172.16.0.0 172.16.1.0 172.16.2.0 Lucent 19 מרץ, 2017 地 址 有 子 网 (SubNets) 172.16.1.0 172.16.2.0 172.16.3.0 172.16.4.0 With subnets, the network address use is more efficient. There is no change to how the outside world sees the network, but within the organization, there is additional structure. In the example, the network 172.16.0.0 is subdivided or broken up into four subnets, 172.16.1.0, 172.16.2.0, 172.16.3.0, and 172.16.4.0. Routers determine the destination network using the subnet address, limiting the amount of traffic on the other network segments. Network 172.16.0.0 Analyst
Lucent 19 מרץ, 2017 Subnet(子 网 )地 址 172.16.200.1 172.16.3.5 V0 V1 172.16.2.2 172.16.3.100 172.16.2.160 172.16.3.150 IP: 172.16.3.1 IP: 172.16.2.1 From the addressing standpoint, subnets are an extension of the network number. Network administrators decide the size of subnets based on organization and growth needs. Network devices use subnet masks to identify which part of the address is considered network and which remaining part to leave for host addressing. Routing Table 172.16 2 . 2 . 160 160 Network Interface Network Subnet Host 172.16.2.0 172.16.3.0 V0 V1 Analyst
Subnet Mask (子 网 掩 码 ) 172 16 255 255 Network Host IP 地 址 Network Host Lucent 19 מרץ, 2017 Subnet Mask (子 网 掩 码 ) Network Host 172 16 IP 地 址 Network Host 缺省子网掩 码 255 Network Subnet Host 8-bit 子 网 掩 码 255 An IP address is 32 bits in size, written as four octets. The subnet mask is 32 bits in size, written as four octets. The layout of the subnet mask field is as follows: Binary 1 for the network bits Binary 1 for the subnet bits Binary 0 for the host bits Subnet masks indicate which of the bits in the host field are used to specify different parts (subnets) of a particular network. Use host bits, starting at the high order bit position Analyst
Lucent 19 מרץ, 2017 十 进 制 与 位 的 等 值 1 0 0 0 0 0 0 0 = 128 1 1 0 0 0 0 0 0 = 192 1 1 1 0 0 0 0 0 = 224 1 1 1 1 0 0 0 0 = 240 1 1 1 1 1 0 0 0 = 248 1 1 1 1 1 1 0 0 = 252 1 1 1 1 1 1 1 0 = 254 1 1 1 1 1 1 1 1 = 255 128 64 32 16 8 4 2 1 Subnet bits come from the high-order bits of the host field. To determine a subnet mask for an address, add up the decimal values of each position that has a 1 in it. For example, 224 = 128 + 64 + 32. Because the subnet mask is not defined by the octet boundary, but by bits, we need to convert dotted-decimal addresses to binary and back into dotted-decimal so they can work with these addresses. Analyst
公 有 地 址 与 私 有 地 址 公 有 地 址 :由 Internet Assigned Numbers Authority (IANA) 划 分 的 能 在 INTERNET上 用 得 地 址 私 有 地 址: 由 IANA 预 留 的 地 址: 10.0.0.0 - 10.255.255.255 172.16.0.0 - 172.31.255.255 192.168.0.0 - 192.168.255.255
2.6 域名系统(Domain Name System,DNS) 域名系统是Internet中最早出现的一种名字解析方法。到现在为止,在实际应用系统中,名字解析有许多方法。这里我们仅仅了解一下DNS的原理。 从前面的学习中我们知道,在Internet中的两台机器可以通过它们的IP地址来通信。但用户在真正使用时,他们是要用Internet中的具体的服务。为了指明服务所在的的机器,用户不得不指明一个机器。用户记住一个有意义的机器名比记住一个机器的IP地址要方便得多。所以我们在用IP地址作为机器的标识以上又增加了机器名来作为机器的标识,这样用户可以更加方便地访问Internet中的服务。由于Internet上的机器之间最终要靠IP地址来通信,所以在一台机器在可以正式访问另一台机器之前,不得不先将它对方的机器名转换成其IP地址,DNS就是这样一种将机器名转换成其IP地址的方法。 DNS是TCP/IP互连网中实现机器名分级的一种机制,它指明了名字语法和名字授权管理规则,指明了一个分布式计算系统的实现,这个系统能高效地将名字映射到地址。下面按照这些要点逐一介绍:
2.6 域名系统(Domain Name System,DNS) 名字语法和分级 Internet的域名由一系列标号组成,这些标号从右到左构成了一棵从根上一级到叶的树。如www.avaya.com.cn中有四个标号。标号连同其后缀称为域。如www.avaya.com.cn的第三级域为avaya.com.cn,它表示Internet上我们AVAYA公司的计算机群体。在域名的最高级可以有两种不同的命名分级:地理的和组织的(见下表)。在每一级中,又可以划分出很多子级(如图): 域名 含义 COM 商业组织 EDU 教育机构 GOV 政府机构 MIL 军队 NET 主要网络支持中心 ORG 上述以外的组织 INT 国际组织 国家代码 国家或地区(按地理划分)
2.6 域名系统(Domain Name System,DNS) 根 COM EDU …... CN SH IBM PKU MATH WWW.MATH.PKU.EDU WWW FTP Internet 中的域名的分级结构
2.6 域名系统(Domain Name System,DNS) 域名的授权管理规则 NIC将第一级域的管理特权分派给指定的管理机构,各管理机构再对其管辖下的域名空间继续划分,并将各子部分管理特权授予子管理机构。如此下去,便形成层次型域名。由于各子管理机构是逐级授权的,所以最终的域名都得到NIC的承认。这样,域名管理系统和域名系统本身一样构成了一个树形结构,其中树根作为唯一的中央管理机构(NIC)是未命名的,不构成域名的一部分。实际上,NIC控制了第一、第二级域的分派。 例;www.avaya.com的域名申请。
2.6 域名系统(Domain Name System,DNS) 分布式域名解析 域名解析的系统构成 当一个组织申请一个域而被授权以后,它需要为它的域配置一个域名服务器。这个域名服务器上首先有该域下的域名-IP地址数据库或者有关它下面的子域域名服务器的信息(如果它下面还有许多子域的话),另外它必须知道至少一个根服务器的地址。这样域名服务器也构成了一个树形结构: 根服务器 …... .COM服务器 .EDU服务器 .CN服务器
2.6 域名系统(Domain Name System,DNS) 域名解析的过程 当一个客户端需要进行域名 的时候,它先查看自己的域名高速缓存中是否有该域名的IP地址,如果没有,它将形成一个域名查询报文送往指定的本地域名服务器(该服务器是由系统管理员指定的)。当域名服务器收到查询时,它检查名字是否处于它授权管理的子域内。如果是,它就根据自己的数据库把名字转换成IP地址,并将结构返回客户机;如果不是,它查看自己的高速缓存,看能否找到,找到则响应。否则它检查客户机指明的是哪一种转换,如果是递归转换,服务器就和它上级的能解析该名字的服务器联系,它取得对应后以响应客户机;如果是迭代转换,该服务器直接回答客户机它解析不了,但告诉客户机应该和哪一个名字服务器联系。这样,对一个域名的解析可能有多个服务器参加,从而实现其分布式解析,达到高效的解析过程。
2.6 域名系统(Domain Name System,DNS) 域服务器报文格式:请求和响应使用同一种报文格式。在响应中,服务器尽可能地将它所知道的信息返回请求者。 16 31 标识 参数 定长部分 问题数 回答数 管理机构数 附加信息数 问题部分 变长部分 回答部分 管理机构部分 附加信息部分 标识:用于解析器匹配请求与响应 参数:含义见下表
2.6 域名系统(Domain Name System,DNS) 参数域位 含义 操作:0—查询、1—响应 1~4 查询类型:0—标准、1—反向 5 若回答是授权则置位 6 若报文被截断则置位 7 若需要递归则置位 8 若有递归可用则置位 9~11 保留 响应类型:0—无差错、1—查询格式错、2—服务器失效、3—名字不存在 12~15 四个“数”:指明后面可变部分相应的项目数 问题部分:一个解析报文中可以包含多个域名询问。问题部分由一组询问组成,它包括以下几个部分:
2.6 域名系统(Domain Name System,DNS) 16 31 询问域名 ……. 询问类型 询问类别 询问域名:域名由一组标号组成,每个标号开始是一个指明其长度的字节,紧接着是该标号的实际字符。当长度为0时,表示域名结束。 询问类型:指明解析的是机器名还是邮件地址 询问类别:指协议类型,DNS不只仅仅能解析Internet域名 回答部分、管理机构部分和附加信息部分:由一组“资源记录”(见下图)组成,描述域名和映射(域名和有关该域名的信息)。
2.6 域名系统(Domain Name System,DNS) 16 31 资源域名 ……. 类型 类别 TTL 资源数据长度 资源数据 ……. 资源域名:指明本资源记录(回答、管理机构信息、附加信息)所涉及的域名。在回答域名中,多个回答域名可能采取压缩域名格式。 TTL:指明资源记录可在缓存中保留的秒数。 资源数据:可能是IP地址、管理机构信息、附加信息。 类型:指明资源是有关IP地址的、邮件交换机名、CPU和操作系统、别名的规范名字等类型。
2.6 域名系统(Domain Name System,DNS) 以上讲了域名系统的原理,它是一个高效的分布式多级的将域名转换成IP地址的系统。当用户通过域名请求一个主机上的服务时候,系统通过多个域名服务器将对端主机的域名转换成对方的IP地址,然后它们就可以通过IP地址进行Internet上的通信。
交 换 机 的 工 作 原 理
交换机的概念 LAN交换机用于多个LAN网段的相互连接,它在网络设备之间进行专用的无冲突的通讯,同时支持多个设备之间的对话。 只有几个用户数的网段称为微型网段,微型网段允许建立专用网段,即每个网段只有一个用户,每个用户立即对整个带宽访问,不会发生冲突。 LAN 交换机属第二层设备,用于解决带宽问题。 最近LAN交换机涉及到OSI的多层,具有处理高带宽应用得协议。
(Dedicated Bandwidth) 共享式以太网与交换式以太网的比较 A 碰撞 B A to B C to D Ethernet 10/100/1000M bps D C 数据传输量=10/100/1000M bps (Data Throughput) 共享带宽 (Shared Bandwidth) Switch 10/100/1000M bps A B A to B C to D 10/100/1000M bps D C 专用带宽 (Dedicated Bandwidth) 数据传输量=20/200/2000M bps
交换工作原理 一、LAN交换机在功能上类似透明桥: 1、当交换机通电时,它们通过分析所有相邻网络的输入帧源地址获取网络拓扑结构。如交换机从链路1上接收到一个来自主机A的帧,则该交换机推断可通过网络连接链路1访问主机A。通过这种处理,建立一个表。 主机地址 网络号 14 1 13 2 12 3 2、交换机以该表为基础进行通信。当交换机的某接口收到一个信息帧时,交换机在内部表中查看该帧得目的地址。如表中包含目的地址,则该帧被发送到指定的端口。 3、如果未发现任何关联,则该帧采用广播法发往除输入端口以外的所有端口。 二、LAN交换机除具有拓扑结构、转发和过滤功能外还具有独特等新功能:设备间的特定通信、多个并发会话、全双工通信等功能。
LAN 交换转发 LAN 交换机主要有两种转发方式: 存储转发(store-and-forward ) LAN 交换机将整个帧拷贝到入站缓冲区,并由计算机执行循环冗余校验(CRC),如果出现CRC错误,或该帧是小帧(包括CRC小于64字节)/ 大帧(包括CRC小于1518字节)/,则丢弃该帧,如果帧没有任何错误,LAN交换机在转发或交换时寻找目的地址,确定外出接口,然后将帧转发到目的地址。 直通(cut-through) LAN 交换机仅将目的地址(跟在序号后的6个字节)拷贝到入站缓冲区,然后在交换表中寻找目的地址, 确定外出接口 ,将帧转发到目的地。直通方式交换一旦读到目的地址并确定出站接口,就开始转发,因而减少了等待时间。 有些交换可以先将每个端口配置为直通交换方式,当到达用户定义的出错限制时,将自动改变到存储转发方式。一旦错率降到限制以下,端口自动转回到直通交换模式。
VLAN 工作站数量 网络速度 问题: A D C B 解答: 网络上每台工作站都会不断发出广播信息, 当工作站数量很多(广播域很大)时, Lucent 19 מרץ, 2017 VLAN 工作站数量 网络速度 问题: A D C B 网络上每台工作站都会不断发出广播信息, 当工作站数量很多(广播域很大)时, 网上的广播信息爆炸性增长, 导致网络速度急剧下降。 解答: ——通过划分VLAN(虚拟局域网),可以将大型网络划分成多个广播域,提高网络的性能和安全性 ——通过三层交换技术,能够实现线速、可控的跨VLAN访问,解决性能、安全与共享之间的矛盾 Analyst
VLAN 所谓VLAN是指网络中的站点不拘泥于所处的物理位置,而可以根据需要灵活地加入不同的逻辑子网中的一种网络技术。 物理图 逻辑图 Lucent 19 מרץ, 2017 VLAN 所谓VLAN是指网络中的站点不拘泥于所处的物理位置,而可以根据需要灵活地加入不同的逻辑子网中的一种网络技术。 物理图 逻辑图 Analyst
VLAN 基于网络性能的考虑: 基于安全性的考虑: 基于组织结构的考虑: Lucent 19 מרץ, 2017 VLAN 基于网络性能的考虑: 大型网络中有大量的广播信息,如不加以控制,会使网络性能集聚下降,甚至产生广播风暴,使网络阻塞。因此需要采用VLAN将网络分割为多个广播域,将广播信息限制在每个广播域内,从而降低网络拥塞,提高性能; 基于安全性的考虑: 在规模较大的网络系统内, 各网络节点间(如财务部、采购部、客户服务部等不同部门间)的数据需要相对保密。可通过划分VLAN进行隔离; 基于组织结构的考虑: 同一部门的人员分散在不同的物理地点(如集团公司的财务部在各子公司均有分部,但需统一结算),可以跨地域(交换机)将其设在同一VLAN之中,实现数据安全和共享。 Analyst
VLAN IEEE 802.1q VLAN 标记 输入端口为帧加上VLAN 标记 网络中的帧带有 VLAN 标记 Lucent 19 מרץ, 2017 VLAN IEEE 802.1q VLAN 标记 输入端口为帧加上VLAN 标记 网络中的帧带有 VLAN 标记 输出端口根据VLAN标记将帧发送给相应的VLAN Analyst
VLAN 12位用于标记,故最大ID范围是4096 IEEE 802.1q/p 帧标记 Lucent 19 מרץ, 2017 Analyst
Multi VLAN 在不同VLAN中不支持VLAN标记的工作站共同访问一台公共服务器 PVID=2 PVID=3 PVID=4 Lucent 19 מרץ, 2017 Multi VLAN 在不同VLAN中不支持VLAN标记的工作站共同访问一台公共服务器 PVID=2 PVID=3 PVID=4 PVID=1 (default) Bind to Configured Mode (2, 3, 4, 5, 6) PVID=6 PVID=5 Analyst
Multi VLAN Static Binding: Bind to Configured: Bind to All: Lucent 19 מרץ, 2017 Multi VLAN Static Binding: 可由用户手工分配 VLAN Ids到指定端口,每端口最多可分配到 1K 个ID 所有端口的缺省模式 该模式下端口处于“标记(Tag)”状态下。 PVID=3 PVID=5 PVID=9 Static Binding PVID=3 PVID=10 B2A B2C Bind to Configured: 包含手工配置范围的所有VLAN ID 用于主干网络互连端口或服务器端口 所有配置B2C模式的端口都具有相同的VLAN ID范围 Bind to All: 包含从1-3071范围的所有VLAN ID 用于主干网络互连端口或服务器端口 效果等同于802.1q Analyst
Multi VLAN 端口出租给不同客户,使之互不干扰,保证隐私。 Static Binding 模式 (手工分配VLAN ID) Lucent 19 מרץ, 2017 Multi VLAN 端口出租给不同客户,使之互不干扰,保证隐私。 PVID=2 VLAN 成员=6 PVID=5 VLAN成员=6 PVID=4 VLAN 成员 =6 PVID=3 VLAN 成员=6 Static Binding 模式 (手工分配VLAN ID) PVID= 6 VLAN 成员 = 2, 3, 4, 5 GE/ATM/FE Avaya P330 B2A 或 B2C 模式 Analyst
Layer 3 Swtich VLAN 2 VLAN 3 VLAN 1 VLAN A VLAN B VLAN C 第3层交换机
路 由 器 的 工 作 原 理
Lucent 19 מרץ, 2017 路由器概念 路由器---互连网络的枢纽 路由器工作在最低三层协议中,其中最高层为网 络层,如TCP/IP的IP层或SPX/IPX的IPX层。关 键地位是因为它 处于网络层, 路由器具有很强的异种网互联能力,互联的两个 物理网络其最低二层协议可互不相同,通过路由 器第三层得到统一 路由器均支持多协议路由,能同时支持多种不同的网络层协议(IP、IPX、APPLETALK),并可以“使能”或“禁止”某些特定协议。 The router uses information from the configuration file when it starts up. The configuration file contains commands to customize router operation. As you saw in the previous chapter, if there is no configuration file available, the system configuration dialog setup guides you through creating one. Analyst
路由器基本功能、作用(一) LAN 1 LAN 2 LAN 3 路由器的一个基本功能是连接多个独立的网络或 子网 Lucent 19 מרץ, 2017 路由器基本功能、作用(一) 路由器的一个基本功能是连接多个独立的网络或 子网 LAN 1 LAN 2 LAN 3 Analyst
路由器的另一个基本功把数据(IP报文)传送到正确的网络,细分则 包括: 路由器基本功能、作用(二) 路由器的另一个基本功把数据(IP报文)传送到正确的网络,细分则 包括: IP 数据报的转发,包括数据报的寻径和传送。 子网隔离,抑制广播风暴。 维护路由表,并与其它路由器交换路由信息,这 是 IP报文转 发的基础。 IP 数据报的差错处理及简单的拥塞控制。 实现对 IP 数据报表的过滤、记帐
IP路由 当IP分组被送到直接与该网络相连的路由器以后,路由器就要对该分组进行处理。从IP协议的学习我们知道,需要路由的携带IP分组的帧送到路由器是靠分组中路由器的MAC地址而不是其IP地址来标识这段行程的。该帧在通过路由器的数据链路层时,路由器将帧头去掉,将IP数据报送到路由器的IP层。路由器拿到该数据报的目的IP地址,如果它发现该地址不是自己的IP地址。它将通过路由将数据报转发到下一路由器或目标主机。路由器在路由时,是靠其中的路由表为依据的。在详细地讨论路由器中的IP路由算法前,我们来看一下路由表。 在进行分组投递时,路由器分两个阶段:1、如何到达目标主机的网络。2、分组到了目标网络后,由终端路由器将分组送到目标主机。一般来说,第一个阶段才是路由的实质阶段,它关系到分组穿越网间网的路径。所以,在网络上路由是以目标IP地址中的网络号为依据的。这样可以只关心目标网络的信息,而不用关心目标主机的信息,从而简化路由表,提高路由效率。典型地,路由表包含许多(N,R,D)向量,其中N是目的网络的IP地址,R是为了到达相应目的网络要经过的下一个路由器的IP地址(下一跳,next hop),D是到该网络要经过的跳数(代价)。一面是一个路由表的例子:
IP路由 Q R S 网络 路由器 跳数 20.0.0.0 直接到达 1 30.0.0.0 直接到达 1 20.0.0.5 30.0.0.6 40.0.0.7 Q 10.0.0.0 20.0.0.0 R 30.0.0.0 S 40.0.0.0 20.0.0.6 30.0.0.7 10.0.0.5 网络 路由器 跳数 20.0.0.0 直接到达 1 30.0.0.0 直接到达 1 10.0.0.0 20.0.0.5 2 40.0.0.0 30.0.0.7 2 R中的路由表 在路由表中,一般还有默认路由。当表中没有到达目标网络的下一跳时,分组将送到默认路由器。在路由表中该项网络号为0.0.0.0。 另外,虽然路由是基于网络,但多数IP路由软件允许把每个主机的路由作为特例来指定。这样可以便于测试和达到特别的安全性要求。 综上,得到路由器的路由算法:
IP路由 RouteDatagram(Datagram,RortingTable) 从数据报中抽取出目的IP地址D,计算网络前缀N; if N与任何直接连接的网络地址匹配 then在该网络上把数据报投递到目的地D上(包括把D转换成一个物理地址、封装数据报并发送该帧。) else if 表中包含了一个到D的指定主机路由 then把数据报发送到表中指定的下一站 else if 表中包含到网络N的一个路由 else if 表中包含一个默认路由 then把数据报发送到表中指定的默认路由器上 else 宣布路由出错;
Internet - IP路由 主干网络 核心系统 …... ... ... ... 核心 自治系统 随着Internet的发展,Internet的体系结构也在不断变化(核心结构、对等结构、自治域集合结构)。路由协议随着Internet的规模的增大和体系结构的变化也在不断发展。这里只讲述发展到现在的Internet的路由,我们先从Internet的体系结构讲起。我们知道,Internet是由很多路由器连接起来的,但并不是所有的路由器都是完全对等的,不同的路由器在Internet中的位置和作用可能是不一样的。事实上,Internet包括两部分:主干和外围。其中主干由主干网络和连接主干和外围的核心路由器组成,外围部分划分为若干自治系统。这样,它构成一个树形组织结构。 主干网络 核心系统 核心 …... 路由器 路由器 ... 自治系统 自治系统 自治系统 ... ... LAN LAN LAN LAN LAN
Internet - IP路由 从上面的体系结构可以看出,Internet路由包括两部分:自治系统内的路由和自治系统间的路由(由于核心网络实际上也是一个自治系统,只是它连接了其它的自治系统)。所谓自治系统,它是一个处于一个管理机构控制下的网络和路由器的群组,在一个自治系统内的路由器可以自由地寻找路由、广播路由、确认路由以及检测路由的一致性的机制。在位于两个自治系统的边界路由器负责在这两个自治系统之间交换路由信息,这样的边界路由器称特权路由器。在对这两部分路由的具体介绍之前,我们先看一下路由中的两种基本算法:矢量—距离算法和链路—状态算法。
IP路由- 距离-矢量算法 思想:基于将最短全局路由信息逐步扩散的思想。 矢量—距离路由算法 1、路由器在启动时对路由表进行初始化,对每个与自己直接相连的网络生成一个表项。路由表中的每个项目指出了一个目的网络、给出相应的距离(一般以跳数为单位)和到达该网络的下一跳(初试化时,相连网络的下一跳为“直接”) 2、更新路由:路由器周期性地向直接相连的其他路由器发送自己的路由表,当一个路由器K收到它相邻的路由器J发来的一个更新报文后,它按以下规则来更新自己的路由表。 如果J知道去某个目的网络的路由有更短的距离N,K将自己的路由表中到相应网络的距离改为N+1,下一跳为J。 如果J列出了K不知道的目的网络,在K路由表中将增加到该网络的一项,其中下一跳为J,距离为J中的距离+1。 如果K原来到目的网络的路由经过J而J到该网络的距离变化为N,K就修改自己路由表中相应的项目,其中距离改为N+1。 如果K中原来到目的网络经过J,而J中没有到该网络的路由,则K删除相应的项目。 特征:1、基于逐步扩散,收敛慢,实现简单。2、参加路由交流的路由器多(所有) ,报文数量大。3、每一个报文长度大(更新报文包括每一个可达网络项目)。
IP路由-链路状态算法 思想:基于同步(收集链路状态组成全局信息)每个路由器中的网络拓扑图(以为路由器节点,可通的网络为边,线路状态为距离或代价的无向图),独立计算最短路径(包括链路带宽、拥塞情况等因素所组成的链路代价)。 链路—状态算法(SPF,Shortest Path First,最短路径优先) 1、测试相邻路由器状态:路由器周期性发送短报文,询问邻站是否可达,如果邻站在 n 次询问中有 k 次应答,并且最后有连续两次应答,说明相邻路由器处于活跃状态,否则,它处于故障状态。 2、广播链接状态:路由器利用上一步中的结果周期性地向参与算法的路由器广播自己与相邻路由器的链接状态报文。这种报文指出一对路由器之间是否能够通信。 3、链接状态报文到达之后,路由器把链接状态标为正常或故障,更新自己的网络拓扑图。 4、链接状态变化之后,路由器利用戴克斯特拉(Dijkstra)最短路径优先算法对相应的拓扑图计算到参加算法的每个网络的最短路径。 特征:1、每个路由器中有一张标出所有路由器及其链接状态的网络拓扑图。2、只传输链接状态短报文,传送信息少。3、每个路由器独立计算最短路径,它确保了路由算法的收敛性,但实现复杂。
IP路由- RIP 前面讲了路由问题中的两种基本算法。现在开始介绍Internet中的两部分路由。首先看一下自治系统内的路由协议(内部路由协议),在自治系统内,路由器间通过它来建立路由表。内部路由协议有许多种,包括RIP(Routing Information Protocol)、HELLO、OSPF(Open Shortest Path First)协议,它们统称为IGP(Interior Gateway Protocol)。其中,RIP是过去使用较多的协议,HELLO已废弃不用,OSPF正逐渐被越来越多的厂家支持。 RIP协议 RIP协议采用矢量—距离算法。运行RIP的设备可能包括主机和路由器,其中主机只是监听路由报文并更新自己的路由表。运行RIP的路由器每30秒钟广播(内部广播)一次路由报文,该报文包括(N,D)向量。其中N是网络号,D是跳数。由于只考虑跳数而不考虑线路情况来衡量最短路径,从而不一定得到好的路由结果,所以许多RIP软件在通过低速网络路由时人为增加了条数。为了处理路由器故障带来的问题,RIP规定,对某路由如果自收到该路由通告开始,180秒后还没有收到该路由的再一次通告,则认为该路由变为无效路由。另外,在RIP中要处理慢收敛问题(路由循环问题)。 例:建立路由表----->连接失效引起IP报文进入路由循环--->路由表更新引起跳数增加。 R1 R2 网络1
IP路由- RIP 为了解决路由循环问题,RIP首先规定:路由信息中的最大跳数不能大于16,若等于16则表示该路由不可达。另外,它还包括如下技术:水平分割法、抑制法、毒性逆转法和触发更新法。
IP路由 - RIP 8 16 31 命令 版本 全零 网1协议 全零 网1的IP地址 全零 全零 到网1的距离(跳数) 网2协议 全零 8 16 31 命令 版本 全零 网1协议 全零 网1的IP地址 全零 全零 到网1的距离(跳数) 网2协议 全零 网2的IP地址 全零 全零 到网2的距离(跳数) ……………….
IP路由- RIP 说明: RIP报文的传输 例: 1、命令:1---请求部分或全部路由信息。 2---响应路由信息报文。 但大多数情况下是发送广播路由信息报文。 2、版本:为1。RIP V2支持子网路由。 3、网络协议:指出网络地址域的地址格式,使得它可以适应其它网络协议。若是IP地址,则它为2。 4、网络地址域:RIP包含14个字节的地址域。 5、指出到相应网络的跳数。 RIP报文的传输 RIP工作在UDP的520端口之上,它依靠UDP来传输并指明报文长度。所以,路由信息报文也是最终靠IP来传送的。 由于路由表更新发生在相邻路由器之间,所以报文在IP层采用全1网络号填入目的IP地址。同样,在链路层用全1物理地址广播。 由于一个路由器连接多个网络,所以它是同时向多个网络广播。 例:
IP路由 - RIP R1 1 2 R2 R3 3 4 初始化-->传输-->扩散
Lucent 19 מרץ, 2017 IP路由- OSPF 前面介绍了RIP协议,下面看一下OSPF协议。OSPF是一种基于SPF算法的内部路由协议。每个路由器中有一张网络拓扑图,路由器间通过广播它相邻的链接状态来同步拓扑图,路由器独立计算它到每个网络的最短路径。另外,OSPF还具有如下功能: 1、包含TOS路由。对从相同的出发点到相同的目的地的数据报可以按照其TOS的不同走不同的路由。 2、提供负载均衡功能。如果管理者规定了若干条代价相同的路由,OSPF会把通信量均匀地分配给这几条路由。 3、提供路由信息数据鉴别机制。防止某个恶意的用户进行电子欺骗从而控制路由 4、支持特定主机路由、子网路由、特定网络路由。 5、提供虚拟链路功能。OSPF允许管理者超越物理网络细节而抽象出来的虚拟网络拓扑结构。这样,在路由拓扑图上的两个路由器之间的一条虚拟链接,可能它们的物理连接要通过整个网络进行,但在路由通告时,仿佛它们处于同一个物理网络之内。 6、OSPF允许交换外部路由信息。在内部路由器之间发送更新报文时可以包括从外部网络得到的路由信息,但在报文格式中区分了信息的来源。 7、对多点接入网络,用指定路由器来减少广播次数。一个物理网络内的多个路由器向指定的路由器发送链路状态报文,由指定的路由器代表该网络向连接在该网络上的其它路由器发送链路状态报文。 Analyst
IP路由 - OSPF OSPF的报文格式 一共有五种类型的OSPF报文,它们具有同样结构的首部(下图): 8 16 31 8 16 31 版本 类型 报文长度 源路由器IP地址 区域标识符 校验和 鉴别类型 鉴别(0~3B) 鉴别(4~7B) 类型:1--HELLO报文,测试邻站可达性。2--网络拓扑数据库报文。3--链路状态请求报文。4--链路状态更新报文。5--链路状态确认报文。 源路由器IP地址:发出报文的路由器,指明了链路的一端。 区域标识符:指出参与算法的区域标号。 鉴别类型:0--不鉴别;1--用口令鉴别。
IP路由 - OSPF 下面我们看一下这五种类型的报文的完整格式: 1、HELLO报文 16 24 31 类型=1的OSPF首部(24B) 16 24 31 类型=1的OSPF首部(24B) 网络掩码 失效定时器 HELLO间隔 路由器优先级 指定路由器 备份指定路由器 邻站1的IP地址 …………….. 邻站n的IP地址
IP路由 - OSPF 网络掩码:指出发送报文的网络掩码(为了完成子网路由)。 失效定时器:邻站超过定时值(秒)还没有反应,就认为它不能应答。 HELLO间隔:以秒计的发送HELLO报文的周期。 指定路由器:代表多点接入网络上的所有路由器发送路由信息报文的路由器。 后备指定路由器:用于防止指定路由器故障。 路由器优先级:如果该网络还没有指定路由器,则优先级最高的路由器将成为指定路由器。一个路由器上每块网卡的优先级可以分别配置。 邻站IP地址:表示发送者最近收到邻站HELLO报文 的IP地址。
IP路由 - OSPF 2、拓扑数据库报文:描述了整个拓扑结构(链路、节点) 拓扑数据库报文是在路由器初始化时由它的邻站送来的,它初始化路由器的拓扑图。 8 16 24 29 31 类型=2的OSPF首部(24B) 全0 I M S 数据库序号 链路类型 链路标识 通告路由器 链路序号 链路校验和 链路年龄 ……..
IP路由 - OSPF I、M、S 比特:拓扑数据库可能很大,所以要进行分片。在第一片中,I=1;若有后续报文,则M=1;S=1表示由主方发送,S=0表示由从方发送,这样能标明发出的报文和确认接收报文。 数据库序号:使接收方知道是否有丢失的报文。 链路类型:指明一条链路的属性。1--路由器链路;2--网络(子网)链路;3--到IP网络的链路;4--到边界路由器(特权路由器)的链路,特权路由器要负责和外部网络交流路由信息;5--外部链路(到另一个区域)。其中,3和4统称为简要链路(Summary Link)。 链路标识:链路编号,根据链路类型而定。 通告路由器:指出通告该链路的路由器地址。 链路序号:由发送该报文 的路由器生成的整数编号。接收方按次编号重建拓扑数据库。 链路年龄:指出链路建立的时间(秒),帮助重建拓扑数据库。 描述一条链路
IP路由 - OSPF 3、链路状态请求报文 当路由器发现自己的拓扑结构中某部分信息过时时,可以请求邻站提供相应部分的更新信息。 16 31 16 31 类型=3的OSPF首部(24B) 链路类型 链路标识 通告路由器 ……..
IP路由 - OSPF 4、链路状态更新报文:路由器广播链路状态 16 31 类型=4的OSPF首部(24B) 链路状态通告数 16 31 类型=4的OSPF首部(24B) 链路状态通告数 链路状态通告1 ………... 链路状态通告n 每个链路状态通告包括相同的首部结构: 16 31 链路年龄 链路类型 链路标识 通告路由器 链路序号 链路校验和 长度
IP路由 - OSPF 对不同的链路类型,跟在首部后面的数据格式是不一样的。对应于链路类型1、2、3和4、5共四种数据格式,这里不一一描述。 5、链路状态确认报文:确保路由器正确收到链路状态 类型=5的OSPF首部(24B) 链路状态首部 …………... 链路状态首部指明它收到了那些链路状态。
IP路由 - OSPF 前面介绍了报文格式,下面看一下报文的传输。 OSPF报文的传输直接工作在IP之上,在IP头中用“协议”域为89来指明数据是OSPF报文。 OSPF的链路状态的广播和RIP的路由信息的广播具有很大不同。在广播链路状态更新报文时,直接的传输只限于在相邻的路由器之间进行,但它不是用点到点直接传输,而是用组播地址224.0.0.5和224.0.0.6进行广播。也就是说,在它打入IP包时,IP头中的目的地址是以上的组播地址,但为了只在相邻的路由器之间传播,要设IP包的TTL=1。在一个路由器接收到它邻站传来的链路状态报文后,它查看相应的链路和它已经有的链路状态是否一样。若不一样,则它以它自己为源以TTL=1广播到它的邻站;否则,它不再进一步传播。这样逐步传播(Flood),一个新的链路状态会广播到自治系统中的所有路由器。而RIP的路由信息广播只在物理网络内部进行。但这两种协议也有相同的地方,路由器都会同时向与它相连的所有物理网络广播。
R1和R2之间交换它们各自AS内部的网络可达信息。 IP路由- EGP 上面我们介绍了两种自治系统内的路由协议(更新路由表的协议)。下面看一下自治系统间的路由协议EGP(Exterior Gateway Protocol,外部网关协议)。 由于一个自治系统一般包含多个物理网络,自治系统间要用EGP来通告到自治系统内部的网络的可达信息。其典型工作环境见下图: R1 R2 AS1 AS2 AS1的特权路由器 AS2的特权路由器 R1和R2之间交换它们各自AS内部的网络可达信息。
IP路由 - EGP EGP具有三大功能:1、邻站获取,路由器可以请求另一AS的某路由器成为自己的外部邻站(EGP邻站)。2、邻站测试,不断测试邻站是否可达。3、与EGP邻站交换路由信息,通过周期性的路由刷新报文交换来实现 EGP的报文格式 EGP规定了四类报文类型(各类报文又用代码分成若干子类型共九种报文): EGP报文类型 类型号 代码 描述 获取请求 3 请求路由器成为邻站 获取证实 答应成为邻站 3 1 获取拒绝 拒绝成为邻站 3 2 终止请求 3 3 终止邻站关系 终止证实 3 4 答应终止邻站关系 HELLO 5 请求邻站回答是否活跃 I Heard You 5 1 对HELLO的应答 轮询请求 2 0/1 请求更新网络的路由 路由更新 1 网络可达信息 Error 对不正确报文的响应
IP路由 - EGP 所有的报文都有固定的首部说明报文类型: 8 16 24 31 版本 类型 代码 状态 校验和 AS编号 序号 8 16 24 31 版本 类型 代码 状态 校验和 AS编号 序号 AS编号:指出发出报文的AS编号。 序号:用于同步请求和应答。 下面看一下除首部以外的数据部分的格式: 1、邻站获取报文(类型号为3) 16 31 HELLO间隔 轮询间隔 轮询间隔:用于要求对方控制路由更新的最高频率。
IP路由 - EGP 2、邻站可达性报文(类型号为5) 它只有首部,按照n中取k的原则来确认邻站是否正常。 16 31 保留 IP源网络 IP源网络:指出报文应该传向哪个网络(EGP见工作环境图)。 5、路由更新报文 (类型号为1) 用路由更新报文将网络可达信息传送到EGP邻站。关于网络的可达信息有“第三方”限制:路由器只通告它自己AS内的网络可达信息,而不能通告它外部的网络可达信息。
IP路由 - EGP EGP采用适量—距离算法中路由信息结构来传送AS内的网络可达信息。传送的内容也包括网络号、距离(代价),这些信息指出了AS内每个路由器到其中的每个网络的距离。 另外,特权路由器也向自己的AS内广播从外部邻站接收到的路由信息,IP数据报在寻找路由时可以利用这些外部路由信息,在AS内就可以知道它的相邻的AS中的某个网络是否可达。注意,在不同AS中的距离度量标准可能是不一样的。所以在IP数据报寻找路由时,它不能对内部路由和外部路由等同对待,这就要将内部路由和外部路由区别开,EGP通过分别通告内部路由和外部路由来区分它们。EGP规定,如果报文中的距离为255,则表示该网络不可达。 路由更新报文由一系列块(AS全局路由表)组成,见下图:
IP路由 - EGP … 8 16 24 31 内部路由器数 外部路由器数 IP源网络 路由器1的IP地址(无网络前缀) 距离组数 第一个块 8 16 24 31 内部路由器数 外部路由器数 IP源网络 路由器1的IP地址(无网络前缀) 距离组数 第一个块 距离D11 距离D11网络数 在距离D11的网络1 在距离D11的网络2 …………... 距离D12 距离D12网络数 在距离D12的网络1 在距离D12的网络2 …………... … …………...
IP路由 前面介绍了外部路由和内部路由,这里做一个总结: 外部路由协议提供AS间的可达信息。 内部路由协议建立AS内部的路由表。 当IP数据报在寻找路由时,路由器根据其中的路由表进行路由选择(见前面的路由器路由算法)。到同一个AS内的数据报根据内部路由信息路由;要跨越AS的数据报在源AS可能知道目的网络是否可达,也可能不知道,如果它不知道,数据报将交给核心路由器网络,由它进行数据报的处理。
其它 关于TCP/IP还有其它一些内容,包括ICMP(Internet Control Message Protocol,差错与控制报文协议)、IGMP(Internet Group Management Protocol,Internet组播)、IPng(IP Next Generation,IP V6)、 IP Over ATM以及IP上的其它应用协议集(如多媒体中的RTP、RTCP、RSVP)、安全问题。 ICMP处理IP传输中差错控制,如向源端报告目的地不可达;进行拥塞和流控、进行路由重定向和进行时间同步等。 IGMP处理IP包的多点传输,在OSPF中就有应用。它依靠网络号为224.0.0.0的组播地址来实现。 IP V6是目前IP的下一个版本,简单地说: IP V6=IP V4+地址空间+QOS 它提供了更大的地址空间(16B),并能满足QOS的要求。
附录—一个例子路由表 C:\WINDOWS>route print Active Routes: Network Address Netmask Gateway Address Interface Metric 0.0.0.0 0.0.0.0 192.168.2.1 192.168.2.237 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 192.168.2.0 255.255.255.0 192.168.2.237 192.168.2.237 1 192.168.2.237 255.255.255.255 127.0.0.1 127.0.0.1 1 192.168.2.255 255.255.255.255 192.168.2.237 192.168.2.237 1 224.0.0.0 224.0.0.0 192.168.2.237 192.168.2.237 1 255.255.255.255 255.255.255.255 192.168.2.237 0.0.0.0 1
Q&A