2.4 网络层01

2.4 网络层01

2.4.1 网络层概述

网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输

异构网络内部的计算机要想实现通信是不需要实现网络互联的,异构网络之间要想实现通信就必须实现网络互连。

路由器工作在五层协议体系结构的网络层的
在这里插入图片描述
要实现网络层任务,需要解决以下主要问题:

  • 网络层向运输层提供怎样的服务(“可靠传输”还是“不可靠传输”)
    • TCP/IP协议体系结构在网际层提供的是无连接的、不可靠的数据包服务
    • ATM、帧中继和X.25的网络层提供的是面向连接的、可靠的虚电路服务
      在这里插入图片描述

路由器丢掉数据包的三种情况:
1、位错误和误码:在传输过程中,数据包可能受到电磁干扰、噪声或信号衰减等因素的影响,导致位错误的发生。如果接收到的数据包中存在位错误,路由器会检测到错误并丢弃该数据包,以避免传输错误的数据。
2、缓冲区溢出:路由器具有有限的缓冲区(内存)用于存储传入和传出的数据包。当传入的数据包的速率超过路由器的处理能力时,缓冲区可能会溢出。在这种情况下,路由器会选择丢弃一些数据包,以确保后续的数据包能够得到适当的处理和转发。
3、数据失序:在分组交换网络中,较大的数据包通常会被划分为多个较小的数据片段进行传输。每个数据片段都包含有序编号,以便在目的地重新组装。然而,由于不同路径的网络延迟和拥塞状况的不同,数据片段可能以不同的顺序到达目的地。这种顺序错乱被称为数据失序。当路由器接收到乱序的数据片段时,它将存储这些片段并等待其他片段到达,以便正确地重新组装数据。如果缺少关键的数据片段或等待时间过长,路由器可能会决定丢弃这些数据片段,以避免影响整体的网络性能和传输效率。

假设从路由器A发送数据到路由器E,数据被分为③②①,数据片①经ABE到达E、数据片②经ADE到达E、数据片③经ACE到达E。由于不同线路的网络情况不一样,数据片到达E的顺序可能会与原数据片顺序不一样,即数据失序。

  • 网络层寻址问题
    即IP寻址
    路由器的每个接口都可以分配一个IP地址
    在这里插入图片描述
  • 路由选择问题:路由器根据路由表选择下一跳
    计算机内部有一张路由表,路由器也有
    在这里插入图片描述
    因特网(Internet)目前是世界上用户数量最多的互联网,它使用TCP/IP协议栈。由于TCP/IP协议栈的网络层使用网际协议IP,它是整个协议栈的核心协议,因此在TCP/IP协议栈中网络层常称为网际层。我们是通过学习TCP/IP协议栈的网际层来学习网络层的理论知识和实践技术。
    在这里插入图片描述

2.4.2 IPv4 地址概述

1、在因特网中,为了实现计算机之间的相互通信,通常需要为每台计算机分配一个IP地址。在互联网的发展过程中主要有两个版本的互联网协议,分别是IPv4(Internet Protocol version 4)和 IPv6(Internet Protocol version 6) 。
在这里插入图片描述
2、IPv4的IP地址就是给因特网(Internet)上的每一台主机(或路由器))的每一个接口分配一个在全世界范围内是唯一的32比特的标识符,地址总数为232个。
3、IPv6的IP地址采用128比特地址长度,地址总数为2128个。
4、IP地址由因特网名字和数字分配机构IcANN(InternetCorporationforAssignedNamesandNumbers)进行分配。我国用户可向亚太网络信息中心APNIC(AsiaPacificNetworkInformationCenter)申请IP地址,需要缴费。
5、当下互联网中的绝大多数设备采用的是IPv4的IP地址
6、由于32比特的IPv4地址不方便阅读、记录以及输入等,因此IPv4地址采用点分十进制表示方法以方便用户使用,例如:192.168.1.100

2.4.3 IPv4地址的分类

1、IPv4的IP地址由网络号(指定主机所属的网络)和主机号(指定被寻址的子网中的某个节点)组成,IP地址可以分为A、B、C、D、E五类。
在这里插入图片描述
在这里插入图片描述
2、各类IP地址的细节

A类地址

  • A类地址的取值范围
    1.0.0.1~126.255.255.254
    在这里插入图片描述
  • A类地址可指派的网络数量:因为网络号占8个bit,并且最高位固定为0,网络号有27=128中组合,但是因为最小网络号0和最大网络号127不能指派,所以最终A类IP地址能够指派的网络数量为:
    在这里插入图片描述
  • A类地址每个网络中可以分配的地址数量:因为主机号站24个bit,主机号有224种组合,因为全0的网络号和全1的广播地址不能指派,所以需要减2
    在这里插入图片描述

B类地址

  • B类地址的取值范围
    在这里插入图片描述
  • B类地址可指派的网络数量:因为网络号占16个bit,并且最高位固定为10,网络号有2(16-2)种组合
    在这里插入图片描述
  • B类地址每个网络中可以分配的地址数量:因为主机号站16个bit,主机号有216种组合,因为全0的网络号和全1的广播地址不能指派,所以需要减2
    在这里插入图片描述

C类地址

  • C类地址的取值范围
    在这里插入图片描述
  • C类地址可指派的网络数量:因为网络号占24个bit,并且最高位固定为110,网络号有2(24-3)种组合。
    在这里插入图片描述
  • C类地址每个网络中可以分配的地址数量:因为主机号站8个bit,主机号有28种组合,因为全0的网络号和全1的广播地址不能指派,所以需要减2
    在这里插入图片描述

D类、E类地址

在这里插入图片描述

2.4.4子网的划分

1、例题

我们先来看一道笔试题:

用一根网线直接相连的两台主机的lP地址分别为192.168.1.100、192.168.2.100,子网掩码都为255.255.255.0,请问使用什么方法可以让这两台主机能够进行正常的数据通信?

答案:将两台主机的子网掩码设置为255.255.0.0

2、子网掩码

  • 子网掩码(subnet mask)是一个32位地址,又叫网络掩码、地址掩码,它用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码将某个IP地址划分成网络地址和主机地址两部分
  • 左边是网络位,用二进制数字“1”表示,1的数目等于网络位的长度;右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。这样做的目的是为了让掩码与IP地址做按位与运算时用0遮住原主机数,而不改变原网络段数字,而且很容易通过0的位数确定子网的主机数。
    在这里插入图片描述

注意:子网掩码一定从高位(左边)到低位(右边)是一串连续的1,不一定是255

  • 子网掩码的两个功能:
    • 屏蔽IP地址的一部分以区别网络标识和主机标识
    • 将一个大的IP网络划分为若干小的子网络
  • 子网掩码的工作流程:将32位的子网掩码与IP地址进行二进制形式的按位逻辑“与”运算,得到该IPv4地址所在的网络地址
    在这里插入图片描述

3、子网的划分

子网掩码是在IPv4地址资源紧缺的背景下为了解决IP地址分配而产生的虚拟IP技术,通过子网掩码将A、B、C三类地址划分为若干子网,从而显著提高了IP地址的分配效率,有效解决了IP地址资源紧张的局面。另一方面,在企业内网中为了更好地管理网络,网管人员也利用子网掩码的作用,人为地将一个较大的企业内部网络划分为更多个小规模的子网,再利用三层交换机的路由功能实现子网互联,从而有效解决了网络广播风暴和网络病毒等诸多网络管理方面的问题。
在这里插入图片描述
32比特的子网掩码可以表明分类IP地址的主机号部分被借用了几个比特作为子网号

下面我们举例说明划分子网的细节:已知某个网络的地址为218.75.230.0,使用子网掩码255.255.255.128对其进行子网划分,请给出划分细节。
解析流程:

  • 从IP地址坐起第一个十进制为218,所以该IP地址为C类地址,C类地址的子网掩码默认为:255.255.255.0,而此时给出的子网掩码为255.255.255.128,则说明子网掩码向主机号借用了一个bit作为子网号
    在这里插入图片描述
  • 因为子网掩码向主机号借用了一个bit作为子网号,所以可划分出来的子网数量为21=2个。每个子网可分配的地址数量为:2(8-1)-2 =126个。因为主机号的最高位被子网掩码借用了,主机号只有7位了,所以最多可分配2(8-1) =128个地址,但是还需要去掉主机号为全0的网络地址和主机号为全1的广播地址所以还需要减2。
    在这里插入图片描述
  • 详细的子网划分
    在这里插入图片描述

4、练习题

我们通过一道考研真题对子网的划分方法进行巩固
在这里插入图片描述

5、子网掩码的CIDR(Classless Inter-Domain Routing,无类域间路由选择)斜线记法

说明:n表示子网掩码所使用的bit数,表示子网掩码中网络号的长度,通过n的个数确定子网的主机数=2(32-n)-2
例1:192.168.1.100/24,其子网掩码表示为255.255.255.0
例2:172.16.198.12/20,其子网掩码表示为255.255.240.0

判断IP能否通信的笨方法:
第一步:把子网掩码用二进制表示
第二步:把IP地址用二进制表示
第三步:掩码中“1”对应的IP地址位如果都相同,那么这些IP就在同一网段中。

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

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

相关文章

HCIA的路由协议

动态路由协议/静态路由协议 静态路由协议和动态路由协议的区别: 静态路由协议的缺点: 配置繁琐 针对拓扑的变化不能够自动收敛 只适用于小型网络 静态路由协议优点: 占用资源少 安全 稳定 动态路由协议的优点: 配置简单 针对拓…

风丘科技为您提供完整的ADAS测试方案

一 方案概述 随着5G通讯与互联网的快速发展,智能汽车和ADAS辅助系统的研究与发展在世界范围内也在如火如荼地进行。风丘科技紧跟时代脚步,经多年积累沉淀,携手整车厂与高校共同研发打造出了一套完整且适用于国内ADAS测试的系统方案。 | ADAS…

YOLOv5改进 | 二次创新篇 | 升级版本Dyhead检测头替换DCNv3 实现完美升级(全网独家首发)

一、本文介绍 本文给大家带来的改进机制是在DynamicHead上替换DCNv3模块,其中DynamicHead的核心为DCNv2,但是今年新更新了DCNv3其作为v2的升级版效果肯定是更好的,所以我将其中的核心机制替换为DCNv3给Dyhead相当于做了一个升级,效果也比之前的普通版本要好,这个机制我认…

从0开始python学习-49.pytest之日志封装和allure封装

目录 日志封装 1. 在pytest.ini中配置日志的格式 2. 生成日志对象--在请求封装中写 3. 把日志写入文件--在请求封装中写 allure封装 1. 在yaml用例中写入需要的模块、接口等内容 2. 在测试用例封装的函数中通过allure.dynamic的方法写入需要的数据 日志封装 1. 在pytest.…

知识付费saas租户平台:发掘企业知识宝藏,开启专属知识付费新时代

产品服务 线上线下课程传播 线上线下活动管理 项目撮合交易 找商机找合作 一对一线下交流 企业文化宣传 企业产品销售 明理信息科技知识付费saas租户平台 更多服务 实时行业资讯 动态学习交流 分销代理推广 独立知识店铺 覆盖全行业 个人IP打造 独立小程序 私…

第十届教育和培训技术国际会议 (ICETT 2024)即将召开!

2024年第十届教育和培训技术国际会议(ICETT 2024)将于2024年4月11-13日在中国澳门召开,由澳门理工大学主办,香港教育大学协办。作为一项历史悠久的年度盛会,ICETT已在新加坡、芬兰、韩国等地成功举办了九届。本次会议依…

3DGS 其一:3D Gaussian Splatting for Real-Time Radiance Field Rendering

3DGS 其一:3D Gaussian Splatting for Real-Time Radiance Field Rendering 1. 预备知识1.1 球谐函数1.2 Splatting1.3 α \alpha α blending1.4 多维高斯的协方差矩阵1.4.1 高斯与椭球体的关系1.4.2 世界坐标系下的三维高斯到二维像素平面投影过程 2. 3D Gaussia…

PICO Developer Center 创建和调试 ADB 命令

PICO 开发者中心概览 ADB 是一个轻量级的 Android 调试桥(Android Debug Bridge,简称 ADB),用于与 Android 设备进行通信和调试。ADB提供了许多有用的功能,使开发人员能够轻松地管理和调试设备上的应用程序。 你可以使用 PDC 工具来调试系统…

按键检测|中断检测

一.按键检测 1.硬件原理 当未按下按键时,GPIO_5为低电平,按下按键GPIO_5变为高电平。 根据引脚编号找到引脚名称 根据引脚名称找到引脚编号 裸机程序控制外设 特点:读数据手册、设寄存器值 找出外设有哪些相关寄存器找出外设相关寄存器如何…

Kafka-消费者-Consumer Group Rebalance设计

在同一个Consumer Group中,同一个Topic的不同分区会分配给不同的消费者进行消费,那么为消费者分配分区的操作是在Kafka服务端完成的吗?分区是如何进行分配呢?下面来分析Rebalance操作的原理。 方案一 Kafka最开始的解决方案是通过ZooKeeper的Watcher…

Nginx 简介

1、概念介绍 Nginx ("engine x") 是一个轻量级、高性能的 WEB 服务器软件和反向代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。其将源代码以类 BSD 许可证的形式发…

手机崩溃日志的查找与分析

手机崩溃日志的查找与分析 摘要 本文介绍了一款名为克魔助手的iOS应用日志查看工具,该工具可以方便地查看iPhone设备上应用和系统运行时的实时日志和崩溃日志。同时还提供了崩溃日志的分析查看模块,可以对苹果崩溃日志进行符号化、格式化和分析&#x…

【Spring实战】30 创建自己的 Spring Boot HelloWorld Starter

文章目录 1. 定义2. 创建3. 依赖4. 编写自动配置类5. 编写 HelloWorldService 类6. 编写 Starter 配置文件7. 打包并发布到本地仓库7. 引入 HelloWorld Starter8. 使用 HelloWorld结语 Spring Boot Starter 是一项强大的功能,可以帮助我们轻松集成和配置各种常用组件…

微信小程序中的两种页面跳转方式

方式一(声明式导航): 利用<navigator></navigator> url:要跳转页面的地址 open-type:要打开的页面的类型 &#xff08;不在底部导航中添加的为非导航页面&#xff0c;在的为导航页面&#xff09; 非导航页面跳转过去后左上角会出现返回箭头&#xff0c;导航页面…

KNN算法原理及应用

理解KNN 算法原理 KNN是监督学习分类算法&#xff0c;主要解决现实生活中分类问题。 根据目标的不同将监督学习任务分为了分类学习及回归预测问题。 监督学习任务的基本流程和架构&#xff1a; &#xff08;1&#xff09;首先准备数据&#xff0c;可以是视频、音频、文本、…

appium之联动pycharm

前置条件&#xff1a; 1.java环境安装好了 2.android-sdk安装好&#xff08;uiautomatorviewer 也可以把这个启动起来&#xff09; 3.appium安装好 4.adb devices查看下设备是否连接 pycharm入门代码--固定写法 from appium import webdriver# 定义字典变量 desired_caps …

机器学习笔记——机器学习的分类

1 机器学习是啥 机器学习是人工智能的一个分支&#xff0c;它是一门研究机器获取新知识和新技能&#xff0c;并识别现有知识的学问。 机器学习已广泛应用于数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA 序列测…

Luckysheet类似excel的在线表格(vue)

参考文档&#xff1a;快速上手 | Luckysheet文档 一、引入 在vue项目的public文件夹下的index.html的<head>标签里面引入 <link relstylesheet hrefhttps://cdn.jsdelivr.net/npm/luckysheetlatest/dist/plugins/css/pluginsCss.css /><link relstylesheet hre…

c# 视频播放之Vlc.DotNet.Forms

先说下优缺点 优点&#xff1a;与电脑无关&#xff0c;能播放主流编码格式视频。 缺点&#xff1a;只能播放本地视频&#xff0c;网络视频播放不了。 下面是具体操作和代码 1. 安装Vlc.DotNet.Forms 和 VideoLAN.LibVLC.Windows Vlc.DotNet.Forms 是播放库&#xff0c;Vid…

2018年认证杯SPSSPRO杯数学建模D题(第一阶段)投篮的最佳出手点全过程文档及程序

2018年认证杯SPSSPRO杯数学建模 对于投篮最佳出手点的探究 D题 投篮的最佳出手点 原题再现&#xff1a; 影响投篮命中率的因素不仅仅有出手角度、球感、出手速度&#xff0c;还有出手点的选择。规范的投篮动作包含两膝微屈、重心落在两脚掌上、下肢蹬地发力、身体随之向前上…