目录
认识IP 地址
子网掩码
作用
动态分配IP 地址
NAT 机制
认识MAC地址
MAC地址如何工作
认识IP 地址
概念:
IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。
作用:
IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
格式:
IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节),如:
01100100.00000100.00000101.00000110
通常用“点分十进制”的方式来表示,即 a.b.c.d 的形式(a,b,c,d都是0~255之间的十进制整数)。如: 100.4.5.6。
IP 有两个版本,IPV4 和 IPV6 ;IPV4 是四个字节表示,IPV6 并不是六个字节,而是16 个字节2^128 ,地球上每一粒沙子都可以被完全覆盖。
随着时代的发展,目前的 IPV4 有点不够用了,4个字节毕竟太小;那为啥当初设计的时候不直接多给几个字节? 这主要就是时代的局限性,放在当时,每一个字节都很珍贵,其次就是当时使用设备的人太少了,42亿9千万 足够他们使用了。
而 IPV6 就完美的解决了这个问题,2 ^128 也不知道啥时候能用完。
组成:
IP地址分为两个部分,网络号和主机号
- 网络号:标识网段,保证相互连接的两个网段具有不同的标识;
- 主机号:标识主机,同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号;
通过合理设置网络号和主机号,就可以保证在相互连接的网络中,每台主机的IP地址都是唯一的。
那么,如何划分网络号和主机号呢?
分类:
过去曾经提出一种划分网络号和主机号的方案,把所有IP 地址分为五类,如下图所示
A、B、C三类及特殊D、E。全0和全1的都保留
- A:(1.0.0.0-126.0.0.0)(默认子网掩码:255.0.0.0
- 网络号取值于1~126
- 大型网络。
- B:(128.0.0.0-191.255.0.0)(默认子网掩码:255.255.0.0
- 该类IP地址的最前面为“10”,
- 网络号取值于128~191
- 中等规模
- C:(192.0.0.0-223.255.255.0)(子网掩码:255.255.255.0
- 该类IP地址的最前面为“110”,
- 网络号取值于192~223
- 小型网络。
- D:是多播地址。
- 该类IP地址的最前面为“1110”,所以地址的网络号取值于224~239之间。
- 用于多路广播用户
- E:是保留地址。
- 该类IP地址的最前面为“1111”,
- 网络号取值240~255
这种划分只会出现在课本上(AB类主机号太长了,很少有这么大的局域网),现实中根本不会这么来表示,而是使用子网掩码等方式来表示 IP 地址。
目前为止,已经出现了 IP 地址不够用的情况,在此基础上有好几个缓解方法,后面会提到。
我们来看看子网掩码:
子网掩码
格式
子网掩码格式和IP地址一样,也是一个32位的二进制数。其中左边是网络位,用二进制数字“1”表示,1的数目等于网络位的长度;右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。
子网掩码也可以使用二进制所有高位1相加的数值来表示,如以上子网掩码也可以表示为24。
作用
其作用是:减少网络上的通信量;节省IP地址;便于管理;解决物理网络本身的某些问题。使用子网掩码划分子网后,子网内可以通信,跨子网不能通信,子网间通信应该使用路由器,并正确配置静态路由信息。划分子网,就应遵循子网划分结构的规则。
Classless Inter-Domain Routing(CIDR):
CIDR 叫做无类域间路由,ISP 常用这样的方法给客户分配地址,ISP 提供给客户1 个块(block size),类似这样:192.168.10.32/28,这排数字告诉你你的子网掩码是多少,/28 代表多少位为1,最大/32.但是你必须知道的一点是:不管是A类还是B类还是其他类地址,最大可用的只能为/30,即保留2 位给主机位。
CIDR 值:
- 掩码255.0.0.0:/8(A 类地址默认掩码)
- 掩码255.255.0.0:/16(B 类地址默认掩码)
- .掩码255.255.255.0:/24(C 类地址默认掩码)
计算方式:
将 IP 地址和子网掩码进行“按位与”操作(二进制相同位,与操作,两个都是1结果为1,否则为0),得到的结果就是网络号。
将子网掩码二进制按位取反,再与 IP 地址位与计算,得到的就是主机号。
举例:
二进制 | 二进制 | |
IP地址 | 180.210.242.131 | 10110100.11010010.11110010.10000011 |
子网掩码 | 255.255.248.0 | 11111111.11111111.11111000.00000000 |
网络号 | 180.210.240.0 | 10110100.11010010.11110000.00000000 |
主机号 | 0.0.2.131 | 00000000.00000000.00000010.100000 |
聊到这里还是没有能解决IP地址不够的问题,那么究竟该如何解决IP 地址不够用的问题?
动态分配IP 地址
东半球的黑夜就是西半球的白天,那么对方的很多设备也就不在线,这样就空出了很多IP 地址了。
那么在此基础上,提出了:只有上网才会分配地址,不上网就不分配。 那么这样就可以省下一大批地址。但是这样还无法解决问题。
NAT 机制
我们既然无法解决问题,我们就退而求其次
我们将所有网络分为两部分:外网和内网
- 内网IP:192.168.* ; 10.* ; 172.16.* - 172.31.*
- 其余的都属于外网。
那么什么叫外网,什么叫内网呢?
外网的ip 都是唯一的,而内网的ip 是可以重复的(通常局域网都属于内网)。
如果内网想要访问外网,那么就会给他分配一个 ip ,但是这个 ip 不是这个设备独占的,这整个局域网内的所有设备共享一个 ip 。
那好问题来了,如果我两个设备同时想要访问外网,那么该怎么办呢?
举例:
我们假设有两个主机,内网ip 分别是:192.168.0.1 和 192.168.0.2;目的 ip 都是 1.2.3.4
我们想要出这个局域网,得先经过 路由器吧(这个路由器也是个 NAT 设备);两个主机在路由器上做一个记录(具体内部干了啥我也不知道,反正交给路由器解决), 这个路由器有一个外网ip (假设为 4.3.2.1);那么此时就转换为: 4.3.2.1 的 ip 访问 1.2.3.4 的 ip 。
两个主机可能是不同的 端口号发送出去的数据,也或者是其他的。
我们上面说的只是内外网之间的访问,内网之间的访问,内网的ip 地址还是很有用的。
这样一个外网ip 就可以代表一大批内网设备了。
我们现实世界目前是使用 动态分配IP 地址 和 NAT 机制两种方式来提高 ip地址的利用率;然而这并不能完全解决问题(地址不够用);解决问题的唯一方法就是 IPv6。
认识MAC地址
MAC地址,即 Media Access Control Address,用于标识网络设备的硬件物理地址。
- 主机具有一个或多个网卡,路由器具有两个或两个以上网卡;其中每个网卡都有唯一的一个MAC地址。
- 网络通信,即网络数据传输,本质上是网络硬件设备,将数据发送到网卡上,或从网卡接收数据。
- 硬件层面,只能基于MAC地址识别网络设备的网络物理地址。
它们是 12 位字母数字,格式非常独特。一个例子是 A1:2B:C3:4D:E5:6F。从一开始就是这样,因为有 2 48 个(或 281,474,976,710,656)个可能的地址,我们很快就不需要其他方法了。
由于 MAC 地址是在工厂永久分配的,因此人们通常将其称为烧录地址或硬件地址。您甚至可以在直接贴在某些设备上的贴纸上找到 MAC 地址。
MAC地址如何工作
MAC 地址通过帮助网络上的事物将数据发送到正确的设备来发挥作用。您的手机或计算机在 Internet 上发送请求。当您的路由器收到该数据时,它会使用您的 MAC 地址来了解将数据发送到哪里。
但是,有一些细微差别。MAC 地址专门用于将同一网络中的设备标识为另一设备。当你通过蓝牙连接到某个东西时,唯一能获得你的 MAC 地址的就是你连接的那个东西。同样,当您连接到家庭 Wi-Fi 时,只有连接到家庭 Wi-Fi 的设备才能看到您设备的 MAC 地址。
总的来说,除了少数例外,互联网上的网站和其他设备看不到您的 MAC 地址。这些实体会获取您的 IP 地址。与 MAC 地址不同,IP 地址不是永久的,而是在您上网时分配的。因此,很少有设备真正有机会看到您设备的 MAC 地址。
上述来自:什么是 MAC 地址?你需要知道的一切 (baidu.com)
ok,目前为止我们所学的内功心法就到这里,目前都是为了做网站打下基础,接下来就要学外功招式(前端和后端了);前端主要是为了扫盲,而不是真正吃透。