IP,MAC
MAC寻址与IP寻址
两者是协议上的区分,MAC地址是网卡的物理地址,是提供二层交换机转发数据的,交换机会在自己的内部形成一个MAC地址表,然后根据这个表转发数据包;再者,如果说网络规模大一点的话,机器数量多,交换机就要有足够的MAC地址表来建立转发数据表的MAC表,这个表是通过广播包来收集到的,很容易形成广播风暴,影响网络性能。
利用ip地址进行广域网的数据包之间路由,有以下几点:
ip是三层协议即网络层,它有限的隔离广播包,使得一个很大的广域网分割成许多小的局域网,这样做有利于提高网络的稳定性,同样利用ip来做寻址转发,也会在路由器上形成一个路由表跟前面所说的MAC表类似,但是要比MAC地址表稳定!
从原理上来说,由于MAC地址实际只是在局域网内有效,虽然说不同设备MAC要求是唯一的,但由于每经过一个路由网段,报文里的源和目的MAC都要做更改(源和目的IP则一直不变),所以实际上就算不同网段中,存在相同的MAC地址,也是没影响的。只要同一个网段MAC地址不重复即可。
这个问题 个人理解是这样的:如果在网络的世界里每台电脑都有一个独一无二的门牌号,在发送接收数据的时候我们只需要写源门牌号和目的门牌号就行了。如果网络规模比较小这个方案还没什么问题,当网络渐渐增大 这样的门牌号太多,中间的网络设备不能记下所有的门牌号在哪了。我们需要用另外一种方式更加有区域性地规划网络,这样就出现了IP地址和子网掩码(有类无类的问题我们就不讨论了)。但是以前的门牌号在小型网络里寻址依然有效!所以被保留了,但是门牌号变成了本地有效。
随着当时互联网的发展,IP地址的分配没有按照区域规划,导致现在世界骨干网上IP路由表数目很多。
简单的来说是IP将网络世界划分成了很多小块,A块,B块,C块,D块…….。当你要找一个人的时候先通过他的IP地址找到他属于那块,当你到达他所在的块时,用他的门牌号(MAC地址)找到他本人。
简单来讲,比如你网购用快递,快递员收件之后,会在他们自己的各个中转站传递,然而到了你家所在城市的中转站之后,不能再传给中转站,而是要找你家的门牌号。Mac就是你家的门牌号,IP就是他们的中转站号。
MAC地址是硬件层的东西,唯一标示一块网卡,是物理层面的概念,在数据通信中,由于局域网算是多主多从的物理结构,寻址是必须的,而tcp/ip协议栈按我理解是一种逻辑上的概念,在局域网上没有选路,当然使用硬件上的寻址机制,ip只是为了是数据分组能够跨域局域网,实现网络互连而设计的
IP地址实现网络互联,MAC地址实现机器互联
所以为什么不用ip也实现机器互联,让局域网也工作在三层?
- 去掉ip地址,路由器(交换机)需要学习每个mac地址,内存会非常庞大。而ip地址在划分子网后,可以用一个网关的ip地址来代表一个子网,逐级选路。
MAC地址只能被二层所识别,而用户是处在第七层的,所以,必须通过IP来实现用户与其用户之间的通信
局域网为什么不使用IP地址而使用MAC地址寻址
此观点不正确。
局域网在网络层也是需要ip层寻址的,比如判断目标地址和本机是否同一网段,进而决定把数据包发给路由器还是直接发送给目标主机。在数据链路层当然使用mac寻址,它是实现ip层的基础。在ip层和数据链路层有arp协议衔接。应该说在网络层ip寻址,数据链路层mac寻址。
对于192.168.0.0到192.168.0.255这个网络来说,(32位的二进制地址1100 0000 . 1010 1000 . 0000 0000 . 0000 0000)
- 可用的主机范围192.168.0.1-192.168.0.254
- 网络地址为192.168.0.0(Network IP)
- 广播地址192.168.0.255(Broadcast IP)(C类地址网络地址占用24位,最后8位为主机地址。将主机地址位全部置为1,即为广播地址)
- 网段内的主机可以通过网卡对网卡传递数据
- 192.168.0.1和192.168.0.2的主机无需使用Router传递数据包(两主机为同一网段,所以不需要路由器通信)
- 192在192.x.x.x-223.x.x.x这个范围内所以属于C类地址
请问 192.168.0.0/16 代表的是什么?
IP 是由四组8 bits 的数字所组成的;由于原本是二进制的方式来计算的,为了适应人类的思考方式,所以经过十进制的表示之后,自然就是由0 ~ 255 啰
ipv4 是 32 位的, 192.168.0.0 转化为 32 位的二进制地址即是: 11000000 10101000 00000000 00000000 ,/16 代表其 32 位的前 16 位是固定的,只能改变( 32-16=) 16 位地址,则 ip 范围是:
11000000 10101000 00000000 00000000 - 11000000 10101000 11111111 11111111
转化过来就是:
192.168.0.0 - 192.168.255.255
对应的网关是: 255.255.0.0
在主机上我看到这个会认为访问这个范围内的地址都不会发送到默认路由器
在路由器上看到这个我会认为是一个网络条目
/16 是掩码位;前16 也代表子网掩码 255.255.0.0
192.168.0.0/24 表示前24位固定,只能改变8位地址,则ip范围为192.168.0.0 - 192.168.0.255
172.16.0.0 的二进制 10101100.00010000.0000000.00000000