第六章 IP编址

一、在本章中,有两个数据结构是很重要的,一个是in_ifaddr,一个是sockaddr_in,这两个结构是ifaddr和sockaddr对Internet的专有结构,这两对结构的互相的结构所占大小是完全一样的,因此可以用c语言中的强制类型转换进行转换。
二、在第四章二中,讲解了ioctl系统调用在接口层的(数据链路层)的逻辑及代码,在本章中,第129页的图和第四章的图是一样的,但是讲解了跟设置、获取IP地址、掩码和广播地址相关的逻辑及代码。
三、在图6-11中,第四章中的逻辑是从ifioctl函数左分支和中间分支走的

  • 1.本章中的逻辑是从ifioctl函数的右分支走的(代码中是switch的default分支)或者从soo_ioctl函数的默认(default)分支走的
  • 2.之后通过udp_usrreq函数或者tcp_usrreq函数进入in_control函数
  • 3.in_control函数比较大。在函数中,有两个关键的switch语句块,第一个switch负责预处理ioctl系统调用的命令,第二个switch负责做具体的指派地址等操作。在做具体操作的中,指派IP地址的操作直接调用in_ifinit函数来做具体的操作。
  • 4.在in_control函数之后,相关的接口有一些专用的东西需要处理,如以太网的硬件地址,环回接口的设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值