【网络】从零认识IPv4

目录

IP地址定义

网络标识和主机标识

子网掩码

IPv4地址的分类

全局地址和私有地址


个人主页:东洛的克莱斯韦克-CSDN博客

IP地址定义

IP是网络中每台设备的唯一标识符,用于识别和定位计算机、服务器、路由器等设备,以便它们能够在网络上进行通信。

IPv4是由32位比特位构成,计算机也是以二进制的方式处理该地址。而人更喜欢用点分十进制表示一个IPv4地址。

2 的 32 次方是4,294,967,296。IPv4地址的绝对数量也只有这么多。

网络标识和主机标识

IP地址中,一部分比特位用来标识数据链路层不同段的唯一性(标识不同子网),称为网络标识。一部分比特位用来标识同一子网的不同主机,称为主机标识。

子网掩码

子网掩码是一个32位的数值,用于划分IPv4地址中的网络部分和主机部分。它帮助确定一个IP地址中的哪一部分是网络标识,哪一部分是主机标识。

子网掩码前半部分位连续的1,后半部分为连续的0。子网掩码的32位比特位中有多少个一表示IP地址前多少位表示网络标识。

子网掩码有两种标识形式,一种是IP地址和子网掩码用两行表示

另一种是在IP地址后面追加网络标识的位数,用/分隔

IPv4地址的分类

A类地址

|--------------------------------------|
| 范围:0.0.0.0 - 127.255.255.255 |
| 默认子网掩码:255.0.0.0(即/8) |
| 网络标识:前8位(第一个八位组) |
| 主机标识:后24位 |
| 可用网络数:2^7 = 128(去除0和127后的有效网络数为126) |
| 每个网络的可用主机数:2^24 - 2 = 16,777,214 |
| 用途:A类地址用于大型网络,如跨国企业或互联网服务提供商(ISP)。 |

B类地址

|-----------------------------------------------|
| 范围:128.0.0.0 - 191.255.255.255 |
| 默认子网掩码:255.255.0.0(即/16) |
| 网络标识:前16位(前两个八位组) |
| 主机标识:后16位 |
| 可用网络数:2^14 = 16,384(去除128和191后的有效网络数为16,384) |
| 每个网络的可用主机数:2^16 - 2 = 65,534 |
| 用途:B类地址适用于中型网络,如大型企业或大学校园网络。 |

C类地址

|-----------------------------------------------------|
| 范围:192.0.0.0 - 223.255.255.255 |
| 默认子网掩码:255.255.255.0(即/24) |
| 网络标识:前24位(前三个八位组) |
| 主机标识:后8位 |
| 可用网络数:2^21 = 2,097,152(去除192和223后的有效网络数为2,097,152) |
| 每个网络的可用主机数:2^8 - 2 = 254 |
| 用途:C类地址用于小型网络,如家庭网络或小型企业网络。 |

D类地址

|----------------------------------------------------------------------------|
| 范围:224.0.0.0 - 239.255.255.255 |
| 用途:D类地址专门用于多播(Multicast),即将数据包发送给一组特定的设备,而不是单个设备。D类地址不分网络标识和主机标识,因此没有子网掩码。 |
| 用途:多播应用,例如视频会议、在线直播等,使用D类地址来将数据传输到多个目的地。 |

E类地址

|--------------------------------------------|
| 范围:240.0.0.0 - 255.255.255.255 |
| 用途:E类地址保留用于实验和研究目的,供未来技术的研究和开发,不用于常规的网络通信。 |

子网掩码是对该分类更细力度的划分。

全局地址和私有地址

全局地址和私有地址也可以称为公网IP和私有IP

私有IP范围如下

在私有IP范围之外都是公网IP

私有IP的数量为17,891,328。在搭建网络时,一个配有公网IP的路由器在该子网中最多可以为17,891,328台主机分配地址。也就是说一个有公网IP的机器可以用私有ip搭建子网。

这样的网络搭建方案可以极大缓解IPv4地址不足问题。在我们平常生活场景中接触到的基本都是私有IP。一般都是由当地运营商配有公网IP的路由器为我们的手机,笔记本电脑,家用路由器等入网设备分配一个临时的私有IP,该私有IP用来标识该路由器构建的子网中主机的唯一性。

私有IP是可以被重复使用的,所以私有IP在全网中没有唯一性。这就是为什么不同子网的主机不能通信的原因。

IPv4的报头

4 位版本号(version): 指定 IP 协议的版本, 对于 IPv4 来说, 就是 4. • 4 位头部长度(header length): IP 头部的长度是多少个 32bit, 也就是 length 4 的字节数. 4bit 表示最大的数字是 15, 因此 IP 头部最大长度是 60 字节.

8 位服务类型(Type Of Service): 3 位优先权字段(已经弃用), 4 位 TOS 字段, 和 1 位保留字段(必须置为 0). 4 位 TOS 分别表示: 最小延时, 最大吞吐量, 最高可靠性, 最小成本. 这四者相互冲突, 只能选择一个. 对于 ssh/telnet 这样的应用程序, 最小延 时比较重要; 对于 ftp 这样的程序, 最大吞吐量比较重要.

16 位总长度(total length): IP 数据报整体占多少个字节. • 16 位标识(id): 唯一的标识主机发送的报文. 如果 IP 报文在数据链路层被分片 了, 那么每一个片里面的这个 id 都是相同的.

3 位标志字段: 第一位保留(保留的意思是现在不用, 但是还没想好说不定以后要 用到). 第二位置为 1 表示禁止分片, 这时候如果报文长度超过 MTU, IP 模块就会丢 弃报文. 第三位表示"更多分片", 如果分片了的话, 最后一个分片置为 0, 其他是 1. 类 似于一个结束标记.

13 位分片偏移(framegament offset): 是分片相对于原始 IP 报文开始处的偏移. 其实就是在表示当前分片在原报文中处在哪个位置. 实际偏移的字节数是这个值 8 得到的. 因此, 除了最后一个报文之外, 其他报文的长度必须是 8 的整数倍(否则报文 就不连续了).

8 位生存时间(Time To Live, TTL): 数据报到达目的地的最大报文跳数. 一般是 64. 每次经过一个路由, TTL -= 1, 一直减到 0 还没到达, 那么就丢弃了. 这个字段要是用来防止出现路由循环

8 位协议: 表示上层协议的类型

16 位头部校验和: 使用 CRC 进行校验, 来鉴别头部是否损坏. • 32 位源地址和 32 位目标地址: 表示发送端和接收端.

选项字段(不定长, 最多40字节)

相关推荐
sec0nd_18 分钟前
1网络安全的基本概念
网络·安全·web安全
青柠视频云1 小时前
青柠视频云——视频丢包(卡顿、花屏、绿屏)排查
服务器·网络·音视频
网安CILLE1 小时前
2024年某大厂HW蓝队面试题分享
网络·安全·web安全
沐风ya1 小时前
Reactor介绍,如何从简易版本的epoll修改成Reactor模型(demo版本代码+详细介绍)
网络
SUGERBOOM1 小时前
【网络安全】网络基础第一阶段——第一节:网络协议基础---- OSI与TCP/IP协议
网络·网络协议·web安全
petaexpress2 小时前
常用的k8s容器网络模式有哪些?
网络·容器·kubernetes
m0_609000424 小时前
向日葵好用吗?4款稳定的远程控制软件推荐。
运维·服务器·网络·人工智能·远程工作
suifen_7 小时前
RK3229_Android9.0_Box 4G模块EC200A调试
网络
铁松溜达py7 小时前
编译器/工具链环境:GCC vs LLVM/Clang,MSVCRT vs UCRT
开发语言·网络