前言
这是我在字节第六届前端青训营的学习第六篇笔记
今天要讲的是关于TCP/IP五层协议中网络层的IP地址部分
TCP/IP五层协议
3. 网络层
昨天我们讲到了路由器和网络层的一些知识和概念,今天我们接着讲关于IP地址的一些相关概念
子网掩码
在这给大家普及一下子网掩码,我们上面说有了 IP 地址和 MAC 地址,我们就能让任何计算机之间进行通信了,那现在再想想,如果我要用我的计算机给另外一台计算机实现通信,我是不是要判断要通信的计算机是否和我的计算机在同一个 IP 地址中
相当于上面例子中我和我要送东西的朋友是否在一个省,这个时候就需要用子网掩码,我拿着我的 IP 地址和对方的子网掩码通过计算,判断是否在同一个 IP 地址下
如果在同一个IP 地址下,我可以用广播的形式进行通信
如果不在同一个 IP 地址下,我可以先把数据传给我方的路由器,再由我方的路由器把数据传给对方的路由器,最后由对方的路由器把数据传给要接收数据的计算机
这样说,再联系上面已经说过的,我想不难理解了。
IP地址
目前我们普遍使用的是 IPV4 ,它规定,一个网络地址由 32 位二进制组成,把 32 位平均分成四份,每一份 8 位, 8 位最大能表示的数据是 255
所以IP地址的范围:0.0.0.0~255.255.255.255
一个IP地址分为两部分,分别是网络位和主机位
网络位用来标识不同的子网主机位用来标识子网下主机的编号
为什么要分两部分呢?很简单,就好比你想写信给你的女朋友,假设你女朋友的地址是西宁市平安路128号,那么网络位就会直接找到西宁市,主机位帮你找到你的女朋友。
网络位和主机位是如何划分的?使用子网掩码来划分。子网掩码和IP地址差不多,都是由32位二进制数来表示,子网掩码也分为网络部分和主机部分,网络部分由1组成,主机部分由0组成。
例如,—个IP地址:
172.13.10.32如果前24位是网络部分,后8位是主机位.则子网掩码就是
11111111 11111111 11111111 00000000,写成十进制就是255.255.25S.0
知道了子网掩码,我们就可以判断多个IP地址是否是处于同一个子网下,方法是将两个IP地址与子网掩码分別进行&运算(两个数位都为1,运算结果为1,否则为0),然后比较结果是否相同,如果是的话、就表明它们在同一个子网络中,否则就不是。
- IP1:
172.13.4.58- IP2:
172.13.4.90子网掩码都是
255.255.25.0
1. IP1
| 字段 | 十进制 | 二进制 |
|---|---|---|
| IP地址 | 172.13.4.58 | 10101100 00001101 00000100 00111010 |
| 子网掩码 | 11111111 11111111 11111111 00000000 | |
| &运算结果 | 10101100 00001101 00000100 00000000 | |
| 十进制 | 172.13.4.0 |
2. IP2
| 字段 | 十进制 | 二进制 |
|---|---|---|
| IP地址 | 172.13.4.90 | 10101100 00001101 00000100 01011010 |
| 子网掩码 | 11111111 11111111 11111111 00000000 | |
| &运算结果 | 10101100 00001101 00000100 00000000 | |
| 十进制 | 172.13.4.0 |
计算结果相同,此时两个IP地址在同一个子网内。
今天关于TCP/IP五层协议中网络层的IP地址我就讲到这里啦,那么明天,我就会继续更新IP协议的部分知识