计算机网络(网络层)

来源:互联网 发布:编程技术流 编辑:程序博客网 时间:2024/04/29 20:51

1.网际协议IP
网际协议IP是TCP/IP体系中两个最重要的协议之一,也是最重要的因特网网际标准协议之一。与IP协议配套使用的还有另外三个协议。这三个协议也都是属于网络层。

  • 地址解析协议ARP
  • 网际控制报文协议ICMP
  • 网际组管理协议IGMP
    网际协议IP及其配套协议

    在上图中画出了这三个协议和网际协议IP的关系。在这一层中,ARP画在最下面,因为IP要经常使用这个协议。为什么说IP要经常使用ARP协议,这里我们就先要弄懂主机的IP地址和硬件地址的区别。首先从层次的角度看,物理地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是属于一种逻辑地址。
    我们知道,在发送数据的时候,数据是由高层下到低层,才在通信链路上传输的。使用IP地址的IP数据包一旦交给了数据链路层就被封装成MAC帧。MAC帧在传送时使用的源地址和目的地址都是硬件地址,这两个地址都写在MAC帧的首部中。(硬件地址、物理地址、MAC地址一般来说都是一个含义)
    总之,IP地址放在IP数据报的首部,而硬件地址则放在MAC帧的首部。在网络层和网络层以上使用的是IP地址,而数据链路层及以下使用的是硬件地址。
    如果两个主机A、B之间通过路由器互连起来,主机A向主机B发送数据,那么在经过路由器阶段的时候,网络层中的IP数据报的首部中的源地址和目的地址都不会发生变化。但是对于数据链路层的MAC帧首部中的源地址和目的地址则会发生变化。
    ARP协议的用途是为了从网络层使用的IP地址解析出在数据链路层使用的硬件地址。当主机A要向本局域网上的某个主机B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址。如有,就在ARP高速缓存中查出其对应的硬件地址,再把这个硬件地址写入MAC帧,然后通过局域网把该MAC帧发往此硬件地址。
    也有可能查不到B的IP地址,这种情况下,主机A就会自动运行ARP,然后按照以下步骤找出主机B的硬件地址。
    (1)ARP进程在本地局域网上广播一个ARP请求分组
    (2)在本地局域网上的所有主机上运行的ARP进程都收到此ARP请求分组
    (3)主机B的IP地址与ARP请求分组中要查询的IP地址一致,就收下这个ARP的请求分组,并向主机A发送ARP响应分组,并在这个响应分组中写入自己的硬件地址。
    (4)主机A收到主机B的ARP响应分组后,就在其ARP高速缓存中写入主机B的IP地址到硬件地址的映射。
    ARP把保存在高速缓存的每一个映射地址项目都设置生存时间。凡是超过生存时间的项目就从高速缓存中删除掉。

0 0
原创粉丝点击