计算机网络学习笔记(四)网络层 - 数据层面

news2024/11/24 20:44:00

文章目录

  • 网络层概述
      • 1.转发和路由选择
      • 2.网络服务模型
  • 网际协议
      • 1.IPv4
          • (1) IPv4数据报格式
          • (2)IPv4数据报分片
          • (3)IPv4编址
      • 2.IPv6
          • (1) IPv6数据报格式
          • (2)IPv4迁移到IPv6

网络层概述

1.转发和路由选择

网络层的作用单从表面来看比较简单:将分组从一台主机发送到另一台主机上。为此需要用到网络层的两种重要功能:

  • 转发。当分组到达路由器的某条输入链路时,该路由器必须将分组移动到适合的输出链路。
  • 路由选择。当分组从发送放流向接收方时,网络层必须决定这些分组所采用的的路由或路径。计算这些路径的算法被称为路由选择算法。

每台路由器中都具有一个关键元素————转发表。路由器检索到达分组首部的一个或多个字段,然后用这些字段在路由表中进行索引,通过此方法来转发分组。

2.网络服务模型

定义了分组在发送端和接收端之间的端到端运输特性。这些特性可能包括:

  • 确保交互
  • 具有时延上界的确保交付
  • 有序分组交付
  • 确保最小带宽
  • 安全性

因特网的网络层提供了单一的服务,称为尽力而为服务。使用尽力而为的服务,传送的分组既不能保证以它们的顺序被接收,也不能保证它们最终交付。既不能保证端到端时延,也不能保证最小带宽。

网际协议

1.IPv4

(1) IPv4数据报格式

image-20230117201503630

  • 版本。4比特。规定了数据报的IP协议版本。
  • 首部长度。4比特。用来确定IP数据报中荷载实际开始的地方。
  • 服务类型(TOS)。8比特。使不同类型的IP数据报能够相互区分开来。
  • 数据报长度。16比特。存储IP数据报的总字节长度。因为该字段为16比特,因此一个IP数据报的理论最大长度为65535字节。
  • 标识、标志、片偏移。与IP分片相关。
  • 寿命。用来确保数据报不会永远在网络中循环。
  • 协议。指示了IP数据报的数据部分应该交给哪个特定的传输层协议。
  • 首部校验和。用于帮助路由器检测收到的IP数据报中的比特错误。
  • 源和目的地址。当某源生成一个数据报时,它在源IP字段中插入它的IP地址,在目的IP地址字段中插入其最终的目的地址。
  • 选项。允许IP首部被扩展。
  • 数据。
(2)IPv4数据报分片

一个链路层帧能承载的最大数据量叫做最大传送单元(MTU)。为了解决IP分组过大的问题,可以将IP数据报中的数据分片成多个较小的IP数据报,然后用链路层帧封账这些较小的数据报,而这些较小的数据报就是所谓的片。片在其到达目的地运输层以前需要重新组装。当一台目的主机从相同源收到一系列数据报时,它需要确定这些数据报中的某些是否是一些原来较大的数据报的片。如果是,则它必须进一步确认是何时收到了最后一片,并且如何将这些接收到的片拼接到一起形成初始的数据报。

(3)IPv4编址

每个IP地址的长度为32比特,因此总共有2^32个可能的IP地址。这些地址通常按照点分十进制的方式表示。例如192.168.0.1。通常,我们将几台通过路由器连接起来的一个局域网络称为一个子网。而子网掩码就是子网的IP地址划分方式。

因特网的地址分配策略被称为无类别域间路由选择。在CIDR被采用之前,IP地址的网络部分被限制为8、16或24位,这是一种分类编址的方案,而被分成不同为的IP地址通常也被称为A、B和C类网络。

2.IPv6

(1) IPv6数据报格式

image-20230117205946425

  • 扩大的地址容量。IPv6将地址长度从32位提升到了128位。这能确保IP地址不会被用尽。除了单播地址和多播地址外,IPv6还引入了任播地址,这种地址可以将数据报交付给一组主机中的任意一个。
  • 简化高效的40字节首部。
  • 流标签。用于给特殊流的分组加上标签。比如音频和视频。
  • 版本。用于标识版本号
  • 流量类型。与IPv4的服务类型相似。
  • 有效荷载长度。IPv6数据报中跟在定长的40字节数据报首部后面的字节数量。
  • 下一个首部。标识数据报中的内容需要交付给哪个协议。
  • 跳限制。限制数据报的路由跳数。
  • 源地址和目的地址。
  • 数据。IPv6数据报的有效荷载部分。
  • 分片/重新组装。IPv6数据报不允许在中间路由器上进行分片和重新组装。这种操作只能在源/目的主机上进行。
  • 首部校验和。因为传输层和链路层都有进行相应的实现。因此被去除了。
  • 选项。
(2)IPv4迁移到IPv6

现在已进行广泛采用的方法是利用建隧道的方式来进行IPv4向IPv6的迁移。假定两个IPv6节点要使用IPv6数据报进行交互,但它们是经由IPv4路由器互联的。我们将两台IPv6主机之间的IPv4路由器集合称为一个隧道。借助与隧道,在隧道发送端的IPv6节点可以将整个IPv6报文放到一个IPv4数据报的数据字段中。然后借由IPv4数据报进行传输。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/169497.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【虹科回顾】2022网络安全精选内容回顾

“我们身上最有价值的东西, 不是证书和技能, 而是过去一切经历的总和。” 2022年已落幕,过去再也不会重来,无论是怎样的一年,都是我们自己生命中特别的一年。 2023年已来,我无法给您提供证书或者技能&a…

Jupyter Lab 的 10 个有用技巧

JupyterLab是 Jupyter Notebook「新」界面。它包含了jupyter notebook的所有功能,并升级增加了很多功能。它最大的更新是模块化的界面,可以在同一个窗口以标签的形式同时打开好几个文档,同时插件管理非常强大,使用起来要比jupyter…

el-date-picker实现通过其他方式触发日期选择器

el-date-picker 目前只能通过点击input输入框触发日期选择器,项目中需要通过其他方式触发日期选择器同时把input输入框去掉,如点击按钮 该模块由于后端接口数据传输限制 在前面文章里做了些许改动。 需求左右切换 可以快速找到年份,于是添加…

大数据技术架构(组件)——Hive:环境准备3

1.0.2、服务启动在搭建Hadoop的环节中,已经将Hadoop服务启动了,这里将Hive Metastore服务启动hive --service metastore1.0.2.1、服务端启动Debug模式为了方便学习,大家可以在IDEA中打开Terminal,开启debug模式和metastore服务启动…

C++设计模式实践——线上购物系统

一、系统的主要目标与功能 在本次设计中,考虑到目前疫情反复不断,为了方便群众,超市都推出在线购物并有配送员送货,于是我设计了一个超市在线网上购物送货的系统,这个系统的主要目标是帮助人们在家里购买自己需要的套…

Rust 学习笔记

参考自Rust 程序设计语言 简体中文版 1. Hello world 2. Cargo(Rust 的构建系统和包管理器) 使用 Cargo 创建项目 Cargo 配置文件 Cargo 目录结构 构建并运行 Cargo 项目 发布(release)构建 Cargo 常用命令 cargo build&#xf…

【青训营】Go的测试

Go的测试 测试主要包括:回归测试、集成测试、单元测试 一、单元测试 其中测试单元可以是函数,也可以是模块 规则: 1.所有测试文件都以_test.go结尾 2.测试函数命名规范:func TestXxx(*Testing.T) 3.初始化逻辑需要放置在TestMain中 以下是…

django框架【待续】

目录简介MVC与MTV模型MVCMTV创建项目目录生命周期静态文件配置(无用)启动django[启动](https://www.cnblogs.com/xiaoyuanqujing/articles/11902303.html)路由分组无名分组有名分组路由分发反向解析反向解析结合分组名称空间re_path与path自定义转换器视…

为什么普通人赚钱这么难?普通人的赚钱之路在哪里

前几天听一个老家的朋友说辛辛苦苦一整年,发现并没有赚到什么钱。付出与收入不成正比。首先要知道勤奋、努力并不一定就能够赚到钱像送外卖的,工地上班的,厂里上班的哪个不勤奋但他们即使非常努力工作一个月,扣除基本开支&#xf…

这是一篇知识帖:终于能明白云原生技术的概念和可落地的应用分享

随着云计算的发展和普及,云原生概念的热度也越来越高,到底什么是云原生?和我们日常工作有什么关系?本文是向大家介绍云原生技术的概念和要点,帮助大家快速了解和学习云原生,,便于大家了解工作的…

【PHP了解】PHP脚本语言基础

PHP PHP 文件的默认文件扩展名是 “.php”PHP 文件通常包含 HTML 标签和一些 PHP 脚本代码 例&#xff1a; <!DOCTYPE html> <html> <body><?php xxxxxxxxxxxxxxxxx; ?></body> </html>语法 代码框架 <?php 开始&#xff0c;以 ?…

DW动手学数据分析Task1:数据加载及探索性数据分析

目录1 数据载入1.1 载入数据1.2 read_csv和read_table的区别1.3 逐块读取1.4 修改表头和索引2 数据初步观察2.1 查看数据基本信息2.2 保存数据3 pandas数据结构和列操作3.1 Series 和DataFrame3.2 查看 DataFrame数据每列的名称和值3.3 DataFrame 的列删除和隐藏4 数据筛选4.1 …

如何合并pdf?来看这几个方法!

我们经常在整理文件的时候经常会选择将一些常用文件的格式改为pdf&#xff0c;因为这种文件格式就算发送给了别人&#xff0c;别人也不能随意的修改文件内容&#xff0c;这就保证了我们的文件内容的隐私安全。不过&#xff0c;对于处理pdf文件&#xff0c;我们还是会面临一些不…

c++ dynamic_cast,static_cast,const_cast,reinterpret_cast四种cast用法整理

在C中主要分为四种cast&#xff0c;分别是&#xff1a;static_cast、dynamic_cast、const_cast和reinterpret_cast dynamic_cast动态类型转换 首先&#xff0c;我们明确基类和派生类之间的两个转换术语 向上转换(upcast)&#xff1a;派生类向基类转换 向下站还(downcast)&…

证券服务应用评测系列:海通e海通财发布9.0版本,探索证券APP持续提升用户体验

易观分析&#xff1a;APP作为券商机构线上服务的入口&#xff0c;其活跃用户规模和运营水平在一定程度上能够体现机构战略定位、品牌运营、科技创新、用户竞争等综合实力。易观分析认为&#xff0c;如何围绕用户进行创新&#xff0c;利用技术将壁垒升高&#xff0c;打造具有品牌…

PuTTY installation directory must be on a local hard drive

putty安装问题 问题描述&#xff1a;安装时候报错&#xff0c;installation directory must be on a local hard drive 解决方案&#xff0c;无法解决。 很多人使用了这个方法解决了。但是我解决不了。 1、如果是exe类型的&#xff0c;直接右击以管理员身份运行。 2、如果是…

常用的文件类型大全(建议收藏)

文件格式格式图标格式概况mpg文件mpg是一种常见的视频格式,mpeg标准主要有以下五个,MPEG-1、MPEG-2、MPEG-4、MPEG-7及MPEG-21等。mpg有可能是基于MPEG-1(VCD)或MPEG-2torrent文件torrent文件(扩展名为.torrent)包含了一些BT下载所必须的信息,根据BitTorrent协议,文件发布者…

opencv文字旋转 putText旋转90°

文章目录● opencv文字旋转 putText旋转901. cv::getTextSize获取文字的尺寸textSize2. 设置文字图像textImg尺寸格式3. 将文字绘制在文字图像textImg上4. 对文字图像textImg进行旋转5. 在原图img上设置用来放置文字图像textImg的roi区域5.1 矩形区域roi5.2 行列范围roi6. 将文…

Swin-Unet: Unet-like Pure Transformer for Medical Image Segmentation论文解读

Swin-Unet: Unet-like Pure Transformer for Medical Image Segmentation 论文&#xff1a;[2105.05537] Swin-Unet: Unet-like Pure Transformer for Medical Image Segmentation (arxiv.org) 代码&#xff1a;HuCaoFighting/Swin-Unet: The codes for the work “Swin-Unet:…

LiveNVR监控流媒体Onvif/RTSP功能功能-支持GB35114接入国标流媒体平台接入说明

LiveNVR监控流媒体Onvif/RTSP功能功能-支持GB35114接入国标流媒体平台接入说明1、GB35114注册2、LiveNVR通过GB35114接入LiveGBS2.1、开启LiveGBS 35114功能2.2、 获取设备端证书给平台2.3、LiveGBS白名单中添加需要接入的国密设备2.4、导出LiveGBS平台端证书给设备&#xff08…