IP、MAC地址,交换机路由器,ARP、NAT协议串讲

MAC地址在数据链路层工作,是绑定物理网卡,出厂时决定,是独一无二的。

IP地址在互联网的逻辑上代表一个设备,在ip地址使用到期后,ip地址会被重新分配,然后再次绑定到其他设备上。

交换机和路由器

交换机与路由器的区别:

电子设备是通过内部的网卡进行通信的

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第1张图片

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第2张图片每个网卡出厂时会写入一个MAC地址,

设备通过网线接入到了交换机的端口上,

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第3张图片

这样交换机就知道了我的端口1对应的MAC地址是多少,实现交换机的端口号与MAC地址的绑定。

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第4张图片

如果仅仅在局域网内进行通信,使用MAC地址即可。但是如果需要在整个互联网通信,那么MAC地址难以定位区域。我们需要使用另外一个地址叫IP地址。

当网络设备接入网络时,需要给MAC地址配置IP地址,分为IPV4地址和IPV6地址。

当电脑接入网线时,虽然我们没有去配置IP地址,但我们仍然可以使用,这是因为DHCP协议自动帮我进行配置。

当电脑连入网线,操作系统的网络协议栈,会发送DHCP请求,请求为其分配IP地址。

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第5张图片

路由器收到请求后便会返回IP地址给设备,然后设备就会将其分配的IP地址分配到网卡上:

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第6张图片

(在局域网中,IP地址是唯一的)

有了IP地址后,我们想要直接进行通信,还不能通信,还需要获取对方这个ip地址对应的MAC地址是多少。

通过ARP协议,我们可以将IP地址转化为MAC地址。(方式是通过广播的形式:发送ARP广播,询问是否有人的IP地址是这个,如果有人的IP地址是这个,那么请告诉我MAC地址是多少)

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第7张图片

然后IP地址符合的则会将自己的MAC地址返回给请求的客户端。

接下来客户端会将这个IP地址对应的MAC地址缓存起来以便于下次使用。

然后将数据包补上MAC地址,发送给交换机,交换机则会根据MAC地址然后找到其对应的端口并发送到对应的端口上。

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第8张图片

交换机怎么知道MAC地址对应的是哪个端口呢?

因为物理设备和交换机的不同端口是直接相连的:

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第9张图片

交换机会存储一张端口与MAC地址的映射关系表:进行通信时,根据这个表查询是哪个端口,然后转发出去即可。

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第10张图片

当有数据报从某设备发送过来时,该数据报会包含:

接下来为了方便后续会将源MAC与接收端口绑定,并填入MAC地址表。

然后需要查找发出端口,假如表中没有该MAC地址,则对除了接收该消息的端口以外的所有端口进行群发,这种现象成为泛洪。只要该MAC地址在这个网络中则一定会收到该消息。

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第11张图片

通过上面的工作流程我们知道交换机只关心MAC地址,不关心IP地址。

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第12张图片

MAC地址位于第二层数据链路层,因此数据链路层也被称为MAC层。

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第13张图片

所以交换机也被称为二层设备:

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第14张图片

接下来看看路由器:

路由器分为WAN口和LAN口,WAN口是用来接入运营商网络的。

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第15张图片

如果忽略WAN口则路由器等于交换机。

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第16张图片

来看看网关是什么东西:

先来了解下子网划分:

IP地址与子网按位相与:

子网掩码例如:IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第17张图片

如果IP地址与该子网掩码按位相与,则IP地址的二进制的前24位不变,后8位变为0。

比如:

两个IP与子网掩码做了与运算之后的结果如果相同,说明这两个ip地址位于同一子网。

所以扩大ip数量只需要调小子网掩码,减少ip数量只需要同理

不同子网间没法直接通信,需要通过网关实现

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第18张图片

发送数据报时,如果不是在同一个子网,则先发送到网关的MAC

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第19张图片

然后网关根据ip地址,查询路由表,然后

根据目标ip判断如何发送的方式就是路由

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第20张图片

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第21张图片

从内网到互联网就是一个跨网络的行为,需要路由器担任网关,进行路由。

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第22张图片

两个家庭都使用相同的ip地址访问互联网,为什么不冲突呢

数据包的发送是通过ip进行路由的,如果ip冲突,则arp表混乱,无法确定目标

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第23张图片

思路很简单,就是让经由网关发送出去的ip地址用路由器去修改ip即可

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第24张图片

于是通信的过程如下,经过路由器时会进行SNAT和反向SNATIP、MAC地址,交换机路由器,ARP、NAT协议串讲_第25张图片

但是如果两个计算器都用的同一个ip地址,当接收服务器消息时怎么办?

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第26张图片

所以此时需要将关联的属性往下扩展到传输层,以传输层协议TCP为例,里面有两个关键属性,源端口和目标端口

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第27张图片

通过不同的端口来区分相同的ip地址。

SNAT是源地址转换,那同样有一个目标地址转换技术,也就是DNAT

SNAT是用于内网访问外网服务器的

但假如内网有服务要对外提供服务,我们需要在路由器上配置一个DNAT,内容为访问公网地址的8080端口,则帮我们转到计算机1,也就是192.168.1.10的八零端口。

则当访问数据包从WAN口进入后,路由器执行DNAT修改目标地址为192.168.1.10,修改目标端口为80。把数据包转发给了计算机1

IP、MAC地址,交换机路由器,ARP、NAT协议串讲_第28张图片

NAT基础深入到我们生活的方方面面,小到家庭网络达到庞大的运营商网络计算平台都通过NAT技术一层层的将我们的网络进行了分割。在IPV4地址严重匮乏的今天,我们的计算机网络仍旧能正常的运转,多亏了NAT技术的存在。

 

你可能感兴趣的:(计算机网络,网络,网络协议,tcp/ip)