一.网络层的功能
网络层是OSI参考模型中的第三层,介于传输层和数据链路层之间,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向传输层提供最基本的端到端的数据传送服务。主要内容有:虚电路分组交换和数据报分组交换、路由选择算法、阻塞控制方法、X.25协议、综合业务数据网(ISDN)、异步传输模式(ATM)及网际互连原理与实现。
二. IP协议
三.ICMP协议
四.ARP协议
- 定义
在同一个以太网环境下传输数据时, 主机之间通过48位的MAC地址来进行通信,而IP协议则通过32位的IP协议进行通信, 网络层协议与数据链路层协议之间使用的地址并没有特定的函数关系, 这造成当 IP 协议通过路由算法确定出下一跳的目标主机时, 数据包无法直接根据IP地址投递给目标主机。在ARP出现协议之前, 由于缺乏一个统一的标准, 因此由具体的实现者 (Implementor) 自行来做 IP地址与MAC地址的转换, 而ARP协议便是要解决这个问题, ARP 协议并非特定应用于MAC协议与IP协议的地址映射, 而是支持多种数据链路层协议与网络层协议。
2.基本原理
当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到就知道目标MAC地址为(00-BB-00-62-C2-02),直接把目标MAC地址写入帧里面发送就可。
如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在本地网络上广播发送一个ARP请求(ARP request),目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:“192.168.38.11的MAC地址是什么?”
网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的应答(ARP response):“192.168.38.11的MAC地址是00-BB-00-62-C2-02”,此应答以单播方式进行。这样,主机A就知道主机B的MAC地址,它就可以向主机B发送信息。同时它还更新自己的ARP缓存(ARP cache),下次再向主机B发送信息时,直接从ARP缓存表里查找就可。