IP地址基础知识
文章目录
- IP地址基础知识
- 一、基本定义与核心作用
- IP地址
- mac地址和ip地址的区别
- 二、版本演进与格式特征
- 三、地址结构解析
- 四、特殊地址类型
- 五、地址分配与管理
- 六、典型应用场景
- 七、子网掩码
- 子网掩码介绍
- 子网掩码结构与表示
- 子网掩码核心计算
- 子网划分实战示例
- 可变长子网掩码(VLSM)
- 网络和IP地址计算器
- 子网掩码与网络设计
- 进制转换
- 在线进制转换器
- 八、7层网络协议和4层网络协议
- OSI七层网络协议模型
- TCP/IP四层网络协议模型
- 两者核心区别
- 典型应用场景
- 九、UDP和TCP的区别,什么情况下用UDP
- 十、三次握手、四次挥手
- 十一、HTTP与HTTPS
- 基础概念对比
- 核心差异总结
- HTTPS安全机制详解
- 应用场景建议
- 部署注意事项
IP地址基础知识
一、基本定义与核心作用
IP地址
IP地址是为网络设备分配的逻辑地址,采用分层架构屏蔽物理地址差异,实现全球设备互联互通。
为了便于根据IP地址寻找到该地址所代表的主机,这个32位的二进制数被分为2个部分:
192.168.10.1——>网络号+主机号
网络ID(网络号) 和 主机ID(主机号)
网络号:区分网络是否在同一区域(网段),说明可以划分为几个网络或区域。
主机号:区分同一个网络中的主机,说明网络里有多少台主机。
主要承担三大功能:
1.设备定位:通过唯一标识实现数据精准传输(如192.168.1.1标识家庭路由器)
2.路由决策:为路由器提供网络拓扑判断依据,构建最优传输路径
3.安全管理:作为防火墙规则配置的基础参数(如限制特定IP段访问)
mac地址和ip地址的区别
MAC地址与IP地址的核心区别在于层级定位、分配方式和功能作用,MAC地址是固化在硬件中的物理地址,用于数据链路层(第二层)的局域网设备标识;IP地址是动态分配的逻辑地址,用于网络层(第三层)的跨网络路由寻址。
MAC地址是48位的十六进制数,IPv4地址是32位的二进制数,IPv6地址是128位,通常写成8组,每组为四个十六进制数的形式。
IPv4地址使用"点分十进制"法表示;IPv6地址使用"冒分十六进制"法表示
核心维度对比
1.网络层级与协议
MAC地址属于OSI模型的数据链路层(第二层),直接控制局域网内设备间的通信(如交换机转发数据帧)。
IP地址属于网络层(第三层),负责跨网络的逻辑寻址和路由(如互联网中不同子网间的数据传输)。
2.地址分配与可变性
MAC地址:由硬件制造商固化在网卡中,全局唯一且不可更改(部分支持软件修改,但非原生设计目的)。
IP地址:通过DHCP动态分配或手动配置,随网络环境变化(如切换Wi-Fi时获取新地址)。
3.地址格式与结构
特征 MAC地址 IP地址
长度 48位十六进制数 IPv4为32位,IPv6为128位
示例 00:1A:2B:3C:4D:5E 192.168.1.1(IPv4)
分配机构 IEEE分配厂商前缀+设备编号 网络管理员或自动协议(如DHCP)
功能与应用场景差异
1.MAC地址的作用
在局域网内实现设备到设备的直接通信(如交换机通过MAC地址表转发数据帧)。
依赖ARP协议将IP地址映射为MAC地址,完成跨层通信。
2.IP地址的作用
标识设备在全局网络中的逻辑位置,支持跨子网、跨运营商的数据路由(如从家庭网络访问云服务器)。
通过DNS解析域名,并依赖路由协议(如BGP)确定传输路径。
典型依赖关系
通信流程示例:
设备A向设备B发送数据时,先通过IP地址定位目标网络;
在目标网络内,通过ARP协议获取设备B的MAC地址;
数据最终通过MAC地址在物理层完成传输。
二、版本演进与格式特征
版本 地址长度 表示形式示例 地址容量 核心特性
IPv4 32位 172.16.23.45 约43亿个地址 点分十进制,地址枯竭问题凸显
IPv6 128位 2001:0db8:85a3::8a2e 3.4×10^38个地址 冒号分隔十六进制,支持IPSec加密
三、地址结构解析
IP地址由网络标识符(网络ID)和主机标识符(主机ID)构成:
网络位长度根据地址类别变化:
- A类:8位网络位(1.0.0.0 ~ 126.255.255.255)
- B类:16位网络位(128.0.0.0 ~ 191.255.255.255)
- C类:24位网络位(192.0.0.0 ~ 223.255.255.255)
主机位标识具体设备,全0为网络地址,全1为广播地址
A类私有地址:范围是10.0.0.0/8,即从10.0.0.0到10.255.255.255
B类私有地址:范围是172.16.0.0/12,即从172.16.0.0到172.31.255.255
C类私有地址:范围是192.168.0.0/16,即从192.168.0.0到192.168.255.255
四、特殊地址类型
地址类型 典型示例 功能说明
环回地址 127.0.0.1 本地系统测试与进程间通信
全网广播地址 255.255.255.255 本地网络受限广播
自动配置地址 169.254.x.x DHCP失效时的临时链路地址
未指定地址 0.0.0.0 初始化阶段占位标识
五、地址分配与管理
1.静态分配
管理员手动配置固定地址(如服务器需保持192.168.1.100不变),稳定性高但易冲突
2.动态分配
通过DHCP服务器自动下发地址(家庭网络常用),减少管理成本但存在租期限制
3.混合模式
核心设备静态分配+终端设备动态分配的综合管理模式
六、典型应用场景
1.子网划分
通过子网掩码(如255.255.255.0)将网络分割为多个逻辑子网
2.NAT转换
实现私有地址与公网地址的映射(如家庭路由器的192.168.1.x转公网IP)
3.流量监控
基于IP地址进行网络流量分析与异常检测
数据包在传输过程中,路由器通过提取目标IP地址的网络位判断转发路径,主机位则在目标网络内部精确定位终端设备。掌握这些基础知识是理解网络通信原理和进行网络故障排查的关键
七、子网掩码
子网掩码介绍
子网掩码是用于标识 IP地址中网络部分和主机部分 的32位二进制数值,与IP地址配合使用。
IPv4中,标准的子网掩码根据IP地址的类别有所不同:
A类地址的默认子网掩码为 255.0.0.0。
B类地址的默认子网掩码为 255.255.0.0。
C类地址的默认子网掩码为 255.255.255.0
主要功能包括:
1.划分网络边界:明确IP地址的哪些位表示网络(Network ID),哪些位表示主机(Host ID)。
2.路由决策辅助:帮助路由器判断数据包是否需要跨子网传输。
3.节省IP资源:通过子网划分优化IP地址利用率(如将一个C类网络拆分成多个更小网络)
子网掩码特点:
- 子网掩码不能单独存在,它必须结合IP地址一起使用;
- 子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分;用来判断两个IP是否在同一网络
- 子网掩码是一个32位的二进制数,用"点分十进制"表示;其对应网络地址的所有位置都为1,对应于主机地址的所有位置都为0。
子网掩码结构与表示
二进制结构
子网掩码由连续的1和连续的0组成,例如 255.255.255.0 对应二进制 11111111.11111111.11111111.00000000
1的连续长度决定网络部分,0的连续长度决定主机部分。
常见表示方式
点分十进制:如 255.255.255.0(C类默认掩码)。
CIDR表示法:在IP地址后标明网络前缀长度,如 192.168.1.0/24(/24表示掩码前24位为1,即掩码为255.255.255.0 对应二进制 11111111.11111111.11111111.00000000)。
子网掩码核心计算
网络地址计算
将IP地址与子网掩码进行 按位与运算(AND),得到网络地址。
子网掩码的计算通常基于所需的子网数量或每个子网的主机数量。以下是具体的计算方法:
确定子网数量:若已知需要划分的子网数量N,则可以通过公式 2^n >= N计算出所需的子网位数n,其中n表示需要从主机位中借用的位数。
例如,若需要划分为28个子网,则 2^5 = 32满足条件,因此需要借用5位作为子网位。
计算主机数量:每个子网中的可用主机数量可以通过公式 2^(32-m)-2计算得出,其中m是子网掩码中“1”的总位数,减去2是因为网络地址和广播地址不可用。
构造子网掩码:根据借用的子网位数,在默认子网掩码的基础上扩展“1”的长度。例如,对于B类地址,默认子网掩码为 255.255.0.0(即前16位为“1”),若借用5位,则子网掩码变为 255.255.248.0(即前21位为“1”)。
示例1:
假设IP地址为 172.16.0.0(B类地址),需要划分为28个子网:
借用5位作为子网位,子网掩码变为 255.255.248.0。
每个子网的主机数量为 2^(16 - 5) - 2 = 1022。
示例2:
IP地址:192.168.1.100
子网掩码:255.255.255.0
运算结果:192.168.1.0(网络地址)
主机地址范围
起始地址:网络地址+1 → 192.168.1.1
结束地址:广播地址-1 → 192.168.1.254
广播地址:网络地址最后一个字节全为1 → 192.168.1.255
子网划分实战示例
需求:将 192.168.1.0/24 划分为4个子网,每个子网至少容纳50台主机。
确定子网掩码
需要划分4个子网 → 借用2位主机位(2²=4)
原掩码为 /24 → 新掩码为 /26(24+2),即 255.255.255.192。
子网划分结果
子网 网络地址 可用主机范围 广播地址
子网1 192.168.1.0 192.168.1.1 – 62 192.168.1.63
子网2 192.168.1.64 192.168.1.65 – 126 192.168.1.127
子网3 192.168.1.128 192.168.1.129 – 190 192.168.1.191
子网4 192.168.1.192 192.168.1.193 – 254 192.168.1.255
可变长子网掩码(VLSM)
原理
允许不同子网使用不同长度的子网掩码,进一步提升IP地址利用率。
适用场景:网络中设备数量差异较大时(如核心交换机与终端用户子网)。
示例
主网络:172.16.0.0/16
划分需求:
子网A:需要1000个主机 → 使用掩码 /22(2^10-2=1022主机)。
子网B:需要500个主机 → 使用掩码 /23(510主机)。
子网C:需要50个主机 → 使用掩码 /26(62主机)。
关键注意事项
保留地址:网络地址(全0主机位)和广播地址(全1主机位)不可分配给设备。
默认子网掩码:
A类地址:255.0.0.0(/8)
B类地址:255.255.0.0(/16)
C类地址:255.255.255.0(/24)
网络和IP地址计算器
https://ipjisuanqi.com
https://www.sojson.com/convert/subnetmask.html
子网掩码与网络设计
局域网(LAN):通常使用私有IP地址(如 192.168.x.x/24),通过NAT实现外网访问。
广域网(WAN):ISP分配公网IP时指定子网掩码,决定可用公网地址数量。
IPv6扩展:IPv6子网掩码默认为 /64,支持更灵活的网络划分。
总结:子网掩码是网络设计的基石,掌握其原理和计算方法是优化IP资源分配、提升网络性能的关键。
进制转换
十进制转换二进制 :除2取余数,倒叙排列,不够用0补齐
二进制转换十进制: 11000000=1x27+1x26+0x25+0x24+0x23+0x22+0x21+0x20=192
在线进制转换器
https://www.jyshare.com/front-end/58/
八、7层网络协议和4层网络协议
OSI七层网络协议模型
OSI(开放系统互连参考模型)是ISO提出的理论模型,将网络通信划分为7个层次:
物理层:定义物理设备标准,如网线类型、光纤接口等,负责原始比特流传输。
数据链路层:将比特流组织成帧,提供物理地址(MAC地址)识别和错误检测,典型协议包括以太网、WiFi。
网络层:负责路由选择和逻辑寻址,核心协议为IP,其他如ICMP、ARP、OSPF等。
传输层:提供端到端的可靠传输(如TCP)或快速传输(如UDP)。
会话层:建立、管理和终止会话连接,协议如RPC、NetBIOS。
表示层:处理数据格式转换(如加密、压缩),协议如SSL/TLS、JPEG。
应用层:直接面向用户提供服务,协议包括HTTP、FTP、SMTP等。
功能:应用层的主要功能是为用户提供具体的网络服务,例如:
HTTP/HTTPS:用于网页浏览。
FTP:用于文件传输。
SMTP/POP3:用于邮件传输。
DNS:用于域名解析。
特点:应用层协议直接与用户交互,隐藏了底层复杂的通信细节
TCP/IP四层网络协议模型
传输层是4层网络协议中的关键层之一,负责端到端的数据传输。常见的传输层协议有TCP和UDP。传输层的主要任务是确保数据的可靠传输,并提供流量控制和错误检测机制。TCP/IP是互联网实际使用的分层模型,分为4层:
网络接口层:融合OSI的物理层和数据链路层,负责硬件设备管理及数据帧传输,协议如以太网、WiFi。
网络层(互联网层):核心为IP协议,负责数据包的路由和逻辑地址分配(如IPv4/IPv6)。
传输层:与OSI传输层一致,提供TCP(可靠传输)和UDP(快速传输)服务。
应用层:整合OSI的应用层、表示层和会话层功能,协议包括HTTP、DNS、SMTP等。
功能:
TCP:提供可靠的、面向连接的数据传输服务,适用于需要高可靠性的场景。
UDP:提供不可靠的、无连接的数据传输服务,适用于对实时性要求较高的场景。
特点:传输层协议不直接与用户交互,而是为上层应用层提供可靠的数据传输服务
两者核心区别
层次 7层网络协议(OSI模型) 4层网络协议(TCP/IP模型)
层次划分 物理层、数据链路层、网络层、传输层、会话层、表示层、应用层 网络接口层、网络层、传输层、应用层
应用层功能 提供具体的应用程序服务,如HTTP、FTP、SMTP等 同样提供应用层服务,但功能更简化3
传输层功能 负责端到端的数据传输,使用TCP或UDP协议 同样负责端到端的数据传输,功能一致
典型应用场景
OSI模型:主要用于网络协议的理论教学和系统设计参考。
TCP/IP模型:支撑互联网运行,如网页访问(HTTP)、电子邮件(SMTP)、文件传输(FTP)等。
两种模型均通过分层思想解决网络通信的复杂性,但OSI偏向理论,而TCP/IP更注重实际应用效率和兼容性。
九、UDP和TCP的区别,什么情况下用UDP
TCP:传输控制协议是一种面向连接的、可靠的、基于字节流的传输层通信协议。
UDP:是一种无连接的传输协议,该协议称为用户数据报协议。UDP 应用程序提供了一种无需建立连接就可以发送封装的IP数据包的方法。
可靠性:
TCP 是一种面向连接的协议,它确保数据的有序传输,并提供确认机制和错误检测。如果数据包丢失,TCP 会自动重传,保证数据完整。
UDP 是无连接的,不保证数据的顺序到达,也不做流量控制或错误检查。丢包不会导致重传,依赖应用层处理。
速度和效率:
UDP 没有建立连接阶段,直接发送数据,减少了开销,适合对延迟敏感的应用,如在线游戏、实时视频等。
TCP 的连接过程增加了额外的延迟,但提供了更稳定的数据传输,适用于需要高精度的数据交互,如文件传输、网页浏览。
流量控制和拥塞控制:
TCP 具有流量控制和拥塞控制功能,防止数据过多造成网络拥塞。
UDP 对数据量不做限制,可能导致在网络拥塞时数据包丢失。
应用场景:
TCP 通常用于需要可靠传输的场景,如电子邮件、HTTP、FTP等。
UDP 适合于实时性强、低延迟、不需数据完整性保障的场景,例如DNS查询、网络游戏、语音通话等。
总结
TCP是面向连接的,可靠的,面向字节流的,只支持点对点通信,报文首部20个字节,有确认应答机制、超时重传机制、连接管理机制、连接管理机制(三次握手、四次挥手)、流量控制机制、拥塞控制机制,有接受缓冲区和发送缓冲区
UDP是无连接的,不可靠的,是面向数据报文的,支持一对一 一对多 多对多,首部8个字节,没有可靠性机制,只是把数据包通过网卡发送出去,有接受缓冲区
十、三次握手、四次挥手
三次握手:
第一次握手:客户端向服务器发送一个SYN包,请求建立连接。客户端进入SYN_SEND状态,等待服务器的确认。
第二次握手:服务器收到SYN包后,向客户端发送SYN+ACK包,确认客户端的请求并同步服务器的序列号。服务器进入SYN_RECV状态。
第三次握手:客户端收到SYN+ACK包后,向服务器发送ACK包,确认服务器的回复。此时,客户端和服务器进入ESTABLISHED状态,连接建立成功。
目的:三次握手确保双方的发送和接收功能正常,并且双方都支持TCP协议。
Q:为什么叫三次握手
A:因为这个过程发送了3包数据。
Q:为什么要3次握手,而不是两次握手。服务端回复完SYN+ACK,就建立了连接
A:这是为了防止已失效的请求报文,突然又传到服务器,引起服务器错误。
假设采用两次握手建立连接。
客户端向服务端发送了一个SYN包,由于网络堵塞,这个包没有到达服务端。所以客户端认为服务端没有收到这个SYN包,重新发送了一个SYN包,这次的数据包正常送达。
服务端回复SYN+ACK后,建立了连接。这时候,客户端第一次发送的SYN包,由于网络恢复又重新到达了服务器,这时服务端会认为客户端又发起了连接,两次握手后,进入了等待状态。服务端认为建立了2个连接,客户端认为建立了1个连接,造成了不一致。
如果是3次握手的情况下,服务端收不到最后的ACK包,自然不会认为建立连接成功。所以3次握手就是为了解决网络信道不可靠问题
四次挥手:
第一次挥手:客户端向服务器发送FIN包,请求关闭连接。客户端进入FINWAIT1状态,停止发送数据,但仍可接收数据。
第二次挥手:服务器收到FIN包后,向客户端发送ACK包,确认收到请求。服务器进入CLOSE_WAIT状态。
第三次挥手:服务器在处理完剩余数据后,向客户端发送FIN包,确认自己也准备好关闭连接。服务器进入LAST_ACK状态。
第四次挥手:客户端收到服务器的FIN包后,向服务器发送ACK包,确认收到请求。此时,连接正式关闭。
目的:四次挥手确保数据传输的完整性和连接的有序关闭,防止数据丢失或混乱。
十一、HTTP与HTTPS
基础概念对比
HTTP(超文本传输协议)
应用层协议,基于TCP/IP实现客户端与服务器通信,默认端口80。
特点:明文传输、无状态、无加密,存在数据泄露和篡改风险。
典型应用:普通网页浏览、不涉及敏感信息的资源请求。
HTTPS(安全超文本传输协议)
HTTP的加密扩展,在传输层与应用层之间加入SSL/TLS协议,默认端口443。
特点:数据加密传输(对称与非对称加密结合)、服务器身份认证(数字证书)、完整性校验。
典型应用:在线支付、用户登录、敏感数据传输(如金融交易)。
核心差异总结
对比维度 HTTP HTTPS
安全性 明文传输,数据易被窃听或篡改 SSL/TLS加密传输,防窃听、防篡改
默认端口 80 443
加密机制 无加密 混合加密(对称加密传输数据+非对称加密交换密钥)
证书要求 无需证书 需CA机构颁发的SSL证书验证服务器身份
性能开销 低延迟,资源消耗少 因加密解密增加约10%的延迟,CPU消耗较高
SEO与信任标识 无优化优势,浏览器标记“不安全” 提升搜索排名,地址栏显示“锁”标识
HTTPS安全机制详解
加密过程
握手阶段:
客户端发送支持的加密套件和随机数;
服务器返回证书、选定的加密套件和随机数;
客户端验证证书合法性,生成预主密钥并用服务器公钥加密;
双方基于预主密钥生成会话密钥,后续通信使用对称加密。
数据传输阶段:
会话密钥加密实际传输内容,避免中间人攻击。
证书验证
证书链校验:客户端需验证证书链(服务器证书→中间证书→根证书)的完整性和可信性;
常见问题:自签名证书不受信任、证书过期或域名不匹配时触发浏览器警告。
应用场景建议
优先使用HTTP的场景:
静态资源分发(如图片、CSS文件);
内部系统或测试环境,无需加密验证。
必须使用HTTPS的场景:
用户登录认证(密码、验证码传输);
电商交易、金融支付等敏感操作;
政府、教育等需合规性要求的网站。
部署注意事项
证书管理:选择可信CA(如Digicert、Let’s Encrypt),定期检查证书有效期;
服务器配置:确保中间证书链完整,避免浏览器信任缺失;
性能优化:启用HTTP/2协议、会话复用(Session Resumption)降低加密开销。