一、MAC地址
MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址。
我们在计算机网络中要查询某台电脑的具体位置的时候,是利用 IP+MAC地址的方式来进行的。第三层网络层负责IP地址,第二层数据链路层负责MAC地址。
1.1 MAC地址简介
MAC地址也叫物理地址、硬件地址,由网络设备制造商生产时烧录在网卡(Network lnterface Card)的EPROM(一种闪存芯片,通常可以通过程序擦写)。IP地址与MAC地址在计算机里都是以二进制表示的,IP地址是32位的,而MAC地址则是48位的。
MAC地址的长度为48位(6个字节),通常表示为12个16进制数,如:00-16-EA-AE-3C-40就是一个MAC地址,其中前3个字节,16进制数00-16-EA代表网络硬件制造商的编号,它由IEEE(电气与电子工程师协会)分配,而后3个字节,16进制数AE-3C-40代表该制造商所制造的某个网络产品(如网卡)的系列号。只要不更改自己的MAC地址,MAC地址在世界是唯一的。形象地说,MAC地址就如同身份证上的身份证号码,具有唯一性 。
1.2 结构
网络中每台设备都有一个唯一的网络标识,这个地址叫MAC地址或网卡地址,由网络设备制造商生产时写在硬件内部。MAC地址则是48位的(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如08:00:20:0A:8C:6D就是一个MAC地址。
具体如下图所示,其前3字节表示OUI(Organizationally Unique Identifier),是IEEE的注册管理机构给不同厂家分配的代码,区分不同的厂家。后3字节由厂家自行分配。
MAC地址最高字节(MSB)的低第二位(LSb)表示这个MAC地址是全局的还是本地的,即U/L(Universal/Local)位,如果为0,表示是全局地址。所有的OUI这一位都是0。
MAC地址最高字节(MSB)的低第一位(LSb),表示这个MAC地址是单播还是多播。0表示单播。
1.3 工作过程
网络上的数据包从初始点开始 ,经过一个个中间节点最终到达目标节点 ,数据包是如何从初始节点开始识别一个个中间节点最终找到目标节点的呢?
实际上初始节点是根据目标节点的地址 ,将目标节点的IP地址映射到中间节点的MAC地址,找到第一个中间节点。从第一个中间节点出发,根据目标节点的IP地址映射到第二个中间节点的MAC地址,从而找到第二个中间节点……,以此类推,直到当找到最后一个中间节点后,从最后一个中间节点出发,根据目标节点的地址映射到目的节点的MAC地址,从而将数据包传送给目标主机。所以数据包的传送过程就是:不断地将目标节点的地址映射到一个个中间节点的MAC地址,再从一个个中间节点出发,直到找到最终的目标节点 。
数据包传送的关键是将目标节点的IP地址映射到中间节点的MAC地址。IP地址与MAC地址的映射要通过ARP地址解析协议来完成,它可将网络中的IP地址映射到主机的MAC地址,如交换机可以根据网络中的IP地址来找到本地主机的MAC地址。
具体过程是:当交换机接收到来自网上一个数据包时,会根据该数据包的目标IP地址,查看交换机内部是否有和该IP地址对应的MAC地址 ,如果有上次保留下来的对应的MAC地址,就会将该数据包转发到对应MAC地址的主机上去。如果在交换机内部没有与目标)地址对应的MAC地址,则交换机会根据ARP协议将目标IP地址按照“表”中的对应关系映射成MAC地址 ,数据包就被转送到对应的MAC地址的主机上。
1.4 作用
IP 地址是基于逻辑的,比较灵活,不受硬件的限制,也容易记忆。而 MAC地址在一定程度上与硬件一致,是基于物理的,能够标识具体的网络节点。这两种地址各有优点,使用时也因条件不同而采取不同的地址 。
大多数接入Internet的方式是把主机通过局域网组织在一起,然后再通过交换机或路由器等设备和 Internet 相连接。这样一来就出现了如何区分具体用户,防止IP地址被盗用的问题。由于IP地址只是逻辑上的标识,任何人都能随意修改,因此不能用来具体标识一个用户。而 MAC地址则不然,它是固化在网卡里面的。从理论上讲,除非盗来硬件即网卡,否则一般是不能被冒名顶替的。基于 MAC 地址的这种特点,因此局域网采用了用MAC地址来标识具体用户的方法。
在具体的通信过程中,通过交换机内部的交换表把 MAC地址和 IP 地址一一对应。当有发送给本地局域网内一台主机的数据包时,交换机首先将数据包接收下来,然后把数据包中的 IP 地址按照交换表中的对应关系映射成 MAC地址,然后将数据包转发到对应的 MAC地址的主机上去。这样一来,即使某台主机盗用了这个 IP 地址,但由于此主机没有对应的 MAC地址,因此也不能收到数据包,发送过程和接收过程类似。
所以,无论是局域网,还是广域网中的计算机之间进行通信时,最终都表现为将数据包从某种形式的链路上的一个初始节点出发,从一个节点传递到另一个节点,最终传送到目的节点。数据包在这些节点之间的传递都是由 ARP(Address Resolution Protocol:地址解析协议)负责将IP地址映射到 MAC地址上来完成的。
身份证就是用来证明一个人的身份。平日身份证的作用并不是很大,但是到了有的关键时刻,必须有身份证来说明一个人的一切。那么,IP地址与MAC地址绑定,就如同在日常生活中一个人与身份证的关系。因为,IP地址可以随意的,但MAC地址是唯一说明IP地址身份的。例如,为防止IP地址被盗用,通常交换机的端口绑定(端口的MAC表使用静态表项),可以在每个交换机端口只连接一台主机的情况下防止修改MAC地址的盗用,如果是三层设备还可以提供交换机端口、IP地址和MAC地址三者的绑定。
1.5 查看MAC地址
Windows下,输入:ipconfig /all
看到一个物理地址,就是本机的MAC地址
1.6 与IP地址区别
IP地址和MAC地址相同点是它们都唯一,不同的特点主要有:
- 对于网络上的某一设备,如一台计算机或一台路由器,其IP地址是基于网络拓扑设计出的,同一台设备或计算机上,改动IP地址是很容易的(但必须唯一)。而MAC则是生产厂商烧录好的,一般不能改动。我们可以根据需要给一台主机指定任意的IP地址,如我们可以给局域网上的某台计算机分配IP地址为192.168.0.112 ,也可以将它改成192.168.0.200。而任一网络设备(如网卡,路由器)一旦生产出来以后,其MAC地址不可由本地连接内的配置进行修改。如果一个计算机的网卡坏了,在更换网卡之后,该计算机的MAC地址就变了 。
- 长度不同。IP地址为32位(4字节),MAC地址为48位(6字节)。
- 分配依据不同。IP地址的分配是基于网络拓扑,MAC地址的分配是基于制造商。
- 寻址协议层不同。IP地址应用于OSI第三层,即网络层,而MAC地址应用在OSI第二层,即数据链路层。 数据链路层协议可以使数据从一个节点传递到相同链路的另一个节点上(通过MAC地址),而网络层协议使数据可以从一个网络传递到另一个网络上(ARP根据目的IP地址,找到中间节点的MAC地址,通过中间节点传送,从而最终到达目的网络 。
二、IP地址
因为IP地址都耳熟能详,所以把它放在后面查看,以下内容来自该文章
所谓的IP地址实际上就是给每个连接到互联网之中的主机分配的一个地址,在IPV4里是一个32位的主机地址。
IP是网络之间的协议。
目前我们的计算机网络,基本都是基于IP协议的网络。IP,Internet Protocol的缩写。
IP协议是目前互联网的基础协议,这套协议的定义,使得连接到网络上的计算机可以根据某种规则而互相通信。目前厂家生产的计算机设备都需要遵从IP协议,这也是这些计算机可以上网的基础。
IP最初是给计算机设计的协议,后来慢慢地接入互联网的设备变多了,但是这些设备的入网,大部分也是基于IP协议的。
现在我们最常见的IP地址还是IPV4地址。
IP地址的作用是标示一台在互联网上的主机,就好像我们每个人的住宅地址一样,邮寄东西,需要住宅地址,而互联网上一台电脑对另一台电脑发送数据,也需要有一个可以识别的地址。
IPV4地址由32位的二进制数字组成,为了个人记忆方便,分成了4组,每组8个数字,换算成了十进制,也就是我们最常见的例如 202.96.64.68的这样的数字组合。
IP地址按照用途可以分为公网地址、私网地址、以及一些特殊的IP地址(比如本地环回地址、组播地址)。
IPV4的私网地址分为几类,分别是
- A类地址:10.0.0.0-10.255.255.255
- B类地址:172.16.0.0-172.31.255.255
- C类地址:192.168.0.0-192.168.255.255
我们使用PPPOE拨号上网的时候,会发现我们获得的IP是经常变化的。
之所以这样,其实和IP地址的分配有关。互联网不得不说,是掌握在美国手中的,中国这么大的国家,这么多的网民,但是获得的公网IP是非常少的,大量的IP地址是掌握在美国的手中的。
缺少IPv4的地址,中国的运营商就不得不动态分配给用户IP地址,所以我们在上网的时候才会发现自己的公网IP是变化的。
我们使用私网地址上网,IP地址变化,是DHCP服务器在分配IP地址。
现在我们最常见的是上网方式是光纤入户,路由器拨号,手机和电脑等终端通过连接无线路由器的WIFI上网。
WIFI的无线网是属于内网,IP地址分配是在路由器中设置的。
路由器的DHCP服务器,会分配IP地址给接入网络的用户,这也可能导致用户上网会获得不同的IP地址,因为可能你这次被分配的IP地址,下一次就被其他用户占用了。
IP地址是有租期限制的,当一个终端离开网络后,这个IP地址可以重新分配给其他的终端。
总而言之,IP地址,其实也就是网络中标示某个终端位置的二进制数字,起到其他的设备可以找到这个设备的作用。中国的用户上网的IP地址经常变化,那是由于中国的公网IP地址不足,运营商不得不使用动态分配的原因。而内网IP的变化,那是路由器上的DHCP服务器分配了不同的内网IP地址的原因。