第四章 网络层

news2025/1/23 8:10:41

网络层服务

  • 网络层需要实现的两项重要功能:
    • 转发;当通过一条输入链路接收到一个分组后,路由器需要决策通过哪条输出链路将分组发送出去,并将分组从输入接口转移到输出接口
    • 路由选择;当分组从源主机流向目的主机时,必须通过某种方式决定分组经过的路由或路径,计算分组所经过的路径的算法被称为路由选择算法,或称为路由算法
  • 路由器转发功能实现原理:根据分组的网络层收不抵支字段的值作为键去转发表(或称为路由表)中查找对应项,从而获知应该转发至哪条链路上

在这里插入图片描述

数据报网络与虚电路网络

数据报网络

  • 数据报网络:按照目的主机地址进行路由选择的网络"无连接"
  • 数据报网络通常网络实现的功能很简单,如基本的路由和转发、顺序控制、差错控制和流量控制等功能由端系统实现

在这里插入图片描述

虚电路网络

  • 虚电路网络:在网络层提供面向连接的分组交换服务,通信之前,双方需要先建立虚电路,通信结束后再拆除虚电路
  • 虚电路三要素:从源主机到目的主机的一条路径、该路径上的每条链路各有一个虚电路标识(VCID)、该路径上每台分组交换机的转发表中记录虚电路标识的接续关系
  • 虚电路网络通常由网络完成顺序控制、差错控制、流量控制等,向端系统提供无差错数据传输服务

在这里插入图片描述

网络互连与网络互连设备

  • 异构网络主要指两个网络的通信技术和运行协议的不同
  • 实现异构网络互连的基本策略:协议转换、构建虚拟互联网络
  • 路由器从功能体系结构角度可以分为:
    • 输入端口
    • 交换结构;基于内存交换、基于总线交换、基于网络交换
    • 输出端口
    • 路由处理器;路由器的CPU,负责执行路由器的各种指令,包括路由协议的运行、路由计算以及路由表的更新维护等

网络层拥塞控制

  • 网络拥塞:一种持续过载的网络状态,此时用户对网络资源的总需求超过了网络的固有容量
  • 拥塞控制:端系统或网络结点,通过采取某些措施来避免拥塞的发生,或者对已发生的拥塞做出反应,以便尽快消除拥塞。根据网络通过能力或网络拥挤程度,调整数据发送速率和数据量
  • 流量控制:发送数据一方根据接收数据一方的接收数据的能力,包括接收缓存、处理速度等,调整数据发送速率和数据量,以避免接收方被数据淹没
  • 发生拥塞的原因:
    • 缓冲区容量有限
    • 传输线路的带宽有限
    • 网络结点的处理能力有限
    • 网络中某些部分发生故障
  • 拥塞控制措施如下:
    • 流量感知路由:权值根据网络负载动态调整, 可以将网络流量引导到不同的链路上, 均衡网络负载。拥塞预防措施
    • 准入控制:广泛应用与虚电路网络;基本思想:对新建虚电路审核,如果该电路会导致网络点的拥塞,则拒绝建立该新虚电路。拥塞预防技术
    • 流量调节;消除拥塞方法
      • 抑制分组:感知到拥塞的路由器选择一个被拥塞的数据报,给该数据报的援助据返回一个抑制分组
      • 背压:抑制分组再每一条发挥作用即为背压
    • 负载脱落:有选择的主动的丢弃一些数据报,来减轻网络负载,从而缓解或消除拥塞。消除拥塞方法

Internet网络层

  • IP协议目前两个版本有IPv4和IPv6
  • IP数据报格式如下:

在这里插入图片描述

  • 版本:占4位,给出IP版本号
  • 首部长度:占4位,给出的是IP数据报的首部长度
  • 区分服务:占8位,期望获得哪种类型服务
  • 总长度也称数据报长度,占16位
  • 标识:占16位,标识一个IP数据报
  • 标志位:占3位;DF禁止分片(DF=0可以分片),MF是更多分片标志(MF=0——未被分片或者是最后一篇)
  • 片偏移字段:13位,一个数据报分片封装与原IP数据报数据的相对偏移量
  • 生存时间(TTL):占8位,IP数据报再网络中可以通过的路由器数
  • 上层协议:占8位,IP数据报封装的是哪个上层协议的报文段
  • 首部校验和:占16位,利用校验和实现对IP数据报首部的差错检测
  • 源IP地址:占32位,发出IP数据报的源主机的IP地址
  • 目的IP地址:占32位,IP数据报需要送达的主机的IP地址
  • 选项字段:长度可变,范围在1-40字节,取决于选项内容
  • 数据字段:传输数据
  • IP地址的标记法:二进制标记法、点分十进制标记法、十六进制标记法

在这里插入图片描述

  • 分类地址如下表所示:

在这里插入图片描述
注:A类地址——前缀长度为8位,其中第一位为0,前缀中的后7位用来表示网络地址,总共有2的7次方个A类地址,每个A类地址的IP地址总数为2的24次方;B类地址——前缀长度为16位,其中前两位为10,前缀中的后14位用来表示网络地址,总共有2的14次方个B类地址,每个B类地址的IP地址总数为2的16次方;C类地址——前缀长度为24位,其中前两位为110,前缀中的后21位用来表示网络地址,总共有2的21次方个B类地址,每个C类地址的IP地址总数为2的8次方;D类地址——组播地址;E类地址保留

  • 本地主机地址:0.0.0.0/32;有限广播地址:255.255.255.255/32;回送地址:127.0.0.0/8
  • 无类地址:缓解IPv4地址空间不足,网络前缀可为0-32位的任意值
  • 子网划分:子网化——将一个较大的自我划分为多个较小子网的过程;超网化——将具有较长前缀的相对较小的子网合并为一个具有稍短前缀的相对叫法的子网

在这里插入图片描述

  • 路由聚合:如果匹配成功的路由表项不止一条,则选择匹配成功的网络前缀最长的那条路由项,即最长前缀匹配优先原则

在这里插入图片描述
在这里插入图片描述

  • 动态主机配置协议(DHCP):DHCP工作过程分为DHCP服务器发现、DHCP服务器提供、DHCP请求、DHCP确认

在这里插入图片描述

  • NAT的一般工作原理:对于从内网出去,进入公共互联网的IP数据报,将源IP地址替换为NAT服务器拥有的合法的公共IP地址,同时替换源端口号,并将替换关系记录到NAT转换表中,对于从公共互联网返回的IP数据报,依据其目的IP地址与目的端口号检索NAT转换表,并利用检索到的内部私有IP地址与对应端口号替换目的IP地址和目的端口号,然后将IP数据报转发到内部网络
  • ICMP:称作互联网控制报文协议,主要目的时实现差错信息报告
    • ICMP分为差错报告报文和询问报文,差错报文分为终点不可达、源点抑制、时间超时、参数问题和路由重定向等,询问报文分为回声请求/应答、时间戳请求/应答
    • ICMP数据报格式如下:

在这里插入图片描述

- 类型 
  • IPv6:为了缓解IPv4地址耗尽的问题;
    • 数据报格式如下:

在这里插入图片描述

  • 版本: 占4位,给出协议版本号

  • 流量类型字段:占8位,与IPv4中的服务类型含义类似

  • 流标签类型:占20位,标识一系列数据报的流

    • 有效载荷长度:占16位,说明IPv6中数据的字节数量
    • 下一个首部字段:占8位,标识数据包中承载的数据应该交付给哪一个上层协议,或者指向其他选项首部
    • 跳数限制字段:占8位,与IPv4中的生存空间含义相同
    • 源IP地址和目的IP地址:各占128位
    • 数据:上层协议报文段
  • IPv6地址包括单播地址、组播地址和任播地址

    • 单播地址:唯一标识网络中一个主机或路由器网络接口
    • 组播地址:标识网络中一组主机,若收到一个IP数据报,其下成员均会收到一个IP数据报的副本
    • 任播地址: 标识网络中一组主机,若收到一个IP数据报,其下某个成员会收到该IP数据报
  • 实现IPv4和IPv6工程的解决方案:

    • 双协议栈:支持IPv4的网络结点同时支持IPv6,同时具备发送IPv4数据报和IPv6数据报的能力
    • 隧道:通信源端与目的端都提供IPv6服务,但途径一段IPv4网络,为了使IPv6成功通过IPv4网络,可以在IPv4网络上建立IPv6隧道

路由算法与路由协议

  • 路由算法根据路由算法是否基于网络全局信息计算路由可分为:
    • 全局式路由选择算法;需要完整拓扑图;最具代表性的是链路状态路由选择算法(LS算法)
    • 分布式路由选择算法;只需要跟其相连链路的“费用”信息,最具有代表性的是距离向量路由选择算法(DV算法)

注:路由算法还可以分为静态算法——人工进行网络配置,每次变化需要人工干预、动态算法——自动计算最佳路由;负载敏感算法——较好的在网络发生拥塞时迅速对路由做出调整、负载迟钝算法——无法对变化做出快速响应

链路状态路由选择算法——Dijkstra算法

在这里插入图片描述

距离向量路由选择算法

在这里插入图片描述

层次化路由选择

  • 实现大规模网络路由选择最有效的、可行的解决方案就是层次化路由选择

Internet路由选择协议

  • RIP——最早、目前仍被广泛使用;基于距离向量路由选择算法
  • OSPF——应用于较大规模的AS;基于链路状态选择算法使用Dijikstra算法求解最短路径
  • OSPF优点如下:
    • 安全
    • 支持多条相同费用路径
    • 支持区别话费用度量
    • 支持单播路由和多播路由
  • BGP——实现的是跨自治系统的路由信息交换

拓展:
IP数据报分片计算

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

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

相关文章

24.SSM-SpringMVC延续--拦截器

目录 一、拦截器。 (1)拦截器的作用。 (2)拦截器与过滤器的区别。 (3)拦截器的方法。 (4)拦截器的快速入门。 (5)多拦截器。 (5.1&#xf…

libui的简单使用

libui是一个 C 中简单且可移植(但并非不灵活)的 GUI 库,它使用每个平台原生的GUI技术进行绘制。 官网地址:链接 相关文件:链接 一、配置说明 1. 所需链接的库 在使用libui的过程中至少需要链接以下库 user32.lib ke…

NumPy 秘籍中文第二版:一、使用 IPython

原文:NumPy Cookbook - Second Edition 协议:CC BY-NC-SA 4.0 译者:飞龙 在本章中,我们将介绍以下秘籍: 安装 IPython使用 IPython 作为 Shell阅读手册页安装 matplotlib运行 IPython 笔记本导出 IPython 笔记本导入网…

分享:如何给 DBA 减负?

欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/ 本文来自OceanBase社区分享,仅限交流探讨。原作者肖杨,OceanBase 软件开发工程师。 研发、数据分析师及运维内部人员有数据查询、数据订正等需求,若无管控平台&…

vscode推送文件至github步骤

@目录 1、步骤: 提交到本地仓库从本地仓库再提交到远程仓库2、具体操作: 2.1 准备工作 设置提交代码时的用户信息 开始前我们需要先设置提交的用户信息,包括用户名和邮箱: git config --global user.name "runoob" git config --global user.email "tes…

【mysql性能调优 • 二】mysql的启动关闭原理和实战,及常见的错误排查

前言 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系…

【CSS】定位 ⑥ ( 使用绝对定位在父容器任意位置显示子容器 | 代码示例 )

文章目录一、需求分析及核心开发要点二、完整代码示例一、需求分析及核心开发要点 要实现如下功能 , 下图 粉色 部分是 整体 父容器 , 紫色元素 是 中心的核心位置 , 蓝色是左上角的浮标 , 红色是右下角的浮标 ; 首先分析父容器元素 ; 由于 子元素 需要使用 绝对定位 , 此处的…

【权限维持】Windows自启动映像劫持粘滞键辅助屏保后门WinLogon

文章目录权限维持-域环境&单机版-自启动权限维持-域环境&单机版-粘滞键权限维持-域环境&单机版-映像劫持权限维持-域环境&单机版-屏保&登录权限维持-域环境&单机版-自启动 1、自启动路径加载 C:\Users\Administrator\AppData\Roaming\Microsoft\Wind…

家装产业的数字化,正在成为越来越多人的新共识

一场数字化的浪潮,正在各行各业上演着。家装行业,亦不例外。可以说,家装产业的数字化,正在成为越来越多人的新共识。如何借助数字化的手段改造家装行业,如何乘着数字化的东风实现家装行业的全面转型升级,正…

uni-app--》如何实现网上购物小程序(中下)?

🏍️作者简介:大家好,我是亦世凡华、渴望知识储备自己的一名在校大学生 🛵个人主页:亦世凡华、 🛺系列专栏:uni-app 🚲座右铭:人生亦可燃烧,亦可腐败&#xf…

STM32 W25QXX芯片

W25QXX芯片介绍 W25QXX芯片是华邦公司推出的大容量SPI FLASH产品,该系列有W25Q16/32/62/128等。本例程使用W25Q64,W25Q64容量为64Mbits(8M字节):8MB的容量分为128个块(Block)(块大小为64KB)&…

Python每日一练(20230413)

目录 1. 最后一个单词的长度 ※ 2. 全排列 🌟🌟 3. 计数质数 ※ 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 最后一个单词的长度 给你一个字符串 s&…

clickhouse布隆过滤器跳数索引最佳实践

背景 本文来聊一下clickhouse的这个列式存储数据库的布隆过滤器的跳数索引类型,来了解它的数据结构,它可以为那些查询类型提供查询优化。 跳数索引-布隆过滤器 首先布隆过滤器家族的跳数索引分成三种类型: ngrambf_v1,tokenbf_v1,bloom_filter其原理是…

Visual Studio 2022如何安装和使用MSDN

我是荔园微风,作为一名在IT界整整25年的老兵,在后台收到提问,问我Visual Studio 2022如何安装和使用MSDN,这个我之前也没有在这个版本上装过MSDN,我之前是在Visual Studio 2017版上装过MSDN,那既然有人问了…

蓝桥杯【第14届省赛】Python B组

测试链接:https://www.dotcpp.com/oj/train/1093/ 测试结果还是蛮惨烈,主要原因有几个: C 语言网的时间限制是 3 s:但实际比赛的时间限制都是 10 s 起步,甚至有 30 s 的莫名其妙的运行报错:我不知道 D 题…

浅谈ChatGPT的关键技术与落地发展

分享嘉宾 | 刘焕勇 文稿整理 | William 1、从大规模语言模型看ChatGPT的起源与本质 ChatGPT可以拆开分为Chat和GPT去理解,前一个表示一种应用形式,后一个是生成式的模型。在百度百科里面定义为ChatGPT是人工智能技术驱动的自然语言处理工具&#xff0c…

数组与字符串C语言代码总结

《array》 arr.c #include <stdio.h>int main(int argc, char *argv[]) {int a[2][3]; int i, j;for (i 0; i < 2; i) {for (j 0; j < 3; j) printf("%p ", &a[i][j]); //验证二维数组连续性}printf("%p %…

d2l Markov序列模型

本节的任务是使用Markov模型对后续序列进行预测&#xff0c;使用sin函数&#xff0b;噪声绘制1000个样本点&#xff0c;取tau为4&#xff0c;即利用后四个的信息预测第五个。 目录 1.构造样本点 2.抽取iter 3.构造网络 4.训练 5.预测 5.1单步 5.1多步 1.构造样本点 T …

【程序人生】5个月从职场打杂到月薪14000的女测试工程师逆袭之路

大家好&#xff0c;我是来自湖南的一位辣妹子&#xff0c;毕业于一所工业大学&#xff0c;大学的专业是软件与工程&#xff0c;其实也算是本专业&#xff0c;大学期间掌握的知识也算比较广&#xff0c;各个方面都会一丢丢&#xff0c;就是不是特别深入。 之所以这么说&#xf…

nginx配置文件介绍

nginx配置文件介绍 nginx默认的配置文件是在安装目录下的 conf目录下&#xff0c;后续对 nginx 的使用基本上都是对此配置文件进行相应的修改。 配置文件中用#符号表示注释内容。 配置文件主要包括三部分&#xff0c;main、events和http main 用于进行nginx全局信息的配置…