IP编址数据转发

news2024/9/20 5:39:17

目录

一、IP编址

1.1、二进制、十进制和十六进制

1.2、进制之间的转换

1.3、IP编址

1.4、子网掩码

1.5、二进制和十进制转换

 1.6、IP地址分类

 1.7、IP地址类型

1.8、地址规划

二、VLSM与CIDR

2.1、有类IP编址的缺陷

2.2、变长子网掩码 VLSM

2.3、缺省情况下的掩码

2.4、子网划分的计算

2.5、子网划分举例—C类地址

2.6、无类域间路由CIDR

2.7、网关

2.8、总结

三、数据转发过程

3.1、数据转发过程概述

3.1.1、TCP封装

3.1.2、IP封装

3.1.3、查找路由

3.1.4、ARP

3.1.5、以太网封装

3.1.6、数据帧转发过程

3.1.7、数据包转发过程

3.1.8、数据帧解封装

3.1.9、数据包解封装

3.1.10、数据段解封装

3.2、总结


一、IP编址

        网络层位于数据链路层与传输层之间。网络层中包含了许多协议,其中最为重要的协议就是IP协议。网络层提供了IP路由功能。理解IP路由除了要熟悉IP协议的工作机制之外,还必须理解IP编址以及如何合理地使用IP地址来设计网络。

1.1、二进制、十进制和十六进制

 在IP网络中,二进制和十六进制是常用的编码方式。 

1.2、进制之间的转换

1.3、IP编址

1、IP地址分为网络部分主机部分
2、IP地址由32个二进制位组成,通常用点分十进制形式表示。 

1、网络地址:主机位全等于0。

2、广播地址:主机位全等于1。 

3、这两个地址都不能够分配出去使用。

1.4、子网掩码

1.5、二进制和十进制转换

 1.6、IP地址分类

 默认掩码:

 1.7、IP地址类型

1、私有地址范围

  • 10.0.0.0~10.255.255.255
  • 172.16.0.0~172.31.255.255
  • 192.168.0.0~192.168.255.255

2、特殊地址

  • 127.0.0.0~127.255.255.255
  • 0.0.0.0
  • 255.255.255.255

1.8、地址规划

二、VLSM与CIDR

2.1、有类IP编址的缺陷

 

 在设计网络时使用有类IP地址会造成地址的浪费。

2.2、变长子网掩码 VLSM

  • 变长子网掩码(Variable-Length Subnet Masks,VLSM)的出现是打破传统的以类(class)为标准的地址划分方法,是为了缓解IP地址紧缺而产生的;
  • 作用:节约P地址空间减少路由表大小
  • 注意事项:使用VLSM时,所采用的路由协议必须能够支持它,这些路由协议包括RIPV2,OSPF,EIGRP和BGP。

 

  • 如同:
  • 本例中的地址为C类地址,缺省子网掩码为24位。
  • 先借用一个主机位作为网络位,借用的主机位变成子网位。
  • 一个子网位有两个取值0和1,因此可划分两个子网。
  • 该比特位设置为0,则子网号为0;该比特位设置为1,则子网号为128
  • 将剩余的主机位都设置为0,即可得到划分后的子网地址;
  • 将剩余的主机位都设置为1,即可得到子网的广播地址。

2.3、缺省情况下的掩码

1、IP地址:172.16.2.160                        掩码:255.255.0.0 

 缺省情况下,未划分子网。

2、IP地址:172.16.2.160                        掩码:255.255.255.0 

“/16”表示子网掩码有16位
“/24”表示子网掩码有24位 

3、IP地址:172.16.2.160                        掩码:255.255.255.192

扩展了10位子网地址
子网划分的核心思想:“借用”主机位来“制造”新的“网络” 

2.4、子网划分的计算

1、你所选择的子网掩码将会产生多少个子网?
        2的x次方(x:子网位数)


2、每个子网能有多少主机?
        2的y次方-2(y:主机位数)


3、有效子网(块大小)?
        块大小=2的y次方(y:主机位数)
        (结果叫做block size或base number)

4、每个子网的广播地址是?
        主机位全为1。(广播地址=下个子网号-1)

5、每个子网的有效主机分别是?
        忽略子网内全为0和全为1的地址,剩下的就是有效主机地址。

2.5、子网划分举例—C类地址

子网:网络号,网络地址 

2.6、无类域间路由CIDR

  • CIDR的概念:忽略A、B、C类网络的规则,定义前缀相同的一组网络为一个块即一条路由条目。(如:199.0.0.0/8)
  • CIDR的优点:
    • 减少了网络数目,缩小了路由选择表;
    • 从网络流量、CPU和内存方面说,开销更低;
    • 对网络进行编址时,灵活性更大。

CIDR增强了网络的可扩展性。 

 

2.7、网关

 网关用来转发来自不同网段之间的数据包。

2.8、总结

1、子网掩码的作用是什么?

      区分IP地址的网络位和主机位。
2、网关的作用是什么? 

      转发来自不同网段之间的数据包。

三、数据转发过程

        TCP/IP协议簇和底层协议配合,保证了数据能够实现端到端的传输。数据传输过程是一个非常复杂的过程,例如数据在转发的过程中会进行一系列的封装和解封装。对于网络工程师来说,只有深入地理解了数据在各种不同设备上的转发过程,才能够对网络进行正确的分析和检测。 

3.1、数据转发过程概述

数据包在相同网段内或不同网段之间转发所依据的原理基本一致。 

3.1.1、TCP封装

  • 当主机建立了到达目的地的TCP连接后,便开始对应用层数据进行封装。
  • 0~1023:知名端口号,1024~65535:可以动态分配的范围。
  • 80:HTTP服务

3.1.2、IP封装

3.1.3、查找路由

主机A必须要拥有到达目的地的路由。

 3.1.4、ARP

  • 通进ARP缓存表找到下一跳的MAC地址。
  • 如果表项里没有下一跳的MAC地址,主机A会发送ARP请求。 

3.1.5、以太网封装

3.1.6、数据帧转发过程

  • 主机工作在半双工状态下,所以会使用CSMA/CD来检测链路是否空闲。
  • 前导码用于使接收者进入同步状态,定界符用于指示帧的开始。

  • 同一个冲突域里的设备都会接收到主机A发送的数据帧。
  • 只有网关(RTA)会处理该数据帧,并继续转发。 

3.1.7、数据包转发过程

 

  • 网关检查是否具有到达目的网络的路由条目。
  • 如果存在转发路径,则为数摆包添加一个新的二层帧头和帧尾.并继续转发 

3.1.8、数据帧解封装

  • RTB以服务器A的MAC地址作为目的MAC继续转发。
  • 服务器A接收到该数据帧后,发现目的MAC为自己的MAC,于是会继续处理数据帧。

3.1.9、数据包解封装

  • 服务器A检查数据包的目的IP地址,发现目的IP与自己的IP地址相同。
  • 服务器A剥掉数据包的IP头部后,会送往上层协议TCP继续进行处理。 

3.1.10、数据段解封装

 

服务器A检查TCP头部的目的端口,然后将数据段发送给应用层的HTTP协议进行处理。

3.2、总结

1、数据在进行二层和三层封装之前,主机需要了解哪些信息?

      二层:目的MAC;三层:源IP地址
2、当数据帧发送到非目的主机时,非目的主机将会如何处理?

      丢弃
3、传输层如何能够准确的将数据交给特定应用?

      目的端口号

4、当两台主机同时访问服务器的HTTP服务,该服务器如何区分数据属于哪个会话? 

      源IP(SIP)、源端口(SP)

      五元组区分:SIP、DIP、SP、DP、pro(协议)

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

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

相关文章

红色通信史(四):永不消逝的电波

年龄稍大一点的读者,相信对下面这张剧照并不会感到陌生。 没错,这张经典的剧照,来自曾经家喻户晓的一部红色电影——《永不消逝的电波》。 这部电影上映于1958年,由八一电影制片厂摄制,王苹执导,孙道临、袁…

Qt和MySQL的连接

具体视频的教程 视频教程 我的文章是做一下补充的 流程: 第一点你要确保你的数据库的位数,如果你数据库位数的是32位,mingw编译的时候就需要选择的是32位**(在下面会提到)** 去到所在的文件 点击.pro文件进行编译…

ModaHub魔搭社区:为什么选择Zilliz Cloud?

目录 Zilliz Cloud是什么? 为什么选择Zilliz Cloud? 基于Milvus构建,针对性能进行优化 弹性和可扩展 按需付费 多云支持(AWS、GCP) 云原生的可靠性 企业安全和治理 Zilliz Cloud基于Milvus的云原生服务 Zilliz…

深蓝学院C++基础与深度解析笔记 第 8 章 动态内存管理

第 8 章 动态内存管理 1. 动态内存基础 ● 栈内存 V.S. 堆内存 – 栈内存的特点:更好的局部性,用于语言的固有类型,对象自动销毁,由低到高开辟 – 堆内存的特点:运行期动态扩展,需要显式释放,由高到低开辟…

使用 TailwindCSS 中的 color-mix() 构建自定义调色板

在这篇文章中,我们将了解如何使用 CSS 函数color-mix()和 CSS 变量,通过 TailwindCSS 高效地为 Nuxt 应用程序生成自定义调色板。 先决条件 最好使用以下命令设置 Nuxt 应用程序: npx nuxi init tailwindcss-color-mix 在安装提示期间选择 …

新项目即将启动!小灰做个市场调研

熟悉小灰的小伙伴们都知道,在2019年初,做了整整10年程序员的小灰离开职场,成为了一名自由职业者。 2021年末,小灰注册了自己的公司,名为北京小灰大黄科技有限公司。 公司虽然注册了,但是整个公司只有小灰一…

【C2】文件,时间,多线程,动静态库

文章目录 1.文件:fprint/fgets/fwrite/fread,ftell/rewind/fseek/fflush1.1 文本文件:FILE结构体1.2 二进制文件:没有行概念1.3 文件定位:linux下文本文件模式和二进制文件模式没有区别。fgets和fprintf以行方式读写文…

【Flutter】Flutter 国际化入门 使用 intl 包 格式化日期

文章目录 一、 前言二、 版本信息三、 什么是 intl 包四、 如何安装和使用 intl 包1. 安装 intl 包2. 使用 intl 包进行基本的日期和数字格式化3. 使用 intl 包进行消息翻译 五、 一个简单的使用示例六、 总结 一、 前言 在全球化的今天,为你的 Flutter 应用添加国…

快速上手MATLAB图像处理:100种项目全覆盖

本教程涵盖了MATLAB图像处理的广泛内容。我们学习了图像读取、显示和保存,图像的基本操作(如缩放、裁剪、旋转和翻转),以及图像的基本增强(如亮度调整、对比度调整和颜色空间转换)。本教程还介绍了常见的图像滤波技术(如均值滤波、中值滤波和高斯滤波),图像的直方图均…

JAVA临时文件的使用

目录 什么是临时文件? 临时文件在编程中有各种妙用 java在缓存目录创建临时文件的方式 1 按照指定文件名随机数字共同作为文件名创建 2 按照指定文件名创建 3 通过获取临时文件夹的真实路径 什么是临时文件? 临时文件是在计算机系统中用于临时存储数…

Spring Cloud - Gateway统一网关、断言工厂、过滤器工厂、全局过滤器、跨域问题

目录 一、什么是网关?为什么选择 Gateway? 二、Gateway 网关 2.1、搭建网关服务 1.创建新的module,引入SpringCloudGateway的依赖和nacos的服务发现依赖 2.编写nacos地址和路由配置 2.2、路由断言工厂PredicateFactory 2.3、路由过滤器 GatewayF…

2015年全国硕士研究生入学统一考试管理类专业学位联考逻辑试题——纯享题目版

🏠个人主页:fo安方的博客✨ 💂个人简历:大家好,我是fo安方,考取过HCIE Cloud Computing、CCIE Security、CISP、RHCE、CCNP RS、PEST 3等证书。🐳 💕兴趣爱好:b站天天刷&…

如何删除Git仓库中的敏感文件及其历史记录

本文主要介绍如何使用 git filter-branch 命令删除 Git 仓库中的敏感文件及其历史记录。在 Git 中,我们通常会将敏感信息(如密码、私钥等)存储在 .gitignore 文件中,以防止这些信息被意外提交到仓库。有时候,因为疏忽或私有仓库转公开仓库&am…

SQL15 查看学校名称中含北京的用户

SELECT device_id,age,university FROM user_profile WHERE university LIKE %北京%下划线 代表匹配任意一个字符; % :百分号 代表匹配0个或多个字符; []: 中括号 代表匹配其中的任意一个字符; [^]: ^尖冒号 代表 非,取…

CRM系统通过哪三步增加销售团队协作?

销售团队的协作是企业成功的重要保障。协调一致的销售团队能够提升销售效率,提高销售转化,获得更多业绩收入。那么企业要如何增加销售团队的协作?可以用CRM销售管理系统。 CRM系统如何增加销售团队协作: 1、建立统一的客户数据库…

SAP ABAP 如果某字段没有参数ID,如自开发程序使用的自建表 新建参数ID

1)新建参数ID sm30 TPARA 维护 输入ID和描述 2) 参数ID和Se11数据元素 绑定

【EasyX】扫雷

目录 扫雷1. 主体功能描述2、主要实现步骤3、效果图 扫雷 本博客介绍利用EasyX加上图片、音乐素材实现一个传统的扫雷小游戏。 1. 主体功能描述 1、全局变量:时间、地图、图片资源、状态; 2、绘图初始化函数drawinit:载入图片资源&#xf…

力扣 701. 二叉搜索树中的插入操作

题目来源:https://leetcode.cn/problems/insert-into-a-binary-search-tree/description/ 思路:只要根据二叉搜索树的特性,将新插入节点的值不断地与树节点值进行比较,然后找到新节点所属的叶子节点位置,插入即好&…

Jetson Nano供电

1.Jetson Nano供电 Jetson Nano开发板有5种供电方式: 5V 2A(micro USB) 5V 3A(GPIO引脚) 5V 4A(DC接口) 5V 6A(所有电源IO反向供电) POE供电 其中, 5V 2A是受限于USB自身,强烈推荐DC 4A供电,满足Jetson Nano大部分使用场景&…