MAC地址是12位16进制数,48位二进制数组成,其独一无二。它用于标识一块网卡,网卡处于OSI7层模型中的数据链路层设备,主要用于数据的封装与解封装、链路管理、数据编码与译码等
ip地址是逻辑地址,32位二进制数组成,分成4个八位二进制数。所以我这边简述其分为4段,而ip地址的类别划分也是由几段网络号划分,A类一段网络号,即255.0.0.0作为子网掩码,以此类推B类两段网络号,C类三段网络号。常见C类地址,三段网络号,一段主机号,最后一个网段在不划分子网的情况下可以容纳254台主机,全0和全1的主机号去除,全0代表网络号,全1代表广播地址
端口由16位2进制数组成,共65536个,0-65535
由上至下为:
应用层:用户和应用程序交互的接口
表示层:数据的格式的转化和数据的加密,即将计算机能识别的转化为人能识别的,如图片、语音等
会话层: 建立、管理和维护会话,通过传输层简历数据传输的通路
传输层:传输就会涉及到协议,所以这一层主要与协议相关,如tcp、udp,主要将从下层接收的数据进行分段和传输,到达目的地址后进行重组,这一层数据叫做段
网络层:和网络相关的主要是ip地址,这一层主要进行逻辑地址的寻址,在位于不同地理位置的的网络中,为两个主机提供链接和路径选择,管理链接和ip息息相关。
数据链路层:上一层为网络ip相关,那么这一层就与硬件地址相关(MAC)组合数据为帧,用MAC地址访问介质
物理层:主要就是数模转换、模数转换,毕竟需要将01数据转换为高低电平,数据叫做bit
ARP协议是Address Resolution Protocol 地址解析协议:实现由IP地址到MAC地址的转换。
网络层对数据链路层做出指引的过程称为路由控制,指引数据链路层的下一站是哪。为了将数据包发送给目的主机,所有的主机和路由器都维护着一张路由控制表。路由控制表由目的IP地址和下一个数据包应该发送哪个路由器组成
但是在数据链路层进行通信的时候,只认MAC地址
ARP是借助ARP请求与ARP相应两种类型的包来确定MAC地址的。并且每个主机都有一个ARP高速缓存,其中有本局域网上的各主机和路由器的IP地址与MAC地址的映射表。
ARP的流程如下:
1、主机A为了获得主机B的MAC地址,首先查询自己的ARP缓存中有无主机B的记录
2、如果没有命中,主机A会现在本网段进行广播,若要解析的目标ip在当前网段,目标主机会将自己的MAC地址通过ARP响应包,以单播的方式返回,因为ARP请求包中已经有主机A的IP与MAC地址。
3、主机A接收到主机B的ARP响应包后会将主机B的IP与MAC映射写入ARP缓存中
4、若目标ip不在当前网段,则获取的是转发数据报的路由器的MAC地址,并写入缓存