




免费预览已结束,剩余90页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ComputerNetworking InternetProtocolAction 李毅超 2011 12 第四章网络层协议 引言网络层提供端到端的路由和分组的传送 网际协议 InternetProtocol IP 是建立在分组交换原理基础之上的因特网的网络层协议 在一个分组交换网络中 每个分组都被独立地从源端发送到目的端 而不考虑同一数据流中其他分组的发送路径 本章中 我们将考察分组是如何在基于IP协议的因特网中流动的 第四章网络层协议 实验4 1 介绍IP协议基础知识 包括IP数据报的格式 讨论IP地址如何分配以提供高效的路由 以及终端主机如何通过DHCP获得IP地址 比较当前IP版本IPv4和下一代IP协议IPv6的特点 分析在穿过网络时 IP数据报是如何分片的 实验4 2 介绍ping和traceroute两个强大的网络工具 通过观察ping和traceroute的跟踪来理解它们如何依赖于网际控制报文协议 InternetControlMessageProtocol ICMP ICMP是IP协议的伴随协议 观察一个多跳路径 并说明IP数据报穿越该路径时会发生什么变化 实验4 3 讨论如何建立因特网路径 以及如何通过动态路由协议来维护 用Ethereal跟踪来验证在一个由两台主机和五个中间路由器组成的小型本地网中 使用动态路由协议对提供端到端的连通性的影响 实验4 4 解释因特网是如何被划分成多个称为自治系统 AutonomousSys terns AS 的可管理单元的 并且展示在自治系统内和自治系统之间对动态路由如何进行不同的处理 介绍边界网关协议 BorderGatewayProtocol BGP 一种运用于AS之间的标准动态路由协议 实验4 1连接因特网 IP与DHCP介绍 简介因特网内的每台主机都有一个IP地址 数据以称作数据报的分组形式从一个主机发送到另一个主机 每个数据报都标记有源IP地址和目的IP地址 然后被发送到网络中 如果源主机和目的主机不在同一个本地网中 那么一个被称为路由器的中间机器将接收被传输的数据报 并且将其发送到距离目的端更近的下一个路由器 这个过程就是分组交换 像电话网一类的全球通信网络在发送端和接收端之间建立了一个固定线路 所有的通信都通过该连接发送到对方 而分组交换网络中 分组并不是在已经建立的线路上传输 相反 它们通过网络独立寻址和路由 IP允许数据报从源端途经不同的网络到达目的端 每个网络规定的最大传输单元各不相同 但IP允许将数据报分片并在目的端重组来满足不同网络的规定 IP数据报的格式如图4 1 1所示 获取IP地址的过程被严格管理 由因特网名称和地址分配机构ICANN和地区性因特网注册管理机构RIR 那些需要大量IP地址的组织 如ISP 大型企业 大学等 将向其本地的RIR申请IP地址空间 而需要少量IP地址的组织将直接从他们的ISP那里获取IP地址 各机构通常使用动态主机配置协议DHCP自动给计算机分配IP地址 IP数据报首部的第一个字段包含版本号 IPv4是当今因特网使用的主流版本 在RFC791中有对它的描述 IP的新版IPv6也已经制订 预计所有可能的32位的IPv4地址将在2010年被用尽 IP地址的长度从32位扩展到128位 新的128位IP地址将在地球上每平方英尺的范围内提供约1500个IP地址 IPv6还具有一些其他的特性 如可扩展链接首部以及支持在分组交换网络上的模拟电路的流动标记等 许多操作系统都包含了IPv6的实现 然而 IPv6的推广速度很慢 一部分是因为IPv6和IPv4很难共存 仅有一小部分主机和路由器支持IPv6 这些使用IPv6进行通信的主机和路由器必须将IP的数据报转换为IPv4 也就是说要将IPv6数据报放在IPv4数据报的数据部分中 这样的配置方式能够测试IPv6 但不能发挥它的长处 有人认为只有当所有IP地址都被耗尽时 才可能产生一个实质的转变 一 配置 二 实验使用DHCP获取IP地址台式机运行Windows操作系统 打开命令行界面 然后启动Ethereal跟踪 输入下列命令 结果保存于dhcp isolated cap 观察分析分组1用来释放机器的当前IP地址192 168 0 100 分组2是一个DHCPDiscover报文 使用0 0 0 0作为源地址 广播地址255 255 255 255作为目的地址 理论上255 255 255 255能够广播到整个因特网 但实际上路由器为了防止大量的请求信息淹没因特网 不会将这样的广播发送到本地网之外 在option ParameterRequestList 参数请求列表 中包含了除客户端希望得到的本地网络的IP之外的其他数据项 这些数据项中许多都是一台即将连入因特网的计算机所需要的数据 分组4IP地址为192 168 0 1的DHCP服务器回复了一个DHCPOFFER报文 目的地址为广播地址 分组5客户端通过发送DHCPRequest报文表明自己接收到的IP地址 分组6中DHCP服务器确认请求的地址并结束对话 分组3和分组7 13都是ARP请求 前4个ARP请求3 7 8 9都没有回应 分组10到13中 DHCP服务器再次询问哪个主机拥有IP地址192 168 0 100 台式计算机两次回答它占有该IP同时提供了自己的以太网地址 分组14DHCPRequest请求更新了192 168 0 100的租用期 分组15DHCPACK包括租用期的长度 在这个例子里是一天 通过DHCP分配的IP地址有特定的租用时间 为了保持对某个IP的租用 客户端必须更新租用期 14和15说明了更新租用期的过程 它们是我们输入的第二个命令ipconfig renew的结果 如果在租用到期之前没有DHCPRequest发送 DHCP服务器有权将该IP地址重新分配给其他主机 分组16是ipconfig release命令的结果 在DHCP服务器接收到这个报文之后 客户停止对该IP的使用 如有需要DHCP服务器有权重新对该IP地址进行分配 IPv4中的分片因特网是由许多具有各自物理特性的不同种类的网络组成的 处理这样的差异是连接异构网络形成一个因特网的主要难题之一 这类差异性导致的一个问题是不同的网络会对在其上传输的数据报的大小作出不同的限制 IP或者要求所有网络都使用不同网络传输单元中的最小值 或者采用一种方法来适应这种差异 IP支持分片和重组 分片指的是当原始数据报大小超过某个本地网的最大传输单元的限制时 将该数据报分为多个数据片 重组则是指在目的端将各分片重新进行正确的组合 为了做分片实验 使用ttcp的工具发送比本地网最大传输单元大的数据 我们在最大支持1514个字节的数据报的网络上发送两个大小为5000字节的报文 数据从IP地址为192 168 0 100的台式机发送到IP地址为192 168 0 102的便携式电脑上 我们将这个跟踪中发送的具体分组保存在fragment 5000 isolated cap 分组1到4和分组5到8分别代表了先后发送的两个UDP数据报 当IP层接收到5008字节的UDP数据报时 它的工作是将其作为IP数据报在以太网上传输 以太网要求一次传输的长度不大于1514个字节 其中有14字节是以太网帧首部 IP将原始数据报的前1480个字节 含8个字节的UDP首部和1472个字节的数据 放在第一个分片中 后面两个分片每个均含1480个字节的数据 最后一个分片中包含的数据为568个字节 为了能让接收端重组原始数据报 IP使用首部的特殊字段对分片进行了编号 标识字段用于将所有的分片连接在一起 分组1到4含有相同的标识号0 xfd2b 分组5到8的标识号是0 xfd2c 片偏移量指明了分组中数据的第一个字节在UDP数据报中的偏移量 例如 分组1和分组5的片偏移量都是0 因为它们都是第一个分片 在标志字段中有一位用来指明这个分片后是否还有分片 如图4 1 4所示 分组1到分组3和分组5到分组7均对该位进行了置位 分组4和分组8由于是最后一个分片而没有对该位置位 IPv6中的ping命令为了给实验作准备 我们在台式机和便携式电脑的命令提示符后分别输入ipv6install命令来激活IPv6 然后再输入ping6命令从台式机发送4个数据报到便携式电脑 便携式电脑以4个数据报应答 将得到的跟踪保存在文件ping ipv6 cap 说明了IPv6如何在IPv4的基础上使用 隧道技术 即IPv6数据报被封装在IPv4数据报的数据部分中 注意 IPv6的源地址和目的地址都远远长于IPv4地址 还要注意 机器的IPv6地址是以高位96位0 xfe0800000000000000005efe作为前缀后面跟上IPv4地址而形成的 见图4 1 5 这是由于部分IPv6地址空间是为了满足与现存的IPv4地址兼容而设计的 如果IPv6成为因特网上使用的IP的标准版本 IPv6首部将紧跟在以太网帧首部后面 数据报中不再出现IPv4首部 小节 在本实验中 首先 观察通过DHCP获取IP地址 然后分析IPv4通信来说明控制分片和重组的几个IPv4字段的用途 最后查看如何使用隧道技术将IPv6通信封装在IPv4数据报中 从而完成了对IPv4和DHCP协议及其细节的直观认识 实验4 2ping和traceroute 简介ping向因特网中的某个特定的主机发送特殊的探测报文并等待表明主机在线的回复 ping这个名字来源于由声纳设备使用回声来定位船舶位置的原理 traceroute能够映射出通往特定的因特网主机途经的所有中间主机 Pingwww iana org注意 ping报告往返时间的信息 用traceroute来识别路径中的每个中间节点及其往返时间 traceroute可用于大多数平台 在Windows平台上可用的版本叫tracert而不是traceroute Traceroutewww iana org注意 最大延迟发生在第10跳和第11跳之间 从显示看出 中间节点10位于东海岸 纽约 中间节点11位于西海岸 洛杉矶 这并不代表在这两台主机间有一条直接的物理连接 有可能这个通信是通过电话或通信公司提供的远程链路发送的 traceroute和ping命令都依赖于ICMP ICMP可以看作是IP协议的伴随协议 ICMP报文被封装在IP数据报中发送 但是理论上 ICMP能够报告网络层事件的状态 一些ICMP报文会请求信息 例如 在ping中 一个ICMP回应请求报文被发送给远程主机 如果对方主机存在 期望它们返回一个ICMP回应应答报文 一些ICMP报文在网络层发生错误时发送 例如 有一种ICMP报文类型表示目的不可达 造成不可达的原因很多 ICMP报文试图确定这一问题 例如 可能是主机关机或整个网络连接断开 有时候 主机本身可能没有问题 但不能发送数据报 例如 IP首部有个协议字段 它指明了IP数据报中的数据部分是作什么协议处理 IANA公布了代表协议的数字的列表 例如 如果该字段是6 那就代表TCP报文段 IP层就会把数据传给TCP层进行处理 如果该字段是1 则代表ICMP报文 IP层会将该数据传给ICMP层处理 如果操作系统不支持到达数据报中协议字段的协议号 它将返回一个指明 协议不可达 的ICMP报文 IANA同样公布了ICMP报文类型清单 traceroute是基于ICMP的灵活用法和IP首部的生存时间字段的 发送数据报时生存时间字段被初始化为能够穿越网络的最大跳数 每经过一个中间节点 该数字将减1 当该字段为0时 保存该数据报的机器将不再转发它 相反 它将向源IP地址发送一个ICMP生存时间超时报文 生存时间字段用于避免数据报在网络上无休止地传输下去 回顾前面的内容 数据报的发送路径是由中间路由器决定的 通过与其他路由器交换信息 路由器决定数据报的下一条路径 最好的 下一跳 经常由于网络环境的变化而动态改变 这可能导致路由器形成选路循环也会导致正确路径冲突 在路由循环中这种情况很可能发生 例如 路由器A认为数据报应该发送到路由器B 而路由器B又认为该数据报应该发送回路由器A 这时数据报便处于选路循环中 生存时间字段长为8位 所以因特网路径的最大长度为28 1即255跳 大多数源主机将该值初始化为更小的值 例如128或64 将生存时间字段设置过小可能会使数据报不能到达远程目的主机 而设置过大又可能导致处于无限循环的选路中 traceroute利用生存时间字段来映射因特网路径上的中间节点 为了让中间节点发送ICMP生存时间超时报文 从而暴露节点本身信息 可以故意将生存时间字段设置为一个很小的数 具体来说 首先发送一个生存时间字段为1的数据报 接收到中间主机或目的主机的ICMP超时报文时 记录下该ICMP超时报文的源IP地址和往返时间 之后 通过发送生存时间字段设置为2的数据报来重复上述过程 依次类推 直到发送ICMP生存时间超时报文的机器是目的主机自身为止 分组交换网络中每个数据报是独立路由的 所以由traceroute发送的每个数据报的传送路径实际上可以互不相同 每个数据报沿着一条路径对中间节点进行取样 因此traceroute可能暗示一条主机间并不存在的连接 因特网路径经常变动 在不同的日子或一天的不同时间对同一个目的主机执行几次traceroute命令来探询这种变动是一个很有趣的测试 一 配置 二 实验本地ping和远程pingping private cap中捕获了在私有网络上运行两个ping命令产生的网络通信 第一个ping命令是对IP地址192 168 0 1进行的 这个IP地址是本地路由器的地址 第二个ping是对主机名www iana org进行的 输出保存在文件ping private commands txt中 向对于每个目的端发送4个回应请求分组并接收到4个ICMP回应应答分组 分组3到10显示的是与192 168 0 1的交换 分组13到20显示的是与www iana org的交换 每个请求通过ICMP序号字段与其相应的回应应答连接起来 回应请求的ICMP类型号为8 回应应答的ICMP类型号为0 注意ICMP报文被包含在IP数据报的数据部分中 且IP首部的协议字段被置为1 表明数据部分包含ICMP报文 分组1和2说明为了向192 168 0 1发送ICMP报文 需要ARP解析其以太网地址 00 06 25 8d be 1d 因为其在本地网络上 分组11和12表明为了将ICMP报文发送到www iana org 需要DNS解析其IP地址 192 0 34 162 由于该IP地址不在本地网中 由源主机IP地址与本地子网掩码决定 因此数据报首先要发送到本地路由器的物理地址 然后由它转发到下一个中间路由器上 这便是为什么两个ping命令的ICMP回应请求分组都发往同一个以太网地址 本地traceroute在两台在同一大学网上由中间路由器分隔的主机上执行traceroute 两台机器之间路由的跳数为2 分别在源主机和目的主机跟踪了这一活动 这两个跟踪分别保存在traceroute1 src cap和traceroute1 dst cap中 下面是在bgpdata sclab clarkson edu 128 153 145 86 上运行traceroute命令的输出 分组1和2包含DNS分组 用来将softeng camp clarkson edu转换成其IP地址128 153 11 150 在分组3中 traceroute发送它的第一个探测分组 它是一个UDP分组 并且IP首部中的生存时间字段被置为1 分组4中间路由器128 153 144 1回复一个ICMP生存时间超时报文 然后分组5和6traceroute发送一个DNSPTR查询来将这个IP地址转换为可读的主机名gw sclab clarkson edu 分组7traceroute再次发送生存时间字段设置为1的探测分组 分组8中间路由器128 153 144 1以ICMP生存时间超时报文来响应 分组9和10同样 这些额外的探测分组使得traceroute对路径中遇到的变化进行报警 还能够报告往返时间的平均测量值 分组11包含生存时间为2的第1个探测分组 11 18类似3 7 从目的主机的角度来观察整个网络活动 这可以在文件traceroute1 dst cap中找到 大多数通信到达不了实际的目的主机 其中包括生存时间为1的探测分组和DNS请求 到达目的主机的通信流能够直接与前一次跟踪中的分组关联起来 例如 分组1即是traceroute1 src cap中的分组11 仔细比较两次跟踪中的这个分组 非常能说明IP通信的多跳特性 注意 分组到达目的机的时候 生存时间字段为1 这是因为分组经过gw sclab clarkson edu时跳数减1 还要注意 尽管有相同的源IP地址和目的IP地址 但源以太网地址和目的以太网地址却不相同 在第一个本地网中 分组从bgpdata sclab clarkson edu上的以太网接口发送到gw sclab clarkson edu的以太网接口 实际上 这台机器有多个以太网接口 一个在与bgpdata sclab相同的网络上 另一个在与softeng camp相同的网络上 每个接口都有自己的以太网地址 IP地址和主机名 在相反的方向 从softeng到bgpdata 执行了traceroute 再次跟踪两端的通信流 这些跟踪记录保存在traceroute2 src cap和traceroute2 dst cap中 traceroute的输出 这些跟踪记录与第一次相似 但新增了一些重要信息 例如 从softeng执行traceroute探测网关的接口 并确定其IP地址128 153 8 1 路由器每个接口都有自己的IP地址 根据这些信息 可以勾画出一幅相对详细的两台机器间的连接的网络图 见图4 2 4 体现了ping和traceroute这样的工具在映射因特网中主机间的连接方面的重要作用 远程traceroute使用UCBerkeley的traceroute服务器执行一次到softeng camp clarkson edu的traceroute 然后 再执行一次返回到traceroute服务器的traceroute 在softeng上捕获跟踪记录 将跟踪记录并保存在tracerouteBerkeley cap 同时将两次traceroute的输出保存在tracerouteBerkelyOutput txt 研究进入和外出路径尽管两者相似 但没有一个中间IP地址是重复的 从softeng到Berkeley的路径的跳数比从Berkeley到softeng的跳数多1 在某些情况下 这些IP地址是同一台机器的不同接口 在另外一些情况下 它可能是通过一个大型过渡网络的不同路径 小节 本实验中 我们通过ping和traceroute两个工具的实验对网络层ICMP协议有了直观的细节认识 并且对这两个测试工具的用途和原理也有了深刻的理解 实验4 3RIP动态路由 静态路由在网络拓扑结构发生的任何变化都需要人工地改变静态配置 有些网络拓扑结构过于复杂 即使没有大量的变动 手工输入配置规则也有相当的难度 替代静态路由的方法是动态路由 路由器与其他路由器进行交流来获得通往其他网络的较好的路径 主要的动态路由算法有两种 一种是链路状态算法 另一种是距离向量算法 链路状态算法 每个路由器都需要向其他所有的路由器发送报文 向它们通告自己的本地链路状态 一旦路由器接收到来自其他所有路由器的报文 它就知道了网络中的每一条连接 换句话说 路由器对整个网络结构有一个全盘的掌握 从某种意义上 有些信息是多余的 一个路由器只要知道发送分组的方向而没有必要知道通往目的主机的完整路径 距离向量算法 每个路由器不会试图收集整个网络的信息 每个路由器仅仅通过邻接路由器给它的 传言 知道网络的其他部分 路由器开始是向它们的邻居路由器 传言 其他邻居路由器 完成一次 传言 会话后 路由器将得到它们邻居的邻居的信息 在两次会话后 它们将得到它们邻居的邻居的邻居的信息 以此类推 以这样的方式 好的路由的信息将一个路由器接一个路由器地传播到整个网络中 链路状态算法 每个路由器要向其他每台路由器发送包含了路由器自己的链路信息的报文 很多的小报文 距离向量算法 相邻路由器之间仅需要交换它们听说的到每个目的地的最佳路径信息 几个大报文 由于网络拓扑和拥塞状况的变化 动态路由协议要求路由器周期性地发送更新信息 一 配置 201 100 2 1 201 100 1 2 201 100 1 1 201 100 2 2 201 100 3 1 201 100 4 2 201 100 5 1 201 100 4 1 201 100 3 2 二 实验没有启用RIP每个接口分配IP地址和子网掩码 同网段的接口配置相应IP地址 将路由器1设置成便携式电脑A的的默认网关 同样地 也为其他三个便携式电脑分配默认网关 路由器4不连接到201 100 1 0 24网络 所有便携式电脑上启动Ethereal 从路由器1ping便携式电脑 捕获跟踪 我们将来自便携式电脑A的跟踪保存在1 LAPA NoRIP cap中 27个分组中14个路由器例行向自身接口发送Loopback帧 3个周期性CDP报文 10个ICMPEchoRequest或Reply报文 此时便携式电脑不能ping通路由器2 5以及其他电脑 仅两端路由器启用RIP仅路由器1和5启用RIP2 LAPA RIP R1 R5 cap中看到RIP报文 分组2 6 9 14 18 差不多30秒发送一个RIP报文 RIP通告 如分组2 通告了一条到201 100 2 0网络的路由 距离度量 metric 为1 201 100 2 0网络是将路由器1和路由器2连在一起的网络 距离度量为1意味着路由器1到达这个网络的跳数为1 两个路由器仍然无法彼此发送通告报文 它们的邻居路由器既不听也不发送通告报文 除一台路由器 R3 外都启用RIP仅路由器R3不启用RIP3 LAPA RIP R1 R2 R4 R5 cap中 分组4 8 12 16 21路由器1通告直接相连的网络 201 100 2 0 距离度量为1 还包含从路由器2获知的网络 201 100 3 0 注意 它通告的这个新网络的距离度量为2 见下页截图路由器R3左边或右边的机器都可以Ping通 但是左右两边的机器不能互通 RIP通告网络地址无子网掩码 只RIPv2才能通告CIDR无类域间路由网络地址 另外 RIP局限于15跳 16跳为网络不可到达 见下页截图 所有路由器启用RIP 增加路由器3上启用RIP 4 LAPA RIP ALL LINE cap 路由器之间共享的可达信息增加了 第一个RIP通告分组3和上一阶段的实验一样 它只包含对201 100 2 0网络和201 100 3 0网络的通告 随后在RIP通告分组8 9添加了201 100 4 0网络 再后面RIP通告分组13又添加了201 100 5 0 201 100 6 0网络 注意每个网络的距离度量 类似地 在4 LAPA RIPALL LINE cap中 RIP通告展示了所有其他网络 但这些距离度量与4 LAPD RIP LINE cap文件中的数据不同 这是因为离便携式电脑A最近的网络离便携式电脑D最远 反之亦然 便携式电脑AtracerouteD 便携式电脑DtracerouteA注意 路由器应答使用的是更接近目的端的接口的IP地址 在网络拓扑图中增加一个环路启用了路由器4和201 100 1 0网络之间的连接5 LAPA RIP ALL CIRCLE cap 分组32路由器4在它新连接网络上发送第1个RIP请求报文而不是响应报文 最开始 路由器4是向其他路由器请求路由 而不是通告路由 分组33路由器1通过发送他拥有的所有的网络可达信息来回复请求信息 分组34路由器4报告了它到201 100 4 0网络和201 100 5 0网络的距离为1跳 到201 100 3 0网络和201 100 6 0网络的距离为2跳 却没有报告它到201 100 2 0网络的任何信息 这是因为在此之前路由器1已经报告了到200 1 100 2 0网络的一条更好的路径 对于RIP而言 路由器坏消息的 传言 总是比不上好消息的传播快 路由器4将发送目的地为201 100 2 0网络的通信给路由器1 结果它并不重复返回这个最佳开销路径信息给路由器1 这对避免出现路由环路是非常重要的 在路由环路中 两个路由器都认为对方是距离目的地更近的下一跳 从而在它们之间来回发送分组给对方 便携式电脑AtracerouteD 对一个故障链路的调整 断开路由器5的网络连接 分组100路由器4依然通告201 100 6 0网络在2跳可达 尽管我们已经接收不到从分组51开始的traceroute探测包的响应 最后 在分组114中 RIP通告将201 100 6 0网络的距离度量改成16 这意味着网络不可达 分组115路由器1也立即作出响应 指明它已经没有到201 100 6 0网络的路由 开放最短路径优先开放最短路径优先协议 OSPF 的链路状态协议做了一个类似的实验 便携式电脑A在相同网络拓扑 捕获跟踪保存于OSPF cap 链路状态通告由R1发起 并被转播到201 100 1 0网络 它报告了R5 201 100 6 1 也是通告路由器 而且有2条附带的链路 它正确地指明201 100 6 0 24网络为末梢网络 stubnetwork 201 100 5 0 24网络为中转网络 transitnetwork 小节 本堂课 通过一系列实验 让我们对RIP OSPF动态路由协议有了直观 细节的认识理解 实验4 4边界网关协议 简介在因特网中无论是使用距离矢量路由协议还是OSPF路由协议 都会周期性或在链路变更时发布动态路由协议报文 这样 动态路由协议报文将吞噬大量的可用网络带宽 为了避免此问题 将网络划小成若干自治系统AS 每个AS内部的路由仍采用RIPv2或OSPF路由协议对因特网隐藏 域内路由 然后在AS之间完成路由 域间路由 这好比公路交通中既需要一个覆盖全国的公路图 又需要一个更详细的城市道路图 全国公路图 域间路由 城市道路图 域内路由 支持域内路由的协议 内部网关协议IGP 可以是RIP也可以是OSPF 支持域间路由的协议 外部网关协议EGP 只能是一个标准BGP BGP是一种路径矢量协议 相邻路由器之间宣告各自所知道的到所有目的地的最佳路径 相邻路由器并不简单地像RIP所规定的那样报告它们到目的地的路径与开销 而是会报告到每个目的地的整个路径 BGP以通往目的端路径上的自治系统号的序列的形式给出 BGP给出全部路径信息有以下几点好处 1 有助于避免路由环路 如果一个自治系统在路径中出现了多次 则显然是一个路由环路 2 具有一个自治系统号序列 允许组织制定策略 比如 我不想自己的分组穿越竞争对手的自治系统 内部网关协议 如RIP或OSPF 主要是寻找一条从源端到目的端的最快路径 而BGP要考虑基于复杂策略的配置 例如 BGP相邻路由器并不自动地共享各自所知的所有路由 相反 仅仅通报它们希望其他自治系统使用的路由 有些末梢网络 更是仅通报通往它们自己网络的路由 因为它们不想让其他网络使用自己的资源 另外一些中转网络提供因特网连通服务 中转网络必须是多连接的 即它们必须有多个到其他自治系统的连接 中转网络可以策略的通告到这些连接的路由 而末梢网络也可能是多连接的 如防止一个连接发生故障的多连接 但末梢网络可以通过不通告到这些连接的路由 来拒绝在这些连接间中转数据 在IGP和BGP之间另一个有趣的区别是IGP使用直接连接信息来鉴别相邻路由器 而BGP规定每个路由器管理员可以手工指定BGP对等端列表 这些对等路由器无须物理上直接相连 一个自治系统内使用BGP发布路由的路由器被称为BGP发起者 它要建立一个交换路由信息的TCP连接 这些BGP对等会话是由每个自治系统中的网络管理员手工建立的 在因特网上 有些路由器专门与其他自治系统建立对等会话来收集因特网上所有有效的路由信息 这种路由器被称为路由服务器 它们并不路由分组 也不共享它们从其他对等端获知的路由信息 它们仅被用作自治系统之间路由的一个窗口 不同网络前缀或者独立的因特网目的端越多意味着对因特网核心的路由器来说是一个越大的负担 观察路由服务器报告来观察网络前缀的平均大小 在一条路径上自治系统的平均数目 通告的IPv4地址空间的百分比 相隔多久路由器变更一次信息以及其他统计数据 这样可以确定因特网上路由的健壮性和稳定性 从而汇编出高层次的网络连通图 访问Http 来考察在俄勒冈大学的RouteViews项目 AS6447 中的路由服务器发布的BGP统计数据 一 配置 201 100 1 1 二 实验建立BGP对等路由器会话先所有路由器上的BGP均未启用 然后所有便携式电脑上启动Ethereal 最后激活三个路由器上的BGP 各电脑上捕获跟踪记录分别存放在 LAPA BGP INITIALCIRCLE cap LAPB BGP INITIALCIRCLE cap LAPC BGP INITIALCIRCLE capLAPA BGP INITIALCIRCLE cap可以观察到AS100的BGP发起者和AS200的BGP发起者之间的会话 这个对等TCP会话开始于分组15 如果选择Analyze菜单中的FollowTCPStream选项 会发现BGP与其他协议不同 它不是基于文本方式的 在1 LAPA BGP INITIALCIRCLE cap中 BGP对等路由器会话建立在201 100 1 1的端口11004和201 100 1 2的标准BGP端口179之间 在1 LAPB BGP INITIALCIRCLE cap中 BGP对等路由器会话建立在201 100 2 2的端口16839和201 100 2 1的标准BGP端口179之间 在1 LAPC BGP INITIALCIRCLE cap中 BGP对等路由器会话建立在201 100 3 2的端口11003和201 100 3 1的标准BGP端口179之间 分组15 16 17三次握手建立连接 BGP对等路由器会话上发送的第一个报文是OPEN报文 见下图 会话双方都要发送该报文来建立会话 分组18显示了由AS100的BGP发起者发送的OPEN报文的细节 该报文包含了AS号100和其BGP标识符1 0 0 1 BGP标识符是用来惟一标识路由器的 19号分组包含了来自AS200的BGP发起者的OPEN报文 OPEN报文没有通告可达的网络 它仅仅将BGP对等路由器介绍给对方并建立BGP会话 分组18 BGPOPEN报文 分组19 BGPOPEN报文 对等路由器将使用UPDATE报文向对方通告路径变化 即使网络中没有出现路径变化 也要周期性地交换KEEPALIVE报文 分组20和21展示双方发送的初始KEEPALIVE报文 分组22是从AS100到AS200的第一个UPDATE报文 这个报文报告了一条到网络1 0 0 0 8的路由 在这里 AS路径中只有AS100 因为这是AS100本自治系统的网络 报文报告了下一跳是201 100 1 1 即到AS200最近的路由器的IP地址 报文还指出这是通过IGP获知的 见下页截图 分组23包含了来自AS200的相似的UPDATE报文 在本例中 UPDATE报文是与KEEPALIVE报文捎带在同一个报文中的 见再下页截图 如果没有连接上的变化 三个BGP会话仍然会保持激活 并且周期性地发出KEEPALIVE报文 分组22 BGPU
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030动力电池回收技术突破与循环经济商业模式创新报告
- 开放大学小学语文教学案例分析
- 法学专业学生职业规划与就业指导
- 汉语言文学自考古代文学重点复习资料
- 医药销售人员合规管理手册
- 岗位晋升申请书撰写技巧
- 物业管理服务评价体系
- 二年级数学(上)计算题专项练习汇编
- 企业借贷合同范本及风险防控指导
- 企业车辆保洁服务管理规范
- 四史教育考试试题及答案
- 舞龙舞狮二级裁判员理论考试题库(含答案)
- 9.《复活(节选)》课件 统编版高二语文选择性必修上册
- 《翡翠玉石翡翠玉》课件
- 2025-2030中国成品润滑剂行业市场发展趋势与前景展望战略研究报告
- 保密警示教育典型泄密案例教育学习
- 道路货物运输经营申请表
- 乡村积分超市协议书
- 小学一年级上册体育全册教案
- 电焊工理论知识培训课件
- DB42-T 2051-2023 文物保护单位保护标志及保护界桩设置规范
评论
0/150
提交评论