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

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

第四章IP

4.3IP实现

4.3.2IP进程的流程图

概述

➢ipproc()流程图

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

允许IP进程被阻塞

过程ipgetp包含了一种微妙的优化思想:

✓如果所有输入队列都空,IP进程在调用过程

ipgetp()时被阻塞。

✓一旦有一个数据报到达,IP进程就恢复执行并

立刻检查已有数据报到达的那个接口。

允许IP进程被阻塞

1.当与某个特定接口相关联的设备驱动程序在它的输入队列中

放入一个数据报时.就向IP进程发送一个报文.

2.ipgetp中的循环语句以调用receive结束,

①在ipgetp遍历所有网络接口而没有发现任何数据报之后,

它调用receive,receive在信息到达之前为阻塞状态。

②当ipgetp返回时,它以函数值的形式向主调过程传送一

个报文。

③报文中包含了一个指针,指向已有数据报到达的接口。

3.ipgetp将该接口指针赋值给ifnext,并重新开始遍历

允许IP进程被阻塞

•IP进程的结构:--simple

–IP不断地调用ipgetp来选择一个数据报,

–接着调用一个过程来计算下一跳的地址,并将数据报置

入与将要发送该数据报的网络接口相关联的队列中。

•许多细节问题使程序代码复杂化。

–如果数据报来自于某个网络,IP必须验证此数据报的校

验和是否正确。

允许IP进程被阻塞

•许多细节问题使程序代码复杂化。

–若选路表中没有指定的目的站,IP必须生成一个

ICMP“目的站不可达”报文。

–若选路表指出该数据报应当被送往产生这个数据报的网络

中的某个目的站,IP必须生成一个ICMP“重定向”报文。

–IP必须处理定向广播这一特殊情况,此时IP向指定的网络

发送数据报的副本,并向网关自身的上层协议软件也发送

一份副本。

•IP进程从过程ipproc的执行开始。

小结

➢ipproc()流程图

文档评论(0)

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

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

1亿VIP精品文档

相关文档