【计网】从零开始认识IP协议 --- 认识网络层,认识IP报头结构

news2024/11/23 13:34:16

在这里插入图片描述


从零开始认识IP协议

  • 1 网络层协议
    • 1.1 初步认识IP协议
    • 1.2 初步理解IP地址
  • 2 IP协议报头
  • 3 初步理解网段划分

1 网络层协议

1.1 初步认识IP协议

我们已经熟悉了传输层中的UDP和TCP协议,接下来我们来接触网络层的协议:
在这里插入图片描述

网络层在计算机网络中的意义主要体现在它提供了一个可靠、高效且透明的数据传输机制,使得不同网络之间能够互联互通,并为上层应用提供了稳定的服务。这是实现全球互联网和现代通信基础设施的关键所在。

那么网络层是如何进行数据传输的呢?通过网络层协议,这里介绍IP协议:
IP协议下,主要包含两部分:

  • 主机: 配有 IP 地址, 但是不进行路由控制的设备;
  • 路由器: 即配有 IP 地址, 又能进行路由控制;
  • 节点: 主机和路由器的统称;以后主机和路由器都使用节点说明!

在这里插入图片描述
在上图中,主机B向将数据传送给主机C,那么就会面临一个路径选择的问题!根据目的IP要进一个路径选择,选取最合适的路径传输信息!**IP提供了一种能力,将数据从主机B跨网络送至主机C的能力!**这里举个例子:

小马是学霸级别的学生,平时不怎么学习,但是考试经常考到第一名。这次的省联考要到了,小马竟然开始认真复习了,大家都认为小马有能力考到省第一。这种能力是一种观点,小马有很大的概率做成这件事情!
小马的父亲大马是学校的教务处主任,如果今天我们希望每次考试都考第一名,那么光靠小马一个人肯定是无法保证每次都是第一名的。当小马在一次月考中没有考到第一名,大马立刻重新就安排一个新考试!重新进行考试!直到小马考到第一名!

在这个例子中,主任父亲和学霸小马就能保证小马一定可以考到第一名!小马提供了考到第一名的能力;大马提供了保证第一名的策略。再看IP协议中,IP协议就提供了将数据从主机B发送到主机C的能力!传输层的TCP协议通过将数据从主机B发送到主机C的策略!

所以IP协议只提供一种能力,TCP协议通过可靠的通信策略!

1.2 初步理解IP地址

IP地址是XXX.YYY.ZZZ.AAA的风格的点分十进制!
在这里插入图片描述
ip = 网络号 + 主机号。

网络中的一台主机,一定是属于一个子网的,在一个子网中的设备的IP地址是很类似的!唐僧取经的故事中,唐僧的目的地是西天大雷音寺,首先是在西天,其次是在大雷音寺!这个西天就可以理解为子网,找到子网之后,就要寻找大雷音寺在哪里了!

2 IP协议报头

IP协议的报头是也是要进行分用和分离,IP协议的标准长度是20字节,通过对报文的前20字节进行选取就能分离报头和数据。我们来看IP协议的报头结构和TCP是很类似的!
在这里插入图片描述

  • 4 位版本号(version): 指定 IP 协议的版本, 对于 IPv4 来说, 就是 4

报文到达目标主机之后,可以根据4位首部长度确定IP报头结构,也就可以进行报头和数据的分离!
接下来我们来谈4位板本这个字段,IP协议中有:

  1. IPV4 :使用4字节表示一个IP地址,一般默认都是这个版本。
  2. IPV6:使用16字节表示一个IP地址

在网络刚刚诞生的时候使用的是IPV4,只有4字节。网络发展到今天,4字节的IP地址已经不够使用了!解决方案有NAT,最好的解决方案是IPV6,使用16字节表示IP地址!所以也就说明IPV4和IPv6并不兼容。并且由于操作系统,路由器以及一些硬件大部分都是按照IPV4版本设计的,所以目前不能一下子全都更换位IPv6版本。

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

  • 4位首部长度表示IP头部的长度,以32位字(4字节)为单位计算。因此,TCP头部的最大长度为15 * 4 = 60字节。

  • 16位总长度(Total Length)是表示整个IP数据包的长度(包括头部和数据),以字节为单位。

  • 8位协议(Protocol)指示数据部分使用的协议(例如TCP、UDP、ICMP等)。

  • 32位源IP地址(Source IP Address):IPv6版本是128位,表示发送数据包的源主机IP地址。

  • 32位目的IP地址(Destination IP Address):IPv6版本是128位,表示接收数据包的目的主机IP地址。

IP协议可以通过报头识别到报头的长度和整个数据包的长度,这个是与TCP协议报头结构不同的!IP协议报头中包含了目的IP和源IP以及协议号,TCP协议中包含了源端口和目的端口。**这5部分结合,组成“西天大雷音寺”,可以准确的找到目标进程!**源IP,源端口,目的IP,目的端口,协议号五元组标识一个网络通信!

3 初步理解网段划分

网段划分是计算机网络中一个十分重要的概念!一定要理解清楚!今天初步了解一下网段划分!
IPV4版本中IP地址是一个有限的资源,存在竞争关系!必须经过合理的划分来分配给不同的国家区域!

IP 地址分为两个部分, 网络号和主机号:

  • 网络号: 保证相互连接的两个网段具有不同的标识;
  • 主机号: 同一网段内, 主机之间具有相同的网络号, 但是必须有不同的主机号!

在这里插入图片描述
在同一个网络中,主机的IP地址是一致的,所以区分不同主机的方式是通过主机号来进行区分!我们的设备都是连接的对应的路由器,路由器一定有两个不同的网卡,既属于下层网络,也属于上层网络。是进行网络通信的中转站!所以一般路由器的主机号是1。

  • 路由器有构建子网和路由的能力!在路由器的背面一般都标有路由器的IP地址!
    在这里插入图片描述
    我们可以访问这个地址,通过用户名和密码管理我们的路由器!平时手机电脑连接路由器时,就是在路由器中申请一个主机号!

通过合理设置主机号和网络号, 就可以保证在相互连接的网络中, 每台主机的 IP 地址都不相同。

IP地址资源是有限的,对于国家,地区,大学…都想要对应的IP地址,所以就要对IP地址资源进行划分,划分的很简单:A类 ,非A类(B类,C类…),通过第一个比特位区分是否是A类。

  • A类IP:0后的7位为网络号,一共 2 7 2^{7} 27个网络号, 2 24 2^{24} 224个主机号。
  • B类IP:10后的14位为网络号,一共 2 14 2^{14} 214个网络号, 2 16 2^{16} 216个主机号。

在这里插入图片描述
在互联网刚诞生的时候,这种划分方式是可以满足需求的,但是随着互联网的发展,这种划分方式使IP地址远远不够使用了!大多数组织都申请 B 类网络地址, 导致 B 类地址很快就分配完了, 而 A 类却浪费了大量地址;

例如,申请了一个 B 类地址,理论上一个子网内能允许 6 万 5 千多个主机,A 类 地址的子网内的主机数更多。然而实际网络架设中,不会存在一个子网内有这么多的情况。因此大量的 IP 地址都被浪费掉了!

这种划分方式就被丢弃了!于是就有了一个新的划分方式,称为 CIDR(Classless Interdomain Routing)。这种方案的依据是每个IP一定隶属于一个子网:

  • 引入一个额外的子网掩码(subnet mask)来区分网络号和主机号;
  • 子网掩码也是一个 32 位的正整数。通常用一串 “0” 来结尾;
  • 将 IP 地址和子网掩码进行 “按位与” 操作,得到的结果就是网络号;
  • 网络号和主机号的划分与这个 IP 地址是 A 类、 B 类还是 C 类无关。

在这里插入图片描述
我们可以通过我们的电脑来查看一下:
在这里插入图片描述
子网掩码都是在路由器中配置好的!通过对报文的目的IP进行掩码操作,可以确定前往的网络号是多少!

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

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

相关文章

EXCELL中如何两条线画入一张图中,标记坐标轴标题?

1,打开excel,左击选中两列, 2,菜单栏>“插入”>”二维折线图”选中一个 3,选中出现的两条线中的一条右击>最下一行,“设置数据系列格式” 4,右测“系列选项中”>点击“次坐标轴” 5…

Java 开发——(上篇)从零开始搭建后端基础项目 Spring Boot 3 + MybatisPlus

一、概述 记录时间 [2024-10-23] 本文是一个基于 Spring Boot 3 MybatisPlus 的项目实战开发,主要涵盖以下几个方面: 从零开始的项目创建IDEA 中开发环境的热部署Maven、Swagger3、MybatisPlus 等的配置路由映射知识静态资源访问文件上传功能实现拦截器…

颐驰06持续交付,明日科技赋能出行生活

在全球智能出行领域,自动驾驶技术的发展一直是行业关注的焦点。不久前,特斯拉发布的自动驾驶出租车引发了全球关注,但由于缺乏具体的技术细节,导致投资者信心受挫,特斯拉股票一度下跌近10%。与此同时,中国车…

智能台灯设计(一)原理图设计

1. 前言 作者最近突发奇想,想自己做一个小台灯,设想的功能有:带锂电池可充电、可以调节亮度,后续通过增加WIFI模块实现手机控制开关功能。目前先实现最简单的功能,有时间再一步步完善吧。 2. 原理图设计 充电芯片使用…

常用的三角公式

目录 1. 基本公式​ 2. 倍角公式​ 3. 半角公式​ 4. 和差公式​ 5. 和差化积​ 6. 积化和差​ 7. 万能公式​ 1. 基本公式 2. 倍角公式 3. 半角公式 4. 和差公式 5. 和差化积 6. 积化和差 7. 万能公式

self-supervised learning(BERT和GPT)

1芝麻街与NLP模型 我們接下來要講的主題呢叫做Self-Supervised Learning,在講self-supervised learning之前呢,就不能不介紹一下芝麻街,為什麼呢因為不知道為什麼self-supervised learning的模型都是以芝麻街的人物命名。 因為Bert是一個非常…

第九部分 Java API

第九部分 Java API 9.1 Java Number & Math 9.1.1 Java Number类 一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte、int、long、double 等。 实例 int a 5000; float b 13.65f; byte c 0x4a;然而&…

《云原生安全攻防》-- K8s攻击案例:权限维持的攻击手法

在本节课程中,我们将一起深入了解K8s权限维持的攻击手法,通过研究这些攻击手法的技术细节,来更好地认识K8s权限维持所带来的安全风险。 在这个课程中,我们将学习以下内容: K8s权限维持:简单介绍K8s权限维持…

VUE中文本域默认展示最底部内容

文本域内容 <textarea ref"textareaRef" style"width: 100%; resize: none;" readonly v-model"errorLog" rows"15"></textarea> 样式展示 this.$nextTick(() > { // 使用$refs获取文本域的DOM元素 const textareaInfo…

SwiftUI:单个App支持设置多语言

SwiftUI 全新多语言方案 简化本地化的字符串- WWDC21 - 视频 本地化您的SwiftUI app - WWDC21 - 视频 构建全球化App&#xff1a;本地化的示例- WWDC22 - 视频 构建支持多语言的App - WWDC24 - 视频 单个App支持设置多语言 工程 Info.plist里添加 键值UIPrefersShowingLangua…

解析三相220V与三相380V变频器的关键差异

在工业自动化的广阔舞台上&#xff0c;作为电力电子技术的杰出代表&#xff0c;扮演着调节电机速度、优化能源利用的重要角色。本文将深入探讨三相220V与三相380V变频器之间的九大核心区别&#xff0c;帮助读者更全面地理解这两种设备的应用特性。 一、电压等级&#xff1a;基础…

【C#】调用本机AI大模型流式返回

【python】AI Navigator的使用及搭建本机大模型_anaconda ai navigator-CSDN博客 【Python】AI Navigator对话流式输出_python ai流式返回-CSDN博客 前两章节我们讲解了使用AI Navigator软件搭建本机大模型&#xff0c;并使用python对大模型api进行调用&#xff0c;使其流式返…

【线下培训】龙信科技应邀参与了由教育部网络安全与执法虚拟教研室(中国刑事警察学院)举办的学术讲座

文章关键词&#xff1a;电子数据取证培训、产学研推进、手机取证、介质取证 2024年10月23日&#xff0c;龙信科技应邀参与了由教育部网络安全与执法虚拟教研室&#xff08;中国刑事警察学院&#xff09;举办的学术讲座。在这次学术交流中&#xff0c;我们公司的技术专家陈杰以…

使用.NET MAUI开发第一个安卓APP

它是.NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架&#xff0c;用于使用 C# 和 XAML 创建本机移动和桌面应用。 .NET MAUI可从单个共享代码库开发可在 Android、iOS、macOS 和 Windows 上运行的应用。 使用 .NET MAUI 开发第一个 Android 应用是一个直观的过程&#xff0c;…

【C++初阶】一文讲通C++内存管理

文章目录 1. C/C内存分布2. C语言中动态内存管理方式3. C内存管理方式3. 1 new/delete操作内置类型3. 2 new和delete操作自定义类型 4. new与delete的原理4. 1 operator new与operator delete函数4. 2 内置类型4. 3 自定义类型 5. 定位new表达式(placement-new)6. malloc/free和…

苍穹外卖--开发记录day09-10

目录 苍穹外卖day09-10一&#xff1a;springtask二&#xff1a;订单状态定时处理三&#xff1a;websocket四&#xff1a;来单提醒五&#xff1a;客户催单 总结 苍穹外卖day09-10 首先第九天是实战日&#xff0c;要完成以下内容的开发&#xff1a; 用户端历史订单模块&#xf…

Python小游戏13——植物大战僵尸

代码 import random import time # 植物类 class Plant: def __init__(self, name, health): self.name name self.health health def is_alive(self): return self.health > 0 # 僵尸类 class Zombie: def __init__(self, name, health): self.name name self.health h…

eks节点的网络策略配置机制解析

参考链接 vpc-cni网络策略最佳实践&#xff0c;https://aws.github.io/aws-eks-best-practices/security/docs/network/#additional-resourcesvpc cni网络策略faq&#xff0c;https://github.com/aws/amazon-vpc-cni-k8s/blob/0703d03dec8afb8f83a7ff0c9d5eb5cc3363026e/docs/…

一致角色的视频且唇形同步中文配音和免费音效添加

现在AI可以免费生成不带水印、不限时长的视频了&#xff0c;并且视频里的角色可以进行唇形同步配音。最重要的是&#xff0c;我还会分享给大家&#xff0c;怎么生成角色一致的动画场景&#xff0c;怎么使用场景图片生成完整的视频&#xff0c;并且我还会介绍一款&#xff0c;我…

COSCon'24 志愿者招募令:共创开源新生活!

亲爱的开源爱好者们&#xff0c; 第九届中国开源年会&#xff08;COSCon24&#xff09;即将在北京中关村国家自主创新示范区会议中心于2024年11月2日至3日隆重举行。今年的主题是“Open Source, Open Life&#xff5c;开源新生活”&#xff0c;旨在探索开源技术如何在各个领域推…