网络层——IP协议及IP地址总结

2023-11-13

基本概念

在复杂的网络环境中确定一个合适的路径
在这里插入图片描述

主机:配有IP地址,但是不进行路由控制的设备
路由器:既然、配有IP地址,又能进行路由控制
节点:主机和路由器的统称

IP协议的功能

寻址和路由(根据对方的IP地址,寻找出最佳的路径传输信息)
传递服务
不可靠 (IP协议只是尽最大努力去交付,可靠由上层TCP协议提供)
无连接 (事先不建立会话)
数据包的分片和重组

IP协议格式-

在这里插入图片描述

解包:4位首部长度
分用:8位协议
以IPv4为例:48位字节
4位版本号:指定IP协议的版本,对于IPV4来讲,就是4
4位首部长度:IP首部长度是多少各32bit,是length*4 的字节数,IP头部最大长度是60字节
8位服务类型:
   3位优先权字段(已经弃用)
   4位TOS字段:最小延时,最大吞吐量,最高可靠性,最小成本(这四者冲突,只能选择一个)
   1位保留字段,必须为0
16位总长度:IP数据报整体占多少个字节
16位标识:是一个标识,唯一标识主机发送的报文,如果IP报文在数据链路层被分片了(IP报文长度大于MTU),则每一片里的这个标识(id)都是一样的
3位标志:
   第一位:保留
   第二位:是否允许分片(置0:允许,置1:不允许),如果置1,但是IP报文长度超过MTU则被丢弃
   第三位:结束标志(最后一片置1,表示已经完了,其余的置0)
13位片偏移:分片相对于原始IP报文的偏移(其实就是表示当前分片在原报文中处在哪个位置)
注:发送的报文过大,就需要对其进行分片处理,每一个分片都会包含一个标识(IP地址+标识)到达目的地被重组
8位生存时间(TTL):数据报到达目的地的最大报文跳数,一般是64,每次经过一个路由,TTL-=1;一直减到0,还没到达就丢弃。主要用来防止出现路由循环
8位协议:上层协议类型
16位首部校验和:使用CRC来进行校验,鉴别头部是否损坏
32位源IP地址,32位目的IP地址:表示发送端和接受端

网段划分

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

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

在这里插入图片描述

1、不同的子网就是把网络号相同的主机放在一起
2、如果子网中新增一台主机,则这台主机的网络号和这个子网的网络号一直,但是主机号必须不能和子网中的其他主机重复

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

手动管理子网内的IP,非常麻烦,
有一种技术叫做DHCP, 能够自动的给子网内新增主机节点分配IP地址, 避免了手动管理IP的不便.
一般的路由器都带有DHCP功能. 因此路由器也可以看做一个DHCP服务器.

IP地址划分

该种分法将IP地址分为五类:A,B,C,D,E类
在这里插入图片描述

A类:0.0.0.0127.255.255.255 
B类:128.0.0.0191.255.255.255 
C类:192.0.0.0223.255.255.255 
D类:224.0.0.0239.255.255.255 
E类:240.0.0.0247.255.255.255 

根据子网掩码划分

随着Internet的飞速发展,这种划分方案的局限性很快显现出来,大多数组织都申请B类网络地址, 导致B类地址很快就分配完了, 而A类却浪费了大量地址

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

针对这种情况提出了新的划分方案, 称为CIDR(Classless Interdomain Routing无类域间路由):
将一组地址聚合为一个网络
例如:应用CIDR技术将203.183.224.1到203.183.225.254的地址何为同一个网络(他们本来是2个C类地址)
在这里插入图片描述

有关CIRD

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

例如:

IP地址 140.252.20.68
子网掩码 255.255.255.0
网络号 140.252.20.0
子网地址范围 140.252.20.0~140.252.20.255
可见,IP地址与子网掩码做与运算可以得到网络号, 主机号从全0到全1就是子网的地址范围;
IP地址和子网掩码还有一种更简洁的表示方法,例如140.252.20.68/24,表示IP地址为140.252.20.68, 子网掩码的高24位是1,

IP地址的数量限制

我们知道, IP地址(IPv4)是一个4字节32位的正整数. 那么一共只有2的32次方个IP地址, 大概是43亿左右. 而TCP/IP协议规定, 每个主机都需要有一个IP地址。

这意味着, 一共只有43亿台主机能接入网络么?

实际上, 由于一些特殊的IP地址的存在, 数量远不足43亿; 另外IP地址并非是按照主机台数来配置的, 而是每一个网卡都需要配置一个或多个IP地址。

CIDR在一定程度上缓解了IP地址不够用的问题(提高了利用率,减少了浪费,但IP地址的绝对上限并没有增加)仍然不够用,这时候有三种方式来解决:

方式1:动态分配IP地址,只给接入网络的设备分配IP地址。因此同一个MAC地址的设备,每次接入互联网中,得到的IP地址不一定是相同的。
方式2:NAT技术
方式3:IPv6,IPv6并不是IPv4的简单升级版,这是互不相干的两个协议,彼此并不兼容;IPv6用816字节128位来表示一个IP地址;但是目前IPv6还没有普及。

特殊IP地址

1、将IP地址中的主机地址全部设为0,就成为了网络号,代表局域网
2、将IP地址中的主机地址全部设为1,就成了广播地址,用于給同一个链路中相互连接的所有主机发送数据包。
3127.*的IP地址用于本机环回地址(loop back),测试通常是127.0.0.1
## 私有IP地址和公网IP地址
如果一个组织内部组建局域网,IP地址只用于局域网内的通信,而不直接连到Internet上,理论上 使用任意的IP地址都可以,但是RFC 1918规定了用于组建局域网的私有IP地址。
110.*,8位是网络号,16,777,216个地址
2172.16.172.31.,12位是网络号,1,048,576个地址
3192.168.*,16位是网络号,65,536个地址 
包含在这个范围中的, 都成为私有IP, 其余的则称为全局IP(或公网IP);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

网络层——IP协议及IP地址总结 的相关文章

  • 你认为DAO是否可行?新年计划,卯足干劲,兔必No.1

    文章目录 课前小差 聚沙成塔 社会价值 DAO是什么 国产化 商业化回报 写在最后 课前小差 哈喽 大家好 我是几何心凉 这是一份全新的专栏 唯一得倒CSDN王总的授权 来对于我们每周四的绿萝时间 直达CSDN 直播内容进行总结概括 让大家
  • [mysql]游标和触发器

    目录 游标 或光标 定义 使用过程 示例 总结 触发器 应用场景 定义 使用 创建 查看 删除 示例 一个注意点 优缺点 拓展 MySQL 8 0的新特性 全局变量的持久化 游标 或光标 定义 游标是一种 能够对结果集中的每一条记录进行定位
  • Jetson nano之ROS入门 - - 机器人建模与仿真

    文章目录 前言 一 URDF建模 1 URDF语法详解 a robot b link c joint 2 URDF机器人建模实操 二 Xacro宏优化 1 Xacro宏语法详解 2 Xacro建模实操 三 Rviz与Gazebo仿真 1 G
  • 【人体姿态】Convolutional Pose Machines

    Wei Shih En et al Convolutional Pose Machines CVPR 2016 本论文将深度学习应用于人体姿态分析 同时用卷积图层表达纹理信息和空间信息 目前在2016年的MPII竞赛中名列前茅 作者在git

随机推荐

  • 51单片机之串口通讯应用实例(逻辑分析仪调试)

    硬件 STC89C52RC 开发工具 Keil uVision4 前言 8051是一款很经典的 历史悠久的单片机 作为一款入门级的单片机8051受到很多初学者的欢迎 89c52是8051系列的成员之一 拥有8K字节程序存储空间 512字节随
  • 基于Python Django Mysql数据库 的电商系统实现

    基于Python Django的电商系统实现 最近需要基于Django实现一个电商系统 目前已实现了基本功能 整个系统结构相对简单 没有进行前后端分离 使用的django的最简单的Template模板前后端交互模式 这个项目属于入门级项目
  • 环保行业如何开发废品回收微信小程序

    废品回收是近年来受到越来越多人关注的环保行动 为了推动废品回收的普及和方便 我们可以利用微信小程序进行制作 方便人们随时随地参与废品回收 首先 我们需要注册并登录乔拓云账号 并进入后台 乔拓云是一个提供微信小程序制作平台的服务商 非常适合我
  • php user.ini详解

    0x00 前言 本篇主要是讲解分析一下user ini相关的内容 因为这个知识点涉及到文件上传的绕过 0x01 正文 user ini 文件是PHP的配置文件 用于自定义PHP的配置选项 该文件通常位于PHP安装目录的根目录下 或者在特定的
  • 2. 依赖管理和自动配置

    文章目录 2 1 依赖管理 2 1 1 什么是依赖管理 2 1 2 修改自动仲裁 默认版本号 2 2 starter 场景启动器 2 2 1 starter 场景启动器基本介绍 2 2 2 官方提供的 starter 2 2 2 1 地址
  • PyTorch基础入门六:PyTorch搭建卷积神经网络实现MNIST手写数字识别

    1 卷积神经网络 CNN 简介 关于什么是卷积神经网络 CNN 请自行查阅资料进行学习 如果是初学者 这里推荐一下台湾的李宏毅的深度学习课程 链接就不给了 这些资料网站上随处可见 值得一提的是 CNN虽然在图像处理的领域具有不可阻挡的势头
  • ps2020无法显示最近打开

    首选项 常规 选择 自动显示主屏幕
  • 关于BeanUtils.copyProperties() 用法及区别

    这两个类在不同的包下面 而这两个类的copyProperties 方法里面传递的参数赋值是相反的 例如 a b为对象BeanUtils copyProperties a b BeanUtils是org springframework bea
  • FakeMsdMiner挖矿病毒分析报告

    近日 亚信安全截获新型挖矿病毒FakeMsdMiner 该病毒利用永恒之蓝 永恒浪漫等NSA漏洞进行攻击传播 该病毒具有远控功能 可以获取系统敏感信息 其通过修改HOST文件方式截获其他挖矿病毒的成果 由于该病毒的挖矿程序伪装成微软系统服务
  • [note] 深度学习 tensorflow 笔记(3) cnn 卷积神经网络

    假设我们想要辨识一张图片里面是不是有猫咪的存在 这只猫咪可以在图片的任何位置 什么办法才能辨别这个图片里面有没有猫呢 一个很简单的想法就是 将图片分成一些子图片的集合 逐个辨别子图片里面有没有猫咪 的确 卷积神经网络就是这样做的 但是 分割
  • Android高德地图自定义Mark并实现聚合效果

    Android高德地图自定义Mark并实现聚合效果 起因 公司本来项目里面用到了高德地图 然后最近老板看见别人的APP里面有个聚合的这个功能 老板 这个效果能不能实现 我也要 没有办法因为以前没有做过高德地图点聚合这个东西 然后只能勉强的答
  • Brocade FOS下载 博科光纤交换机固件升级

    百度网盘 https pan baidu com s 1lCAsjoDG3rMXs7uYoJETWA 输入码 7nv4 1 BT下载 比如用迅雷 17F8E2FAC8CD08C682B3D2A5CC294B48B1DA2ED6 7313C1
  • 韦东山 IMX6ULL和正点原子_「正点原子Linux连载」第四十三章Linux设备树(一)

    1 实验平台 正点原子Linux开发板 2 摘自 正点原子I MX6U嵌入式Linux驱动开发指南 关注官方微信号公众号 获取更多资料 正点原子 前面章节中我们多次提到 设备树 这个概念 因为时机未到 所以当时并没有详细的讲解什么是 设备树
  • 【Dubbo】Dubbo(二)简单实践

    Dubbo 二 实践 安装注册中心 下载zookeeper 在zookeeper路径下新增date文件夹存储数据 conf路径下新增zoo cfg 编辑zoo cfg 修改数据目录dataDir为新增的data文件夹 其他与zoo samp
  • 牛客小白月赛76

    牛客小白月赛76 ACM NOI CSP CCPC ICPC算法编程高难度练习赛 牛客竞赛OJ A 猜拳游戏 AC代码 include
  • COCO数据集的使用笔记

    一 简介 官方网站 http cocodataset org 全称 Microsoft Common Objects in Context MS COCO 支持任务 Detection Keypoints Stuff Panoptic Ca
  • 【C语言】关键字

    1 定义 声明的关键字 关键字 说明 int 声明整型变量或函数返回值类型 signed 声明有符号类型变量或函数 unsigned 声明无符号类型变量或函数 short 声明短整型变量或函数 long 声明长整型变量或函数返回值类型 fl
  • Seaborn lineplot图例标题设置

    详细版本见个人博客 Seaborn lineplot图例标题设置 一 问题描述 下面是我的lineplot 代码 如果此方法用了hue参数同时绘制多个类别图 这时候seaborn会把这个hue的标签当做子标题 sns lineplot x
  • 【BATJ面试必会】Jvm 虚拟机篇

    一 运行时数据区域 程序计数器 Java 虚拟机栈 本地方法栈 堆 方法区 运行时常量池 直接内存 二 垃圾收集 判断一个对象是否可被回收 引用类型 垃圾收集算法 垃圾收集器 三 内存分配与回收策略 Minor GC 和 Full GC 内
  • 网络层——IP协议及IP地址总结

    基本概念 在复杂的网络环境中确定一个合适的路径 主机 配有IP地址 但是不进行路由控制的设备 路由器 既然 配有IP地址 又能进行路由控制 节点 主机和路由器的统称 IP协议的功能 寻址和路由 根据对方的IP地址 寻找出最佳的路径传输信息