计算机网络-第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) :是一种非常重要…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...
智能AI电话机器人系统的识别能力现状与发展水平
一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...
