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

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

第四章IP

4.3IP软件整体结构

概述

➢IP软件整体结构

➢IP数据报结构的实现

IP软件整体结构

•IP软件采用了独立IP进程的设计方式

–方便IP与其他协议的交互,同时增强软件内部模块的耦

合性

•整个IP软件以IP进程ipproc()函数为中心,ipproc()函数由网

络初始化函数netstart()创建。

•当一个IP数据报到达网络接口时,网络接口驱动程序会通过

网络报文解复用函数mi_in()调用IP数据报入口函数ip_in()。

独立IP进程,由IP软件整体结构

netstart()创建

上层协议

周期获取发送IP数

IP报文据报

接口关联

IP队列

IP数据报

到达网络

交付网络接口

接口发送

IP软件整体结构

•ip_in()函数将输入报文放在系统内部一个IP输人队列中。

–输入队列不仅存放从网络中输入的报文

–还存放上层协议希望通过ipsend()函数发送的IP数据报。

•IP进程会周期性地调用ipgetp()函数从队列中获取待处理

的报文。

–获取到报文以后,它会分别调用ipnet2h()函数和cksum()

函数转换首部字节序以及计算检验和。

–它还会通过ipdbc()和ipredirect()函数处理定向广播报

文以及发送ICMP重定向报文。

IP软件整体结构

•如果处理的IP数据报需要被发送或者转发,ipproe()

会调用iph2net()函数将报文首部字节序转换为网

络序。

•最后进程会调用ipputp()函数将报文交付网络接

口模块(物理接口或环回接口)。

IP软件输出模块结构

IP软件输出模块结构

•IP进程将报文交给ipputp()函数处理

–ipputp()函数根据报文的去向将其交给物理网络接口发

–或通过环回接口将报文交付上层协议。

•在发送/转发过程中,报文可能会被分片。

–ipfsend()函数:被ipputp()函数调用,进行相关的分

片处理,

–ipfhcopy():被调用于将原来的报文首部复制到分片

报文上。

IP软件输出模块结构

•IP软件会调用netwrite()函数将报文交付网络接口发送。

–如果当前报文需要从物理网络接口发送,netwrite()函数

会调用相应的网络接口驱动程序发送报文;

–如果报文需要交付上层协议,netwrite()函数会调用

local__out()函数将报文通过环回接口交付。

IP软件输出模块结构

•通过环回接

文档评论(0)

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

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

1亿VIP精品文档

相关文档