网络原理(五):IP 协议

news/2024/11/21 1:23:02/

目录

认识IP 地址

子网掩码

作用

动态分配IP 地址

NAT 机制

认识MAC地址

MAC地址如何工作


认识IP 地址

概念:

IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。

作用:

IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

格式:

IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节),如:
01100100.00000100.00000101.00000110
通常用“点分十进制”的方式来表示,即 a.b.c.d 的形式(a,b,c,d都是0~255之间的十进制整数)。如:    100.4.5.6。

 IP 有两个版本,IPV4 和 IPV6 ;IPV4 是四个字节表示,IPV6 并不是六个字节,而是16 个字节2^128 ,地球上每一粒沙子都可以被完全覆盖。

随着时代的发展,目前的 IPV4 有点不够用了,4个字节毕竟太小;那为啥当初设计的时候不直接多给几个字节?  这主要就是时代的局限性,放在当时,每一个字节都很珍贵,其次就是当时使用设备的人太少了,42亿9千万 足够他们使用了。

而 IPV6 就完美的解决了这个问题,2 ^128 也不知道啥时候能用完。

组成:

IP地址分为两个部分,网络号和主机号

  1. 网络号:标识网段,保证相互连接的两个网段具有不同的标识;
  2. 主机号:标识主机,同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号;

通过合理设置网络号和主机号,就可以保证在相互连接的网络中,每台主机的IP地址都是唯一的。

那么,如何划分网络号和主机号呢?

分类:

过去曾经提出一种划分网络号和主机号的方案,把所有IP 地址分为五类,如下图所示

A、B、C三类及特殊D、E。全0和全1的都保留

  1. A:(1.0.0.0-126.0.0.0)(默认子网掩码:255.0.0.0        
    1. 网络号取值于1~126
    2. 大型网络。
  2. B:(128.0.0.0-191.255.0.0)(默认子网掩码:255.255.0.0
    1. 该类IP地址的最前面为“10”,
    2. 网络号取值于128~191
    3. 中等规模
  3. C:(192.0.0.0-223.255.255.0)(子网掩码:255.255.255.0
    1. 该类IP地址的最前面为“110”,
    2. 网络号取值于192~223
    3. 小型网络。
  4. D:是多播地址。
    1. 该类IP地址的最前面为“1110”,所以地址的网络号取值于224~239之间。
    2. 用于多路广播用户
  5. E:是保留地址。
    1. 该类IP地址的最前面为“1111”,
    2. 网络号取值240~255

 这种划分只会出现在课本上(AB类主机号太长了,很少有这么大的局域网),现实中根本不会这么来表示,而是使用子网掩码等方式来表示 IP 地址。

目前为止,已经出现了 IP 地址不够用的情况,在此基础上有好几个缓解方法,后面会提到。

我们来看看子网掩码:

子网掩码

格式

子网掩码格式和IP地址一样,也是一个32位的二进制数。其中左边是网络位,用二进制数字“1”表示,1的数目等于网络位的长度;右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。
子网掩码也可以使用二进制所有高位1相加的数值来表示,如以上子网掩码也可以表示为24。

作用

其作用是:减少网络上的通信量;节省IP地址;便于管理;解决物理网络本身的某些问题。使用子网掩码划分子网后,子网内可以通信,跨子网不能通信,子网间通信应该使用路由器,并正确配置静态路由信息。划分子网,就应遵循子网划分结构的规则。

Classless Inter-Domain Routing(CIDR):

  CIDR 叫做无类域间路由,ISP 常用这样的方法给客户分配地址,ISP 提供给客户1 个块(block size),类似这样:192.168.10.32/28,这排数字告诉你你的子网掩码是多少,/28 代表多少位为1,最大/32.但是你必须知道的一点是:不管是A类还是B类还是其他类地址,最大可用的只能为/30,即保留2 位给主机位。

CIDR 值:

  • 掩码255.0.0.0:/8(A 类地址默认掩码)
  • 掩码255.255.0.0:/16(B 类地址默认掩码)
  • .掩码255.255.255.0:/24(C 类地址默认掩码)

计算方式:

将 IP 地址和子网掩码进行“按位与”操作(二进制相同位,与操作,两个都是1结果为1,否则为0),得到的结果就是网络号。
将子网掩码二进制按位取反,再与 IP 地址位与计算,得到的就是主机号。
举例:

二进制二进制
IP地址180.210.242.13110110100.11010010.11110010.10000011
子网掩码255.255.248.011111111.11111111.11111000.00000000
网络号180.210.240.010110100.11010010.11110000.00000000
主机号0.0.2.13100000000.00000000.00000010.100000

聊到这里还是没有能解决IP地址不够的问题,那么究竟该如何解决IP 地址不够用的问题?

动态分配IP 地址

东半球的黑夜就是西半球的白天,那么对方的很多设备也就不在线,这样就空出了很多IP 地址了。

那么在此基础上,提出了:只有上网才会分配地址,不上网就不分配。    那么这样就可以省下一大批地址。但是这样还无法解决问题。

NAT 机制

我们既然无法解决问题,我们就退而求其次

我们将所有网络分为两部分:外网和内网

  1. 内网IP:192.168.*   ; 10.*    ; 172.16.* - 172.31.*
  2. 其余的都属于外网。

那么什么叫外网,什么叫内网呢?

外网的ip 都是唯一的,而内网的ip 是可以重复的(通常局域网都属于内网)。

如果内网想要访问外网,那么就会给他分配一个 ip ,但是这个 ip 不是这个设备独占的,这整个局域网内的所有设备共享一个 ip 。

那好问题来了,如果我两个设备同时想要访问外网,那么该怎么办呢?

举例:

我们假设有两个主机,内网ip 分别是:192.168.0.1 和 192.168.0.2;目的 ip 都是 1.2.3.4

我们想要出这个局域网,得先经过 路由器吧(这个路由器也是个 NAT 设备);两个主机在路由器上做一个记录(具体内部干了啥我也不知道,反正交给路由器解决), 这个路由器有一个外网ip (假设为 4.3.2.1);那么此时就转换为: 4.3.2.1 的 ip 访问 1.2.3.4 的 ip 。

两个主机可能是不同的 端口号发送出去的数据,也或者是其他的。

我们上面说的只是内外网之间的访问,内网之间的访问,内网的ip 地址还是很有用的。

这样一个外网ip 就可以代表一大批内网设备了。

我们现实世界目前是使用 动态分配IP 地址 和 NAT 机制两种方式来提高 ip地址的利用率;然而这并不能完全解决问题(地址不够用);解决问题的唯一方法就是 IPv6。

认识MAC地址

MAC地址,即 Media Access Control Address,用于标识网络设备的硬件物理地址。

  1. 主机具有一个或多个网卡,路由器具有两个或两个以上网卡;其中每个网卡都有唯一的一个MAC地址。
  2. 网络通信,即网络数据传输,本质上是网络硬件设备,将数据发送到网卡上,或从网卡接收数据。
  3. 硬件层面,只能基于MAC地址识别网络设备的网络物理地址。

它们是 12 位字母数字,格式非常独特。一个例子是 A1:2B:C3:4D:E5:6F。从一开始就是这样,因为有 2 48 个(或 281,474,976,710,656)个可能的地址,我们很快就不需要其他方法了。

由于 MAC 地址是在工厂永久分配的,因此人们通常将其称为烧录地址或硬件地址。您甚至可以在直接贴在某些设备上的贴纸上找到 MAC 地址。

MAC地址如何工作

MAC 地址通过帮助网络上的事物将数据发送到正确的设备来发挥作用。您的手机或计算机在 Internet 上发送请求。当您的路由器收到该数据时,它会使用您的 MAC 地址来了解将数据发送到哪里。

但是,有一些细微差别。MAC 地址专门用于将同一网络中的设备标识为另一设备。当你通过蓝牙连接到某个东西时,唯一能获得你的 MAC 地址的就是你连接的那个东西。同样,当您连接到家庭 Wi-Fi 时,只有连接到家庭 Wi-Fi 的设备才能看到您设备的 MAC 地址。

总的来说,除了少数例外,互联网上的网站和其他设备看不到您的 MAC 地址。这些实体会获取您的 IP 地址。与 MAC 地址不同,IP 地址不是永久的,而是在您上网时分配的。因此,很少有设备真正有机会看到您设备的 MAC 地址。

上述来自:什么是 MAC 地址?你需要知道的一切 (baidu.com)

ok,目前为止我们所学的内功心法就到这里,目前都是为了做网站打下基础,接下来就要学外功招式(前端和后端了);前端主要是为了扫盲,而不是真正吃透。


http://www.ppmy.cn/news/63396.html

相关文章

​#立夏# 气温升高,3招提高电路板的散热效率!

电路板是电子设备的核心,上面安装了各种元器件,如电阻、芯片、三极管等。这些元器件在工作时都会产生一定的热量,从而使电路板的温度升高。如果不及时将这些热量散发出去,电路板就会过热,影响元器件的性能、可靠性和寿…

使用lvm命令修改Ubuntu swap分区

lvm命令管理磁盘分区灵活方便。 使用这个命令前提是在安装时选择用lvm管理磁盘。 使用lvm命令 2种方式使用lvm命令: 1)执行lvm命令,进入交互操作,使用其子命令,如:lvscan、lvextends等。 2)lv…

简单科普视频云

1. 本文目的 每当我连写几篇行业分析的虚文以后,我都会做一两篇技术科普和产品分析的硬核分享,证明我是脚踏实地的戏说江姗,而非云里雾里的胡乱推倒。 其实是写硬核分享应者寥寥,反倒是写一些虚文很多人看热闹。 最近看到PPIO王闻…

modbus 协议地址

modbus 仿真软件 modbus slave: 用作 modbus 服务器(也叫做modbus从站), 通常用于仿真PLC设备.modbus poll: 用作 modbus 客户端(也叫做modbus主站), 用于仿真上位机程序, 通常使用它在现场验证PLC设备的modbus通讯是否OK 理解 modbus 寻址 modbus 分4个数据区, 实际因为第4区可…

标准C库sigemptyset、sigfillset函数(清空自定义信号集,阻塞信号集所有信号)

前言 如果,想要深入的学习标准C库中的sigemptyset、sigfillset函数,还是需要去自己阅读Linux系统中的帮助文档。 具体输入命令: man 3 sigemptyset/sigfillset即可查阅到完整的资料信息。 sigemptyset 函数 sigemptyset()函数是标准C库&…

「AI 孙燕姿」翻唱华语乐坛歌曲爆红全网,AI 翻唱将带来哪些影响?是否会有版权等问题?

在某视频平台上,“AI孙燕姿”成了新网红,它翻唱过周杰伦的《发如雪》、翻唱过郭顶的《水星记》、翻唱过赵雷的《我记得》,受到了网友的追捧,甚至有网友宣布“这是2023年最火的声音”。 网上除了AI孙燕姿,还有AI周杰伦…

详解MySQL慢SQL定位、分析

目录 1.概述 2.慢SQL定位 3.SQL性能分析 3.1.例子 3.2.SQL性能分析 3.3.参数说明 3.3.1.id 3.3.2.select_type 3.3.3.key_len 3.3.4.rows 3.3.5.type 3.3.6.extra 1.概述 解决慢SQL的问题无非3步: 定位慢SQL分析慢SQL优化慢SQL 本文将按顺序介绍前两…

C++之单例模式

文章目录 什么是单例模式?单例模式中的饿汉模式单利模式中的懒汉模式 什么是单例模式? 保证一个类只有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享 单例模式中的饿汉模式 饿汉模式:单例定义的…