IP基本原理(上)

文章目录

  • 一、IP的定义
  • 二、IP的作用
    • 1.标识节点和链路
    • 2.寻址和转发
    • 3.适应各种数据链路
  • 三、IP头部封装格式
  • 四、MTU
  • 五、IP地址
    • 1.定义
    • 2.格式
      • 2.1 点分十进制和二进制关系与转换
      • 2.2 由网络位+主机位组成
      • 2.3 网络位长度决定网段
    • 3.分类
      • 3.1 A类
      • 3.2 B类
      • 3.3 C类
      • 3.4 D类
      • 3.5 E类
    • 4.特殊地址
      • 4.1 127.X.X.X
      • 4.2 主机位全0的地址
      • 4.3 主机位全1的地址
      • 4.4 255.255.255.255
      • 4.5 0.0.0.0
    • 5.公网/私网地址
      • 1.公网地址
      • 2.私网地址

首先可以看下思维导图,以便更好的理解接下来的内容。
在这里插入图片描述

一、IP的定义

IP(Internet Protocol)是当前唯一的网络层协议标准,它定义了数据网络层的封装方式和编址方法。作为互联网的核心协议之一,IP协议负责处理在网络中传输的数据包,确保它们可以从源节点传输到目标节点。

二、IP的作用

1.标识节点和链路

IP具有两个关键作用,即标识节点和链路。每个连接到网络的设备都被分配一个唯一的IP地址,这个地址用于标识网络中的每一个节点,无论是计算机、服务器还是其他网络设备。此外,每个网络也会被分配一个唯一的IP网络号,用于标识不同的链路或子网。

例子: 想象一下,您的家庭网络中有多台设备,如笔记本电脑、智能手机和智能电视。每个设备都有一个不同的IP地址,就像每个房子都有一个唯一的邮政地址一样。IP地址的分配使得路由器知道如何将数据包传送到正确的设备。

2.寻址和转发

IP在寻址和转发数据包方面起着重要作用。当数据包从源节点发送时,它会包含目标节点的IP地址。中间的路由器会根据目标IP地址来确定数据包应该被转发到哪个方向,从而找到达到目标节点的路径。这个过程涉及IP路由器的选择,它们根据路由表中的信息来决定如何最有效地将数据包传递到目标节点。

例子: 可以把路由器想象成邮局,它们根据目的地地址(IP地址)来决定如何将数据包传送到下一个站点。就像邮局会查看邮寄目的地以选择适当的路线一样,路由器会根据目标IP地址来决定数据包的下一步去向。

3.适应各种数据链路

IP协议需要适应不同数据链路的特性。数据链路可能具有不同的最大传输单元(MTU),即在不分片的情况下可以传输的最大数据包大小。因此,当数据包的大小超过链路的MTU时,IP协议会将数据包分片,然后在目标节点处进行重组。此外,为了在实际的数据链路上传递信息,IP地址必须映射到数据链路层的物理地址,以便确保数据包可以在网络中正确传输。

例子: 就像快递公司可能需要将大件包裹分成更小的部分以适应不同的运输车辆一样,IP协议会将大的数据包分成更小的片段以适应不同的网络链路。然后,接收方将这些片段重新组合成完整的数据包。

三、IP头部封装格式

IP头格式

version                                        版本,用于标识封装是IPv4还是IPv6
IHL                                            头部长度,描述了数据包头的内容长度
Type of service                                服务类型,用于标识DSCP或IP优先级,用于QOS识别
Total length                                   数据包总长度
Identification             标识符              用于标识某个分片来自于哪个数据包
Flags                      标志                标识数据包是否允许分片
Fragment offset            分片偏移             用于描述分片在数据包中的位置
Time to Live               TTL,生存时间        该数据包允许经过的路由器的最大跳数   最大值为255
Protocol                   协议                用于标识上层协议是TCP/UDP/ICMP
Header Checksum            头部校验序列         用于头部信息差错校验
Source Address                                 源IP地址
Destination Address                            目的IP地址
Options                                        可选项
Padding                                        填充

例子: 这个IP头部就像邮件信封上的标签,告诉网络设备如何处理数据包。就像信封上的发件人和收件人地址一样,IP头部包含了源IP地址和目标IP地址,以便网络设备知道数据包的来源和去向。

四、MTU

MTU(Maximum Transmission Unit)指的是接口收发数据支持的单个包的最大长度。不同的数据链路可能具有不同的MTU值,它会影响数据包的大小和分片。
默认情况下,以太网接口的MTU通常为1500字节,而在使用PPPoE(Point-to-Point Protocol over Ethernet)连接时,MTU可能会减小到1492字节,以适应PPPoE头部的额外开销。

例子: MTU就像快递车的最大装载容量,如果包裹太大,就需要进行拆分,以适应运输工具的限制。

五、IP地址

1.定义

IP地址是网络层地址,用于在互联网中标识和定位设备。

例子: 就像电话号码能够唯一标识一个人一样,IP地址能够唯一标识一个连接到网络的设备。通过IP地址,设备可以相互识别和通信。

2.格式

2.1 点分十进制和二进制关系与转换

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

2.2 由网络位+主机位组成

IP地址由网络位和主机位组成。网络位用于标识特定网络,而主机位用于标识该网络中的具体设备。根据IP地址类别和子网掩码,网络位和主机位的长度会有所不同。
在这里插入图片描述在这里插入图片描述

生活中的类比:

想象你住在一个公寓楼里,这个楼可以被视为一个网络。在这个网络中,每个公寓都有一个门牌号,而这个门牌号可以被分解为两部分:楼号和房间号。楼号可以被看作网络位,房间号可以被看作主机位。

例如,假设你住在楼号为 192.168.197 的公寓楼,你的房间号是 20。在这个例子中,楼号是网络位,房间号是主机位。通过组合楼号和房间号,你的门牌号就是 192.168.197.20。

2.3 网络位长度决定网段

在IP地址中,如果网络位长度和数字完全一致,那么这些地址属于同一网段。换句话说,网络位的不同部分将标识不同的网段。这有助于路由器和交换机等网络设备根据目标IP地址来正确地路由数据包。

网段是指具有相同网络位的一组IP地址。在划分子网时,通过更改子网掩码,可以在同一个网络中进一步划分不同的子网,每个子网将有不同的网络位长度,这样可以灵活地管理IP地址。

例子
考虑一个网络 192.168.1.0,它使用子网掩码 255.255.255.0。这意味着前三个八位组(192.168.1)为网络位,而最后一个八位组为主机位。在这个网络中,有如下IP地址:
也就是1-254是一栋楼的门牌号

192.168.1.1
192.168.1.2
...
192.168.1.254

3.分类

IP地址分为五个主要类别:A类、B类、C类、D类和E类。

3.1 A类

  • 地址范围:1.0.0.0 - 126.255.255.255
  • 网络位划分:前8位为网络位,后24位为主机位

例子: A类地址范围广泛,可用于大型网络,如全球公司的内部网络。
A类IP地址

3.2 B类

  • 地址范围:128.0.0.0 - 191.255.255.255
  • 网络位划分:前16位为网络位,后16位为主机位

例子: B类地址适合中等规模的网络,如大学校园或中型企业。
B类IP地址

3.3 C类

  • 地址范围:192.0.0.0 - 223.255.255.255
  • 网络位划分:前24位为网络位,后8位为主机位

例子: C类地址常用于小型网络,如家庭网络或小型办公室。
C类IP地址

3.4 D类

  • 地址范围:224.0.0.0 - 239.255.255.255
  • 作用:组播地址,不能用于配置为主机地址

例子: D类地址用于多播,使得一个数据包可以同时发送到多个设备。

D类IP地址

3.5 E类

  • 地址范围:240.0.0.0 - 255.255.255.255
  • 作用:科研用地址,不对公开使用

例子: E类地址保留给特定的科研和实验目的。
E类IP地址

IP地址分类用来划分不同的网络规模

4.特殊地址

4.1 127.X.X.X

本地环回地址,用于标识本机,数据发送到此地址会被回送至本机。

例子: 就像电话号码短号可以直接拨打内部电话一样,本地环回地址 127.0.0.1(因127.0.0.1常见并且方便输入) 允许设备与自己进行通信。

4.2 主机位全0的地址

网络地址,用来标识某个网段中的整个网络。

例子: 就像街道名称标识整个街区一样,网络地址 192.168.0.0 标识整个子网。

4.3 主机位全1的地址

本网段广播地址,数据发送到此地址会被发送至本网段内的所有主机。

例子: 就像广播电台向整个城市播放消息一样,广播地址 192.168.0.255(最后的255代表八个二进制1所以是全1) 将消息发送到同一子网中的所有设备。

4.4 255.255.255.255

全网广播地址,数据发送到此地址会被发送至整个网络。

例子: 就像全国性的电视广播可以覆盖整个国家一样,全网广播地址 255.255.255.255 发送数据到整个网络。

4.5 0.0.0.0

任意IP地址,通常在某些配置中表示未指定地址或任何地址。

例子: 就像一个信封上没有填写收件人地址一样,0.0.0.0 代表未指定的目的地,也可以代表任何目的地。

5.公网/私网地址

1.公网地址

可以在互联网上寻址的地址,全球唯一,由互联网服务提供商分配。

例子: 就像您的家庭地址可以在邮件系统中找到您一样,公网地址能够在全球范围内唯一标识您的设备。

2.私网地址

用于内部网络,在互联网上无法直接寻址,用于局域网或内部网络通信。

地址范围:

  • 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

例子: 就像您家中的内部电话号码在全市范围内不可用一样,私网地址用于内部网络通信而不涉及互联网。

如有不详或错误,敬请指出。

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

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

相关文章

C语言每日一题 ----计算日期到天数转换(Day 2)

本专栏为c语言练习专栏,适合刚刚学完c语言的初学者。本专栏每天会不定时更新,通过每天练习,进一步对c语言的重难点知识进行更深入的学习。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C语言天天练 &#x…

Nacos使用(上):Nacos安装

Nacos使用(上):Nacos安装 Nacos使用(中):Java项目和Spring项目使用Nacos Nacos使用(下):SpringBoot和SpringCloud项目中使用Nacos Nacos简介 ​ Nacos /nɑ:kəʊs/ 是阿里巴巴的开源项目,是 Dynamic Naming and Configuration S…

git clone 报SSL证书问题

git命令下运行 git config --global http.sslVerify false 然后再进行重新clone代码

Go Map

学习了GO语言中数组,切片类型,但是我们发现使用数组或者是切片存储的数据量如果比较大,那么通过下标来取出某个具体的数据的时候相对来说,比较麻烦。例如: names : []string{"张三","李四","…

无人机甚高频无线电中继通讯U-ATC118

简介 甚高频无线电中继通讯系统使用经过适航认证的机载电台连接数字网络传输模块,通过网络远程控制无缝实现无人机操作员与塔台直接语音通话。无人机操作员可以从地面控制站远程操作机载电台进行频率切换、静噪开关、PTT按钮,电台虚拟面板与真实面板布局…

后端面试话术集锦第三篇:spring cloud 面试话术

这是后端面试集锦第三篇博文——spring cloud面试话术❗❗❗ 1. 什么是Springcloud Spring Cloud是一系列框架的集合,它利用Spring Boot的开发便利性简化了分布式系统的开发,比如服务发现、服务网关、服务路由、链路追踪等。 他的设计目的是为了简化Spring应用的搭建和开发…

AMEYA360:大唐恩智浦电池管理芯片DNB1168-新能源汽车BMS系统的选择

DNB1168是一款全球独有的集成(EIS)交流阻抗谱监测功能的单电池监测芯片。该芯片通过车规级AEC-Q100和汽车行业最高功能安全等级ISO 26262:2018 ASIL-D双重认证。芯片?内部集成多种高精度电池参数监测,支持电压、温度、交流阻抗检…

Acwing791. 高精度加法

Acwing791. 高精度加法 题目描述代码展示 题目描述 代码展示 #include <iostream> #include <vector>using namespace std;vector<int> add(vector<int> &A, vector<int> &B) {if (A.size() < B.size()) return add(B, A);vector<…

Java“魂牵”京东店铺所有商品数据接口,京东店铺所有商品API接口,京东API接口申请指南

要通过京东的API获取店铺所有商品数据&#xff0c;您可以使用京东开放平台提供的接口来实现。以下是一种使用Java编程语言实现的示例&#xff0c;展示如何通过京东开放平台API获取整店商品数据&#xff1a; 首先&#xff0c;确保您已注册成为京东开放平台的开发者&#xff0c;…

C语言每日一练-------Day(9)

本专栏为c语言练习专栏&#xff0c;适合刚刚学完c语言的初学者。本专栏每天会不定时更新&#xff0c;通过每天练习&#xff0c;进一步对c语言的重难点知识进行更深入的学习。 今日练习题关键字&#xff1a;字符个数统计 多数元素 投票法 &#x1f493;博主csdn个人主页&#xf…

15.坐标添加带箭头的线

ol的官网示例中有绘制带箭头的线的demo&#xff0c;那个是交互式绘制&#xff0c;而不是根据经纬度坐标添加&#xff0c;在其基础上稍作修改&#xff0c;即可转为通过经纬度添加带箭头的线的功能&#xff0c;线和箭头的粗细大小样式都可以自定义 代码如下 <!DOCTYPE HTML P…