【菜鸟学网络四】网络学习笔记
这次要学MAC和IP的转换协议,也就是ARP与RARP,今天在外边玩,明天回去更新,占贴留名好了,回来了。这次我们学的两个协议仍然在网络层ARP与ICMP
首先我们介绍ARP,
ARP的作用什么什么呢?就是IP地址与实际物理地址映射问题。什么是物理地址呢?拿以太网为例子,物理地址就是你得网卡ID,是一个唯一的身份证号,当然现在身份证也不一定唯一了,你懂得。
那么,什么是以太网呢?以太网可以理解为一个局域网,其特性就是广播。
回到正题,为什么我们要使用ARP进行IP与MAC的转换呢?是因为网络层数据的收发实际是靠数据链路层与物理层来实现的,IP协议是为了统一实际物理实现而对上层提供一种统一端口的协议。所以,实际上我们收发数据靠的不是IP地址,而是你得网卡地址,网卡地址属于物理层,IP地址属于网络层,懂了吗?
现在我们来看ARP是如何工作的,如果要从IP地址得到实际硬件的网卡地址的话,我们肯定需要一张IP-MAC映射表。如果一开始就做一个非常大的表,那么这个表的维护是非常困难的,因为IP和MAC不是永远一一不变的,你可以换上网环境,你也可以换网卡,所以为此ARP建立在了以太网的一个非常重要的特性之上:广播。
比如说,主机A想给同一网内的主机B发信息,知道B的IPB,当A打包好IP数据包并发送到数据链路层的时候,就需要获得主机B的网卡地址了,A这时候就要查询电脑内的ARP地址映射表。如果有IPB-->MACB的表项的话,就提供给数据链路层继续打包数据并发送。如果没有呢?好问题。
如果没有主机B的网卡地址,ARP协议会向当前内网发送一个ARP数据包,该包的发送形式是广播发送,主要内容有两条:1.主机B的IP地址,2.主机A的IP地址与网卡地址。
这个时候,网内所有电脑都会收到这个包MA2B,如果主机C收到MA2B,会检测自己的IP是否为IPB,不是的话,就丢弃,当然再丢弃之前,主机C还需要提取其中的有用信息来维护自己的ARP表,IPA-MACA。网络资源是很有限的哦,有人会问,那么ARP表失效怎么办,没关系,每个表项维护的三个值,IP,MAC,更新时间。如果更新时间与当前时间之差超过某个时间的话,当前ARP表会舍弃或者重新要求更新该表项的。
问题又来了,那么如果给外网主机D呢?这个时候,假设该网络路由为MR,则主机A会将该数据包发送给MR,然后再由MR进行向外发送,这里就又是另外一个问题了路由协议。我们下节会讲述。
题外话,有人还听过RARP,这个协议是MAC到IP的,其作用是由自己的网卡地址,向服务器请求一个该网络内的IP地址,往往用在无盘工作站上。
======================================================================
讲讲讲讲!赶个进度,我们再来讲讲ICMP,网络控制信息协议。
IP协议是一种不可靠的传输协议,往往会出错,如果出错不做任何响应,那么源主机或者目标主机可能会继续发送或者等待数据包的到来而不能够做出正确的响应。
所以ICMP就诞生了,ICMP是作为IP数据包个格式进行传输的,但是问题来了,如果这样的话岂不他自身也会出错?然后再发送对于他的ICMP?这样肯定会造成网络阻塞的,所以ICMP协议规定,对于ICMP包的出错,不做任何响应,不为该数据包产生新的ICMP包。
这个协议在发送出错后,由出错的路由器或者主机对源主机进行信息反馈,当然不会对原来路径上的主机或路由发送ICMP。
主要作用有:测试用的回显请求、目标不可达错误反馈、网络阻塞时源端关闭、超时、数据包参数错误、获取子网掩码等作用。
[ 本帖最后由 我是菜鸟哦 于 2013-4-6 20:21 编辑 ]