下面来看看以太网的包收发操作。IP生成的网络包只是存放在内存中的一串数字信息,没有办法直接发送给对方
。因此,我们需要将数字信息转换为电或光信号,才能在网线上传输,也就是说,这才是真正的数据发送过程。
负责执行这一操作的是网卡,但网卡也无法单独工作,要控制网卡还需要网卡驱动程序
。驱动程序不只有网卡才有,键盘、鼠标、显卡、声卡等各种硬件设备都有。当然,不同厂商和型号的网卡在结构上有所不同,因此网卡驱动程序也是厂商开发的专用程序
网卡的内部结构如图2.23所示,这是一张网卡主要构成要素的概念图,并不代表硬件的实际结构,但依然可以看清大体的思路。记住这一内部结构之后,我们再来介绍包收发的操作过程,现在,我们先来讲讲网卡的初始化过程。
网卡并不是通上电之后就可以马上开始工作的,而是和其他硬件一样,都需要进行初始化
。也就是说,打开计算机启动操作系统的时候,网卡驱动程序会对硬件进行初始化操作,然后硬件才进入可以使用的状态。这些操作包括硬件错误检查、初始设置等步骤,这些步骤对于很多其他硬件也是共通的,但也有一些操作是以太网特有的,那就是在控制以太网收发操作的MAC模块中设置MAC地址。
网卡的ROM中保存着全世界唯一的MAC地址,这是在生产网卡时写入的,将这个值读出之后就可以对MAC模块进行设置,MAC模块就知道自己对应的MAC地址了
。也有一些特殊的方法,比如从命令或者配置文件中读取MAC地址并分配给MAC模块。这种情况下,网卡会忽略ROM中的MAC地址。有人认为在网卡通电之后,ROM中的MAC地址就自动生效了,其实不然,真正生效的是网卡驱动进行初始化时在MAC模块中设置的那个MAC地址,在操作系统启动并完成这些初始化操作之后,网卡就可以等待来自IP的委托了。
网卡的ROM中保存着全世界唯一的MAC地址,这是在生产网卡时写入的。
网卡中保存的MAC地址会由网卡驱动程序读取并分配给MAC模块。
总结
- 网卡中的mac地址是唯一的
- 网络包中的信息需要通过网卡转换成光电信息进行传输