计算机网络之网络层 (2)

  从IP协议的转发流程中我们可以看到:数据帧每一跳的MAC地址都在变化,但IP数据报每一跳的IP地址始终不变。但我们会发现一个问题,在网络层中将数据报交给数据链路层,并且需要告知目的MAC地址,但是在网络层中只知道IP地址,我们是如何知道目的MAC地址的呢?这就是ARP协议做的事情了。

ARP协议

  ARP(Address Resolution Protocol)地址解析协议,将网络层中的32位IP地址,通过ARP协议解析为数据链路层中的48位MAC地址。这个映射关系是存储在ARP缓存表中的。arp -a命令:查看ARP缓存表

IP地址 MAC地址
192.168.83.254   00-50-56-e0-33-40  
192.168.83.255   01-00-5e-00-00-16  
224.0.0.251   01-00-5e-00-00-fc  
239.1.2.3   01-00-5e-40-98-8f  
255.255.255.255   01-00-5e-7f-ff-fa  

  ARP缓存表是ARP协议和RARP协议运行的关键,ARP缓存表缓存了IP地址到硬件地址之间的映射关系,ARP缓存表中的记录并不是永久有效的,有一定的期限。这是因为当你的网络设备,换个网络环境,网络设备的IP地址就可能会发生改变,ARP缓存表中的原来的记录就失效了。当ARP缓存表中有映射关系,就直接查询ARP缓存表;如果没有这个映射关系,ARP协议就会广播,并记录回应得地址信息。

  RARP(Reverse Address Resolution Protocol)逆地址解析协议,其作用与ARP协议相反,即把数据链路层中48位MAC地址,解析位网络层中的32位IP地址。(R)ARP协议是TCP/IP协议栈里面基础的协议,ARP和RARP的操作对程序员是透明的,理解(R)ARP协议有助于理解网络分层的细节。

IP地址的子网划分 分类的IP地址

计算机网络之网络层

  最小网络号 最大网络号 子网数量 最小主机号 最大主机号 主机数量
A   0(00000000)   127(01111111)   \(2^7\)   0.0.0   255.255.255   \(2^{24}\)  
B   128.0   191.255   \(2^{14}\)   0.0   255.255   \(2^{16}\)  
C   192.0.0   223.255.255   \(2^{21}\)   0   255   \(2^{8}\)  

特殊的主机号:主机号全0表示当前网络段,不可分配为特定主机;主机号为全1表示广播地址,向当前网络段所有主机发消息

A类地址网络段全0(00000000)表示特殊网络

A类地址网络段后7位全1(01111111:127)表示回环地址

B类地址网络段(10000000.00000000:128.0)是不可使用的

C类地址网络段(192.0.0)是不可使用的

实际可使用各类IP地址如下:

  最小网络号 最大网络号 子网数量 最小主机号 最大主机号 主机数量
A   1   127(01111111)   \(2^7\)-2   0.0.1   255.255.254   \(2^{24}\)-2  
B   128.1   191.255   \(2^{14}\)-1   0.1   255.254   \(2^{16}\)-2  
C   192.0.1   223.255.255   \(2^{21}\)-1   1   254   \(2^{8}\)-2  

  127.0.0.1,通常被称为本地回环地址(Loopback Address),不属于任何一个有类别地址类。它代表设备的本地虚拟接口,所以默认被看作是永远不会宕掉的接口。在Windows操作系统中也有相似的定义,所以通常在安装网卡前就可以ping通这个本地回环地址。一般都会用来检查本地网络协议、基本数据接口等是否正常的。

划分子网

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyddxy.html