当前位置: 首页 > news >正文

ch4网络层---计算机网络期末复习(持续更新中)

网络层概述

将分组从发送方主机传送到接收方主机 

发送方将运输层数据段封装成分组
接收方将分组解封装后将数据段递交给运输层
网络层协议存在于每台主机和路由器上
路由器检查所有经过它的IP分组的分组头
注意路由器只有3层(网络层、链路层、物理层)

网络层提供的服务

一、网络层为单个数据分组(a packet)提供的服务:
确保交付:确保分组到达目的地
具有时延上界的确保交付: 比如100ms内到达 

二、网络层为分组的流(a flow of packets)提供的服务:
有序分组递交
确保最小带宽
确保最大时延抖动
安全性服务

Internet服务质量不如ATM,但从实际应用上来说,Internet更符合实际需要

转发和选路

转发(转发)当数据包到达路由器的输入链路时,路由器必须将数据包移动到相应的输出链路

路由器收到数据报后查找路由表将数据报转发

查看IP首部(首部中的值指的是数据报的目的地址),查转发表,转发表中有输出链路,由选路算法决定的。

选路(路由)确定数据包从发送方流向接收方时所采用的路由或路径

虚电路和数据报网络

网络层有连接服务和无连接服务

数据报网络在网络层中提供无连接服务
虚电路在网络层中提供有连接服务(ATM采用虚电路
与运输层服务有相似之处,但也有很大不同:
服务: 主机到主机(运输层:进程到进程)
服务选择:网络层仅提供以上有连接或无连接服务中的一种   (运输层:可同时提供TCP和UDP)
实现: 在端系统及网络核心同时实现(运输层:只在端系统中实现)
 

虚电路

VC是源端到目的端的路径,正如普通电话线路
性能可靠
网络行为沿网络路径发生
数据传输前建立虚电路,传输完毕后拆除虚电路
每个分组携带 VC 标识(并非目的地址)
在源-目的路径上每个路由器要维护每个连结的状态信息
链路、路由器资源(带宽、缓冲区)可能分配给VC

一条 VC 的组成:
源和目的主机间的路径
VC号,沿着该路径中的每段链路一个号码 ,沿着该路径的每台路由器中的转发表项
VC上传送的分组携带有VC号
每台中间路由器用一个新的VC号取代原来的VC号
新的VC 号从转发表中获得

入口接口+入口VC会选定出接口,同时,将VC改为出口VC。

虚电路信令协议:用来建立,维护及拆除虚电路

也有建立连接的过程

在虚电路网络中只要虚电路建立好了,同一个源目的主机中的分组走同样的路径

数据报网络

网络层:没有呼叫建立
路由器:对于端到端的连接无需维护状态信息
分组使用目的主机地址进行转发

没有上面建立连接的过程,直接发送到链路上!

转发表(最长前缀匹配

利用目的地址的前缀(prefix)简化。查转发表时,也是前缀匹配就行。

路由器工作原理

路由器主要功能:

选路:运行路由算法/协议 (RIP, OSPF, BGP)---全局
转发:将分组从输入链路转发到适当的输出链路

分散式转发: 
根据分组中的目的地址, 在输入端口的缓存中查找转发表得出适当的输出端口
目标: 输入端口的处理速度(查询转发表时间)能够达到线路速度(line speed,接收分组速度)
排队: 若其他输入端口的分组正在使用交换结构,则分组会阻塞并排队等待调度
如果队列排满路由器会丢弃后续数据报

输入端口排队

原因:当交换速度比所有输入端口的组合速度慢时,输入端口产生排队
线路前部(Head-of-the-Line,HOL)阻塞:队列前面的分组阻止其后的分组的交换到输出端口
排队延迟: 输入队列排队导致延迟,缓存溢出将引起分组丢失!

三种交换结构:

输出端口

缓存:当分组从交换结构到达的速率快于输出链路速率时,需要缓存、排队传输

排队延迟:排队造成延迟 ,输出端口缓冲区溢出时引起分组丢失

调度:在等待传输的排队分组中进行选择发送,比如FCFS
 

网际协议:

RIP、OSPF、BGP用于生成转发表

IP数据报格式

链路层协议能承载的网络层分组长度是有限制的
比如,以太网不超过1500字节,广域网不超过576字节
最大传输单元(MTU):网络链路层能承载的最大数据量
不同的链路类型有不同的MTUs 

若某链路的MTU比IP数据报的长度小该怎么办呢?分片

分片:大的 IP 数据报由路由器划分成几个小的数据报
重组:小的分片数据报在端系统中重新组装

IP首部的标识、标志和片偏移实现数据报重组

以字节为单位,所以要除以8

IP首部:20字节

​​​​​​​

IPv4编址

IP 地址有两种 IPV4 IPV6
IPV4

相关文章:

ch4网络层---计算机网络期末复习(持续更新中)

网络层概述 将分组从发送方主机传送到接收方主机 发送方将运输层数据段封装成分组 接收方将分组解封装后将数据段递交给运输层网络层协议存在于每台主机和路由器上 路由器检查所有经过它的IP分组的分组头 注意路由器只有3层(网络层、链路层、物理层) 网络层提供的服务 一…...

数据库(12)——DQL聚合查询

常见的聚合函数 将一列数据作为一个整体,进行纵向计算。 函数功能count统计数量max最大值min最小值avg平均值sum求和 语法 SELECT 聚合函数 (字段列表)FROM 表名; 示例 这是我们的原始表: 求人物总数 select count(id) from in…...

MYSQL四大操作——查!查!查!

目录 简洁版: 详解版: SQL通用语法: 分类: 1. DDL —库 1.1 查询: 1.2 创建: 1.3 删除 1.4 使用库 2. DDL—表 2.1 查询 2.1.1 查询当前库的所有表: 2.1.2 查询表结构 : 2.1.…...

Linux静态库与动态库加载

了解库: 关于库相比大家之前肯定使用过,比如C/C里面的标准库,STL里面的各种库,我们在调用STL里的容器时都需要使用库,那么库到底是什么呢? 库的本质就是可执行程序的"半成品" 我们先来回顾一下代…...

Whisper-AT:抗噪语音识别模型(Whisper)实现通用音频事件标记(Audio Tagger)

本文介绍一个统一音频标记(Audio Tagger)和语音识别(ASR)的模型:Whisper-AT,通过冻结Whisper的主干,并在其之上训练一个轻量级的音频标记模型。Whisper-AT在额外计算成本不到1%的情况下&#xf…...

K8s:Pod初识

Pod Pod是k8s处理的最基本单元。容器本身不会直接分配到主机上,封装为Pod对象,是由一个或多个关系紧密的容器构成。她们共享 IPC、Network、和UTS namespace pod的特征 包含多个共享IPC、Network和UTC namespace的容器,可直接通过loaclhos…...

HCIP-Datacom-ARST自选题库__MAC【14道题】

一、单选题 1.缺省情况下,以下哪种安全MAC地址类型在设备重启后表项会丢失? 黑洞MAC地址 Sticky MAC地址 安全动态MAC地址 安全静态MAC地址 2.华为交换机MAC地址表中的动态sticky MAC地址的默认老化时间是多少秒? 300 不会老化 400 500 3.华为交换机MA…...

Go基础编程 - 03 - init函数、main函数、_(下划线)

目录 1. init 函数2. main 函数3. init 函数与 main 函数异同4. _ (下划线)示例 1. init 函数 Go语言中,init 函数用于包(package)的初始化。具有以下特征: 1. init 函数用于程序执行前包的初始化,如初始化变量等。2…...

【TensorFlow深度学习】LeNet-5卷积神经网络实战分析

LeNet-5卷积神经网络实战分析 LeNet-5卷积神经网络实战分析:从经典模型到现代实践LeNet-5的历史背景LeNet-5网络架构实战代码解析实战分析结论 LeNet-5卷积神经网络实战分析:从经典模型到现代实践 在深度学习的历程中,LeNet-5无疑是一座里程…...

错误发生在尝试创建一个基于有限元方法的功能空间时

问题&#xff1a; index cell.index(#直接使用从0开始的索引if0<1ndex<10: #正集流体 subdomains_x[cell,index(] 1 fem1 /usr/bin/python3.8 /home/wy/PycharmProjects/pythonProject2/fem1.pyUnknown ufl object type FiniteElementTraceback (aost recent call last)…...

【八股】Hibernate和JPA:理解它们的关系

在Java开发中&#xff0c;持久化框架是至关重要的工具&#xff0c;它们帮助开发者将Java对象与关系数据库中的数据进行映射和管理。Hibernate和JPA&#xff08;Java Persistence API&#xff09;是两个广泛使用的持久化框架。那么&#xff0c;Hibernate和JPA之间到底是什么关系…...

C++类型参数技术以及常见的类型擦除容器

文章目录 一、类型擦除的作用二、常见的类型擦除容器1.std::any2.std::function3.std::shared_ptr\<void\>和 std::unique_ptr\<void\>4.总结 三、实现一个any参考 类型擦除&#xff08;Type Erasure&#xff09;是一种编程技术&#xff0c;通过它可以在运行时存储…...

SpringBoot如何缓存方法返回值?

Why&#xff1f; 为什么要对方法的返回值进行缓存呢&#xff1f; 简单来说是为了提升后端程序的性能和提高前端程序的访问速度。减小对db和后端应用程序的压力。 一般而言&#xff0c;缓存的内容都是不经常变化的&#xff0c;或者轻微变化对于前端应用程序是可以容忍的。 否…...

C#的web项目ASP.NET

添加实体类和控制器类 using System; using System.Collections.Generic; using System.Linq; using System.Web;namespace WebApplication1.Models {public class Company{public string companyCode { get; set; }public string companyName { get; set; }public string com…...

Spring MVC 源码分析之 DispatcherServlet#getHandlerAdapter 方法

前言&#xff1a; 前面我们分析了 Spring MVC 的工作流程源码&#xff0c;其核心是 DispatcherServlet#doDispatch 方法&#xff0c;我们前面分析了获取 Handler 的方法 DispatcherServlet#getHandler 方法&#xff0c;本篇我们重点分析一下获取当前请求的适配器 HandlerAdapt…...

假设检验学习笔记

1. 假设检验的基本概念 1.1. 原假设&#xff08;零假设&#xff09; 对总体的分布所作的假设用表示&#xff0c;并称为原假设或零假设 在总体分布类型已知的情况下&#xff0c;仅仅涉及总体分布中未知参数的统计假设&#xff0c;称为参数假设 在总体分布类型未知的情况下&#…...

vue3 watch学习

watch的侦听数据源类型 watch的第一个参数为侦听数据源&#xff0c;有4种"数据源"&#xff1a; ref&#xff08;包括计算属性&#xff09; reactive(响应式对象) getter函数 多个数据源组成的数组。 //ref const xref(0)//单个ref watch(x,(newX)>{console.…...

推荐的Pytest插件

推荐的Pytest插件 Pytest的插件生态系统非常丰富&#xff0c;以下是一些特别推荐的Pytest插件&#xff1a; pytest-sugar 这个插件改进了Pytest的默认输出&#xff0c;添加了进度条&#xff0c;并立即显示失败的测试。它不需要额外配置&#xff0c;只需安装即可享受更漂亮、更…...

C语言 | Leetcode C语言题解之第124题二叉树中的最大路径和

题目&#xff1a; 题解&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ int max; int dfs(struct TreeNode* root){if(!root) return 0;int left dfs(root->left…...

Linux综合实践(Ubuntu)

目录 一、配置任务 1.1 配置该服务器的软件源为中科大软件源 1.2 安装相关软件openssh-server和vim 1.3 设置双网卡&#xff0c;网卡1为NAT模式&#xff0c;网卡2为桥接模式(桥接模式下&#xff0c;使用静态ip&#xff0c;该网卡数据跟实验室主机网络设置相似&#xff0c;除…...

Ubuntu Apache WebDAV 服务部署与多用户自动化管理

1. WebDAV服务基础认知与场景价值 第一次听说WebDAV这个词时&#xff0c;我也是一头雾水——这串字母组合看起来像某种神秘协议。直到有次团队需要共享设计素材库&#xff0c;才发现这个1996年就诞生的老协议&#xff0c;在云存储时代依然散发着独特魅力。简单来说&#xff0c;…...

Geseq注释叶绿体基因组,结果比NCBI多了啥?手把手教你处理外显子与反式剪切基因

Geseq注释叶绿体基因组&#xff1a;深度解析与NCBI结果的差异处理实战 叶绿体基因组注释是植物分子生物学研究中的关键步骤&#xff0c;而Geseq作为一款开源的在线注释工具&#xff0c;因其易用性和灵活性受到广泛欢迎。但在实际使用中&#xff0c;许多研究者发现Geseq生成的注…...

2026届学术党必备的AI辅助写作网站实际效果

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 于学术研究范畴之内&#xff0c;撰写上一篇具备高质量水平的论文&#xff0c;乃是每一位学者…...

基于Puppeteer与GPT的微信AI助手:从自动化到智能回复的完整实现

1. 项目概述&#xff1a;一个能帮你自动回复微信消息的AI助手 如果你也和我一样&#xff0c;每天被淹没在微信的群聊、私聊和各种公众号消息里&#xff0c;但又不想错过重要信息&#xff0c;或者希望有一个“智能分身”能帮你处理一些重复性的咨询&#xff0c;那么这个项目你一…...

告别卡顿!CXPatcher:让Mac上的Windows游戏性能飙升的终极修复工具

告别卡顿&#xff01;CXPatcher&#xff1a;让Mac上的Windows游戏性能飙升的终极修复工具 【免费下载链接】CXPatcher A patcher to upgrade Crossover dependencies and improve compatibility 项目地址: https://gitcode.com/gh_mirrors/cx/CXPatcher 你是否曾在Mac上…...

如何用ComfyUI-WanVideoWrapper开启你的AI动态内容创作之旅

如何用ComfyUI-WanVideoWrapper开启你的AI动态内容创作之旅 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper 在AI视频生成的世界里&#xff0c;你是否曾想象过将文字描述转化为生动的动态画面&am…...

ARMv8浮点运算单元与MVFR寄存器深度解析

1. ARMv8浮点运算单元架构解析在移动计算和嵌入式系统领域&#xff0c;ARMv8架构已经成为事实上的行业标准。作为其核心计算能力的重要组成部分&#xff0c;浮点运算单元(FPU)和高级SIMD(Neon)扩展的性能直接影响着机器学习、图形处理、科学计算等关键应用的执行效率。与x86架构…...

告别日志硬编码:BizLog组件在SpringBoot中的实战应用指南

1. 为什么我们需要BizLog组件 记得去年接手一个电商项目时&#xff0c;遇到一个典型问题&#xff1a;产品经理要求在用户下单、修改订单、取消订单等关键操作时&#xff0c;都要记录详细的操作日志。刚开始我直接在业务代码里写日志记录逻辑&#xff0c;结果不到一个月就发现代…...

Kaggle竞赛技能加速器:从特征工程到模型集成的系统化实战指南

1. 项目概述&#xff1a;一个为Kaggle竞赛量身定制的技能加速器如果你在数据科学竞赛的圈子里待过一阵子&#xff0c;大概率听说过Kaggle。这个平台就像一个全球数据科学家的“奥林匹克竞技场”&#xff0c;从预测房价到识别癌细胞&#xff0c;各种现实世界的问题被包装成竞赛&…...

Cadence 17.4重装系统后,PCB快捷键失灵?别急着重装,先检查这个‘文件类型’

Cadence 17.4重装系统后PCB快捷键失效的深度排查指南 当你在Windows系统重装后&#xff0c;发现Cadence 17.4的PCB编辑器快捷键全部失灵&#xff0c;那种感觉就像突然失去了双手——每个操作都变得异常笨拙和低效。本文将从底层文件系统原理出发&#xff0c;带你深入排查这个看…...