终篇:解惑篇,那些思懂非懂的知识点①

好开心,之前专题里的浏览量已突破3k+了,除了我自己还要特别感谢我的插画师肖敏同学,多才多艺的姑娘,也谢谢每一位光临的读者,尤其是在开篇网关中1.7k+的浏览量和那些点赞的同学,谢谢你们的支持…

还有很多知识点,是我最近新解惑的知识点,所以抽一点时间,重新梳理一下。

1、说好的MAC地址世界的唯一值,我为啥可以修改呢?

在上大学的时候,就听说MAC地址的唯一的,但我明明还可以修改,所以梳理了一下原因。

MAC(Media Access Control,介质访问控制)地址,也叫硬件地址,长度是48比特(6字节),由16进制的数字组成,分为前24位和后24位。

前24位叫做组织统一标识符(OUI),是由IEEE的注册管理机构给不同厂家分配的代码,用于区分不同的厂家。后24位是厂家自己分配的,称为扩展标识符,同一个厂家生产的网卡中的MAC地址的后24位是不同的。

也就是说,MAC本来设计是唯一性的,但是后来设备越来越多,而且还有虚拟化的设备和网卡,有很多工具可以修改,就很难保证不冲突了,但是至少应该保持一个局域网内是唯一的。

这就像我们生成UUID或者哈希值,大部分情况下是不会冲突的,但是如果碰巧出现冲突了,采取一定的机制解决冲突就好。

2、IP地址和MAC地址的关系,都有啥?

  • 局域网内IP地址是动态分配的,假如我是192.168.35.69,如果我下线了,可能IP就分配给了另一台电脑。IP和设备并不总是对应的,这对通信就产生了问题。但是MAC地址不同,MAC地址是全球唯一了。

  • 早起的以太网只有交换机,没有路由器,以太网内通过MAC地址通信,后来才有了互联网,为了兼容原本的模式,采用了IP+MAC地址通信方式。

  • 先有的MAC地址后有的IP,IP的提出主要是因为MAC地址本身的缺陷,这个问题换成了有了MAC为何还要有IP地址。

  • IP地址有远程定位的功能,MAC没有。

3、如果最后一跳的时候,IP地址改变了,怎么办

对于IP层来讲,当包到达最后一跳的时候,原来的IP不存在了。比如网线拔掉了,或者服务器直接宕机了,则ARP就找不到了,所以这个包就失败了,对于IP层的工作也就结束了。

但是IP层之上的TCP层,TCP会重试的,包还是会重新发送,但是如果服务器没有启动起来,超过一定的次数,最终放弃。

如果服务器重启了,IP还是原来的IP地址,这个时候TCP重新发送一个包的时候,ARP是能够得到这个地址 ,因而会发到这台机器上来,但是机器上面没有启动服务器端监听那个端口,于是会发送ICMP端口不可达。

如果服务器重启了,服务端也重新启动了,也在监听那个端口了,这个时候TCP的服务端由于是新的,Sequence Number根本对不上,说明不是原来的连接,会发送RST。

但是有一个非常特殊的方式,就是虚拟机的热迁移,从一台物理机迁移到另外一台物理机,IP不变,MAC不变,内存也拷贝过去 Sequence Number在内存里面也保持住了,在迁移的过程中会丢失一两个包,但是从TCP来看,最终链接还是能够成功的。

4、网络号、IP地址、子网掩码和广播地址的关系是什么

  • 首先网络管理员是规划网段,一般是根据将来要容纳的机器数量来规划,如果是小公司一般选择192.168.0.0/24就可以了。

  • 先有的是网络号。192.168.0就是网络号。有了网络号,子网掩码同时也就有了,就是前面的都是网络号的是1,其他的事0,广播地址也有了,除了网络号之外都是1。

  • 当规划完网络的时候,一般这个网络里面的第一个、第二个地址被默认网关DHCP服务器占用,你自己创建的机器,只要和其他的不冲突就可以了,当然你也可以让DHCP服务自动配置。

  • 规划网络原来都是管理员的事情,有了公有云之后,一般有个概念虚拟网络(VPC),鼠标一点就能创建一个网络,网络完全软件化了,任何人都可以做网络规划。

发布了98 篇原创文章 · 获赞 185 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/xuezhiwu001/article/details/99983534