表5. 从A到B的IP包在这种情况下,使用IP是多余的,因为它根本没有起到什么作用,用IP只能增加多余的处理时间,占用了多余的传输带宽 。B接收到这个包后,IP层检查这个包内的目的地址是不是和自己的IP地址一致,假如一致则将数据返回给上层协议 。这称为直接路由 。5.2 间接路由下面这个示意图更接近Internet真实的情况 。三个小的以太网,每个网络中有三台计算机,它们有唯一以太地址,IP地址,这三个网络通过一台路由器连接,这台路由器有一个IP地址和三个以太地址,因为它和三个网络连接,当然要三个了 。这里一定要记住,IP地址只有一个 。计算机D是一台路由器,它的TCP/IP协议栈内可能根本没有TCP和UDP,而可能有多个ARP模块和多个以太驱动程序(因为有多个以太适配器,所以要多个驱动程序才可以) 。网络治理员为每个子网(上图中有三个子网)指定一个网络号,是这个网络的名称,这个名称在上图是没有表示 。假如计算机A希望和计算机B通信,采用直接路由就可以了 。这个过程上面已经说过了 。在同一个子网内均采用直接路由 。假如计算机D希望和计算机A通信,这也是直接路由,直接通信就行了,D和其它所有计算机的通信都是直接通信 。但是假如计算机A希望和非本子网内的计算机通信就不能采用直接路由了,它发送的IP包必须发到计算机D,由计算机D向其它网络发送,这种通信就是非直接的 。路由对于IP协议上层的协议来说是透明的,它们根本不知道有什么路由存在 。请注重下面的图,源地址是计算机A的,目的IP地址是计算机E,而目的以太地址却是计算机D的,这是因为计算机A和计算机E不处于同一个子网内,不能直接通信,需要由计算机D进行转发,因此这包只能发往计算机 。表6. 从计算机A到计算机E以太帧示意图对于计算机D来说,它的以太帧地址如下: 表7. 从计算机D到计算机E以太帧示意图因为计算机D和计算机E可以直接通信 。我们可以看到,在直接通信时,目的IP地址和以太地址都是接收者的,而在非直接通信时,目的IP地址是接收者的,而目的以太地址却是路由器的 。上面的例子比较简单,真实的路由要比这个复杂得多,因为现实中的网络十分大,要许多路由器同时工作,这时的情况就比较复杂了 。5.3 IP路由规则对于要发出的IP包,IP必须决定如何发送,是采用直接发送还是非直接发送,这是在路由表的帮助下完成的 。对于传入的IP包,IP模块必须能够识别它是不是自己需要的包,假如是自己需要的,就把数据传送到上一层协议中,假如不需要则进行转发 。在IP包达到目的地址后,它不再转发了 。5.4 IP地址IP地址是由网络治理者为一台计算机指定的地址,IP地址的一部分作为网络号,另一部分作为网络中的主机号 。具体内容请大家查询相关资料 。IP地址是由NIC治理的,所有直接连接到Internet上的计算机假如需要IP地址,必须和NIC联系,则它指定;假如您需要建立自己的网络,那相应的网络号也需要从NIC取得 。5.5 名称人们喜欢使用计算机的名称,而不喜欢使用数字来标记一台计算机,对于小型网络,计算机名和IP地址的对应表可以保存在每台计算机上,假如是一个大型网络,则需要一台专用的计算机来负责IP地址到计算机名的转换 。下面就是一个IP地址和计算机名的对应表 。223.1.2.1 alpha223.1.2.2 beta223.1.2.3 gamma223.1.2.4 delta223.1.3.2 epsilon223.1.4.2 iota前一列是IP地址,后一列是计算机名 。您可以为一个计算机名指定多个IP地址,那么通过哪一个IP地址都可以访问这台计算机 。这个拥有多个IP地址的计算机在接收到包后,可以根据目的地址知道是不是发向自己的包,这个目的地址可以是自己的任何一个地址 。名称也用于网络号,下面就是一个例子:223.1.2 development223.1.3 accounting223.1.4 factory前一列是IP地址,后一列是网络名 。我们可以这个表上面的表对比一下,看看各个计算机属于什么网络 。5.6 IP路由表我们上面已经提到过路由表这个名词,下面我们就仔细看一下这张表 。它通常是由下面几列构成的:IP网络号,直接/非直接标记,路由器IP地址和接口号 。这张表一般由治理员负责维护,因为是他为你的计算机指定了IP地址 。5.7 直接路由下面我们仔细看一下我们上面看过的直接路由的例子 。在计算机alpha内的路由表如下所示: 表8. 路由表范例我们可能通过UNIX下的"netstat -r"命令看到类似这样的结果 。5.8 实例Alpha发送IP包到beta,alpha中的IP包的目的地址是beta的地址(223.1.2.2) 。IP取得网络号部分,查询路由表中的第一部分,看这个包应该包到什么地方,它发现这个网络和表中的第一个项目一致 。而这个项目中的其它信息表示,目的计算机可以直接通信,于是直接进行ARP翻译(解析),通过接口1发送数据 。
- 谈谈802.1x协议兼容的实现
- 组图 TCP/IP协议新手入门学习一
- 图 理解BGP协议同步规则的目的和需求
- 签离婚协议有法律效力吗
- 图 网络基础 深入浅出讲解TCP/UDP协议
- 上海贝尔阿尔卡特GPRS域名服务器/动态主机配置协议
- Linux下的网络协议分析工具-tcpdump快速入门手册
- 协议分析仪专家系统在手持式OptiView网络综合测试仪应用
- 802.1AB链路层发现协议——LLDP网络维护好助手
- 第7版 推荐书籍:《协议分析 Protocol Analysis,WB77.0 》
