计算机网络协议分析 (49).pdf

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第四章IP

4.3IP实现

4.3.6ipdbc()实现

概述

➢ipdbc()实现

ipdbc()在IP软件整体结构中的位置

ipdbc()复制给

本机一份定向

广播报文

相应的IP数据报

保存该报文副本的缓冲区地址

指向定向广播获取的路由

保存该以太网帧的长度

报文的下-跳路由不是交付路由,报文还没有到

达目的网络,则不需要进行相应的处理。

交付路由作用范围:

仅对收到定向广播报文的主机和最后一跳路由

器有用。

对发送定向广播报文的主机和转发定向广播报

文的非最后一跳路由器判断条件是不成立的。

IP报文目的地址不是广播地址,则不需要进行处理。

至此说明当前IP数据报需要在本网络进行广播,。

获取针对定向广播地址的路由。

riget()函数的第二个参数为1,即prt2指向一

获取路由失败,则返回个转发路由。

检查数据报文的反向路径转发接口(RPF检查)

当获得的路由中的转发接口与该IP报文输入接口一

致,不做任何处理。

——定向广播不允许将广播报文回发

此后代码用于收到定向广播报文的最后一跳路由器对报文的转发。

计算该以太网帧的长度

为该帧顿分配存储缓冲区

如果缓冲区分配失败,则返回

将该帧的副本复制到缓冲区中

将该帧放入相应的IP输出队列准备发送

使用的是转发路由,即报文副本被转发到目的网络中。

释放路由

代码分析

•ipdbc()函数处理结束后回到ipproc()函数的105行,跳

过ipredirect()函数,可以看到IP进程将报文从prt指向的接

口发出。

处理定向广播

•ipproc为所有的数据报调用ipdbc,其中绝大多数报文目的IP

地址不是定向广播地址。

•ipdbc一开始就检查数据报来源,因为如果该数据报是由本地

机器生成的,则不需要复制。

•然后ipdbc调用isbrc。将数据报的目的地址与这个网关直接相

连接的所有网络的定向广播地址相比较,如果均不相同,则说

明这是一个非广播数据报,而非广播数据报也不需要复制。

•在不需要复制的情况下,ipdbc不采取任何行动,直接返回。

处理定向广播

•ipproc选择一个路由并继续向前发送该数据报。

•如果数据报的目的地址是某个直接与网关相连的网络上的定

向广播地址,它必须被复制。

–其中一份副本送往本地机器软件,

–另—份以正常方式继续转发。

处理定向广播

•如果缓冲区分配成功,ipdbc将数据报复制到新缓冲区

中,并把新缓冲区放入输出端口,此端

文档评论(0)

158****6446 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档