阅读:962回复:5
网络基础的问题?
有三台机器(A,B,C),在一局域网中用Hub相连(没有连接Internet),假设IP地址分别为192.168.0.1(2,3).
比如现在主机A要从机器B拷贝文件,那么它们在相互访问时,是如何由IP地址获知对方的物理地址的? 其中,网卡的硬件部分做了些什么事情,网卡的驱动程序做了些什么事情,协议又做了些什么呢? (好复杂啊 :( ,一直搞不懂这个问题,请大家帮帮!) |
|
沙发#
发布于:2003-08-09 16:31
急啊!!!请教大侠指点指点,我是菜鸟,但我会给分啊!
|
|
板凳#
发布于:2003-08-09 22:13
主机广播一个有目的IP和本机MAC地址的ARP,每个机器都会收到这个广播包,比较包里的目的IP和本机IP,如果相同就返回一个有自已MAC的包。
|
|
|
地板#
发布于:2003-08-09 22:17
网卡都会收到广播包的,广播包的MAC目的地址为全为0xFF,收到包后交给驱动去处理啦
|
|
|
地下室#
发布于:2003-08-11 13:02
从IP地址翻译到MAC用了ARP(Address Resolution Protocol)。网卡负责把自己的MAC--IP地址对广播到连网的每一台机器上由此在每一台机器上保存了这个ARP列表。你可以在机器上运行命令行arp -a看到这个列表。网卡我想就是负责了物理层和数据链路层的工作吧。你说的协议是指TCP/IP吧,他们位于传输层/网络层,具体作了些什么可就是要专门文章论述的了。
|
|
5楼#
发布于:2003-08-11 21:19
谢谢大家的回答:)
还有不明白的是: 网卡接受到数据,首先应该是在他的缓冲区里,然后再由驱动程序处理,对吗?驱动程序再把数据转发谁呢,是操作系统接受了,还是上层的协议软件(比如TCP/IP)接受了? 在处理一个ARP报文与一个普通的数据包有什么区别呢? 也就是说,如何识别是一个ARP报文还是其他数据报文?然后交给谁来处理,是ARP协议还是TCP/IP协议呢?是谁来负责这类事情呢? (我好多不懂啊:( ,是不是太菜了?) |
|