网络原理---拿捏网络层:IP协议

文章目录

  • IP协议
    • 4位版本
    • 4位首部长度、选项
    • 8位服务类型(TOS)
    • 16位总长度
    • 16位标识、3位标志、13位片偏移
    • 8位生存时间(TTL)
    • 8位协议
    • 16位首部校验和
    • 32位源IP地址、32位目的IP地址
      • 解决IP地址不够用的问题
        • 动态分配IP地址
        • NAT机制(主流机制)
        • IPv6
  • IP地址管理
  • 特殊的IP地址
  • IP路由选择

IP协议

学习协议很大程度上就是在学习协议的报文格式,以下便来介绍IP协议的报文格式:
在这里插入图片描述

4位版本

4位版本:虽然用4位进行表示,但是只使用4和6.代表IPv4协议和IPv6协议。

4位首部长度、选项

4位首部长度:和TCP的4位首部长度一样,也是变长的。因为选项可有可无,可以有一个也可以有多个

8位服务类型(TOS)

8位服务类型:其中只有4位有效,表达了当前IP协议不同的工作模式:最小延时、最大吞吐量、最高可靠性、最小成本。 这4位里同时只有1位可以是1,不能同时都是1.

16位总长度

16位总长度:描述了IP数据包的报文长度是多少。

IP总长度 - IP报头长度 = TCP报文长度

IP数据包最大只能是64kb吗?

不是的。IP协议自带了分包分组的机制(将一个大的数据包分成几个小的数据包分别进行传输),通过这个机制可以传输很长的TCP数据包。

16位标识、3位标志、13位片偏移

这三个都是用来实现IP协议的分包分组机制的。
在这里插入图片描述

就像搬家一样,如果要搬的东西太多,一车装不下,就叫几辆车一起搬,每辆车用来搬一部分。
这几辆车都是我找来的,它们的16位标识相同;
先找的车片偏移比较小,后找的车片偏移比较大;
最后一辆车会有特殊的标志;

8位生存时间(TTL)

TTL:单位是”次数“,是一个整数,一般取32/64/128这样的整数。

数据报在传输的过程中,每经过一个路由器转发TTL就 -1 ,如果减到0了就把这个数据报丢掉(不再继续转发了)

预期的正常情况下,每个数据报都可以在很短的次数内传输到世界上任何一个地方的主机上的。(六度空间理论)

如果经过TTL这么多次的转发还没有到达目的地,大概率是地址写错了,就会放弃传输。

8位协议

8位协议:指的是IP载荷中数据报使用的传输层协议。

接收方收到数据报会进行分用,当分用到网络层的时候,下一次就要交给传输层分用。8位协议就决定了把这个数据报交给传输层的哪个协议来解析。

16位首部校验和

16位首部校验和:作用是为了检查数据是否出错了。保证接收方知道接收到的数据是正确的还是错误的。

32位源IP地址、32位目的IP地址

32位源IP地址:描述发件人的地址
32位目的IP地址:描述收件人的地址

IP地址是32位的,是4个字节。为了让人看得更清楚,通常就会把这个32位的整数转化为”点分十进制“的表示方式。比如:

本机IP:127.0.0.1

使用三个点把IP地址分为4部分,每个部分都是1个字节,范围是0-255

解决IP地址不够用的问题

一个IP地址用32位表示,它的范围是0-42亿9千万。而IP地址是用来区分网络中的每一台主机,每台主机的IP地址和别人都是不同的。但是当前地球上的所有主机早已超过了43亿,因此,我们就需要解决IP地址不够用的问题。以下有三种解决策略:

动态分配IP地址

设备上网的时候才分配IP地址,不上网的时候就把IP回收给别人用。

缺点:没有增加IP地址的数量,只是提高了利用率。”治标不治本“

NAT机制(主流机制)

不再强制要求每个主机都有独立的IP,而是把IP分为俩类:
a)外网IP / 公网IP
b)内网IP / 私网IP / 局域网IP

规定的内网IP格式:

  1. 10.*
  2. 172.16.* - 172.31.*
  3. 192.168.*

约定: 在同一个局域网内部IP不能重复,但是在不同的局域网之间IP可以重复。如果在局域网内部想访问某个外网的服务器,就会使用一个外网IP来代替同一个局域网中的所有设备(大大节省了外网IP的个数)

路由器本身就是NAT设备,它就会记录映射关系。在发起请求和做出相应时,都会做出相应的映射。

注:当前网络的现状:动态分配+NAT机制

IPv6

IPv4:用4个字节、32位来表示IP地址。范围是0 - 42亿9千万
IPv6:用16个字节、128位来表示IP地址。 范围是42亿 * 42亿 * 42亿 * 42亿

注:IPv6彻底解决了IP地址不够用的问题。就是地球上的每一粒沙子都够表示了。

IP地址管理

  • IP地址分为两个部分:网络号和主机号
    网络号:标识网段,保证相互连接的两个网段具有不同的标识。即:局域网的身份标识
    主机号:标识主机,同一网段内主机之间具有相同的网络号,但必须有不同的主机号

    即:同一个局域网中主机之间的网络号是相同的,两个相邻的局域网中主机之间的网络号必须是不同的,隔着的局域网中主机之间的网络号可以是相同的。

  • 子网掩码:用来划分从哪里到哪里是一个网络号。是32位的,左半边都是1、右半边都是0(不会0和1混着)

    左半边有多少个1就代表IP地址左侧的多少位是网络号
    把子网掩码和IP地址进行按位与运算得到的结果就是网络号

特殊的IP地址

如果一个IP地址,主机号为0,此时这个IP就标识网络号。
如果一个IP地址,主机号为1,此时这个IP往往表示这个局域网的“网关”
如果一个IP地址,主机号为全1,此时这个IP表示广播IP
127.*开头的IP都是”环回IP“

IP路由选择

路由选择:网络层是点到点传输的,路由选择就是在俩点之间规划出一个路线。

路由选择是”启发式“的过程,类似于”问路“

IP数据报中本身就包含一个目的IP,网络数据到达路由器的时候,路由器自身有一个”路由表“的数据结构(路由表就是这个路由器认识的路),一个路由器无法认识到网络的全貌,但是可以认识到附近的一部分。

如果当前的目的IP路由器认识,就会给出一个明确的路线。
如果当前的目的IP路由器不认识,路由器就会把数据报转发给另一个”见多识广“的路由器。
如果转发了很多次都没有找到目的IP(TTL减到0),就舍弃这个数据报

注:路由过程不光是找到一条路,而是筛选出一条更好的路。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RPA处理重复工作,助力高效资金管理

在瞬息万变的市场竞争中,众多企业开展多元化经营以获取最大的经济效益。然而,企业的多元化经营程度越高,协调活动可能造成的决策延误也越多,其资金管理往往将面临更大的考验。随着新技术的发展,更多具备多元产业的企业…

关于卷积神经网络的填充(padding)

认识填充 (padding) 随着卷积层数的加深,输出进一步缩小,那么最终会导致输出很快就只剩下1∗1的数组,这也就没办法继续计算了,所以提出了填充的方法来方便网络的进一步加深。 其实填充的原因有两点&#xf…

亚马逊云科技Zero ETL集成全面可用,可运行近乎实时的分析和机器学习

亚马逊云科技数据库、数据分析和机器学习全球副总裁Swami Sivasubramanian曾指出:“数据是应用、流程和商业决策的核心。”如今,客户常用的数据传输模式是建立从Amazon Aurora到Amazon Redshift的数据管道。这些解决方案能够帮助客户获得新的见解&#x…

“2024杭州国际物联网展览会”定于4月份在杭州国际博览中心召开

随着科技的飞速发展,物联网已经成为当今社会的一个重要组成部分。物联网技术正在逐渐渗透到各个领域,为人们的生活带来更多的便利和智慧。物联网的发展趋势将受到技术、应用、安全等多方面的影响和推动。未来,物联网将更加智能化、自主化和安…

使用Docker部署开源分布式任务调度系统DolphinScheduler

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 使用Docker部署开源分布式任务调度系统DolphinScheduler 文章目录 使用Docker部署开源分布式任务…

Bun 1.0.7 版本发布,实现多个 Node.js 兼容改进

导读Bun 是一个集打包工具、转译器和包管理器于一体的 JavaScript 运行时,由 Jarred Sumner 发布了 1.0.7 版本。本次更新实现了对 Node.js 运行时的多项兼容性改进,并修复了近 60 个 bug。 根据发布说明,本版本对 “bun install” 命令进行…

【机器学习】六、概率图模型

今天我们对概率图模型(Probabilistic Graphical Model,PGM)做一个总结。 模型表示 概率图模型,是指一种用图结构来描述多元随机变量之间条件独立关系的概率模型。 它提出的背景是为了更好研究复杂联合概率分布的数据特征&#x…

华为gre带验证key案例

配置FW_A。 a.配置接口的IP地址,并将接口加入安全区域。 system-view [sysname] sysname FW_A [FW_A] interface GigabitEthernet 1/0/1 [FW_A-GigabitEthernet1/0/1] ip address 1.1.1.1 24 [FW_A-GigabitEthernet1/0/1] quit [FW_A] interface GigabitEthernet 1/…

在Linux中搭建Mosquitto MQTT协议消息服务端并结合内网穿透工具实现公网访问

文章目录 前言1. Linux 搭建 Mosquitto2. Linux 安装Cpolar3. 创建MQTT服务公网连接地址4. 客户端远程连接MQTT服务5. 代码调用MQTT服务6. 固定连接TCP公网地址7. 固定地址连接测试 前言 Mosquitto是一个开源的消息代理,它实现了MQTT协议版本3.1和3.1.1。它可以在不…

GZ038 物联网应用开发赛题第1套

2023年全国职业院校技能大赛 高职组 物联网应用开发 任 务 书 (第1套卷) 工位号:______________ 第一部分 竞赛须知 一、竞赛要求 1、正确使用工具,操作安全规范; 2、竞赛过程中如有异议,可向现场考评人员反映,不得扰乱赛场秩序; 3、遵守赛场纪律,尊重考评人员…

HGHAC4.2.1开启DCS Failsafe Mode的步骤

瀚高数据库 目录 环境 文档用途 详细信息 环境 系统平台:Linux x86-64 Red Hat Enterprise Linux 7 版本:4.5.8 文档用途 本文档用于介绍hghac4.2.1版本开启dcs failsafe mode的步骤及验证方法 详细信息 一、新增功能说明 Hghac4.2.1封装自patroni3.…

71 内网安全-域横向网络传输应用层隧道技术

目录 必备知识点:1.代理和隧道技术区别?2.隧道技术为了解决什么?3.隧道技术前期的必备条件? 演示案例:网络传输应用层检测连通性-检测网络层ICMP隧道Ptunnel使用-检测利用传输层转发隧道Portmap使用-检测,利用传输层转发隧道Netcat使用-检测,利用,功能应用层DNS隧…

网站小程序分类目录网源码系统+会员登录注册功能 带完整搭建教程

大家好啊,源码小编今天来给大家分享一款网站小程序分类目录网源码系统会员登录注册功能 。 以下是核心代码图模块: 系统特色功能一览: 分类目录:系统按照不同的类别对网站进行分类,方便用户查找自己需要的网站。用户可…

K8S篇之etcd数据备份与恢复

一、etcd备份与恢复 基本了解: 1、k8s 使用etcd数据库实时存储集群中的数据,安全起见,一定要备份。 2、备份只需要在一个节点上备份就可以了,每个节点上的数据是同步的;但是数据恢复是需要在每个节点上进行。 3、etcd…

门窗定制服务预约小程序效果如何

无论建筑工程还是普通家庭,都有门窗订购需求,对商家来说,不断传播品牌、获客转化是首要的,然而在实际经营中门窗生意也会面临一些痛点: 1、品牌宣传拓客难 门窗生意同行较多,而且传单等形式低效且不太适用…

【原创】java+swing+mysql宠物领养管理系统设计与实现

摘要: 生活中,有很多被人遗弃的宠物,这些宠物的处理成为了一个新的难题。生活中也有许多人喜欢养宠物,为了方便大家进行宠物领养,提高宠物领养管理的效率和便利性。本文针对这一问题,提出设计和实现一个基…

环形链表~

题目描述 给你一个链表的头节点 head ,判断链表中是否有环。如果链表中存在环,则返回true。否则,返回false 。 解题思路 采用快慢指针的思想,创建fast和slow一快一慢指针,slow一次走一步,fast一次走两步&…

使用Redis实现文章阅读量、收藏、点赞数量记录功能

目录 一、前言二、业务分析三、Redis数据结构选择分析和实现3.1、三个数据缓存都分别使用 字符串 结构计数器存储对应数量值3.2、三个数据缓存使用一个 Hash 结构存储3.3、阅读量使用字符串结构计算器,收藏和点赞分别使用 Set 集合存储 四、总结 一、前言 在博客中会…

chrome v3开发插件实现所有网站允许跨域

场景: chrome 插件 升级到v3后,原来修改请求响应都变成异步,即无法同步拦截来修改请求响应。 在v3中也不支持修改请求响应内容。 问题:如何在chrome v3中允许其他网站跨域呢。 方式一:禁用chrome跨域,禁…

5G与物联网应用:新一代网络技术融合开创新时代

5G与物联网应用:新一代网络技术融合开创新时代 随着信息技术的不断演进,5G和物联网作为新一代网络技术,正在引领我们走向一个更加智能化、互联互通的新时代。本文将分析5G与物联网应用的技术原理、应用场景与发展趋势,并探讨它们…