前言:
计算机网络是很重要的部分,这篇就对计算机网络基础做一个总结。
开始我以为只能是一个MAC地址只能对应一个IP地址,一个IP地址能对应多个MAC地址。但是现在好像错了。都可以多对多。
IP地址和MAC地址对应关系是动态的,在有的情况下:一个MAC地址可以对应多个IP地址。
多宿主设备是指:一个设备连接到多个网络或者网络接口。
在这种情况下,一个MAC地址就可以绑定到多个IP地址。
举例:
一个虚拟机主机为不同的虚拟机提供了不同的ip地址,但是这些IP地址都共用一个MAC地址。
就像我们买的云服务器一样,有很多的IP,但是用的可能是一个设备,一个MAC地址。
一台云服务器运行多个虚拟机,每个虚拟机都有自己的IP地址。但是他们的网络流量都是通过一个网络网卡发出的,该网卡只有一个MAC地址。
这个就是一个设备可以使用多个IP,在内部有多个IP地址,但是公网IP只有一个。
这些不同的IP地址,通过网络地址转换可能就转换到同一个MAC地址了。
在不同的地方,设备的IP地址会不一样,但是MAC还是一样的。
在ipv6中,有很多的地址,一个设备完完全全可以有多个IP地址。
用户可以将一个设备绑定不同的ip,因此绕过网络访问控制。
上面在服务器例子,路由器例子中,都说明了一个MAC地址可以绑定多个IP地址。但是都会对应到一个MAC地址去。
1.然后ipv6本来就可以有多个IP地址。
2.P地址的绑定也是动态的,不同地方的IP是不一样的。
🍇虚拟化环境,🍇宿主设备,🍇NAT转换场景,🍇ipv6,🍇动态连接,🍇MAC地址欺骗。
大小:32位。(3字节)
IPv4地址是由32二进制组成,以点分十进制形式表示。每一个字节(八个二进制)为一个,然后中间以:分开。
示例:192.168.1.1。 这里的每个十进制数取值范围是 0 - 255 。 IPv4 地址空间理论上包含,约 42.9 亿个地址。(感觉有点少呀)
大小:128位。(16字节)
这也太大了吧,根本用不完啊。也是以冒号:分开。中间是16进制表示。
128位/4=32位16进制/8=4个数字。每4个分开。
示例:2001:0db8:85a3:0000:0000:8a2e:0370:7334 。 为简化表示,可省略每个 16 位组中的前导 0,连续的全 0 组还可用双冒号 “::” 代替,但在一个地址中双冒号只能出现一次 。 IPv6 的地址空间极其庞大。
大小:48位(6字节)
示例:00:16:3e: 25:4f:6a 。 前 6 个十六进制数字(即前 3 个字节)代表网络设备制造商的标识符。 后 6 个十六进制数字(后 3 个字节)由制造商自行分配,用于标识该制造商生产的某个网络接口。
其他的都是头部封装。TCP/UDP头部,IP头部。
以太网头部,以太网尾部。
数据链路层接收来自网络层的数据包,将其作为数据部分,然后在前面添加报头(Header),在后面添加报尾(Trailer),共同构成数据帧(Frame)。 以最常见的以太网数据帧为例,其报头包含目的 MAC 地址、源 MAC 地址、类型等字段。 报尾包含用于差错检测的帧校验序列(FCS,Frame Check Sequence)字段。
🍉在传输层叫段(segment)。
🍉在网络层叫报(datagram)。
🍉在数据链路层叫帧(frame)。