计算机网络 | 网络层
计算机网络 | 网络层
- 计算机网络 | 网络层
- 功能概述
- SDN(Software-Defined Networking)
- 路由算法与路由协议
- IPv4
- IPv4 分组
- IPv4 分组的格式
- IPv4 数据报分片
参考视频:王道计算机考研 计算机网络
参考书:《2022年计算机网络考研复习指导》
计算机网络 | 网络层
功能概述
网络层:向上提供简单的、无连接的、尽最大努力交付的数据报服务。
- 功能一:路由选择与分组转发:让数据在路由器之间走最佳的路径。
- 功能二:异构网络互联:让不同的设备(手机、电脑、平板等)都能正常连接。
- 功能三:拥塞控制
- 开环控制(静态):在拥塞之前就提前设计解决。
- 闭环控制(动态):在拥塞时自动调整解决问题。
拥塞:在通信子网中,因出现过量的分组而引起网络性能下降的现象。
数据在各层的传输形式:
OSI参考模型 | 各层次的传输单元 |
---|---|
应用层 | 报文 |
传输层 | 报文段 |
网络层 | IP数据报,分组(如果IP数据报太大就切割成分组) |
数据链路层 | 帧 |
物理层 | 比特流 |
SDN(Software-Defined Networking)
数据平面:用于控制数据处理过程中各种具体处理转发过程。处理时间短,在路由器中用硬件实现。
控制平面:用于控制、管理网络协议的运行,比如 OSPF 协议、RIP 协议、BGP 协议。处理时间长,在路由器中用软件实现。
分为两种:
- 每路由器法
- SDN 法
每路由器法:
SDN 法:
注:上面的交换机实际上是路由器。
SDN 控制器的三个层次:
- 对于网络控制应用程序的接口:SDN 控制器通过“北向接口”与网络控制应用程序交互,该 API 允许网络控制应用程序在状态管理层之间读写网络状态。
- 网络范围状态管理层:由 SDN 控制平面作出的最终控制决定,将要求控制器具有有关网络的主机、链路等最新状态信息。
- 通信层:负责 SDN 控制器与受控网络设备之间的通信(OpenFlow 协议),包含“南向接口”。
例题:
小结:
路由算法与路由协议
路由算法的分类:
层次路由:
- 内部网关协议(IGP):也称域内路由选择。
- 外部网关协议(EGP):也称域间路由选择。
示例:
IPv4
IPv4 分组
IPv4 分组的格式
一个 IP 分组由首部和数据部分组成:
- 首部:固定长度为 20 比特, 是所有 IP 分组必需的。后面是一些可选字段,长度可变,用来提供错误检测及安全等机制。
- 数据部分:TCP、UDP段。
IP 数据报格式:
名称 | 英文 | 注释 | 大小 |
---|---|---|---|
版本 | Version | ipv4或者ipv6 | 4位 |
首部长度 | IHL | 此处数值再乘以4才是真正大小,同时因为IP数据报固定长度为20字节,所以此处最小值为5,即二进制的0101 | 4位 |
区分服务 | DSCP + ECN | 希望获得哪种服务,用的比较少 | 8位 |
总长度 | Total Length | 首部+数据的长度,最大为216-1=65535B | 16位 |
标识 | Identification | 用来表示是哪一个数据报的分片,不同的分片标识各不相同 | 8位 |
标志 | Flags | 用来表示是否分片和分片是否结束 | 3位,但实际有用的只有后两位 |
片偏移 | Fragment Offset | 用来标记分片之后,该分片在原来的数据报的位置,以8字节为单位 | 13位 |
生存时间 | Time To Live 即TTL | 每经过一个路由器TTL-1,0时自动放弃,根据系统不同默认的TTL不同 | 8位 |
协议 | Protocol | 用来标记协议名的字段值,如TCP、UDP、ICMP等 | 8位 |
首部检验和 | Header Checksum | 检验首部的字段是否出错,出错就丢弃此数据报 | 8位 |
源地址 | Source IP Address | 发送方ip地址 | 32位 |
目的地址 | Destination IP Address | 接收方ip地址 | 32位 |
可选字段 | Options | 用来排错等安全检测 | 未知,可在0-40位之间 |
填充 | 将数据报对齐成4字节的整数倍,数值全部为0 | 未知,根据可选字段来定 |
注:总长度单位是 1B,片偏移单位是 8B,首部长度单位是 4B。
IPv4 数据报分片
最大传送单元(MTU):一个数据链路层数据报能承载的最大数据量。
以太网的 MTU 是 1500 字节。
如果 IP 分组超过了某链路的 MTU 值?
IP 数据报分片。
例题:
相关文章:

计算机网络 | 网络层
计算机网络 | 网络层 计算机网络 | 网络层功能概述SDN(Software-Defined Networking)路由算法与路由协议IPv4IPv4 分组IPv4 分组的格式IPv4 数据报分片 参考视频:王道计算机考研 计算机网络 参考书:《2022年计算机网络考研复习指…...

21GA-ELM,遗传算法优化ELM预测,并和优化前后以及真实数值进行对比,确定结果,基于MATLAB平台,程序已经调通,可以直接运行,需要直接拍下。
GA-ELM,遗传算法优化ELM预测,并和优化前后以及真实数值进行对比,确定结果,基于MATLAB平台,程序已经调通,可以直接运行,需要直接拍下。 21matlab时间序列预测极限学习遗传优化算 (xiaohongshu.co…...
287_C++_TaskQueue管理任务队列和定时器(头文件.h)
#ifndef TASKQUEUE_H #define TASKQUEUE_H#include <sys/types.h> #include <stdlib.h> #include <pthread.h>...
Hadoop+Zookeeper+HA错题总结(一)
题目3: 下列哪项通常是hadoop集群运行时的最主要瓶颈?() [单选题] A、CPU B、网络 C、磁盘 IO D、内存 【参考答案】: C 【您的答案】: D 这道题的答案取决于集群的性能,一般来说运行时的主要瓶颈是网络。但是如果集群的磁盘IO性能较差&am…...

React高级特性之context
例1: createContext // 跨组件通信Context引入createContext import React, { createContext } from react// App传数据给组件C App -- A -- C// 1. 创建Context对象 const { Provider, Consumer } createContext()function SonA () {return (<div>我是…...

【OS】操作系统课程笔记 第五章 并发性——互斥、同步和通信
并发性:并发执行的各个进程之间,既有独立性,又有制约性; 独立性:各进程可独立地向前推进; 制约性:一个进程会受到其他进程的影响,这种影响关系可能有3种形式: 互斥&am…...
RabbitMQ概述原理
RabbitMQ是一种消息队列中间件,其主要作用是在应用程序之间传输数据。它基于AMQP(高级消息队列协议)实现,可以用于不同语言和不同操作系统之间的通信。 RabbitMQ的工作原理是生产者将消息发送到队列中,消费者从队列中接…...

8.Covector Transformation Rules
上一节已知,任意的协向量都可以写成对偶基向量的线性组合,以及如何通过计算基向量穿过的协向量线来获得协向量分量,且看到 协向量分量 以 与向量分量 相反的方式进行变换。 现要在数学上确认协向量变换规则是什么。 第一件事:…...
RustDay04------Exercise[21-30]
21.使用()对变量进行解包 // primitive_types5.rs // Destructure the cat tuple so that the println will work. // Execute rustlings hint primitive_types5 or use the hint watch subcommand for a hint.fn main() {let cat ("Furry McFurson", 3.5);// 这里…...

OpenAI科学家谈GPT-4的潜力与挑战
OpenAI Research Scientist Hyung Won Chung 在首尔国立大学发表的一场演讲。 模型足够大,某些能力才会显现,GPT-4 即将超越拐点并在其能力上实现显着跳跃。GPT-3 和 GPT-4 之间的能力仍然存在显着差距,并且尝试弥合与当前模型的差距可能是无…...

Java电子病历编辑器项目源码 采用B/S(Browser/Server)架构
电子病历(EMR,Electronic Medical Record)是用电子技术保存、管理、传输和重现的数字化的病人的医疗记录,取代手写纸张病历,将医务人员在医疗活动过程中,使用医疗机构管理系统生成的文字、符号、图表、图形、数据、影像等数字化内…...
使用 AWS DataSync 进行跨区域 AWS EFS 数据传输
如何跨区域EFS到EFS数据传输 部署 DataSync 代理 在可以访问源 EFS 和目标 EFS 的源区域中部署代理。转至AWS 代理 AMI 列表并按 AWS 区域选择您的 AMI。对于 us-west-1,单击 us-west-1 前面的启动实例。 启动实例 2. 选择您的实例类型。AWS 建议使用以下实例类型之…...
设计模式~解释器模式(Interpreter)-19
解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。 【俺有一个《泡MM真经》&#x…...
对象混入的实现方式
对象混入(Object mixins)是一种在面向对象编程中用于组合和重用代码的技术。它允许你将一个对象的属性和方法混合(或合并)到另一个对象中,从而创建一个具有多个来源的对象,这些来源可以是不同的类、原型或其…...

Mac 远程 Ubuntu
1. Iterm2 添加ssh 参考:https://www.javatang.com/archives/2021/11/29/13063392.html 2. Finder 添加远程文件管理 2.1 ubuntu 配置 安装samba sudo apt-get install samba配置 [share]path /home/USER_NAME/shared_directoryavailable yesbrowseable ye…...
黑豹程序员-h5前端录音、播放
H5支持页面中调用录音机进行录音 H5加入录音组件,录音后可以进行播放,并形成录音文件,其采样率固化48000,传言是google浏览器的BUG,它无法改动采样率。 大BUG,目前主流的支持16000hz的采样率。 录音组件 …...

Leetcode622.设计循环队列
本专栏内容为:leetcode刷题专栏,记录了leetcode热门题目以及重难点题目的详细记录 💓博主csdn个人主页:小小unicorn ⏩专栏分类:Leetcode 🚚代码仓库:小小unicorn的代码仓库🚚 &…...

二十二、【形状工具组】
文章目录 基础图形多边形直线工具自定义形状工具 形状工具组画的图形是矢量图形,在放大和缩小后像素不变看起来不会模糊,位图和矢量图形的存储方式不一样,位图的存储方式是按各个像素的数据来进行存储的,而矢量图形是根据算法来进…...
设计模式~迭代器模式(Iterator)-20
目录 迭代器模式(Iterator) (1)优点 (2)缺点 (3)使用场景 (4)注意事项 (5)应用实例: 代码 迭代器模式(Iterator) 迭代器模式(…...

亳州市的自然风光与旅游资源:欣赏安徽省中部的壮丽景色
亳州市是中国安徽省的一个地级市,位于该省的中部。 亳州市辖区包括谯城区、涡阳县、蒙城县和利辛县等地。亳州市拥有悠久的历史和丰富的文化遗产,同时也以其独特的自然风光而闻名。 首先,让我们来了解一下亳州的历史和景点。亳州的历史可以…...

XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...

selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...
为什么要创建 Vue 实例
核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...
WEB3全栈开发——面试专业技能点P7前端与链上集成
一、Next.js技术栈 ✅ 概念介绍 Next.js 是一个基于 React 的 服务端渲染(SSR)与静态网站生成(SSG) 框架,由 Vercel 开发。它简化了构建生产级 React 应用的过程,并内置了很多特性: ✅ 文件系…...

AxureRP-Pro-Beta-Setup_114413.exe (6.0.0.2887)
Name:3ddown Serial:FiCGEezgdGoYILo8U/2MFyCWj0jZoJc/sziRRj2/ENvtEq7w1RH97k5MWctqVHA 注册用户名:Axure 序列号:8t3Yk/zu4cX601/seX6wBZgYRVj/lkC2PICCdO4sFKCCLx8mcCnccoylVb40lP...