在互联网中有着数以万计的计算机,比如说计算机A打算给计算机B发一份邮件,那么A怎么才能在这堆计算机中找到B呢?
标识网络中的一台计算机,最常用的方法是域名地址、IP地址和MAC地址
IP地址
先说说网络学习中最常用的IP地址。
- IP地址是在IP协议中,用来标识网络中不同主机的地址
- IP协议属于网络层,有两个版本:IPV4和IPV6(不兼容),一般说IP协议默认指IPV4
- 对于IPV4来说,IP地址是一个无符号,4字节的整数。
- 通常使用 <stron> 的字符串表示IP地址,例如:192.168.0.1(11000000 10101000 00000000 00000001),每个点分割的每个数字表示一个字节,范围是0 ~ 255</stron>
值得注意的是:
-
IP地址是分配给 主机或路由器 的一种标识,这个说法容易给我们带来一种错觉,就是 IP地址 和 主机或路由器 是一一对应的关系。
-
但实际上,IP地址是由主机上的网卡(NIC)设置的,通常情况下,一个网卡只设置一个IP地址,所以如果一个主机一般配置一个网卡,则一个主机对应一个IP地址;而一个路由器一般配置多个网卡,所以一个路由器一般来说对应多个IP地址
关于IP地址更多更详细的内容,可以点击这个链接:https://www.cnblogs.com/penghuwan/p/7753022.html
MAC地址
我们上面说 IP地址是在网络层 使用的概念,而MAC地址是在 数据链路层和物理层 使用的地址,所以MAC地址又被称为物理地址。
- MAC地址是6字节(48比特)的整数,常常使用12个16进制数字表示,每两个16进制数字之间用冒号隔开,比如:08:00:20:0A:8C:6D。
- 其中前24比特位所表示的是:生产网卡的厂商向IEEE申请的厂商地址;后24位则是代表该厂商所制造的某个网络产品的系列号。
值得注意的两点:
-
每个网络制造商必须确保它所制造的每个以太网设备都具有相同的前三字节以及不同的后三个字节。这样就可保证世界上每个以太网设备都具有唯一的MAC地址。
-
MAC地址与网络无关,也即无论将带有这个地址的设备接入到任何网络,都有相同的MAC地址,它由厂商写在网卡的BIOS里。
有个问题:为什么已经有了IP地址还需要MAC地址呢?
- 这个原因有很多,首先我们知道TCP/IP四层模型,分别为 数据链路层,网络层,传输层,应用层。而每一层都有很多的协议。如下图:
- 从图中我们可以看到,IP协议是属于网络层的,所以IP协议并不管数据链路层的东西(比如:IP协议并没有规定水晶头的形状,网线里有几根铜线,铜线里面传输的电压等等问题),所以 IP地址 在 数据链路层 是行不通的,数据链路层的设备(比如交换机)并不认识所谓的IP地址。
- 网络层的运行需要数据链路层的支撑,IP协议的运行也依赖于数据链路层协议。
- 那么在数据链路层如何标识一台主机,就要用到 MAC地址了。
- 关于这个问题的更多答案,可以点击->链接
多说一句,关于MAC地址与IP地址的理解。因为MAC地址是每个设备唯一的,你可以把MAC地址看做每个人的身份证号码;而私有IP在局域网中是唯一的,你可以把私有IP看做是人的名字,你可能会遇到和你重名的人,但是在你家这个局域网中,你的名字就是唯一的。
域名地址
说完了IP地址和MAC地址,我们来说说域名地址,我们上面说到MAC地址是用在数据链路层和物理层的,IP地址是用在网络层及其以上的,而域名地址就是仅仅在会在应用层用到的地址了。
既然IP地址也可以用在应用层,那么为什么还需要域名地址呢?
比如说我现在让你打开百度的页面,你肯定是在浏览器页面输入:baidu.com ,你为什么不输入百度的IP地址呢?
因为好记。
这就是域名的由来,百度的IP地址是:14.215.177.39 ,我们在浏览器输入IP地址一样可以打开百度页面,但是我们一般在网页上搜素百度都是输入:baidu.com ,这就是14.215.177.39的所对应的域名。
所位域名地址,就是IP地址的符号化,一个ip可以绑定多个域名,但是一个域名不能同时解析到多个IP地址下,域名的出现就是为了方便人们记忆,但是注意,机器之间只认识IP地址,域名与IP地址之间是对应的,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器(DNS)来完成,整个过程是自动进行的。