计算机网络之IPv4深度解析

2024-08-20 18:12

本文主要是介绍计算机网络之IPv4深度解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一.IP地址

IP地址的组成方式:网络号 + 主机号

可以这样理解,根据网络号找路由器,根据主机号找连着路由器的主机

早期分类的IP地址

表示如下:

其中,有些特殊的IP地址:

主机号全为0,表示本网络本身,主机号全为1,表示本网络的广播地址

网络号和主机号全为0,代表自己的主机,全为1代表这个路由器的广播域进行广播

因此,我们发现,正常主机的主机号是不能全为0或者全为1的,因此,如果一个网络的主机号有N位,它最多有2^N-2个主机,同时,我们也知道,一个网络的主机号长度绝对不能为1

私有IP地址

可以理解为只能在同一个网络(连接同一个路由器)的情况下的交流

他们需要经过网络地址转换将专用网络转换为公共地址,节省了IP地址的消耗

NAT路由器通过NAT转换表更改IP地址和端口

划分子网

三级IP地址结构:网络号+子网号+主机号(请注意:划分子网的子网号实际是从主机号中划分的)

网络号相同,在同一个网络下,子网号相同,在同一个子网下

划分的子网可以大小相同,也可以不同

子网掩码:网络号和子网号全为1,主机号全为0

可与IP地址进行与运算得出对应的子网的网络地址,例如

208.115.21.15的子网掩码225.225.225.0,可以得出子网是208.115.21.0

CIDR表示IP地址:网络前缀+主机号        或 IP +子网掩码中1的长度(斜线表示法)

路由聚合:两个网络用16进制书写后进行与运算后用CIDR表示IP地址

二.协议

ARP(地址解析协议):进行IP地址到MAC地址的映射

局域网内传输数据报:1.ARP告诉缓存查看目的地址,有则硬件地址写入MAC帧       

 2.若无,封装并广播请求分组,接收方单播发送相应分组,写入ARP缓存,发送帧

DHCP(动态主机配置协议,应用层):允许计算机加入新网络和自动获取IP地址

1.客户广播“发现信息”,源地址0.0.0.0         目的地址255.255.255.255

2.服务器广播“DHCP提供信息”源地址服务器地址                 目的地址255.255.255.255

3.客户若接收地址,广播“DHCP请求消息”        源地址为0.0.0.0,目的地址为255.255.255.255

4.服务器“DHCP确认信息”分配IP地址        源地址DHCP服务器,目的地址255.255.255.255

ICMP(网际控制报文协议):差错报文,询问报文

三.IP地址习题

1.转发表

按照最长前缀匹配原则,首先是能匹配,然后看谁最长,R3的前22位是不匹配的,目的地址前22位132.19.111011,R3的前22位为132.19.111001不能是R3,答案为R2

2.划分子网

主机号剩余5位,但划分后最少剩余2位,因此子网位3位,8,当只有一个子网,不进行划分时,每个子网含IP地址最多,但要把主机号全0和全1去掉

3.两个地址

一台主机如果有两个IP地址,那么他们的网络一定不同,192属于C类网络,选C

4.多余地址

不重叠意味着IP地址一定不相同,不引入多余地址意味着两者含有所有地址,B,不重合,且聚合后为172.116.166.128/25

5.通信故障

通信故障意味着不在同一个子网中,网络号+子网号共27位,主机号共5位,A,C,D在同一个子网202.3.1.32/27中,B属于2022.3.1.64/27

6.广播地址

广播地址的主机号一定全为1,前18位为网络号+主机号,因此把原IP的后14位全部改为1即可

7.最小子网

最小子网的划分类似于A,B,C类的划分,0,10,110这样进行划分,故第五个子网的子网号为11110,占5位,7位的主机号,故答案为254

8.默认网关

默认网关的主机号全为0,子网掩码看网络号+子网号长度为27,全部置为1即可,选择D

9.源IP地址

经过R2后,改成全球IP地址,R1和R2在同一子网中,因此,R2的IP为195.123.0.33

这篇关于计算机网络之IPv4深度解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1090809

相关文章

Agent开发核心技术解析以及现代Agent架构设计

《Agent开发核心技术解析以及现代Agent架构设计》在人工智能领域,Agent并非一个全新的概念,但在大模型时代,它被赋予了全新的生命力,简单来说,Agent是一个能够自主感知环境、理解任务、制定... 目录一、回归本源:到底什么是Agent?二、核心链路拆解:Agent的"大脑"与"四肢"1. 规划模

MySQL字符串转数值的方法全解析

《MySQL字符串转数值的方法全解析》在MySQL开发中,字符串与数值的转换是高频操作,本文从隐式转换原理、显式转换方法、典型场景案例、风险防控四个维度系统梳理,助您精准掌握这一核心技能,需要的朋友可... 目录一、隐式转换:自动但需警惕的&ld编程quo;双刃剑”二、显式转换:三大核心方法详解三、典型场景

SQL 注入攻击(SQL Injection)原理、利用方式与防御策略深度解析

《SQL注入攻击(SQLInjection)原理、利用方式与防御策略深度解析》本文将从SQL注入的基本原理、攻击方式、常见利用手法,到企业级防御方案进行全面讲解,以帮助开发者和安全人员更系统地理解... 目录一、前言二、SQL 注入攻击的基本概念三、SQL 注入常见类型分析1. 基于错误回显的注入(Erro

C++ 多态性实战之何时使用 virtual 和 override的问题解析

《C++多态性实战之何时使用virtual和override的问题解析》在面向对象编程中,多态是一个核心概念,很多开发者在遇到override编译错误时,不清楚是否需要将基类函数声明为virt... 目录C++ 多态性实战:何时使用 virtual 和 override?引言问题场景判断是否需要多态的三个关

Springboot主配置文件解析

《Springboot主配置文件解析》SpringBoot主配置文件application.yml支持多种核心值类型,包括字符串、数字、布尔值等,文章详细介绍了Profile环境配置和加载位置,本文... 目录Profile环境配置配置文件加载位置Springboot主配置文件 application.ym

Java枚举类型深度详解

《Java枚举类型深度详解》Java的枚举类型(enum)是一种强大的工具,它不仅可以让你的代码更简洁、可读,而且通过类型安全、常量集合、方法重写和接口实现等特性,使得枚举在很多场景下都非常有用,本文... 目录前言1. enum关键字的使用:定义枚举类型什么是枚举类型?如何定义枚举类型?使用枚举类型:2.

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

一文解析C#中的StringSplitOptions枚举

《一文解析C#中的StringSplitOptions枚举》StringSplitOptions是C#中的一个枚举类型,用于控制string.Split()方法分割字符串时的行为,核心作用是处理分割后... 目录C#的StringSplitOptions枚举1.StringSplitOptions枚举的常用