【计算机网络】7. 网络基础5之详解以太网协议,ARP协议,NAT协议,DNS协议

目录

  • 1. 以太网协议
    • 1.1 以太网协议格式
  • 2.ARP协议
    • 2.1 arp协议的格式
    • 2.2 arp缓存表
      • 2.2.1 为什么需要arp缓存表?
      • 2.2.2 arping发送的arp数据在抓包的时候为什么没有看到广播现象?
      • 2.2.3 为什么arp缓存表当中的记录还需要老化(失效)时间?
  • 3. NAT:地址转换协议
  • 4. DNS协议

1. 以太网协议

网络层的IP协议负责路由选择,而具体如何从A机器到B设备,网络层并没有关心,而是数据链路层负责相邻设备的转发。

命令:route -n:打印路由表
【计算机网络】7. 网络基础5之详解以太网协议,ARP协议,NAT协议,DNS协议_第1张图片
数据链路层负责相邻设备之间的转发
数据链路层当中使用到的MAC地址(物理地址),跟网卡强相关,绑定在网卡上,一个物理网卡当中的MAC地址是全球唯一的

1.1 以太网协议格式

在这里插入图片描述
(1)目的地址:目的MAC地址
(2)源地址:源MAC地址
(3)类型:数据链路层的上层协议是什么
                   例如:ip协议–》以太网协议,则类型当中是以太网协议(为了方便接收方通过类型辨别当前以太网协议的有效载荷是递交给
                              哪一个协议的)
(4)有效载荷:46字节(最小字节限制) ~ 1500字节(MTU)
                           针对小于46字节的数据,会对数据进行补0操作,将数据补满46字节
(5)CRC:校验数据在传输过程当中是否失真
在这里插入图片描述
网络层进行选路,数据链路层负责相邻设备的转发。
数据链路层根据网络层选择的路由项,进行转发。一定需要知道要转发的这个路由所对应的相邻设备的MAC地址。
要么是子网内机器的MAC地址
要么是连接的路由项WAN口对应的MAC地址

2.ARP协议

在组织以太网协议的时候,需要知道相邻设备的MAC地址,但是如果当前主机不知道相邻设备的MAC地址,该如何做呢?
使用arp协议,获取相邻设备的MAC地址
获取子网内部机器的MAC地址
获取相邻路由器设备WAN口的MAC地址

2.1 arp协议的格式

【计算机网络】7. 网络基础5之详解以太网协议,ARP协议,NAT协议,DNS协议_第2张图片
注意:arp协议是想要获取相邻设备的MAC地址
(1)6字节的以太网的目的MAC地址:填充为:0xFFFFFFFFFFFF,标识当前的arp请求是要给子网内的机器进行广播
(2)6字节的以太网源MAC地址
(3)2字节的帧类型:arp协议
(4)2字节的硬件类型:指定当前网络类型(以太网)
(5)2字节的协议类型:ipv4协议,ipv4版本的ip地址获取MAC地址
(6)1字节的硬件地址长度:1字节可以表示的数字位(-128~127),MAC地址的长度(6字节)
(7)1字节的协议地址长度:ipv4版本ip地址的长度(4字节)
(8)op:当前的arp数据是请求还是应答
                 1:arp请求
                 2:arp应答
(9)6字节的发送端以太网地址:源MAC地址
(10)4字节的发送端IP地址
(11)6字节的目的以太网地址:请求:0x000000000000
                                                     应答:发送arp请求机器的MAC地址
(12)4字节的目的IP地址
【计算机网络】7. 网络基础5之详解以太网协议,ARP协议,NAT协议,DNS协议_第3张图片
模拟发送ARP请求:
arping -I [网卡设备] -c [次数] [目标机器的ip地址]
【计算机网络】7. 网络基础5之详解以太网协议,ARP协议,NAT协议,DNS协议_第4张图片
【计算机网络】7. 网络基础5之详解以太网协议,ARP协议,NAT协议,DNS协议_第5张图片
在这里插入图片描述
【计算机网络】7. 网络基础5之详解以太网协议,ARP协议,NAT协议,DNS协议_第6张图片
目的MAC地址保存的是相邻设备的MAC地址,源MAC地址保存的是发出消息设备的MAC地址

在网络数据转发的过程当中,目的IP地址一般(除非有NAT转换的情况)是不会改变的,转发设备会针对网络数据进行分用到网络层,获取到目的IP地址,通过目的IP和自己保存的路由表进行匹配,从而选择路由。
数据链路层组织的以太网协议当中的目的MAC地址,一定是相邻设备的MAC地址

2.2 arp缓存表

【计算机网络】7. 网络基础5之详解以太网协议,ARP协议,NAT协议,DNS协议_第7张图片
arp缓存表当中保存ip地址和mac地址的对应关系
arp缓存表当中的记录是有老化时间的,老化时间为20min,一旦失效,会重新发送arp请求,获取ip地址对应的MAC地址

2.2.1 为什么需要arp缓存表?

当网络数据从网络层到达数据链路层的时候,需要填充以太网协议的目的MAC地址,则可以通过arp缓存表当中记录的项,查找对应的MAC地址
如果差找到了,则拿到MAC地址,填充以太网协议之后,就进行发送
如果没有查找到,则使用arp协议,获取目标ip的MAC地址。

2.2.2 arping发送的arp数据在抓包的时候为什么没有看到广播现象?

【计算机网络】7. 网络基础5之详解以太网协议,ARP协议,NAT协议,DNS协议_第8张图片

2.2.3 为什么arp缓存表当中的记录还需要老化(失效)时间?

【计算机网络】7. 网络基础5之详解以太网协议,ARP协议,NAT协议,DNS协议_第9张图片
可能会出现不同的IP对应是同一个MAC地址

3. NAT:地址转换协议

目前的ipv4版本的ip地址不够用,面临枯竭的问题,42亿9千万多个ip地址
【计算机网络】7. 网络基础5之详解以太网协议,ARP协议,NAT协议,DNS协议_第10张图片
【计算机网络】7. 网络基础5之详解以太网协议,ARP协议,NAT协议,DNS协议_第11张图片
【计算机网络】7. 网络基础5之详解以太网协议,ARP协议,NAT协议,DNS协议_第12张图片
(1)静态NAT
NAT服务器针对私网IP,一对一的转换成为公网IP

(2)动态NAT
NAT服务器维护多个公网IP地址,当私网主机想要访问互联网的时候,找一个空闲的公网IP与之转换

不管怎么样,静态NAT和动态NAT在转换的时候,都是1对1的关系,都是一个私网ip映射一个公网ip,并没有i实质性的缓解ip地址枯竭

(3)NAPT:动态NAT重载
不仅仅要将私网ip转换成为公网ip,还需要将端口也转换成为不同的端口
【计算机网络】7. 网络基础5之详解以太网协议,ARP协议,NAT协议,DNS协议_第13张图片
NAT服务器将网络划分成了公网和私网
NAT服务器针对私网请求出数据进行转化源IP地址,针对公网回复的应答数据转换目的IP地址
NAT服务器的转换,针对消息的双方是透明的,无感知
网络请求只能从私网主机发起,NAT转换,公网主机应答
NAT服务器在转换之后,需要保存映射关系

4. DNS协议

DNS协议叫做域名解析协议,将域名转化成为ip地址,方便了人们记忆。
域名:本质上就是一个字符串
DNS协议:将域名转化成为ip地址
【计算机网络】7. 网络基础5之详解以太网协议,ARP协议,NAT协议,DNS协议_第14张图片
【计算机网络】7. 网络基础5之详解以太网协议,ARP协议,NAT协议,DNS协议_第15张图片

你可能感兴趣的:(怎样学好网络,网络,网络协议,tcp/ip)