已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-1- ZXR10 电信级路由交换机培训教材 (基础篇) -2- 目 录 第一章第一章路由器概述路由器概述.1 1.1 路由器在互联网中的地位1 1.2 路由器与交换机、网桥的比较1 1.3 路由器的功能和作用2 1.4 路由器的类型3 1.4.1 接入路由器3 1.4.2 企业级路由器3 1.4.3 骨干级路由器3 1.4.4 太比特路由器3 1.5 路由器技术的变革4 1.5.1 路由器发展历程4 1.5.2 80/20 规则的演变.5 1.5.3 网络控制能力的提高6 1.5.4 进军骨干 IP 网络6 第二章第二章网络模型与网络模型与 TCP/IP 协议簇协议簇7 2.1 概论7 2.2 网络模型与 TCP/IP 协议簇7 2.2.1 TCP/IP 封装过程8 2.2.2 协议栈多路复用9 2.3 链路层协议9 2.4 网络层协议10 2.4.1 IP 协议10 2.4.2 互联网控制消息协议 ICMP.13 2.4.3 ARP/RARP 协议 14 2.5 传输层协议15 2.5.1 UDP 协议.15 2.5.2 TCP 协议.15 2.6 IP 编址.19 2.6.1 IP 地址的表示方法.19 2.6.2 IP 子网的划分20 2.6.3 子网化举例21 2.6.4 地址的转换22 2.6.5 IPv4 存在的问题23 2.6.6 IP 的未来(IPv6).24 -3- 2.7 IP 路由原理.24 第三章第三章二层交换技术概述二层交换技术概述.26 3.1 VLAN 的概念.26 3.2 VLAN 的操作.26 3.3 建立 VLAN 的成员.27 3.4 VLAN 的好处.27 3.5 VLAN 具有以下一些特征:.28 3.6 交换机的链路类型29 3.7 IEEE 802.1Q 协议.29 3.8 生成树协议(SPANNING-TREE PROTOCOL)概述.30 3.9 生成树协议(SPANNING-TREE PROTOCOL)的基本功能.30 3.10 BPDU 33 3.11 根的选举33 3.12 端口的选择33 3.13 PATH COST的计算.34 3.14 BPDU 的记时器 .35 3.15 STP 的总结.37 第四章第四章路由器硬件结构及工作原理路由器硬件结构及工作原理.39 4.1 路由器的硬件构成39 4.2 路由器的软件体系40 4.3 网络层的几个基本概念41 4.3.1 被动路由协议与路由选择协议41 4.3.2 网络层协议的工作42 4.3.3 静态路由、动态路由、缺省路由42 4.3.4 用度量表示距离44 4.4 路由器工作原理44 4.4.1 路由的概念45 4.4.2 路由选择过程46 4.4.3 路由表的构成、建立与维护48 4.4.4 路由选择算法50 第五章第五章路由选择协议路由选择协议.52 5.1 路由协议在 IP 路由中的作用.52 5.2 路由协议综述52 5.2.1 单播路由协议和组播路由协议52 5.2.2 域间路由协议(EGP)和域内路由协议(IGP)52 -4- 5.2.3 距离-矢量路由协议和链路状态路由协议53 5.3 RIP 协议54 5.3.1 RIP报文的格式.54 5.3.2 RIP的路由过程.56 5.3.3 可变长度子网掩码(VLSM)57 5.3.4 不连续子网58 5.3.5 RIP路由表的建立.58 5.3.6 路由回路59 5.3.7 定时器59 5.3.8 RIP版本2 60 5.3.9 RIP的限制:.62 5.4 OSPF 协议 62 5.4.1 概述62 5.4.2 OSPF数据报头格式63 5.4.3 概念和术语64 5.4.4 OSPF工作原理65 -1- 第一章第一章 路由器概述路由器概述 1.11.1 路由器在互联网中的地位路由器在互联网中的地位 我们知道,现在 Internet 上的应用已经非常广泛,从早期的远程登陆和文件传输,到现在的电子邮 件,Web 浏览等。Internet 网络就是这些应用的基础设施,是一组互相连接的网络。每一个单独的网络 都有它自己的网络号,网络号对于特定的互连网络必须是唯一的。随着网络的发展,每台计算机要跟踪 互联网络上其他每台计算机的地址是很不适宜的,必须有一些方案来减少每台计算机和其他每台计算机 通信必须拥有的信息量。因此,我们将一个互连网络分成许多分离的但互相连接的网络,使得网络计算 机只需跟踪互连网络上的一些网络计算机,而不必跟踪每一台网络计算机。路由器就是负责完成这种分 离网络工作的设备。目前路由器已经广泛应用于各行各业,各种不同档次的产品已经成为实现各种骨干 网内部连接、骨干网间互联和骨干网与互联网互联互通业务的主力军。 所谓路由就是指通过相互连接的网络把信息从源地点移动到目标地点的活动。一般来说,在路由过 程中,信息至少会经过一个或多个中间节点。早在 40 多年之前就已经出现了对路由技术的讨论,但是直 到 80 年代路由技术才逐渐进入商业化的应用。路由技术之所以在问世之初没有被广泛使用主要是因为 80 年代之前的网络结构都非常简单,路由技术没有用武之地。直到最近十几年,大规模的互联网络才逐渐 流行起来,为路由技术的发展提供了良好的基础和平台。 路由器作为互联网的主要节点设备,是网络中进行网间连接的关键设备,是互连网络的枢纽、“交通 警察“。我们这样来打个比喻:如果把 Internet 的传输线路看作一条信息公路的话,组成 Internet 的 各个网络相当于分布于公路上各个信息城市,它们之间传输的信息(数据)相当于公路上的车辆,而路 由器就是进出这些城市的大门和公路上的驿站,它负责在公路上为车辆指引道路和在城市边缘安排车辆 进出。因此,作为不同网络之间互相连接的枢纽,路由器系统构成了基于 TCP/IP 的国际互连网络 Internet 的主体脉络,是 Internet 的骨架。在园区网、地区网、乃至整个 Internet 研究领域中,路 由器技术始终处于核心地位,其发展历程和方向,成为整个 Internet 研究的一个缩影。由于未来的宽 带 IP 网络仍然使用 IP 协议来进行路由(或基于该路由技术的某些改进) ,路由器将扮演着重要的角色。 路由器之所以在互连网络中处于关键地位,是因为它处于网络层,一方面它屏蔽了下层网络的技术 细节,能够跨越不同的物理网络类型(DDN、FDDI、以太网等等) ,使各类网络都统一为 IP,这种一致性 使全球范围用户之间的通信成为可能;另一方面在逻辑上将整个互连网络分割成逻辑上独立的网络单位, 使网络具有一定的逻辑结构。同时路由器还负责对 IP 包进行灵活的路由选择,把数据逐段向目的地转发, 使全球范围用户之间的通信成为现实。 1.21.2 路由器与交换机、网桥的比较路由器与交换机、网桥的比较 通常,人们会把路由和交换进行对比,这主要是因为在普通用户看来两者所实现的功能是完全一样 的。从过滤网络流量的角度来看,路由器的作用与交换机和网桥非常相似。但是与从物理上划分网段的 交换机不同,路由器使用专门的软件协议从逻辑上对整个网络进行划分。例如,一台支持 IP 协议的路由 器可以把网络划分成多个子网段,只有指向特殊 IP 地址的网络流量才可以通过路由器。对于每一个接收 第一章 路由器概述 -2- 到的数据包,路由器都会重新计算其校验值,并写入新的物理地址。因此,使用路由器转发和过滤数据 的速度往往要比只查看数据包物理地址的交换机慢。但是,对于那些结构复杂的网络,使用路由器可以 提高网络的整体效率。路由器的另外一个明显优势就是可以自动过滤网络广播。从总体上说,在网络中 添加路由器的整个安装过程要比即插即用的交换机复杂很多。路由和交换之间的主要区别就是交换发生 在 OSI 参考模型的第二层(数据链路层) ,而路由发生在第三层,即网络层。这一区别决定了路由和交换 在移动信息的过程中需要使用不同的控制信息,所以两者实现各自功能的方式是不同的。 一般来说,路由器用来将地理上分散的网路连接在一起,并且可以灵活地连接大量的计算机。在路 由器流行之前,经常用网桥(二层设备)来完成相同的任务。对于小网络来说,网桥很有用,但是在大 的网路中,当用网桥将大量计算机连接在一起的问题是,网桥不能理解网路号,因此在网络上任何地方 生成的任何广播都会发送到网络中的每一个地方,这使得桥接网络中大量可用的带宽被广播消耗掉了。 而路由器在默认情况下是不转发广播信息包的。 这里,对比一下路由器和典型的工作站或主机的路由决策的生成。典型的工作站在 TCP/IP 网络上运 行之前,需要进行一些手工配置,如 IP 地址,子网掩码、默认网关等。这时,如果工作站必须向同一网 路号上的另一台机器发送一个信息包,这个信息包将直接发送到目标机器上。如果目标机器是在不同的 网络号上,这个信息包转发到默认网关,以便通过接口进行路由选择,并最终到达目的地。工作站的这 种路由决策很简单,而路由器可以做出更为复杂的决策。它们必须知道怎样到达互联网络上的所有其他 网络号以及路由信息包的最佳方法,同时,它们必须跟踪互连网络的拓扑结构。为了执行这项任务,每 个路由器都维护一个路由表,这个表列出所有已知的网络号和到达它们的方式。路由器也使用路由协议, 以使路由表与变化的网络拓扑保持一致。 1.31.3 路由器的功能和作用路由器的功能和作用 路由器的一个作用就是为经过路由器的每个数据帧寻找一条最佳传输路径,并将该数据有效地传送 到目的站点。选择通畅快捷的近路,能大大提高通信速度,减轻网络系统通信负荷,节约网络系统资源, 提高网络系统畅通率,从而让网络系统发挥出更大的效益来。由此可见,选择最佳路径的策略即路由算 法是路由器的关键所在。为了完成这项工作,在路由器中保存着各种传输路径的相关数据路由表 (Routing Table) ,供路由选择时使用。路由表中保存着子网的标志信息、网上路由器的个数和下一个 路由器的名字等内容。路由表可以是由系统管理员固定设置好的(静态路由表) ,也可以是根据网络系统 的运行情况而自动调整的路由表(动态路由表) ,它是根据路由选择协议提供的功能,自动学习和记忆网 络运行情况,在需要时自动计算数据传输的最佳路径。路由器的另一个作用是连通不同的网络。一般说 来,异种网络互联与多个子网互联都应采用路由器来完成。 对于不同规模的网络,路由器作用的侧重点有所不同: 在骨干网上,路由器的主要作用是路由选择。骨干网上的路由器,必须知道到达所有下层网络的路 径。这需要维护庞大的路由表,并对连接状态的变化作出尽可能迅速的反应。路由器的故障将会导致严 重的信息传输问题。 在地区网中,路由器的主要作用是网络连接和路由选择,即连接下层各个基层网络单位-园区网, 同时,负责下层网络之间的数据转发。 在园区网内部,路由器的主要作用是分隔子网。早期的互连网基层单位是局域网,其中所有主机处 ZXR10 电信级路由交换机培训教材(基础篇) -3- 于同一个逻辑网络中。随着网络规模的不断扩大,局域网演变成以高速骨干和路由器连接的多个子网所 组成的园区网。在其中, 各个子网在逻辑上独立,而路由器就是唯一能够分隔它们的设备,它负责子网 间的报文转发和广播隔离,在边界上的路由器则负责与上层网络的连接。 1.41.4 路由器的类型路由器的类型 互联网各种级别的网络中随处都可见到路由器。接入网络使得家庭和小型企业可以连接到某个互联 网服务提供商;企业网中的路由器连接一个校园或企业内成千上万的计算机;骨干网上的路由器终端系 统通常是不能直接访问的,它们连接长距离骨干网上的 ISP 和企业网络。互联网的快速发展无论是对骨 干网、企业网还是接入网都带来了不同的挑战。骨干网要求路由器能对少数链路进行高速路由转发。企 业级路由器不但要求端口数目多、价格低廉,而且要求配置起来简单方便,并提供 QoS。 .1 接入路由器接入路由器 接入路由器连接家庭或 ISP 内的小型企业客户。接入路由器已经开始不只是提供 SLIP 或 PPP 连接, 还支持诸如 PPTP 和 IPSec 等虚拟私有网络协议。这些协议要能在每个端口上运行。诸如 ADSL 等技术将 很快提高各家庭的可用带宽,这将进一步增加接入路由器的负担。由于这些趋势,接入路由器将来会支 持许多异构和高速端口,并在各个端口能够运行多种协议,同时还要避开电话交换网。 .2 企业级路由器企业级路由器 企业或校园级路由器连接许多终端系统,其主要目标是以尽量便宜的方法实现尽可能多的端点互连, 并且进一步要求支持不同的服务质量。许多现有的企业网络都是由 Hub 或网桥连接起来的以太网段。尽 管这些设备价格便宜、易于安装、无需配置,但是它们不支持服务等级。相反,有路由器参与的网络能 够将机器分成多个冲突域,并因此能够控制一个网络的大小。此外,路由器还支持一定的服务等级,至 少允许分成多个优先级别。但是路由器的每端口造价要贵些,并且在能够使用之前要进行大量的配置工 作。因此,企业路由器的成败就在于是否提供大量端口且每端口的造价很低,是否容易配置,是否支持 QoS,同时还能有效地支持广播和组播。企业网络还要处理历史遗留的各种 LAN 技术,支持多种协议,包 括 IP、IPX 和 Vine。它们还要支持防火墙、包过滤以及大量的管理和安全策略以及 VLAN。 .3 骨干级路由器骨干级路由器 骨干级路由器实现企业级网络的互联。对它的要求是速度和可靠性,而代价则处于次要地位。硬件 可靠性可以采用电话交换网中使用的技术,如热备份、双电源、双数据通路等来获得。这些技术对所有 骨干路由器而言差不多是标准的。骨干 IP 路由器的主要性能瓶颈是在转发表中查找某个路由所耗的时间。 当收到一个包时,输入端口在转发表中查找该包的目的地址以确定其目的端口,当包越短或者当包要发 往许多目的端口时,势必增加路由查找的代价。因此,将一些常访问的目的端口放到缓存中能够提高路 由查找的效率。不管是输入缓存还是输出缓存路由器,都存在路由查找的瓶颈问题。除了性能瓶颈问题, 路由器的稳定性也是一个不能被忽视的问题。 .4 太比特路由器太比特路由器 在未来核心互联网使用的三种主要技术中,光纤和 DWDM 都已经是很成熟的并且是现成的。如果没有 第一章 路由器概述 -4- 与现有的光纤技术和 DWDM 技术提供的原始带宽对应的路由器,新的网络基础设施将无法从根本上得到性 能的改善,因此开发高性能的骨干交换/路由器(太比特路由器)已经成为一项迫切的要求。 1.51.5 路由器技术的变革路由器技术的变革 作为核心的设备,路由器在 IP 网上处于至关重要的位置。随着因特网应用的普及,网络带宽的迅速 增加,用户对服务质量要求的提高,路由器技术也面临着新的变革。交换式路由技术就是这一领域的热 门话题,它不仅解决了通信流量问题,而且具有更高的网络控制能力和管理能力。 .1 路由器发展历程路由器发展历程 第一代路由器:采用传统计算机体系结构,各接口模块的内部总线为路由器全体线路接口所共有, 路由表的生成、控制、包转发都要经过 CPU 进行处理。CPU 资源是路由器的瓶颈。 图 1-1 第一代路由器结构 第二代路由器:采用并行处理技术。路由控制和包转发分开进行。主 CPU 主要完成路由表的生成、 控制、配置管理等非实时功能;接口完成数据包的收发、输入输出队列管理、路由表查询、做出 转发决定等。总线资源是路由器的瓶颈。 ZXR10 电信级路由交换机培训教材(基础篇) -5- 图 1-2 第二代路由器结构 第三代路由器:采用分布式体系结构。采用交换结构(交叉开关技术)来代替共享总线方式,ASIC 转发引擎。数据通道与管理通道部分分开:中央 CPU 主要完成路由表的生成、控制、配置管理等非实时 功能;线卡完成数据包转发的全部工作,可以专门加以优化,从而提高了路由器处理分组的速度。 图 1-3 第三代路由器结构 第四代路由器:采用立体交换结构(超立方交叉开关或螺旋结构) ,可编程网络处理器,多微处理器 分布式并行处理技术。分布式系统具有很高的扩容能力,随Chasis和Linecard的增加,路由交换能力呈线 性增加。可在线升级。 第一章 路由器概述 -6- 图 1-4 第四代路由器结构 .2 80/2080/20 规则的演变规则的演变 基于软件的路由器的缺点已是众所周知,当网络流量主要是在工作组内部进行时,基于软件的路由 器是够用的。因为主要的网络流量不是跨路由边界的,路由器缓慢的转发性能不会过于影响路由协议的 实施。这就是所谓的 80/20 规则,即 80的网络流量发生在工作组内部,20的网络流量跨工作组进行。 但是现在网络环境已经发生巨变,具体表现在 Web 应用呈爆炸性增长,网络流量的分布模式已变得 无法预测,用户数量呈指数曲线增长等等。但控制网络流量仍然是一项重要的网络要求,人们再也无法 接受基于软件的路由器的性能缺陷了。现在,80/20 的规则已转换 20/80,即 20的网络流量发生在工作 组内部,80的网络流量跨工作组进行。 在业界对交换式路由器的热烈讨论中,性能占据了中心位置。基于软件的路由器以每秒数十万包的 速率转发数据包,而交换式路由器转发数据包的速率则达到了每秒数千万包。这种在性能上数百倍的提 高是通过体系结构变化而实现的:传统路由器采用运行于微处理器上的软件来转发数据包;而交换式路 由器使用的则是硬件,如专用集成电路(ASICs) 。尽管包转发技术的基础已经发生了变化,但需要完成 的任务却是相同的:检查进入的数据包,将其目标地址与路由表中的项目相比较,然后从正确的接口发 送出去。在这一过程中,数据包还接受一些额外处理任务。 .3 网络控制能力的提高网络控制能力的提高 传统路由器无法同时保证性能和控制功能。控制功能是由一系列规则所提供的,举例来说可能是优 先权、拒绝访问或提供记账数据。当数据包进入路由器时,这些相关的规则也同样作用于数据包。在基 于软件的路由器中,这些规则被存储于一个软件数据库内,每个数据包通过时都必须与该数据库进行核 对。这正是问题的根源:处理路由功能的微处理器还必须查询数据库,此时数据包不会被发送,因而路 由器的转发能力较低。 新一代交换式路由器不会遇到这种问题,因为查询和控制功能都是在硬件中实现的。交换式路由器 性能与控制功能结合起来的关键在于 ASIC 能够读阅每一数据包内容的多少。 ASIC 能够收集到的关于每 ZXR10 电信级路由交换机培训教材(基础篇) -7- 一数据包流量的信息越多,可作用于该数据包流的控制水平就越精细。将第 4 层报头的端口号信息和第 3 层报头的源/目标信息结合使用可以实现真正的精确控制。具体应用程序对话流可以在客户机与服务器 间控制,如果交换式路由器是全功能的,则所有这些工作都可以以线速完成。通过阅读第 4 层报头信息, 第 4 层交换机可在执行路由决策时区分应用程序。应用程序可被分配不同的转发规则,从而保证不同的 服务质量,或者使用安全过滤器以提供对网络的应用层控制。 .4 进军骨干进军骨干 IPIP 网络网络 无论是在大型的企业 IP 网,还是运营服务商的 IP 网,智能交换式路由器都可以找到用武之地。这 些网络上往往运行着成千上万的应用程序,每秒均有上百万的数据流通过骨干交换设备。在这种环境下, 提供与地理位置无关的持续的网络访问是非常必要的。智能交换路由器能满足大型网络骨干设备的需求, 并在价格、性能、路由能力和路由表存储容量等方面具有较大的优势;除此之外,智能交换路由器实现 了 IP/IPX 协议的全部路由功能,具有与现有设备较高的互连能力,并带有直观的网管软件。这一切使得 在大型网络中采用智能交换式路由器来管理和控制骨干链路是一种理想的解决方案。 目前,市场上已经出现成熟的交换式路由器产品,其功能已经很完善。例如 Cabletron 的智能交换 式路由器产品实现的功能超过了传统路由器和第三层交换机的功能,能提供在所有端口上以每秒千兆位 速率进行第二、三、四层交换的符合标准的解决方案。高速的专用 ASIC 芯片通过对数据包第二、三、四 层报头的查找实现数据包的转发。除了能完成第二、三层交换功能外,Cabletron 公司的智能交换式路由 器 SSR 可通过在第四层交换数据包实现带宽分配,故障诊断和对 TCP/IP 应用程序数据流进行访问控制的 功能。它提供详细的流量统计信息和记账信息、应用层 QoS 策略和访问控制等能力。 -9- 第二章第二章 网络模型与网络模型与 TCP/IP 协议簇协议簇 2.12.1 概论概论 TCP/IP 起源于 1969 年美国国防部(DOD:The United States Department Of Defense)高级研究项目 管理局(APRA:Advanced Resarch Projects Agency)对有关分组交换的广域网(Packet-Switched wide-area network)科研项目,因此起初的网络称为 ARPANET。1973 年 TCP(传输控制协议)正式投入使用, 1981 年 IP(网际协议)协议投入使用,1983 年 TCP/IP 协议正式被集成到美国加州大学伯克利分校的 UNIX 版本中,该“网络版”操作系统适应了当时各大学、机关、企业的旺盛的连网需求,因而随着该免 费分发的操作系统的广泛使用,TCP/IP 协议得到了流传。TCP/IP 技术得到了众多厂商的支持,不久就有 了很多分散的网络。所有这些单个的 TCP/IP 网络都互联起来称为 INTERNET。基于 TCP/IP 协议的 Internet 已逐步发展成为当今世界上规模最大、拥有用户和资源最多的一个超大型计算机网络,TCP/IP 协 议也因此成为事实上的工业标准。IP 网络正逐步成为当代乃至未来计算机网络的主流。 本章主要对 TCP/IP 协议组件进行概述,着重介绍 TCP/IP 协议簇模型及各层次协议的处理机制。 2.22.2 网络模型与网络模型与 TCP/IP 协议簇协议簇 早在 TCP/IP 协议出现之前,国际标准化组织(ISO)就提出了开放系统互连(OSI)网络模型,为网 络的设计、开发、编程、维护提供了便利的分而治之的思想,其先进性、科学性、实用性是不言而喻的。 TCP/IP 协议不是单纯的两个协议,是一组不同层次上的多个协议的组合,常称为 TCP/IP 协议簇或者互联 网协议簇,为实现整个网络的互联提供指导,其层次组合已很难用 OSI 的七层模型来套用,它是 OSI 模 型的浓缩,将原来的七层模型合并为四层协议的体系结构,自顶向下分别是应用层、传输层、网络层和 链路层,没有 OSI 参考模型的会话层和表示层,一般认为 TCP/IP 的会话和表示功能是在传输层完成的。 OSI 参考模型和 TCP/IP 协议簇两者结构如图 2-1 所示。 OSI TCP/IP 应用层 表示层 会话层 应用层 传输层传输层 网络层网络层 数据链路层 物理层 链路层 图 2-1 网络模型与 TCP/IP 协议簇 每一层的功能如下:每一层的功能如下: 链路层:有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对 第二章 网络模型及 TCP/IP 协议簇 -10- 应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。在 TCP/IP 协议簇中,链路层的协议比较多,它决定了网络形态,但很多都不是专门为 TCP/IP 设计的。常用的链路层协议包括: 以太网协议、PPP 协议、帧中继协议、ATM 等。 网络层:有时也称作互连网层,处理分组在网络中的活动,例如分组的路由选择。在 TCP/IP 协议簇 中,网络层协议包括 IP 协议(网际协议) ,ICMP 协议(Internet 互连网控制报文协议) , ARP/RARP(地址解析/逆向地址解析协议) ,以及 IGMP 协议(Internet 组管理协议) 。 传输层:主要为两台主机上的应用程序提供端到端的通信。在 TCP/IP 协议簇中,有两个互不相同的 传输协议:TCP(传输控制协议)和 UDP(用户数据报协议) ,它们分别承载不同的应用。 应用层:负责处理特定的应用程序细节。几乎各种不同的 TCP/IP 实现都会提供下面这些通用的应用 程序: Telnet 远程登录 FTP 文件传输协议 SMTP 用于电子邮件的简单邮件传输协议 SNMP 简单网络管理协议 严格来讲,分层模型的动机就是将各层的功能尽量独立,每层的功能对另一层来说是透明的,只对 通信的另一端负责,为编程和诊断提供良好的层次隔离,然而实际情况并非如此,首先软件编程上完全 按照分层模型来做,编程效率会降低,与其分层,不如按功能实现来模块化。其次,对于许多功能实现 来说,必须实现两层子间的交互,这又违背了当初的出发点,比如链路层在成帧时需要接收端的物理地 址,该地址必须由网络层处理 ARP 地址解析才行,简单地将 ARP 放在那一层都有些牵强。所以说,分层 模型对于理解网络的抽象性是有益处的,它有助于指导网络入门,但并不是网络的精髓,只有结合具体 的系统分析才有实际意义。 .1 TCP/IP 封装过程封装过程 如下图 2-2 分析 TCP/IP 的封装是如何进行的。数据由文本 username 组成,它被封装在传输层的段中, 该段再封装到网络层报文包中,网络层报文包再封装到数据链路帧,以便在所选的介质上传送。当系统 接收到数据时,是拆封/多路分解过程。当数据沿着协议栈向上传递时,检查帧的格式,决定网络类型, 并去掉帧的格式,检查内含的报文包,决定传输协议。数据由某个传输层处理,最后数据递交给正确的 应用程序。 路由器提示: username: 传输层: 传输层数据段头(SP、DP)数据(username:) 网络层: 网络层数据包头(SA、DA)传输层数据段 数据链路层: 数据链路层帧头(DMAC、SMAC)网络层数据包TR 图 2-2 TCP/IP 封装 ZXR10 电信级路由交换机培训教材(基础篇) -11- .2 协议栈多路复用协议栈多路复用 图 2-3 TCP/IP 协议多路复用 在 TCP/IP 协议栈各个层次中的段、报文包和帧头部中都有控制字节,对于传送数据时,是标识数据 源;对于接收数据时,是标识处理数据的上层。图 2-3 说明了 TCP/IP 协议栈内部的控制字节。当从物理 介质收到帧时,以太网控制器只将帧的 MAC 地址与控制器卡的(包括接口所认识的广播及多路广播地址) MAC 地址一致的报文传递到上层。以太网软件接收帧并检查协议类型代码以决定帧中数据类型,如代码 0x800 表明所封装的是 IP 报文包,0806 表明所封装的是 ARP 报文包。网络层报文包由 IP 处理。检查 IP 头部及目的地址的有效性,若目的地址是本系统的,检查报文协议标识码(ID) 。协议 ID 决定哪个协议 应该接收此数据包。如协议代码 6 表示 TCP,协议代码 17 表示 UDP。接下来通过检查 TCP 段或 UDP 数 据报文以确定端口号,从而识别由哪个应用接收数据。如端口号 23 留给 Telnet,端口号 25 留给 SMTP。 TCP/IP 协议簇的内涵十分丰富,并非只有 TCP 和 IP 两个协议,它已经围绕 IP 发展成为了一个庞大 的家族,这里我们将介绍 TCP/IP 协议簇中最常见、最重要的部分。 2.32.3 链路层协议链路层协议 根据分层操作的思想,每一层对上一层送来的数据进行处理时要加上一个报头(首部信息) ,有时还 要加上尾部信息,这称为数据包封装。 链路层的工作是将 IP 数据包按照链路协议定义的格式进行封装,并按照硬件接口的编码方式转成合 适的基带信号发送到传输介质上。该层数据一般称为数据帧。常见的以太网(IEEE 802.3 等) 、令牌环网 (IEEE 802.5) 、帧中继、ATM、HDLC、PPP、Q.921 都是链路层协议,但每个协议的封装格式各不相同。 例如以太网(Ethernet II)协议的封装格式如图 2-4。 第二章 网络模型及 TCP/IP 协议簇 -12- 前导码目的地址源地址协议类型数据CRC 8 字节6 字节6 字节2 字节461500 字节4 字节 图 2-4 常见的以太网(Ethernet II)协议的封装格式 两字节的协议类型字段用来识别封装的协议类型:0800 表示封装的是 IP 数据包,0806 表示封装的 是 ARP 地址解析请求/应答数据包,8035 表示封装的是 RARP 请求/应答数据包,8137 表示封装的是 IPX 数据包。封装好的数据帧在线路空闲时(用 CSMA/CD 载波侦听多路存取/碰撞检测的方法来检测)按照 曼彻斯特编码将数据转成高低电平发送到线路上。 线速路由器中常用的一种链路层帧格式为点到点协议(PPP)中的 HDLC 帧格式,IP 数据包被封装 成 ISO HDLC 帧格式,然后再映射进同步数字序列 SDH 中去透明传输,路由器上这样的接口常称为 POS 接口(Packet over SDH) 。PPP in HDLC 帧格式如图 2-5 所示。 标记地址控制协议数据帧校验 7EFF032 字节1500 字节1 字节 图 2-5 PPP in HDLC 帧格式 协议字段为 0021 时表示数据部分为 IP 数据包,C021 表示数据部分为 LCP 链路控制协议,8021 为 NCP 网络控制协议,C023 为 PAP 密码验证,C223 为 CHAP 质询握手验证协议。 2.42.4 网络层协议网络层协议 比较严格的说网络层的协议就是 IP,ICMP、ARP/RARP 是帮助 IP 完成寻址的功能,因此也被认为 是第三层的协议。 .1 IP 协议协议 全球 INTERNET 网的广泛应用使 IP 协议深入人心。IP 协议以其简单、有效、开放性成为事实上的 工业标准。IP 协议使异种网互联方便可行,尤其值得一提的是它对下层通信技术有巨大包容性。 IP 协议作为通信子网的最高层,提供无连接的数据报传输机制。IP 协议是点到点的,核心问题是寻 径。它向上层提供统一的 IP 数据报,使得各种物理帧的差异性对上层协议不复存在。互连网协议 IP 是 TCP/IP 体系中两个最重要的协议之一。与 IP 协议配套使用的还有三个协议: 地址转换协议 ARP(Address Resolution Protocol) 反向地址转换协议 RARP(Reverse Address Resolution Protocol) Internet 控制报文协议 ICMP(Internet Control Message Protcol) TelnetTelnet,FTPFTP,TFTPTFTP TCPTCP,UDPUDP 图 2-6 IP 协议及其相关协议 ICMP ARPRARP IPIP ZXR10 电信级路由交换机培训教材(基础篇) -13- 如图 2-6 中画出了这三个协议和 IP 协议的关系。在这一层中,ARP 和 RARP 画在最下面,因为 IP 经常要使用着两个协议。ICMP 画在这一层的上部,因为它要使用 IP 协议。 下图 2-7 是 IP 数据报的格式。 4 位版本4 位首部长度8 位服务类型(TOS)16 位总长度 16 位标识3 位标志13 位片偏移 8 位生存时间(TTL)8 位协议标识16 位首部检验和 32 位源 IP 地址 32 位目的 IP 地址 长度可变的任选字段填充 数据 图 2-7 TP 数据报格式 从上图可看出,一个 IP 数据报由首部和数据两部分组成。首部的前一部分长度是固定的 20 个字节, 后面部分的长度则是可变长度。下面介绍首部各字段的意义。 版本,该字段占 4bit,指 IP 协议的版本。通信双方使用的 IP 协议的版本必须一致。目前使用的 IP 协议版本为 4,下一代的版本为 IPv6。 首部长度,该字段占 4bit,可表示的最大数值是 15 个单位(一个单位为 4 字节) ,因此 IP 的首部长 度的最大值是 60 字节。普通 IP 数据包是没有任选项的,因此该字段的值为 5。如果有任 选项,该字段值最大为 15。路由器收到 IP 包后对此字段要做检查,带任选项的 IP 数据 包在转发前要做特殊处理。当 IP 分组的首部长度不是 4 字节的整数倍时,必须利用最后 一个填充字段加以填充。这样,数据部分永远在 4 字节的整数倍时开始,实现起来会比 较方便。 服务类型,该字段共 8 位长,前三个比特表示优先级,它可使数据报具有 8 个优先级中的一个。第 4 个比特是 D 比特,表示要求有最小延迟。第 5 个比特是 T 比特,表示要求有最大吞吐 量。第 6 个比特是 R 比特,表示要求有更高的可靠性,即在数据报传递过程中,被结点 交换机丢弃的概率要更小些。第 7 个比特是 C 比特,是新增加的,表示要求用最小费用 进行传输。最后一个比特目前尚未使用。其意义见图 6 的上面部分所示。 RFC1349、RFC1340 文件对不同的应用定义了建议的 TOS 值,如 Telnet 和 Rlogin 这样 的交互应用要求最小的传输时延,而 Ftp 文件传输需要最大的吞吐量,网络管理和路由 协议需要最大的可靠性,用户网络新闻(Usenet news)需要最小费用。 可变 长度 首 部 20 字节 固定长 度 0 1 234567 优先级DTRC未用 第二章 网络模型及 TCP/IP 协议簇 -14- 总长度,该字段为 16 位,指明该 IP 数据包的长度(即首部和数据之和的长度) ,单位为字节。总长 度字段为 16bit,因此数据报的最大长度为 65535 字节(64K 字节) 。一般不可能达到这么 大的值,因为链路层对数据帧的长度有明确限制,该限制称为最大传输单元(MTU) ,IP 数据包长度小于 MTU 长度,典型的以太网 MTU 为 1500 字节。当很长的数据报要分段进 行传送时, “总长度”不是指未分段前的数据报长度,而是指分段后每个段的首部长度与数 据长度的总和。该字段的另一个作用是接收到从链路层上传的数据包后用来决定有用的数 据包长度,因为有些字节可能是无用的填充字节,是为了达到链路层所要求的最短帧长度 要求而填充进去的。 标识,该字段为 16 位,是为了使分段后的各数据报段最后能准确地重装成为原来的数据报。请注意: 这里的“标识”并没有顺序号的意思,因为 IP 是无连接服务,数据报不存在按序接收的问题。 源主机发出 IP 数据包时是不存在 IP 分组的,只有路由器从一个 MTU 较大的接口接收到 IP 包后又从一 MTU 较小的接口发送出去时才需要分组。接收端根据该字段和后面的偏移字段 的值将分组的 IP 碎包重新组装成原始的包。 标志,该字段为 3 位,目前只有前两个比特有意义。标志字段中的最低位记为 MF(More Fragment) , MF=1 即表示后面还有分段的数据报,MF=0 表示这已是若干数据报段中的最后一个。中间的 一位记为 DF(Dont Fragment) ,是用来测试网络中的各段 MTU 大小的,只有当 DF=0 时 才允许分段。 片偏移,该字段为 13 位,其意义和 OSI 的 IPDU 中规定的相似,只是表示的单位不同。这里是以 8 个字节为偏移单位。可见 IP 数据报的片偏移字段(13bit 长)和 OSI 的 IPDU 的片偏移字段 (16bit 长)是相当的。 生存时间,该字段为 8 位,单位为秒。生存时间设置了数据包可以经过的最多路由器数,目的是防 止数据包在网络上的无限循环,占用网络带宽,甚至引起网络风暴。该值由源主机设置 (通常为 32 或 64) ,一旦经过一个路由器,该路由器将它减 1,当某路由器检查该值为 1 并且目的地址不在该路由器直联的网络上时,该数据包就被丢弃,并发送一条 ICMP 报 文通知源主机。当 TTL 值改变后,首部检验和也要改变。通常路由器在转发 IP 数据包时, 仅仅改变这两个字段。 协议标识,该字段为 8 位,它指出此数据携带的传输层数据是使用何种协议,以便目的主机的 IP 层 知道应将此数据报上交给哪个进程。如协议标识为 6 表示封装的是 TCP(传输控制协议) 数据包,协议标识为 17 表示封装的是 UDP(用户数据包协议)数据包,协议标识为 89 表示封装的是 OSPF(开发最短路径优先)数据包,协议标识为 1 表示封装的是 ICMP(网际控制报文协议)数据包,协议标识为 2 表示封装的是 IGMP(网际组管理协 议)数据包,协议标识为 46 表示封装的是 RSVP(资源预留协议)数据包。 首部检验和,该字段为 16 位,此字段只检验数据报的首部,不包括数据部分。不检验数据部分是因 为数据报每经过一个结点,结点处理机就要重新计算一下首部检验和(一些字段,如 寿命、标志、段偏移等都可能发生变化) 。如将数据部分一起检验,计算的工作量就太 大了。首部检验和的计算过程是:先将该字段置为 0,然后对首部中每个 16 比特进行 二进制反码求和,将结果存在检验和字段中。当路由器收到一份 IP 数据包后,同样对 ZXR10 电信级路由交换机培训教材(基础篇) -15- 首部中每个 16 比特进行二进制反码求和,如果结果为 FF 才表示 IP 数据包正确。出错 的数据包将被丢弃,但不发送 ICMP 报文,上层协议可以检测到出错并对该数据包重 传。 地址,源站 IP 地址字段和目的站 IP 地址字段都各占 4 字节。 任选项,该字段为 32 位,如果长度不足 32 比特要用 0 作填充。任选字段用来支持排错、测量以及 安全等措施,内容很丰富。此字段的长度可变,从一个字节到 40 个字节不等,取决于所选择的项目。其 主要选项有以下几种: 1)安全和处理限制 2)记录路径,转发的路由器在此记录 IP 地址 3)时间戳,供路由器记录 IP 地址和时间 4)宽松源站选路,指定 IP 包必须经过的 IP 地址 5)严格源站选路,要求 IP 包只能经过指定的这些地址 .2 互联网控制消息协议互联网控制消息协议 ICMP IP 数据报在端对端传输方式下,由于网关(GateWay)自主地完成寻径和报文传输服务,不需要信 源主机的参与,而对于传输过程来说,发生传输错误是不可避免的,也是很自然的,比如说当某个 IP 包 中的 IP 目的地址根本不存在时自然就无法传送;或某一网关因为缓冲区满,超过它的处理能力和速度的 话,它就无法正常中继或接收数据报了。这样的话,一旦发生了传输错误,信源主机如何才能够知道并 且进行相应的处理呢?对于 IP 协议本身来说,并不存在一种内在机制来获取上述的差错信息,从而进行 相应处理。因此,在网络通信中提供一种手段,对传输过程提供出错时的报告和有关路径、流量等的控 制,是十分必要的。与此同时,也增加了网络之间传输的可控性和可靠性。ICMP 协议就是这样一种提供 网间报错和控制信息的手段,它为 IP 协议加上了一种差错报告和控制的机制。乍看起来,ICMP 是对 IP 协议的有利补充,是与之相分离的。实际上,它应该是 IP 协议族中不可或缺的部分,必须体现在每一个 IP 的实现之中。由此可见它与 IP 协议的紧密关系。ICMP 协议的功能及其实现,跟 IP 协议一样,体现为 一种报文格式ICMP 报文,或称 ICMP 包,可以像其他报文一样寻找路由,ICMP 消息是一个独立的消 息,没有流控及应答机制。 虽然 IP 数据报的传送不保证不丢失,但互连网层对数据报的传送还是有一定的质量保证功能,这就 是使用 Internet 控制消息协议 ICMP(Internet Control Message Protocol)。ICMP 是 IP 控制及错误消息协议, 是集差错报告和控制于一身的协议,它通过 ICMP 消息传递差错报告或控制信息,消息传递可发生在主 机、路由器,主机、主机或路由器、路由器之间。ICMP 消息的接收者根据消息类型采取相应的措施。 ICMP 不是高层协议,它仍是互连网层中的协议。 随着 Internet 的发展,ICMP 与其他协议一样,被赋予越来越多的功能。一般说来,除了 ICMP 差错 报文外,ICMP 还提供控制报文和请求/应答报文对,前者与 IP 层的拥塞和路径控制有关,后者则用于获 取故障诊断和网络控制方面的信息。另外,需要说明的是,ICMP 协议虽与 IP 协议属于同层协议,但 ICMP 报文跟 TCP 等协议的报文一样,是封装在 IP 报文中进行传输的。 两种主要 ICMP 消息的类型:询问消息和错误消息。询问消息是指 ICMP 响应请求、响应应答、路 由器公告和地址屏蔽请求等。错误消息指目的地址不可达、源地址消亡(拥塞指示)及生命周期超时等。 第二章 网络模型及 TCP/IP 协议簇 -16- 当原始数据报文的目的地址是广播或组播地址或源地址不是单个系统时,不产生 ICMP 消息。这是 为了防止由于网络拥塞或误配置系统而引起的 ICMP 消息风暴。 ICMP 是以报文形式装载信息的。每个 ICMP 报文都是作为 IP 数据报的数据部分进行网际传送,如 图 2-8 所示。下面介绍一下 ICMP 报文的格式。 ICMP 报头ICMP 数据 IP 报头IP 数据区 图 2-8 ICMP 数据报的封装 ICMP 报文包括两个部分:ICMP 报头和 ICMP 数据区。ICMP 报头长度固定为 8 字节(图 2-9): 第一字节是类型(TYPE) ,它的取值决定了 ICMP 报文的类别、作用和具体格式; 第二字节是代码(CODE) ,它对同一类型下的不同问题、原因、信息进行进一步的细分和说明,以求 对问题的表述更准确; 第三、四字节是校验和(CHECKSUM) ,它用来检查自身的 ICMP 报文有没有在传输中发生错误,以便 进行相应处理; 其他字节是可能会用到的数据区,包含因类型(TYPE)而异的信息。 ICMP 数据区长度可变,也可以不用(为 0 字节) ,也因类型(TYPE)而异。 原异常 IP 报头+前 64 位该 IP 报的数据:差错、控制 ICMP 报中有关 IP 报的数据信息。 IP 报头 TYPECODECHECKSUM 其它信息 原异常 IP 报头+前 64 位该 IP 数据报的数据 图 2-9 ICMP 报文头统一格式 .3 ARP/RARP 协议协议 当向目的地发送报文时,路由器需要决定对应于 IP 报文中所含的 IP 地址的特定介质地址(即 MAC 地址) 。IP 用地址解析协议(ARP)发现对应于给定 IP 地址的特定介质数据链路层地址。ARP 是针对于 广播型网络设计的,该协议采取一种动态编连(Dynamic binding)的机制进行地址解析。ARP 工作原理 如下: 1、主机 A 广播一条 ARP 请求报文(主机 B 的 IP 地址) ,请求主机 B 的物理地址; 2、主机 B 收到 ARP 请求报文
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论