IPV4地址介绍

4.1IP地址简介

目前的全球因特网所采用的协议族是TCP/IP协议族。IP是TCP/IP协议族中网络层的协议,是TCP/IP协议族的核心协议。IP协议定义了一种地址编码,称为IP地址,它是网络中网络段、网络设备接口、主机的编码,它并不是一种物理地址,而是逻辑地址,即地址是可以被分配、并且非固定、可修改的。

IPv4,是互联网协议(Internet Protocol,IP)的第四版,也是第一个被广泛使用,构成现今互联网技术的基石的协议。1981年 Jon Postel 在RFC791中定义了IP,IP可以运行在各种各样的底层网络上,比如端对端的串行数据链路、卫星链路等等。局域网中最常用的是以太网。

IPv4的下一个版本就是IPv6,IPv6正处在不断发展和完善的过程中,它在不久的将来将取代目前被广泛使用的IPv4。

4.1.1 IP报文

IP协议有版本之分,分别是IPv4和IPv6。目前,Internet上的IP报文主要都是IPv4报文,但是逐步在向IPv6过渡。若无特别声明,本章所提及的IP均指IPv4,IPV4的报文格式如图4-1所示:

IPv4(Internet Protocol Version 4)协议族是TCP/IP协议族中最为核心的协议族。它工作在TCP/IP协议栈的网络层,该层与OSI参考模型的网络层相对应。

IPv6(Internet Protocol Version 6)是网络层协议的第二代标准协议,也被称为IPng(IP Next Generation)。它是Internet工程任务组IETF(Internet Engineering Task Force)设计的一套规范,是IPv4(Internet Protocol Version 4)的升级版本,后面的章节我们再做详细介绍。

图4-1 IP报头

其包头主要内容如下:

  • Version:4 bit,4:表示为IPv4;6:表示为IPv6。
  • Header Length:4 bit,首部长度,如果不带Option字段,则为20,最长为60。
  • Type of Service:8 bit,服务类型。只有在有QoS差分服务要求时,这个字段才起作用。
  • Total Length:16 bit,总长度,整个IP数据包的长度。 包括首部和数据之和,单位为字节,最长65535,总长度必须不超过最大传输单元MTU。
  • Identification:16 bit,标识,主机每发一个报文,加1,分片重组时会用到该字段。
  • Flags:3 bit,标志位。
  • Fragment Offset:12 bit,片偏移,分片重组时会用到该字段。
  • Time to Live:8 bit,生存时间。
  • Protocol:8 bit,协议:下一层协议。指出此数据包携带的数据使用何种协议,以便目的主机的IP层将数据部分上交给哪个进程处理。

常见值:

1: ICMP, Internet Control Message;

2: IGMP, Internet Group Management;

6: TCP , Transmission Control Protocol;

17: UDP, User Datagram Protocol。

  • Header Checksum:16 bit,首部检验和。
  • Source IP Address:32 bit,源IP地址。
  • Destination IP Address:32 bit,目的IP地址。
  • Options:可变,选项字段。
  • Padding:可变,填充字段,全填0。

    

4.1.2 IP地址表示方法和范围

  1. 二进制与十进制的转换

在学习IP地址的时候,我们首先要搞懂什么是十进制、什么是二进制,并且要知道他们之间的转化过程,掌握这些知识对我们学习IP地址有很大的益处。

首先我们看一下什么是十进制,比如我今天买了一本书128元,这个数字128就是十进制,我们就数字128来分析一下十进制。

        • 十进制一共有10个数字:0 1 2 3 4 5 6 7 8 9
        • 128=1x102+2x101+8x100=1x100+2x10+8x1=128,在十进制中,10代表权,N代表幂,其中个位为100,十位为101,百位为103。

掌握了十进制以后,我们来看一个二进制:

        • 二进制一共有2个数字:0 1
        • 1101化成十进制为1x23+1x22+0x21+1x20=1x8+1x4+0+1=13,在二进制中,2代表权,N代表幂,从二进制的右边开始依次为20  21  22 ---。

  1. IP地址的表示

IP地址是长度是32 bit,由4个字节组成。为了阅读和书写方便,IP地址通常采用点分十进制数来表示,但通信设备在对IP地址进行计算时使用的是二进制的操作方式。例如,采用点分十进制表示的IP地址192.168.10.1也可以用二进制表示,它的对应关系如图4-2所示:

图4-2 IP地址二进制与十进制的关系

        如果大家对二进制和十进制的转换非常清楚了就可以知道IP地址的范围用二进制表示为:00000000.00000000.00000000.00000000-11111111.11111111.11111111.11111111,化成十进制为:0.0.0.0-255.255.255.255。

4.1.3 IP地址构成

IP地址被划分为网络部分和主机部分,如图4-3所示,网络部分负责表示所在的逻辑网络区域,主机部分表示该主机在网段中的具体逻辑位置。同一网络区域中所有主机的网络部分是同一个。

图4-3 IP地址构成

如果把IP地址和电话号码做类比:电话号码0731-85015906中,0731是区号,代表湖南省长沙市,类似于IP地址中的网络部分;85015906是湖南省长沙市内某一个电话机的确切号码,类似于IP地址中的主机部分。

4.1.4 IP地址分类

为了方便IP地址的管理及组网,IP地址分成五类,如图4-4所示:

图4-4 IP地址的分类

A类地址:第一个bit必须为0,这样就能计算出A类地址的第一个字节的取值范围为0-127或(00000000)2-(01111111)2,第一个字节为网络位区间,后三个字节为主机位区间。在A类地址中当第一个字节为0或127时,它不归属于A类网络,我们在4.2.3中介绍。

B类地址:前2bit必须为10,那么B类网络地址第一个字节的取值范围为128-191或(10000000)2-(10111111)2,前两个字节段为网络位区间,后两个字节段为主机位区间。

C类地址:前3bit必须为110,第一个字节取值范围为192-223或(11000000)2-(11011111)2。C类地址前三个字节为网络位区间,第四个字节为主机位区间。

D类地址:这一类被定义为组播地址。

E类地址:用于科学研究。

4.4.5 IP地址的计算

  1. IP地址的分类

读者朋友们要记住A类IP地址的范围为1-126,B类IP地址的范围为128-191,C类IP地址的范围为192-223,D类IP地址的范围为224-239。只要记住这些知识就能很快的区分IP地址的范围。

  1. 网络位和主机位

读者朋友只要记住A类IP地址网络位为8位,主机位为24位,B类IP地址网络位为16位,主机位为16位,C类IP地址的网络位为24位,主机位为8位。就能很快的看出一个IP地址的网络位和主机位

举例1:10.1.1.1属于A类IP地址,因为A类IP地址的范围为1-126

举例2:172.16.1.1属于B类IP地址,因为B类IP地址的范围为128-191

举例3:192.168.1.1属于C类IP地址,因为C类IP地址的范围为192-223

  1. 子网掩码

子网掩码的定义:网络全为1,主机位全为0

举例1:10.1.1.1它的子网掩码为255.0.0.0,因为10.1.1.1的网络位有8位,主机位有24位,所以应该为:

11111111.000000000.00000000.00000000(255.0.0.0)子网掩码

举例2:172.16.1.1它的子网掩码为255.255.0.0,因为172.16.1.1的网络位有16位,主机位有16位,所以应该为:

11111111.11111111.00000000.00000000 (255.255.0.0) 子网掩码

举例3:192.168.1.1它的子网掩码为255.255.255.0,因为192.168.1.1的网络位为24位,主机位为8位,所以应该为:

11111111.1111111.1111111.00000000(255.255.255.0)子网掩码

  

  1. 网络地址

网络地址定义:网络位不变,主机机位全为0

举例1:10.1.1.1它的网络地址为10.0.0.0,因为10.1.1.1的网络位有8位,主机位有24位,所以前面8位网络位不变,主机位全部为0,所以应该为:

10.00000000.00000000.00000000 (10.0.0.0) 网络地址

举例2:172.16.1.1它的网络地址为172.16.0.0,因为172.16.1.1的网络位有16位,主机位有16位,网络位不变,主机位全部置0,所以应该为:

172.16.00000000.00000000(172.16.0.0)网络地址

举例3:192.168.1.1它的网络地址为192.168.1.0,因为192.168.1.1的网络位为24位,主机位为8位,网络位不变,主机位全部置0,所以应该为:

192.168.1.00000000(192.168.1.0)网络地址

  1. 广播地址

广播地址定义:网络位不变,主机位全为1

举例1:10.1.1.1它的广播地址为10.255.255.255,因为10.1.1.1的网络位有8位,主机位有24位,前面8位网络位不变,后面24位主机位全部为1,所以应该为:

10.11111111.11111111.11111111 (10.255.255.255) 广播地址

举例2:172.16.1.1它的广播地址为172.16.255.255,因为172.16.1.1的网络位有16位,主机位有16位,网络位不变,主机位全部置1,所以应该为:

172.16.111111111.11111111(172.16.255.255)广播地址

举例3:192.168.1.1它的广播地址为192.168.1.255,因为192.168.1.1的网络位为24位,主机位为8位,网络位不变,主机位全部置1,所以应该为:

192.168.1.11111111(192.168.1.255)网络地址

  1. 主机地址

主机地址算法:网络地址加1,广播地址减1。

举例1:10.1.1.1的网络地址为10.0.0.0,广播地址为10.255.255.255,所以主机地址为10.0.0.1至10.255.255.254

举例2:172.16.1.1的网络地址为172.16.0.0,广播地址为172.16.255.255,所以主机地址为172.16.0.1至172.16.255.254。

举例3:192.168.1.1的网络地址为192.168.1.0,广播地址为192.168.1.255,所以主机地址为192.168.1.1至192.168.1.254。

  1. 主机数

主机数的算法:2N-2,其中N代表主机位。

举例1:10.1.1.1的网络位为8位,主机位为24位,所以它的主机数为224-2=16777214。

举例2:172.16.1.1的网络位为16位,主机位为16位,所以它的主机数为216-2=65534。

举例3:192.168.1.1的网络位为24位,主机位为8位,的以它的主机数为28-2=254。

以上内容总结见表4-1

                                                    表4-1 IP地址的计算

IP地址

类别

网络位

主机位

子网掩码

网络地址

广播地址

主机地址

主机数

10.1.1.1

A

8

24

255.0.0.0

10.0.0.0

10.255.255.255

10.0.0.1-10.255.255.254

224-2

172.16.1.1

B

16

16

255.255.0.0

172.16.0.0

172.16.255.255

172.16.0.1-172.16.255.254

216-2

192.168.1.1

C

24

8

255.255.255.0

192.168.1.0

192.168.1.255

192.168.1.1-192.168.1.254

28-2

4.4.7  私有IP地址

为了解决IP地址短缺的问题,提出了私有地址的概念。私有地址是指内部网络或主机地址,这些地址只能用于某个内部网络,不能用于公共网络。

  • 公网IP地址:连接到Internet的网络设备必须具有由IANA(Network Address Translation, 网络地址转换)分配的公网IP地址。
  • 私网IP地址:私网IP地址的使用使得网络可以得到更为自由地扩展,因为同一个私网IP地址是可以在不同的私有网络中重复使用的。
  • 私有IP地址的了分为A类、B类和C类。

A类:10.0.0.0~10.255.255.255

B类:172.16.0.0~172.31.255.255

C类:192.168.0.0~192.168.255.255

私有网络连接到Internet:私有网络由于使用了私网IP地址,是不允许连接到Internet的。后来在实际需求的驱动下,许多私有网络也希望能够连接到Internet上,从而实现私网与Internet之间的通信,以及通过Internet实现私网与私网之间的通信。私网与Internet的互联,必须使用网络地址转换 (NAT)技术实现。

4.4.8  特殊IP地址

IP地址空间中,有一些特殊的IP地址,这些IP地址有特殊的含义和作用如图4-5所示:

图4-5 特殊的IP地址

  1. 255.255.255
  • 这个地址称为有限广播地址,它可以作为一个IP报文的目的IP地址使用。
  • 路由器接收到目的IP地址为有限广播地址的IP报文后,会停止对该IP报文的转发。
  1. 0.0.0.0
  • 如果把这个地址作为网络地址,它的意思就是“任何网络”的网络地址;如果把这个地址作为主机接口地址,它的意思就是“这个网络上主机接口”的IP地址。
  • 例如:当一个主机接口在启动过程中尚未获得自己的IP地址时,就可以向网络发送目的IP地址为有限广播地址、源IP地址为0.0.0.0的DHCP请求报文,希望DHCP服务器在收到自己的请求后,能够给自己分配一个可用的IP地址。
  1. 127.0.0.0/8
  • 这个地址为环回地址,它可以作为一个IP报文的目的IP地址使用。其作用是测试设备自身的软件系统。
  • 一个设备产生的、目的IP地址为环回地址的IP报文是不可能离开这个设备本身的。
  1. 169.254.0.0/16
  • 如果一个网络设备获取IP地址的方式被设置成了自动获取方式,但是该设备在网络上又没有找到可用的DHCP服务器,那么该设备就会使用169.254.0.0/16网段的某个地址来进行临时通信。

本文出自作者的《HCIA Datacom学习指南》
 

在文章最后加作者VX:可以免费领取以下资料

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/18899.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux离线一键安装Docker及docker-compose环境

背景: 在当前软件部署运维环境中由于Docker容器化优势越来越明显,因些被许多公司运维所采用,那首先如何快速安装Docker及docker-compose基础环境就第一时间被人们关注,本人同样在经过多次手工逐条用命令安装的过程,整理…

基于51单片机的温湿度控制系统

一.硬件方案 本设计采用51单片机每2秒钟从DHT11温湿度传感器中读入温度和湿度,在液晶屏上即时显示。液晶屏上同时显示温湿度上限值,该上限值保存外外部EEPROM存储器中,掉电不失,并且可以通过四只按键上调或下调。当温度或湿度值超…

[猫头虎分享21天微信小程序基础入门教程]第21天:小程序的社交分享与消息推送

[猫头虎分享21天微信小程序基础入门教程]第21天:小程序的社交分享与消息推送 第21天:小程序的社交分享与消息推送 📲 自我介绍 大家好,我是猫头虎,一名全栈软件工程师。今天我们继续微信小程序的学习,重…

MQ第②讲~保证消息可靠性

前言 上一讲我们讲了MQ实际工作中常见的应用场景,这一节讲一下消息的可靠性,如果对MQ掌握程度比较高的铁子,可以不用看,节省您宝贵的时间。 消息的大致链路 消息从投递到消费需要考虑如下几个问题 生产者的消息是否成功投递到消…

虚拟机改IP地址

使用场景:当你从另一台电脑复制一个VMware虚拟机过来,就是遇到一个问题,虚拟的IP地址不一样(比如,一个是192.168.1.3,另一个是192.168.2.4,由于‘1’和‘2’不同,不是同一网段&#…

浅谈路由器转发数据包

当路由器转发数据包时,它会经历一系列步骤,包括接收数据包、路由表查询、以及转发数据包。以下是详细的步骤描述: 1. 接收数据包 以太网帧到达端口:当一个以太网帧到达路由器的某个网络接口(端口)时&#…

20240529瑞芯微官方Toybrick TB-RK3588开发板的Debian11下使用SCP拷贝文件

20240529瑞芯微官方Toybrick TB-RK3588开发板的Debian11下使用SCP拷贝文件 2024/5/29 20:48 1、ADB链接异常。 2、BT打开之后找不到设备? 不清楚:是我拿到的开发板的问题,还是Toybrick/Rockchip官方没有做好。 3、现在最新版本的WINSCP&…

154.找出出现至少三次的最长特殊字符串|(力扣)

代码解决 class Solution { public:int maximumLength(string s) {// 使用unordered_map来存储每个连续子串出现的次数unordered_map<string, int> mp;string key; // 存储当前的连续子串int ans -1; // 存储最终的答案&#xff0c;如果没有符合条件的子串&#xff0c…

高级数据结构-并查集

例题1&#xff1a; Alice和Bob玩了一个古老的游戏&#xff1a;首先画一个 &#x1d45b;&#x1d45b; 的点阵&#xff08;下图 n3 &#xff09;。 接着&#xff0c;他们两个轮流在相邻的点之间画上红边和蓝边&#xff1a; 直到围成一个封闭的圈&#xff08;面积不必为 1&#…

如何更改SSH服务器端口以减少蛮力攻击

本周有一个客户&#xff0c;购买Hostease的独立服务器&#xff0c;询问我们的在线客服&#xff0c;如何更改SSH服务器端口以减少蛮力攻击&#xff1f;我们为用户提供相关教程&#xff0c;用户很快解决了遇到的问题。在此&#xff0c;我们分享这个操作教程&#xff0c;希望可以对…

8086 汇编笔记(二):寄存器(内存访问)

一、内存中字的存储 字单元的概念&#xff1a;字单元&#xff0c;即存放一个字型数据(16 位)的内存单元&#xff0c;由两个地址连续的内存单元组成 由上一章学习可知&#xff1a;高地址内存单元中存放字型数据的高位字节&#xff0c;低地址内存单元中存放字型数据的低位字节 …

扎气球最高分-第13届蓝桥杯选拔赛Python真题精选

[导读]&#xff1a;超平老师的Scratch蓝桥杯真题解读系列在推出之后&#xff0c;受到了广大老师和家长的好评&#xff0c;非常感谢各位的认可和厚爱。作为回馈&#xff0c;超平老师计划推出《Python蓝桥杯真题解析100讲》&#xff0c;这是解读系列的第74讲。 扎气球最高分&…

Spring框架温习

Spring Spring是一个全面的、企业应用开发一站式的解决方案&#xff0c;贯穿表现层、业务层、持久层。但是 Spring仍然可以和其他的框架无缝整合。 Spring 特点&#xff1a; 轻量级、控制反转、面向切面、容器、框架集合 Spring 核心组件&#xff1a; Spring 常用模块&…

【Redis】 关于 Redis 有序集合类型

文章目录 &#x1f343;前言&#x1f334;普通命令介绍&#x1f6a9;zadd&#x1f6a9;zcard&#x1f6a9;zcount&#x1f6a9;zrange&#x1f6a9;zrevrange&#x1f6a9;zrangebyscore&#x1f6a9;zpopmax&#x1f6a9;zpopmin&#x1f6a9;zrank&#x1f6a9;zrevrank&…

Shell脚本的分支语句,循环语句

分支语句 if 表达式 then 命令表 fi 如果表达式为真&#xff0c;则执行命令表中的命令&#xff0c;否则退出。执行fi后的语句。 给文件权限:chmod 0777 文件名 输出: ./文件名 grep 查找用户名&#xff0c;管道wc -l 统计字符 2.多路分支语句 记得给文件名权限喔&#x…

OSPF扩展知识2

FA-转发地址 正常 OSPF 区域收到的 5 类 LSA 不存在 FA 值&#xff1b; 产生 FA 的条件: 1、5类LSA ----假设 R2为 ASBR&#xff0c;90/0 口工作的 OSPF 中&#xff0c;g0/1 口工作在非 ospf 协议或不同 ospf 进程中&#xff1b;若 g0/1 也同时宣告在和 g0/0 相同的 OSPF 进程…

R语言入门 | 使用 ggplot2 进行数据可视化

1.0准备工作 先下好tidyverse包&#xff0c;并进行加载。 install.packages ( "tidyverse" ) library(tidyverse) R 包只需安装一次&#xff0c;但每次开始新会话时都要重新加载。 1.1 数据框 数据框是变量&#xff08;列&#xff09;和观测&#xff08;行&#x…

算法练习——字符串

一确定字符串是否包含唯一字符 1.1涉及知识点 c的输入输出语法 cin>>s; cout<<"NO"; 如何定义字符串 切记&#xff1a;在[]中必须加数字——字符串最大长度&#xff0c;不然编译不通过 char s[101]; 如何获取字符串长度 char s[101];cin>>s;i…

windows10远程桌面端口,修改Windows 10远程桌面端口的步骤

在Windows 10操作系统中&#xff0c;远程桌面功能为企业用户、技术支持人员以及个人用户提供了极大的便利&#xff0c;允许他们远程访问和管理另一台计算机的桌面环境。然而&#xff0c;默认的远程桌面端口&#xff08;通常为3389&#xff09;常常成为安全漏洞的潜在目标&#…

【图像处理与机器视觉】图像处理概述与像素

什么是数字图像处理 改善图像信息&#xff0c;便于作出解释 方便对图像传输&#xff0c;储存&#xff0c;方便机器理解 什么是数字图像 &#xff08;1&#xff09;模拟图像&#xff1a;连续二维函数 f&#xff08;x&#xff0c;y&#xff09;表示&#xff0c;其中 x&#xf…