片偏移怎么计算_计算机网络学习笔记(四)之网络层

article/2025/9/13 5:53:34

点击蓝字关注我吧

fdbc0536c101bdef54a4a44b05dee86c.png

            越努力越幸运!!!

1

 网络层的功能

1.1异构网络互联

  • 网络的互联:指将两个以上的计算机网络,通过一定的方法, 用一种或多种通信处理设备(即中间设备)相互联接起来,以构成更大的网络系统。中间设备又称为中间系统或中继系统。

  • 根据中继系统所在层次,有以下四种不同的中继系统。

          1)物理层中继系统:中继器,集线器(Hub)。

          2)数据链路层中继系统:网桥或交换机。

          3)网络层中继系统:路由器。

          4)网络层以上的中继系统:网关。

使用物理层或数据链路层的中继系统时,仅仅是把一个网络扩大了,而从网络层的角度看,它仍然是同一个网络,一般并不称之为网络互联。因此网络互联通常是指用路由器进行网络互联和路由选择。路由器就是一台专用计算机,用于在互联网中进行路由选择。

1.2 路由与转发

    路由器主要完成两个功能:一个是路由选择(确定哪-条路径), 另一个是分组转发(当一个分组到达时所采取的动作)。路由选择是根据特定的路由选择协议构造出路由表,同时经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表。转发是处理通过路由器的数据流,关键操作是转发表查询、转发以及相关的队列管理和任务调度等。 

  • 路由选择:指按照复杂的分布式算法,根据从各相邻路由器所得到的关于整个网络拓扑的变化情况,动态地改变所选择的路由。

  • 分组转发:指路由器根据转发表将用户的IP数据报从合适的端口转发出去。

  路由表是根据路由选择算法得出的,而转发表是从路由表得出的。转发表确定在本路由器如何转发分组。转发表的结构应当使查找过程最优化,路由表则需要对网络拓扑变化的计算最优化。

1.3 网络层提供的两种服务

虚电路服务与数据报服务的对比如下:

  94ad7533f375e48fb5339d5f2c48576a.png

虚电路:一条从源主机到目的主机的路径

2

路由算法

2.1 静态路由和动态路由

路由器转发分组是通过路由表转发的,而路由表是通过各种算法得到的。

从能否随网络的通信量或拓扑自适应地进行调整变化来划分,路由算法可分为两大类:

  1. 静态路由算法(又称为非自适应路由算法):指由网络管理员手工添加和维护路由表。不适用于大型和复杂的网络环境。

  2. 动态路由算法(又称为自适应路由算法):指路由器上的路由表项是通过相互联接的路由器之间彼此交换信息,然后按照一定的算法优化出来的,而这些路由信息是在一定时间间腺里不断更新,以适应不断变化的网络,以随时获得最优的寻路效果。常用的动态路由算法可分为两类:距离-向量路由算法和链路状态路由算法。

2.2 距离-向量路由算法

在距离-向量路由算法中,所有的结点都定期地将它们的整个路由选择表传送给所有与之直接相邻的结点。这种路由选择表包含:

  • 每条路径的目的地(另一结点)。

  • 路径的代价(也称距离)。

在距离-向量路由算法中,所有的结点都必须参与距离向量交换,以保证路由的有效性和一致性,也就是说,所有的结点都监听从其他结点传送来的路由选择更新信息,并在下列情况下更新它们的路由选择表

  • 被通告一条新的路由,该路由在本结点的路由表中不存在,此时本地系统加入这条新的路由。

  • 发送来的路由信息中有一条到达某个目的地的路由,该路由比当前使用的路由有较短的距离(较小的代价)。此种情况下,就用经过发送路由信息的结点的新路由替换路由表中达到那个目的地的现有路由。

 距离-向量路由算法的实质:迭代计算一条路 由中的站段数或延迟时间,从而得到到达一个目标的最短(最小代价)通路。

  最常见的距离-向量路由算法:RIP算法,它采用“跳数”作为距离的度量。

2.3 链路状态路由算法

链路状态路由算法:要求每个参与该算法的结点都有完全的网络拓扑信息,它们执行下述两项任务。

第一,主动测试所有邻接结点的状态。

第二,定期地将链路状态传播给所有其他的结点(或称路由结点),而不仅仅是其邻接结点。

典型的链路状态算法是OSPF算法。

每当链路状态报文到达时,路由结点便使用这些状态信息去更新自己的网络拓扑和状态“视野图”,一旦链路状态发生了 变化,结点对更新了的网络图利用Dijsktra最短路径算法重新计算路由,从单一的源出发计算到达所有目的结点的最短路径。

链路状态路由算法主要有三点特征:

  • 使用泛洪法向本自治系统中所有路由器发送信息,即路由器通过所有端口向所有相邻的路由器发送信息。

  • 发送的信息就是与路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。

  • 只有当链路状态发生变化时,路由器才向所有路由器发送此消息。

链路状态路由算法的优点:每个结点独立计算路径,易于查找故障,链路状态报文大小与网络中路由结点数无关,规模可伸展。

2.4 层次路由

随着网络规模扩大,路由表变大,查找路由表变慢,传递路由表占用更大带宽,因此路由选择层次方式进行

OSPF 将一自治系统划分出域,路由器只知道本区域路由细节,不知道其他区域的路由细节。

层次路由降低区域内路由信息通信量,但增加了交换信息的种类,适用于规模很大的自治系统。

3

  IPv4       

3.1 IPv4分组

01

IPv4

IPv4=IP协议(版本为4)。IPv4,即现在普遍使用的IP协议(版本为4)。IP 协议定义数据传送的基本单元一-IP 分组及其确切的数据格式

  1.  IPv4分组的格式

   一个IP分组由首部和数据两部分组成。首部的前一部分是固定长度的, 共20字节,是所有IP分组必须具有的。在首部固定部分的后面是一些可选字段, 其长度是可变的,用来提供错误检测及安全等机制。

    IP 数据报的格式如下图:

  cb0e2d2e0478b62b6990e33c117ade60.png 

 IP首部各字段含义:

  • 版本:IP协议的版本,目前广泛使用的版本号为4。

  • 首部长度:占 4 位,可表示的最大数值。是 15 个单位(一个单位为 4 字节),因此 IP 的首部长度的最大值是 60 字节

  • 区分服务:占 8 位,用来获得更好的服务。在旧标准中叫做服务类型,但实际上一直未被使用过。1998 年这个字段改名为区分服务。

  • 总长度:占 16 位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节。总长度必须不超过最大传送单元 MTU。 

  • 标识:占16位。它是一个计数器,用来产生 IP 数据报的标识报。

  • 标志:占 3 位,目前只有前两位有意义。标志字段的最低位是 MF (More Fragment)。MF = 1 表示后面“还有分片”。MF =0 表示最后一个分片。标志字段中间的一位是 DF (Don't Fragment) 。只有当 DF = 0 时才允许分片。

  • 片偏移:占13 位,指出:较长的分组在分片后某片在原分组中的相对位置。片偏移以 8 个字节为偏移单位。

  • 生存时间:占8 位,记为 TTL (Time To Live),指示数据报在网络中可通过的路由器数的最大值。

  • 协议:占8 位&


http://chatgpt.dhexx.cn/article/y0onqkFt.shtml

相关文章

IP分片浅析

一、IP分片原理 IP分片是网络上传输IP报文的一种技术手段。 IP协议在传输数据包时,将数据报文分为若干分片进行传输,并在目标系统中进行重组。 不同的链路类型规定有不同最大长度的链路层数据帧,称为链路层MTU(最大传输单元&#…

硅钢片知识点

文章目录 一、电工钢为什么选硅钢二、为什么要用硅钢“片”三、为什么电机用无取向,变压器用有取向硅钢片四、其他关于硅钢片应该了解的4.1 热轧和冷轧4.2 厚度4.3 牌号4.4 叠片系数4.5 冲片性 一、电工钢为什么选硅钢 电机和变压器的内部主要组成是铜绕组&#xf…

wireshark捕获IP分片数据包实践

一 简介 如果一个数据包超过1500个字节,就需要将该包进行分片发送。通常情况下,是不会出现这种情况的。 下面通过使用ICMP包,来产生IP分片数据包。 使用ICMP包进行测试时,如果不指定包的大小,可能无法查看被分片的数据…

mongo分片

分片 在Mongodb里面存在另一种集群,就是分片技术,可以满足MongoDB数据量大量增长的需求。 当MongoDB存储海量的数据时,一台机器可能不足以存储数据,也可能不足以提供可接受的读写吞吐量。这时,我们就可以通过在多台机器上分割数据…

IP分片报文的接收与重组

对于长度超过接口MTU的数据包,需要进行分片处理,IP报头中与分片相关的字段有如下几个: Identification - 用来确认不同的分片是否属于同一个IP报文; Flags - 其中IP_MF表示还有分片,此分片为…

数据 分片

背景 传统的将数据集中存储至单一节点的解决方案,在性能、可用性和运维成本这三方面已经难于满足海量数据的场景。 从性能方面来说,由于关系型数据库大多采用 B 树类型的索引,在数据量超过阈值的情况下,索引深度的增加也将使得磁…

MongoDB:海量存储基础-分片架构

文章目录 1.分片架构2.分片策略3.读写策略4.数据迁移 1.分片架构 分片是数据库中常用的提升存储容量的方式,它基于水平拓展的思想,将大量的数据按一定规则分配到不同的服务器中存储,比如MySQL集群可以借助Sharding-JDBC等外部框架对数据进行…

SpringBoot文件分片上传

背景 最近好几个项目在运行过程中客户都提出文件上传大小的限制能否设置的大一些,用户经常需要上传好几个G的资料文件,如图纸,视频等,并且需要在上传大文件过程中进行优化实时展现进度条,进行技术评估后针对框架文件上…

芯片的设计流程和流片成本

每天都在用,但你知道芯片的设计流程和流片成本吗? 2017-05-10 06:10 来源:半导行业观察 芯片,是无数设计工程师们烧死很多脑细胞后产生的作品,完全可以称得上是当代的艺术品。无论是电工们,还是科技小白…

华为防火墙分片缓存

分片缓存 分片缓存功能用来缓存先于首片分片报文到达的后续分片报文,避免分片报文被防火墙丢弃。 网络设备在传输报文时,如果设备上配置的MTU(Maximum Transfer Unit)小于报文长度,则会将报文分片后继续发送。 我们知道…

二三层报头及IP分片详解

一、报文数据格式 二、二层数据格式 二层以太帧格式 DMAC(6字节)SMAC(6字节)type(2字节)DATA(46-1500字节)CRC(4字节) 字段长度含义DMAC6字节目的MAC地址&am…

哈希分片总结

主要参考: 《大数据日知录》 https://zhuanlan.zhihu.com/p/34985026 什么是哈希分片 后台随着数据规约的越来越大,单机明显无法存储着庞大的数据量,只能依靠大规模集群在对数据进行存储和处理,所以系统的可扩展性也成为了很重要…

MongoDB 分片

分片 sharding 分片是指将数据拆分,将起分散到不同服务器的过程.,将数据分散到不同的服务器上,可以存储更多的数据,处理更大的负载 MongoDB分片机制允许你创建一个包含许多服务器(分片)的集群,将子数据分散在集群中.每个分片维护着一个数据集合的子集,相比单服务器和副本集&…

LaTeX制作幻灯片

LaTeX \LaTeX LATE​X幻灯片制作采用的是beamer类。beamer类默认使用sans serif family,和article不同,article默认是roman font family。所以如果我要实现幻灯片的标题和正文字体的设置可以通过下面的命令: \setsansfont{TeX Gyre Termes} …

MySQL的分片

前言 从开发人员的角度来说,为什么要了解和掌握MySQL分片? 第一,了解MySQL分片可以更合理地定制分片策略,选分片字段是要讲科学的。 第二,了解MySQL分片以后如果出现故障报错,也有助于问题的排查。 第三…

外汇天眼:新手如何模拟炒外汇?模拟炒外汇的一点心得分享

模拟炒外汇通常是在没有进行外汇交易之前利用外汇交易软件的模拟账户进行无风险的外汇交易。是刚入门的投资者为熟悉外汇交易软件和外汇市场而经常使用的方法。 新手如何模拟炒外汇? 外汇市场的火热让不少投资者纷纷加入,很多高手也都是从新手走过来的…

外汇套利原理及策略EA

外汇套利,通俗解释就是当相同货币对或相关货币对之间的价差偏离正常范围时进行买卖,当价差回归正常范围时获利平仓的一种交易策略。 外汇套利分为三类 单品种的跨平台套利两相关品种的对冲套利三相关品种的三角套利 如何开发三角套利策略 “三角” 是…

外汇平台怎么选择?玩外汇又有那些优势呢?

外汇平台怎么选择?玩外汇又有那些优势呢? 怎么选择好的外汇平台呢? 第一个 是优先选择大炒外汇的交易平台,虽然也不排除一些小平台是优质的,不过对于新手投资者来说在判断上是很难下决断的。选大平台的主要原因是可以搜索相关的口碑&…

创建模拟外汇网站

1.创建网站模板 2.创建网站服务器 1.创建网站模板 打开pycharm,File→New Project,创建项目文件夹project1 单击项目文件project1,右键新建一个名称为rates.csv的文件。 输入以下内容: 交易币,交易币单位,现汇卖出价,现钞卖出价,现汇买入价…

量化交易之平台搭建

该篇主要是是用来展示量化交易的效果,不构成任何投资建议,仅供参考 搭建的环境: ​ 系统 linux-centos7 python环境: ​ python3.7.4 先安装好我们的库: cd demo pip install -r requirements.txt -i https://pypi.douban.com/simple安…