深入解析IP地址:探索网络世界的标识与定位

204 阅读3分钟

互联网世界的门牌号

我们常说IP是互联网世界的门牌号,在上一章中提及当发送一次网络请求时,一般会根据域名去一个地址薄上找到目标机器的IP地址,其中还用到了DNS协议,也引出了今天的主角IP。

那什么是IP呢?

IP指网际互连协议,Internet Protocol的缩写,是[TCP/IP]体系中的网络层协议。来源自百度百科。

通俗来讲,为所有需要连接到Internet网络的设备提供一个数字地址,像电话号码一样,当有了IP以后,也具备了两种能力

  • 能够被同样接入Internet网络的设备所识别
  • 提供了接收和发送数据的能力,也就是通信

在早期的设计中,IP地址是以点分十进制来表示的,将整体分成了四部分,每部分站8个bit位,整体就是32位,比如我下图的一个IP地址

image.png

但是互联网高速发展,理论上能分配2^32大约40亿个IP地址,很快这些IP就用完了,从而也就是有了升级的方案IPV6

IPV6是以冒号分隔的十六进制数字,一共八部分,128位。理论上也存在数量的限制,但是远远比IPV4要多,但是主流的还是以IPV4为主。

公网IP与私有IP

我们在一片局域网内被分配的IP是私有IP,要想被全世界各地的人能访问到,就需要公网的IP。

不同操作系统下如何查看IP地址

在Linux或者Mac系统下,可以通过ifconfig命令查看,如果在windows系统下可以通过ipconfig查看 。但是在执行命令后,会显示很多的信息,哪些信息是我们需要关注的呢?

当执行完这个命令后,可以看到如下的信息,找到en0处

image.png

我们的inet也就是代表着IPV4的地址,也就是我们常说的那个地址,而上面的inet6也就是IPV6,可以看到这部分的一个简要信息。

同样的,除了ifconfig还可以用其他的命令来查看吗?有的,那就是ip addr。

各部分含义

回到我们的这部分来继续看,可以看到这里面有很多的信息,具体都是什么含义呢,我把他们粘出来逐一解释

en0: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
	options=6463<RXCSUM,TXCSUM,TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
	ether b0:be:55:9e:v9:d9
	inet6 fe80::26:e2fc:8ee9:a4b3%en0 prefixlen 64 secured scopeid 0xb
	inet 192.168.0.106 netmask 0xffffff00 broadcast 192.168.0.255
	nd6 options=201<PERFORMNUD,DAD>
	media: autoselect
	status: active

MAC地址

也就是上面的ether后面的地址,是一个网卡的物理地址,用十六进制表示。

网络设备的状态标识

<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST>

  • UP 表示网卡处于启动状态
  • BROADCAST 表示这个网卡有广播地址,可以发送广播包
  • MULTICAST 表示网卡可以发送多播包
  • mtu 1500 表示最大传输单元 这是以太网的默认值

IPV4地址

inet 192.168.0.106 可以看到私有IP地址。

IPV6地址

inet6 fe80::26:e2fc:8ee9:a4b3

结语

本篇主要了解IP地址的含义以及在查找IP地址时所涉及的一些信息。

参考

《TCP/IP网络编程》尹圣雨

《趣谈网络协议》 刘超

《深入理解TCP协议:从原理到实战》 挖坑的张师傅

zhuanlan.zhihu.com/p/271708071