网络层_计算机网络

news2024/11/13 9:44:25

文章目录

  • 网络层
    • 数据平面
      • 路由器工作原理
      • 网际协议(*IP*)
        • IPv4
        • IPv6
        • DHCP
      • NAT
    • 控制平面
      • 路由选择算法
        • 因特网中自治系统内部的路由选择:OSPF
        • ISP 之间的路由选择:BGP
      • ICMP
      • SNMP

网络层

尽力而为服务best-effort services

  • 数据平面:数据平面功能(网络层中每台路由器的功能)决定到达路由器输入链路之一的数据报(网络层中的分组)如何转发到该路由器的输出链路之一。

  • 控制平面:控制平面功能(网络范围的逻辑)控制数据报沿着从源主机到目的主机的端到端路径中路由器之间的路由方式。协调这些本地的每路由器转发操作,使得数据报沿着源和目的地主机之间的路由器路径最终进行端到端传送。

    • 控制网络层组件和服务如何配置和管理

网络层功能

  • 转发:是数据平面中实现的唯一功能,硬件实现。当一个分组到达某路由器的一条输入链路时,该路由器必须将该分组移动到适当的输出链路。
  • 路由选择:由控制平面实现,软件实现。当分组从发送发流向接收方时,网络层必须决定这些分组所采用的路由或路径。

数据平面

路由器工作原理

在这里插入图片描述

  • 输入端口
    在这里插入图片描述

    • 执行终结入物理链路的物理层功能,红框。
    • 与位于入链路远端的数据链路层交互操作来执行数据链路层功能,绿框。
    • 查询转发表决定路由器的输出端口,到达的分组通过交换结构转发到输出端口,蓝框。使用在每个线路卡的副本,转发决策能在每个输入端口本地做出。使用最长匹配原则,一旦通过查找确定了某分组的输出端口,则该分组就能够发送进入交换结构。
    • 控制分组(如携带路由选择协议信息的分组)从输入端口转发到路由选择处理器。
  • 交换结构:将路由器的输入端口连接到它的输出端口,完全包含在路由器中,是一个网络路由器中的网络。
    在这里插入图片描述

    • 内存交换

      • 在 CPU 直接控制下交换的传统计算机
      • 分组从输入端口处被复制到处理器内存中,查表,复制到输出端口的缓存中
      • 一次仅能执行一个内存读/写,速度受内存带宽限制
    • 总线交换

      • 通过共享总线将分组直接传送到输出端口
      • 一次只有一个分组能够跨越总线,路由器的交换带宽受总线速率的限制
    • 互连网络交换

      • 能够并行转发多个分组
  • 输出端口:存储从交换结构接收的分组,并通过执行必要的链路层和物理层功能在输出链路上传输这些分组。输入和输出端口通常成对出现在同一线路卡上。
    在这里插入图片描述

  • 路由选择处理器:执行控制平面功能和网络管理功能。

    • 传统路由器:执行路由选择协议,维护路由选择表与关联链路状态信息,并为该路由器计算转发表。
    • SDN 路由器:负责与远程控制器通信,接收由远程控制器计算的转发表项,并在路由器的输入端口安装这些表项。

输入排队、输出排队、缓存

分组调度:排队的分组如何经输出链路传输

  1. 先进先出
    在这里插入图片描述

  2. 优先权排队:到达输出链路的分组将被分类放入输出队列中的优先权类
    在这里插入图片描述

  3. 循环和加权公平排队

网际协议(IP

IPv4

在这里插入图片描述

  • 版本(号):规定了数据报的 IP 协议版本,版本号规定了 IP 数据报的解释方式,不同的 IP 版本使用不同的数据报格式。
  • 首部长度:无 Options 字段时,Header length = 20 字节。
  • 服务类型:将不同类型的 IP 数据报区分。
  • 数据报长度:IP 数据包的总长度(首部 + 数据)字节,理论最大值 65535 字节。
  • 标识、标志、片偏移:分组分片。
  • 寿命:确保数据报永远不会在网络中循环。
  • 协议:指示 IP 数据报的数据部分应该给哪个特定的运输层协议。6:TCP,17:UDP。
  • 首部检验和:帮助路由器检测收到的 IP 数据报中的比特错误。路由器丢弃出错的数据报。每台路由器必须重新计算检验和(TTL 和 Options 会变)。
  • 源和目的 IP 地址:
  • 选项:
  • 数据(有效载荷):包含要交付给目的地的运输层报文段,或者 ICMP 报文。

无类别域间路由选择Classless Interdomain Routing,CIDR),因特网的地址分配策略。

255.255.255.255 :当主机发出以广播地址为目的地址的数据时,该报文会交付给同一个网络中的所有主机。

IPv6

在这里插入图片描述

DHCP

动态主机配置协议Dynamic Host Configuration Protocol,HDCP):自动将主机连接到一个网络,是一个客户-服务器协议。

  • 给定主机每次与网络连接时能得到一个相同的 IP 地址。
  • 给某个主机分配一个临时的 IP 地址,每次地址可能不同。
  • 允许一台主机获取它的子网掩码、第一跳路由器地址(默认网关)、本地 DNS 服务器的地址。
  • 即插即用协议、零配置协议。

在这里插入图片描述

  • DHCP 服务器发现:新到达主机(客户)使用 DHCP 发现报文在 UDP 分组中向端口 67 发送。DHCP 客户生成包含 DHCP 发现报文的 IP 数据包,其中使用广播目的地址 255.255.255.255 并且使用“本主机”源 IP 地址 0.0.0.0。DHCP 客户将该 IP 数据报传递给链路层,链路层然后将该帧广播到与该子网连结的节点。
  • DHCP 服务器提供:DHCP 服务器用 DHCP 提供报文收到的发现报文的事务 ID、向客户推荐的 IP 地址、网络掩码、IP 地址有效的时间量)向客户做出响应,该报文向该子网的所有节点广播 255.255.255.255子网中可能存在多个 DHCP 服务器)。
  • DHCP 请求:新到达的客户从一个或多个服务器提供中选择一个,并向选中的服务器用 DHCP 请求报文进行相应,回显配置的参数。
  • DHCP ACK:服务器用 DHCP ACK 报文对 DHCP 请求报文进行相应,证实所要求的参数。

DHCP 提供了允许客户更新 IP 地址租用的机制。每当一个移动节点在子网之间移动时,就不能维持与远程应用之间的 TCP 连接。

NAT

网络地址转换Network Address Translation,NAT

在这里插入图片描述

控制平面

控制平面方法

  • 传统方法:路由器中的路由选择算法决定转发表中的值。
    在这里插入图片描述

  • 软件定义网络(SDN)方法:远程控制器计算和分发转发表以供每台路由器使用。
    在这里插入图片描述

路由选择算法

目的是从发送方到接收方的过程中确定一条通过路由器网络的好的(最低开销)路径(最低开销路径:最短路径,源和目的地之间的具有最少链路数量的路径)。

路由算法的分类

  • 根据该算法是集中式还是分散式:

    • 集中式路由选择算法:需要用完整的、全局性的网络知识计算出从源到目的地之间的最低开销路径。

      • 具有全局状态信息的算法称为链路状态(Link State,LS)算法,该算法必须知道网络中每条链路的开销。通过让每个节点向网络中所有其它节点广播链路状态分组来完成的,其中每个链路状态分组包含它所连接的链路的标识和开销。
    • 分散式路由选择算法:路由器以迭代式、分布式的方式计算出最低开销路径,每个节点仅有与其直接相连链路的开销,通过迭代计算过程以及与相邻节点的信息交换,一个节点逐渐计算出到达某目的节点的最低开销路径。适合路由器直接交互的控制平面——传统方法

      • 距离向量(Distance-Vector,DV)算法:每个节点维护到网络中所有其它节点的开销估计向量。
        • 链路开销改变与链路故障:好消息传播快,坏消息传播慢
        • 增加毒性逆转:改善坏消息传播
    LSDV
    报文复杂性发送 O(|N||E|) 个报文只传播好消息
    收敛速度O(|N|2)收敛慢
    健壮性路由计算一定程度上是分离的,提供了一定的健壮性一个不正确的节点计算值会扩散到整个网络
  • 根据该算法是静态的还是动态的:

    • 静态路由选择算法:路由随时间的变化非常缓慢,通常是人工进行调整。
    • 动态路由选择算法:随着网络流量负载或拓扑发生变化而改变路由选择路径。
  • 根据该算法是负载敏感的还是负载迟钝的:

    • 负载敏感算法:链路开销会动态地变化以反映出底层链路的当前拥塞水平,趋向于绕开拥塞链路。
    • 负载迟钝算法:某条链路的开销不明确地反应其当前的拥塞水平。

AS 间和 AS 内部路由选择协议不同原因

AS 间AS 内部
策略策略问题起主导作用一切都是在相同的控制管理名义下进行的,策略问题在 AS 内部选择路由中起着微不足道的作用
规模扩展一个路由选择算法及其数据结构以处理到大量网络或大量网络之间的路由选择的这种能力,是 AS 间路由选择的一个关键问题可扩展性不是关注点,可以将大的 AS 分割
性能AS 间路由选择是面向策略的,因此所用路由器的质量是次要问题策略不重要,重点关住一条路由实现的性能级别
因特网中自治系统内部的路由选择:OSPF

自治系统内部路由选择协议:在一个自治系统内运行的路由选择算法。

开放最短路优先OSPF)是一种链路状态协议,使用洪泛链路状态信息和 Dijkstra 最低开销路径算法。

一台路由器构建了一幅关于整个自治系统的完整拓扑图,每台路由器在本地运行 Dijkstra 的最短路径算法,以确定一个以自身为根节点到所有子网的最短路径树。路由器向自治系统内所有其它路由器广播路由选择信息,当有链路状态发生变化 和 周期广播。

OSPF 通告包含在 OSPF 报文中,该 OSPF 报文直接由 IP 承载,对 OSPF 其上层协议的值为 89。OSPF 协议必须自己实现可靠报文传输、链路状态广播等功能,OSPF 需要检查链路正在运行(通过向邻居发送 HELLO 报文),并允许 OSPF 路由器获得邻居路由器的网络范围链路状态的数据库。

优点

  • 安全:仅有受信任的路由器能参与一个自治系统内的 OSPF 协议
  • 多条相同开销的路径:OSPF 允许使用多条路径
  • 对单播和多播路由选择的综合支持
  • 支持在单个自治系统中的层次结构:一个 OSPF 自治系统能够层次化地配置多个区域
ISP 之间的路由选择:BGP

边界网关协议Broder Gateway Protocol, BGP):所有自治系统运行相同的自治系统间路由选择协议。

BGP 是一种分布式和异步的协议。

在 BGP 中,分组并不是路由到一个特定的目的地址,而是路由到 CIDR 化的前缀。BGP 为每台路由器提供的手段:

  • 从邻居自治系统获得前缀的可达性信息,通告 BGP 路由信息

    • 每个自治系统不仅知道子网的存在,并且知道通向子网的自治系统的路径
    • BGP 路由信息
      • AS-PATH:检测和防止通告环路,当 PATH 中包含自己的 AS 时,拒绝该通告
      • NEXT-HOP:是 AS-PATH 起始的路由器接口的 IP 地址
      • 目的地前缀
  • 确定到该前缀的“最好的”路由

    • 热土豆路由选择:(从所有可能的路由中)选择的路由到开始该路由的 NEXT-HOP 路由器具有最小开销

      对于每个路由器都想尽快地将分组送出其自治系统。是一种自私算法,即它试图减小在它自己 AS 中的开销,而忽略在其 AS 之外的端到端开销的其它部分。在相同 AS 中的不同路由器,可能对相同的前缀选择不同的路径。

      在这里插入图片描述

    • 路由选择算法,不是自私算法,对于给定前缀

      • 仅有一条路由,选择
      • 到相同前缀有两条或多条路由,则顺序调用下列消除规则直到余下一条路由
        • 选择具有本地偏好值的路由
        • 选择最短 AS-PATH 的路由,AS 跳的跳数
        • 热土豆路由选择
        • 用 BGP 标识符来选择路由

      BGP 常被用于实现 IP 任播服务,IP 任播被 DNS 系统广泛用于将 DNS 请求指向最近的根 DNS 服务器

ICMP

因特网控制报文协议,被主机和路由器用来彼此沟通网络层信息,差错报告。

ICMP 位于 IP 之上(ICMP 报文是承载在 IP 分组中的

ICMP 类型编码描述
00回显回答(对 ping 的回答)
30目的网络不可达
31目的主机不可达
32目的协议不可达
33目的端口不可达
36目的网络未知
37目的主机未知
40源抑制(拥塞通告)
80回显请求
90路由器通告
100路由器发现
110TTL 过期
120IP 首部损坏

SNMP

简单网络管理协议Simple Network Management Protocol,SNMP

参考:

  • 《计算机网络:自顶向下方法》

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

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

相关文章

尚品汇-支付宝介绍、跳转支付订单页面实现(四十六)

目录: (1)支付宝介绍 (1)支付宝介绍 (3)显示付款页面信息 (5)创建支付控制器PaymentController (1)支付宝介绍 支付宝简介 支付宝&#xf…

没资料的屏幕怎么点亮?思路分享

这次尝试调通一个没资料的屏幕,型号是HYT13264,这个是淘宝上面的老王2.9元屏,成色很好但是长期库存没有资料和代码能点亮,仅仅只有一个引脚定义。这里我使用Arduino Nano作为控制器尝试点亮这个模块。 首先,已知别人找…

当水泵遇上物联网:智能水务新时代的浪漫交响

在当代科技的宏伟乐章中,物联网(IoT)技术宛如一位技艺高超的指挥家,引领着各行各业迈向智能化的新纪元。当这股创新浪潮涌向古老的水务行业时,一场前所未有的“智能水务”革命便悄然上演,而水泵——这一传统…

vue3 自定义指令 directive

1、官方说明:https://cn.vuejs.org/guide/reusability/custom-directives 除了 Vue 内置的一系列指令 (比如 v-model 或 v-show) 之外,Vue 还允许你注册自定义的指令 (Custom Directives)。 我们已经介绍了两种在 Vue 中重用代码的方式:组件和…

828华为云征文 | 华为云Flexusx实例,高效部署Servas书签管理工具的优选平台

需要了解 本文章主要讲述在 华为云Flexus X 实例上使用docker快速部署Servas,一款功能强大的自托管书签管理工具,专为追求高效与个性化的用户设计。选择合适的云服务器: 本文采用的是 华为云服务器 Flexus X 实例(推荐使用&#x…

Vue 中 watch 和 watchEffect 的区别

watch 和 watcheffect 都是 vue 中用于监视响应式数据的 api,它们的区别在于:watch 用于监视特定响应式属性并执行回调函数。watcheffect 用于更通用的响应式数据监视,但回调函数中不能更新响应式数据。Vue 中 watch 和 watchEffect 的区别 …

C++ 日历计算器的实现

日历计算器 创建一个日期类对运算符进行重载代码 创建一个日期类 年月日为类的成员变量,所以放到私有区域,又因为成员变量为内置类型,编译器自动生成的默认构造函数对其不做处理,所以需要我们显示定义一个构造函数,而…

亿发:中小型制造企业数字化转型典型场景、痛点、解决方案

随着全球制造业的不断发展,中小型制造企业正面临前所未有的挑战和机遇。数字化转型成为了企业提升竞争力、优化生产效率、应对市场变化的关键路径。然而,对于资源相对有限的中小型制造企业而言,数字化转型并非易事。他们在推进转型的过程中往…

视频的编码与传输 学习笔记2 信息论

说白了,关键点就三个:信源,压缩与信道 DMS就是无记忆的信源,该输出什么就输出什么。 马尔卡夫信源,准确来讲是m马尔卡夫,会受到前m个状态的影响。(妈的,马尔卡弗还在追我&#xff0c…

【工具分享】针对加解密综合利用后渗透工具 - DecryptTools

下载地址: 链接: https://pan.quark.cn/s/2e451bd65d79工具介绍 支持22种OA、CMS 加解密密码查询功能 万户OA 用友NC 金蝶EAS 蓝凌OA 致远OA 宏景ERP 湖南强智 金和jc6 瑞友天翼 金和C6 Navicat 华天动力 FinalShell 亿赛通 帆软报表 H3C CAS Weblogic 金蝶云星空…

基于SSM+Vue+MySQL的可视化高校公寓管理系统

系统展示 管理员界面 宿管界面 学生界面 系统背景 当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化,规范化管理。这样的…

51单片机-第十二节-LCD1602液晶显示屏

一、LCD1602介绍: LCD1602是一种字符型液晶显示屏,可以显示ASCII码的标准字符和其他的内置特殊字符。 显示容量:16*2个字符,每个字符为5*7点阵。 二、引脚及应用电路: 其中:D0-7这8位数据是接在P0引脚上…

聚焦2024数博会|与天空卫士一起探索AI与数据安全的融合应用

中国国际大数据产业博览会(简称数博会),是全球首个以大数据为主题的博览会,自2015年创办以来,经过多年的深厚沉淀,数博会已发展成为国际知名、引领前沿趋势的专业展示合作平台。 2024年8月28日至30日&#…

T1打卡——mnist手写数字识别

🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊 1.定义GPU import tensorflow as tfgpustf.config.list_physical_devices("GPU")if gpus:gpu0gpus[0]tf.config.experimental.set_memort_groth(gp…

重卡换电连接器的应用

电动汽车换电模式涉及在专门充电站集中存储和充电大量电池,实现统一配送,并在换电站对电动汽车进行快速电池更换服务,或整合充电、物流、调配和换电服务。新能源汽车面临续航限制和配套设施不完善等问题,影响了其大规模推广。电池…

Java创建线程(5种方法)

操作系统提供api操作线程 线程本身是操作系统提供的,操作系统提供API让我们操作线程,JVM对操作系统api进行了封装,在线程这一部分,就提供了Thread类,表示线程。 创建线程 创建一个MyThread类(类的名字不…

基于PI控制算法的异步感应电机转速控制系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于PI控制算法的异步感应电机转速控制系统simulink建模与仿真。PI控制器是一种经典的线性控制器,它通过将控制量的比例部分和积分部分相结合来实现对系统输出的调…

【C-实践】网络聊天室(1.0)

概述 使用了 tcp epoll ,实现网络聊天室 1.0 版,用户的显示框和输入框在一起 2.0 版,用户的显示框与输入框分离 功能 主要功能:用户连接服务器,就会自动进入网络聊天室与其他在线用户一起聊天 服务器搭建 创建用户数…

探索EasyCVR与AI技术深度融合:视频汇聚平台的新增长点

随着5G、AI、边缘计算、物联网(IoT)、云计算等技术的快速发展,万物互联已经从概念逐渐转变为现实,AIoT(物联网人工智能)的新时代正在加速到来。在这一背景下,视频技术作为信息传输和交互的重要手…

常见Python GUI库分析

引言 在Python环境下进行桌面编程时,选择合适的GUI(图形用户界面)库至关重要。在Python环境下进行桌面编程GUI开发时,有多个优秀的库可供选择。以下是一些推荐的GUI库,包括它们的推荐理由、优劣势以及简单的demo示例。…