关于TCP/IP中数据链路层的问题

[复制链接]
3363|5
 楼主| kaolacatty 发表于 2008-7-16 20:52 | 显示全部楼层 |阅读模式
1&nbsp;请问一般的TCP/IP协议栈,数据链路层是不是就是实现以太网驱动程序呢?<br />2&nbsp;数据链路层下面就是设备驱动吧?<br />3&nbsp;设备驱动需要实现哪些接口函数,由具体TCP/IP协议栈的数据链路层决定吧?<br />&nbsp;<br />
 楼主| kaolacatty 发表于 2008-7-16 23:02 | 显示全部楼层

追加一个问题

4&nbsp;请问TCP/IP中的LoopBack&nbsp;功能是在数据链路层实现?还是在数据链路层一下,与设备驱动在一个层次呢?也就是说LoopBack&nbsp;功能实现的是与设备驱动程序一样的接口吗?
 楼主| kaolacatty 发表于 2008-7-16 23:53 | 显示全部楼层

追加一个问题

5&nbsp;网络控制器驱动,在TCP/IP协议栈中起到什么左右呢?<br />
 楼主| kaolacatty 发表于 2008-7-19 10:05 | 显示全部楼层

是我问问题的地方不对吗

  
dld2 发表于 2008-7-19 11:03 | 显示全部楼层

re

理论上分成5层:<br />应用层、传输层、网络层、数据链路层、物理层。<br /><br />俺看的lwip,有一个网络接口层,位于IP层下面。<br />包括:loopback接口、以太网接口、ppp接口等。<br /><br />下面是设备驱动程序。<br /><br />其实MAC层的东西多数已经在网络接口芯片里实现了。似乎没有必要把数据链路层和设备驱动程序分开。<br /><br />
 楼主| kaolacatty 发表于 2008-7-22 01:03 | 显示全部楼层

谢谢dld2回复

&gt俺看的lwip,有一个网络接口层,位于IP层下面。<br />&gt包括:loopback接口、以太网接口、ppp接口等。<br />-&gt我看的协议栈中,也有个类似的网络接口层,在IP层下面,被叫做网络设备接口。我原以为这层调用的函数,应该是驱动应该实现的接口。<br />可这个层的代码竟然调用了loopback接口,我马上就不知道怎么回事了。<br /><br />另外,我理解网络控制器(MAC)驱动需要完成的工作如下:<br />1&nbsp;通过MII/GMII/RMII,与PHY接口。(出要是操作MII相关寄存器)<br />2&nbsp;从CPU中读取/写入数据(DMA或IO方式)<br />3&nbsp;控制FIFO<br /><br />可是,要在哪些接口函数中实现这些功能,才能让上层的TCP/IP协议栈正确调用,却一点头绪也没有。<br /><br />&nbsp;&nbsp;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

8

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部