数据帧和网络编址

2024-08-24 07:08
文章标签 数据 网络 编址

本文主要是介绍数据帧和网络编址,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

数据帧和网络编址
数据帧:
ip数据报的格式
1、IP报文头部信息用于指导网络设备对报文进行路由和分片。

2、同一个网段 内的数据转发通过链路层即可实现(单播,组播,广播)而跨网段的数据转发需要使用网络设备的路由功能。

3、分片是指数据包超过一定长度时,需要被划分成不同 的片段使其能够在网络中传输。

4、IP报文头部长度为20到60字节,报文头中的信息可以用来指导网络设备 如何将报文从源设备发送到目的设备。

5、其中,版本字段表示当前支持的 IP协议版本,当前的版本号为4。

6、DS字段早期用来表示业务类型,现在 用于支持QoS中的差别服务模型,实现网络流量优化。

7、源和目的IP地址是分配给主机的逻辑地址,用于在网络层标识报文的发 送方和接收方。根据源和目的IP地址可以判断目的端是否与发送端位于 同一网段,如果二者不在同一网段,则需要采用路由机制进行跨网段转发。

IP编址
IPv4地址为32比特的二进制数,通常用点分十进制表示。
IP地址用来标 识网络中的设备,具有IP地址的设备可以在同一网段内或跨网段通信。
IP地址包括两部分,第一部分是网络号,表示IP地址所属的网段,第二 部分是主机号,用来唯一标识本网段上的某台网络设备。
根据网络号和主机号的位数,可以将IP地址分为以下五类:

5中网络地址

每类地址的网络号包含不同 的字节数。A类,B类,和C类地址为可分配IP地址,每类地址支持的网 络数和主机数不同。
A类地址可支持126个网络,每个网络支持 224 (16,777,216 )个主机地址,另外每个网段中的网络地址和广播地址 不能分配给主机。
C类地址支持200多万个网络,每个网络支持256个主 机地址,其中254个地址可以分配给主机使用。
D类地址为组播地址。主机收到以D类地址为目的地址的报文后,且该 主机是该组播组成员,就会接收并处理该报文。
各类IP地址可以通过第 一个字节中的比特位进行区分。如A类地址第一字节的最高位固定为0, B类地址第一字节的高两位固定为10,C类地址第一字节的高三位固定 为110,D类地址第一字节的高四位固定为1110,E类地址第一字节的高 四位固定为1111。

源主机必须要知道目的主机的IP地址后才能将数据发送到目的地。源主 机向其他目的主机发送报文之前,需要检查目的IP地址和源IP地址是否 属于同一个网段。如果是,则报文将被下发到底层协议进行以太网封装 处理。如果目的地址和源地址属于不同网段,则主机需要获取下一跳路 由器的IP地址,然后将报文下发到底层协议处理。

子网掩码用于区分网络部分和主机部分。子网掩码与IP地址的表示方法 相同。每个IP地址和子网掩码一起可以用来唯一的标识一个网段中的某 台网络设备。子网掩码中的1表示网络位,0表示主机位。

每类IP地址有一个缺省子网掩码。A类地址的缺省子网掩码为8位,即第 一个字节表示网络位,其他三个字节表示主机位。B类地址的缺省子网 掩码为16位,因此B类地址支持更多的网络,但是主机数也相应减少。 C类地址的缺省子网掩码为24位,支持的网络最多,同时也限制了单个 网络中主机的数量。

通过子网掩码可以判断主机所属的网段、网段上的广播地址、以及网段 上支持的主机数。图中这个例子,主机地址为192.168.1.7,子网掩码为 24位(C类IP地址的缺省掩码),从中我们可以判断该主机位于 192.168.1.0/24网段。将IP地址中的主机位全部置为1,并转换为十进制 数,即可得到该网段的广播地址192.168.1.255。网段中支持的主机数为 2n, n为主机位的个数。本例中n=8,28=256,减去本网段的网络地址和 广播地址,可知该网段支持254个有效主机地址。

如果企业网络中希望通过规划多个网段来隔离物理网络上的主机,使用 缺省子网掩码就会存在一定的局限性。网络中划分多个网段后,每个网 段中的实际主机数量可能很有限,导致很多地址未被使用。如图所示的 场景下,如果使用缺省子网掩码的编址方案,则地址使用率很低。

采用可变长子网掩码可解决上述问题。缺省子网掩码可以进一步划分, 成为变长子网掩码(VLSM)。通过改变子网掩码,可以将网络划分为 多个子网。本例中的地址为C类地址,缺省子网掩码为24位。现借用一 个主机位作为网络位,借用的主机位变成子网位。一个子网位有两个取 值0和1,因此可划分两个子网。该比特位设置为0,则子网号为0,该比 特位设置为1,则子网号为128。将剩余的主机位都设置为0,即可得到 划分后的子网地址;将剩余的主机位都设置为1,即可得到子网的广播 地址。每个子网中支持的主机数为27-2(减去子网地址和广播地址), 即126个主机地址。

这篇关于数据帧和网络编址的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1101791

相关文章

MySQL数据目录迁移的完整过程

《MySQL数据目录迁移的完整过程》文章详细介绍了将MySQL数据目录迁移到新硬盘的整个过程,包括新硬盘挂载、创建新的数据目录、迁移数据(推荐使用两遍rsync方案)、修改MySQL配置文件和重启验证... 目录1,新硬盘挂载(如果有的话)2,创建新的 mysql 数据目录3,迁移 MySQL 数据(推荐两

Python数据验证神器Pydantic库的使用和实践中的避坑指南

《Python数据验证神器Pydantic库的使用和实践中的避坑指南》Pydantic是一个用于数据验证和设置的库,可以显著简化API接口开发,文章通过一个实际案例,展示了Pydantic如何在生产环... 目录1️⃣ 崩溃时刻:当你的API接口又双叒崩了!2️⃣ 神兵天降:3行代码解决验证难题3️⃣ 深度

MySQL快速复制一张表的四种核心方法(包括表结构和数据)

《MySQL快速复制一张表的四种核心方法(包括表结构和数据)》本文详细介绍了四种复制MySQL表(结构+数据)的方法,并对每种方法进行了对比分析,适用于不同场景和数据量的复制需求,特别是针对超大表(1... 目录一、mysql 复制表(结构+数据)的 4 种核心方法(面试结构化回答)方法 1:CREATE

详解C++ 存储二进制数据容器的几种方法

《详解C++存储二进制数据容器的几种方法》本文主要介绍了详解C++存储二进制数据容器,包括std::vector、std::array、std::string、std::bitset和std::ve... 目录1.std::vector<uint8_t>(最常用)特点:适用场景:示例:2.std::arra

Android使用java实现网络连通性检查详解

《Android使用java实现网络连通性检查详解》这篇文章主要为大家详细介绍了Android使用java实现网络连通性检查的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录NetCheck.Java(可直接拷贝)使用示例(Activity/Fragment 内)权限要求

MySQL中的DELETE删除数据及注意事项

《MySQL中的DELETE删除数据及注意事项》MySQL的DELETE语句是数据库操作中不可或缺的一部分,通过合理使用索引、批量删除、避免全表删除、使用TRUNCATE、使用ORDERBY和LIMI... 目录1. 基本语法单表删除2. 高级用法使用子查询删除删除多表3. 性能优化策略使用索引批量删除避免

MySQL 数据库进阶之SQL 数据操作与子查询操作大全

《MySQL数据库进阶之SQL数据操作与子查询操作大全》本文详细介绍了SQL中的子查询、数据添加(INSERT)、数据修改(UPDATE)和数据删除(DELETE、TRUNCATE、DROP)操作... 目录一、子查询:嵌套在查询中的查询1.1 子查询的基本语法1.2 子查询的实战示例二、数据添加:INSE

Linux服务器数据盘移除并重新挂载的全过程

《Linux服务器数据盘移除并重新挂载的全过程》:本文主要介绍在Linux服务器上移除并重新挂载数据盘的整个过程,分为三大步:卸载文件系统、分离磁盘和重新挂载,每一步都有详细的步骤和注意事项,确保... 目录引言第一步:卸载文件系统第二步:分离磁盘第三步:重新挂载引言在 linux 服务器上移除并重新挂p

使用MyBatis TypeHandler实现数据加密与解密的具体方案

《使用MyBatisTypeHandler实现数据加密与解密的具体方案》在我们日常的开发工作中,经常会遇到一些敏感数据需要存储,比如用户的手机号、身份证号、银行卡号等,为了保障数据安全,我们通常会对... 目录1. 核心概念:什么是 TypeHandler?2. 实战场景3. 代码实现步骤步骤 1:定义 E

使用C#导出Excel数据并保存多种格式的完整示例

《使用C#导出Excel数据并保存多种格式的完整示例》在现代企业信息化管理中,Excel已经成为最常用的数据存储和分析工具,从员工信息表、销售数据报表到财务分析表,几乎所有部门都离不开Excel,本文... 目录引言1. 安装 Spire.XLS2. 创建工作簿和填充数据3. 保存为不同格式4. 效果展示5