计算机网络-第4章 网络层
4.1网络层的几个重要概念
4.1.1网络层提供的两种服务
电信网面向连接通信方式,虚电路VC。
互联网设计思路:网络层要设计得尽量简单,向其上层只提供简单灵活的,尽最大努力交付的数据报服务。
网络层不提供服务质量的承诺,由主机中的运输层负责。
虚电路服务与数据报服务的主要区别:①虚电路服务可靠通信应当由网络来保证,数据报服务可靠通信应当由用户主机来保证。②虚电路服务必须有连接的建立。③终点地址虚电路服务仅在建立阶段使用,每个分组使用短的虚电路号,数据报服务每个分组都有完整地址,即IP地址。④当节点出故障时,所有通过出节点的虚电路均不能工作,对于数据报服务,出故障的节点可能会丢生分组,一些路由可能会发生变化。⑤分组的顺序,虚电路服务总是按发送顺序到达终点,数据报服务到达终点的顺序不一定按发送的顺序。⑥端到端的差错处理和流量控制,虚电路服务可以由网络或用户主机负责,数据报服务则由用户主机负责。
4.1.2网络层的两个层面
路由器之间传送的信息分类:
①转发源主机和目的主机之间所传送的数据。
②传送路由信息。
在数据层面把收到的分组从查找到的对应接口转发出去。在控制层面路由器与相邻路由器交换路由信息,创建本路由器的路由表。
4.2网际协议IP
目前为IPv4,较新版本有IPv6
与协议IP配套使用的三个协议:
①地址解折协议ARP。②网际控制报文协议ICMP。③网际组管理协议IGMP。
4.2.1虚拟互连网络
没有一种单一的网络能够适应所有用户的需求。
四种中间设备:①物理层使用的中间设备叫作转发器。②数据链路层使用的中间设备叫作网桥或桥接器,以及交换机。③网络层使用的中间设备叫作路由器。④在网络层以上使用的中间设备叫作网关。
由于历史的原因,许多有关TCP/IP的文献曾经把网络层使用的路电器称为网关。
主机对主机。不需要经过任何路由器是直接交付,如路由器→主机。反之为间接交付。
互联网可以由多种异构网络互连组成。
4.2.2IP地址
1,IP地址及其表示方法
整个互联网就是一个单一的,抽象的网络。IP地址就是给连接到互联网上的每一台主机或路由器的每一个接口,分配一个唯一的32位标识符。含义就是这个IP地址不但标志了这个主机,而且还标志了此接口所连接的网络。
两级结构:第一个字段是网络号,第二个字段是主机号。
IP地址指明了连接到某个网络上的一个主机或路由器。
2,分类的IP地址
A类n=8,B类n=16,C类n=24。n为网络号占的位数。ABC类都是单播地址,D类是多播地址,E类是保留地址。
3,无分类编址CIDR
无分类域间路由选择CIDR
要点:①网络前缀,把网络号改称网络前缀。使用斜线记法。②地址块:把网络前缀都相同的所有连续的IP地址组成一个CIDR地址块。③地址掩码又称子网掩码,在CIDR记法中,斜线后面的数字就是地址掩码中1的个数。
三个特殊地址块:①n=32,用于主机路由。②前缀n=31,用于点对点链路。③前缀n=0同时IP地址也是全0,用于默认路由。
CIDR编址另称为构造超网。
路由聚合:在路由器的转发表中利用较大的一个CIDR地址块来代替许多较小的地址块。压缩了转发表所占空间,减少了查找所需时间。网络前缀越短的地址块所包含的地址数越多。
4,IP地址特点:①由网络前缀和主机号两部分组成。②标志一台主机和一条链路的接口。③用转发器或交换机连接起来的若干局域网仍为一个网络。④平等。
4.2.4地址解析协议ARP
将IP地址解析为MAC地址。每一台主机都设有一个ARP高速缓存,里面存有本局域网上的各主机和路由器的IP地址到MAC地址的映射表。
过程:请求分组→收到请求分组→响应分组→收到响应分组。
从IP地址到MAC地址的解析是自动进行的,主机的用户对这种地址解析过程是不知道的。
4.2.5IP数据报的格式
其说明协议IP都具有什么功能。
一个IP数据报由首部和数据两部分组成。首部的前一部分长度是固定的,共20字节,固定部分后面是一些可选字段,长度可变。最长60字节。
首部固定部分各字段:版本 4位,首部长度 4位,区分服务DS 8位,总长度 16位,标识 16位,标志 3位,片偏移 13位,生存时间 8位,协议 8位,首部检验和 16位,源地址 32位,目的地址 32位。
标志日前只有两位有意义,最低位记为MF,MF=1,还有分片。=0,最后一片。中间位记作DF,DF=1不能分片。
生存时间TTL:数据报在网络中的寿命,路由器在每次转发数据报之前把TTL值减1。
可变部分1到40字节,为了增加IP数据报功能。
4.3IP层转发分组的过程
①基于终点的转发:根据分组中的目的地址查找转发表。
②最长前缀匹配:主机路由又叫作特定主机路由。默认路由。
先基于终点转发,没有则最长前缀匹配,若有默认路由则使用默认路由。
4.6互联网的路由选择协议
1,理想路由算法:①正确完整。②简单。③有自适应性。④稳定性。⑤公平性。⑥最佳的。
两类:静态路由选择策略:简单和开销较小,不能及时适应网络状态变化。动态路由选择策略:自适应性好,复杂,开销大。
路由选择协议:内部网关协议IGP。外部网关协议EGP。
自治系统之间的路由选择也叫作域间路由选择,而在自治系统内部的路由选择叫作域内路由选择。
4.6.2内部网关协议RIP
基于距离向量的路由选择协议,要求网络中每一个路由器都要维护从它自己到其他每一个目的网络的距离记录。距离等于16时即相当于不可达。只适用于小型互联网。
RIP不能在两个网络之间同时使用多条路由。RIP选择一条具有最少网络数的路由。
特点:①仅和相邻路由器交换信息。②交换的信息是当前本路由器所知道的全部信息,即自己现在的路由器。③按固定的时间间隔交换路由信息。
距离向量算法。好消息传播得快,坏消息传播得慢。
优:实现简单,开销较小。缺:限制了网络的规模,坏消息传播的慢。
4.6.5路由器的结构
路由器是一种具有多个输入端口和多个输出端口的专用计算机。任务是转发分组。
整个路由器可划分为路由选择部分和分组转发部分。转发仅涉及一个路由器,但路由选择涉及很多路由器。在讨论路由选择的原理时,往往不去区分转发表和路由表的区别,而可以笼统地都使用路由表这一名词。
交换结构:①通过存储器,②通过总线,③通过互连网络。
4.8虚拟专用网VPN和网络地址转换NAT
在互联网中的所有路由器,对目的地址是专用地址的数据报一律不能转发。专用地址:①10.0.0..0/8,②172.16.0.0/12,③192.168.0.0/16
专用IP地址也叫作可重用地址。
所有通过互联网传送的数据都必须加密。外联网VPN,远程接入VPN。
相关文章:
计算机网络-第4章 网络层
4.1网络层的几个重要概念 4.1.1网络层提供的两种服务 电信网面向连接通信方式,虚电路VC。 互联网设计思路:网络层要设计得尽量简单,向其上层只提供简单灵活的,尽最大努力交付的数据报服务。 网络层不提供服务质量的承诺&#…...
pytorch跑手写体实验
目录 1、环境条件 2、代码实现 3、总结 1、环境条件 pycharm编译器pytorch依赖matplotlib依赖numpy依赖等等 2、代码实现 import torch import torch.nn as nn import torch.optim as optim import torchvision import torchvision.transforms as transforms import matpl…...
利用Java的`java.util.concurrent`包优化多线程性能
利用Java的java.util.concurrent包优化多线程性能 一、引言 在Java的多线程编程中,性能优化是一个永恒的话题。随着多核CPU的普及和计算任务的日益复杂,多线程编程已经成为提高应用程序性能的重要手段。然而,多线程编程也带来了一系列的问题…...

软件著作权申请:开发者的重要保障与助力
一、引言 随着信息技术的飞速发展,软件产业已成为推动经济增长的重要动力。然而,在软件开发过程中,保护创作者的权益、防止抄袭和侵权行为显得尤为重要。软件著作权作为保护软件开发者权益的重要法律工具,其申请和登记流程对于软…...
WLAN Hostapd配置参数详解 - CN
想必大家平台在调试Hostapd时,针对某些特殊的参数,很难一下子理清楚其用法,这里对hostapd使用的配置参数进行一个归纳,以供大家参考( 其英文参考为:WLAN Hostapd配置参数详解 - EN-CSDN博客)&am…...

Excel 宏录制与VBA编程 ——VBA编程技巧篇一 (Union方法、Resize方法、Cells方法、UseSelect方法、With用法)
Uniom方法 使用Union方法可以将多个非连续区域连接起来成为一个区域,从而可以实现对多个非连续区域一起进行操作。 Resize方法 使用Range对象的Resize属性调整指定区域的大小,并返回调整大小后的单元格区域。 Cells方法 Cells属性返回一个Range对象。 Us…...

基于路径长度的样条插补算法(自动驾驶和路径跟踪控制适用)
以前在做车辆跟踪控制的时候发现在针对有多个X和多个Y对应的路径插补时候,总是报错,因为MATLAB里面的interp1插补函数它要求x要唯一对应一个y,当路径以单独的x或者y来求插补时候的时候就报错。由于在使用Matlab的interp1函数进行插值时&#…...

net Framework OAuth2.0
grant_type client_credentials 客户端凭证password 密码模式 用于资源所有者密码凭据token 隐藏式 、 简化式 简化模式又称为隐式授权码模式,它是授权码模式的一个简化版本authorization_code 授权码 A. 第三方程序向资源拥有者(用户)发送授权请求…...
速盾:服务器cdn加速超时如何解决?
CDN(Content Delivery Network,内容分发网络)是一种将网站内容分布到全球各地服务器上的技术,以提高网站的访问速度和用户体验。然而,在使用CDN时,有时候会遇到服务器CDN加速超时的问题,即CDN服…...

2024年6月总结及随笔之打卡网红点
1. 回头看 日更坚持了547天。 读《人工智能时代与人类未来》更新完成读《AI未来进行式》开更并更新完成读《AI新生:破解人机共存密码》开更并持续更新 2023年至2024年6月底累计码字1267912字,累计日均码字2317字。 2024年6月码字90659字,…...

《Windows API每日一练》7.4 状态报告上使用计时器
这一节我们使用计时器,每隔一秒获取当前鼠标坐标位置的像素值,并显示在窗口,这就相当于是一个简单的取色器了。 本节必须掌握的知识点: 第47练:取色器 7.4.1 第47练:取色器 /*----------------------------…...
python实现API调用缓存
python实现API调用缓存 1.代码2.输出3.保存的json数据 想把python某些函数的参数及返回值记录下来,如果之前已计算过,则直接返回缓存中的数据 1.代码 import jsondef get_variable_name(var):变量转变量名local_varsglobals()return [name for name, value in local_vars.ite…...

传输距离3000M|低延迟|48K采样音频传输模块-SA356大功率发射模块
无线音频应用中,远距离音频传输在许多领域具有广泛的应用需求,例如大型会议系统、公共广播、户外活动和音乐演出等。为了满足这些需求,音频传输模块需要具备一些关键特性,包括长距离传输能力、高音质、低延迟、稳定性以及抗干扰能…...
前端css性能优化
前端css性能优化 1. 减少样式表数量和压缩文件大小: 通过合并多个样式表、删除未使用的样式、压缩样式表等方式来减少样式表数量和大小,从而减少网络请求和提高加载速度。 通常来说,样式文件会被浏览器缓存,进入到其他页面样式文件…...
如何在Windows上使用Docker搭建PHP开发环境
前言 在本地搭建开发环境我好像没几年就要折腾一次,因为本地开发电脑使用的是windows,早些年的时候,用过很多类似WAMP之类的东西,但最终都有或多或少不满意的地方,前两年的时候,还折腾过WSL,但…...
java 单例模式
Java中实现单例模式的常见方式有两种:懒汉式和饿汉式。以下是这两种方式的简单示例: 饿汉式 饿汉式单例模式在类加载时就完成了实例的初始化,以空间换时间,确保了实例的唯一性。 public class Singleton {// 在自己内部定义自己…...
爬虫 属性 方法
在Python中,爬虫常用于从网页上抓取数据。BeautifulSoup是一个流行的库,用于从HTML或XML文件中提取数据。它创建了一个解析树,方便你从文档中查找、修改或导航数据。 安装BeautifulSoup 首先,你需要安装BeautifulSoup和lxml&…...

HEX文件
什么是hex文件 以*.hex为后缀的文件我们称之为HEX文件。hex是intel规定的标准,hex的全称是Intel HEX,此类文件通常用于传输将被存于ROM或EEPROM中的程序和数据。是由一行行符合Intel HEX文件格式的文本所构成的ASCII文本文件。HEX的英语原始意思是16进制…...
人机融合的智能操作系统
操作系统(Operating System,简称 OS)是管理计算机硬件与软件资源的系统软件,同时也是计算机系统的内核与基石。它的职责常包括对硬件的直接监管、对各种计算资源(如内存、处理器时间等)的管理、以及提供诸如…...

数据结构之二叉树概念
数据结构之二叉树 二叉树简介分类普通二叉树平衡二叉树满二叉树二叉搜索树(二叉排序树、二叉查找树),平衡二叉树红黑树 B树类型B树(B-树、B_树)B树B*树 二叉树 简介 二叉树(Binary Tree) :是一种非常重要…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...

USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...