第四节-OSI-网络层

数据链路层:二层--MAC地址精确定位

Ethernet 2:

报头长度:18B

携带的参数:D MAC /S MAC/TYPE(标识上层协议)/FCS

802.3

报头长度:26B

携带的参数:D MAC/S MAC/LLC(标识上层协议)/SNAP(标识私有化协议)

公有协议:任何厂商都可以使用的协议

私有协议:只有开发出来这个协议的厂商可以使用

MAC地址=16进制=48bit

单播MAC:第8bit为0的,网卡产生,一对一进行单播通信

组播MAC:第8bit为1的,虚拟产生,一对多进行组播通信

广播MAC:所有bit全为1,虚拟产生,一对所有进行广播通信

TYPE标识的那些网络层协议

网络层:

IPV4:0x0800,就代表,数据交由网络层IPV4协议处理

ARP:0x0806,就代表,数据交由网络层ARP协议处理

第一行主要工作对报头进行标识

1、version=版本:标识版本的

0100=IPV4

0110=IPV6

2、header length=长度:计算IP报头的总长度

0101=5*4=20B=IP报头最小值

1111=15*4=60B=IP报头最大值

1字节等于8bit    32bit=4B

3、DS field=区分服务=结合QOS---不结合QOS是无意义的字段

4、Total length=总长度:描述整体IP报头+data数据的大小

 

第二行主要工作进行分片

MTU:最大传输单元=字节为单位

 

问题一:如何判断分片是一份数据

ID=标识:分片时,所有的分片该数值都相同,就标识为同一组数据

 

问题二:如何判断数据完全接收完毕,准备开始重组

Flags=标志:接收到为0的分片数据时,判断接收完毕,准备开始重组

 

问题三:如何判断数据重组时的顺序?

Fragment offset=分片偏移:标识数据原本的对应位置

 

ICMP只有最后一片数据携带=ICMP=8B

 

第三行主要工作标识控制信息

1、portocol=协议:标识网络层之上的服务

1=ICMP       6=TCP       17=UDP      89=OSPF

 

2、time to live=生存时间=TTL:网络层三层环境中,用来防环的,IP自带

TTL发出数据时携带TTL值255,每经过一台设备TTL递减1,减到TTL=1时判断为,网络不可达,无法正常通信

环路:数据再网络中转发,但是一直无法抵达目的地,循环的过程就称为环路

3、header checksum=头部校验和:IP报头校验的

 

小结:

1、实现QOS功能控制流量    DS FIELD

2、实现上层数据分             ID    FLAGS     分片偏移

3、实现IP头部的校验            H  C

4、基于TTL实现网络防环     TTL

5、标识上层的协议              protocol

 

第四行第五行,标识目的IP地址和源IP地址

Soures ip address=源IP地址

Destination IP address=目的IP地址

定位全局的作用---定位再设备上,标识设备的

192.168.56.1===十进制===32bit=4B,用点进行分割8bit=1B,分割成4段

二进制

0000 0001

0000 0010

0000 0100

0000 1000

0001 0000

0010 0000

0100 0000

1000 0000

十进制

1

2

4

8

16

32

64

128

每一组十进制都可以用8个二进制数来表达

变为四组十进制

IP最大值:255.255.255.255

IP最小值:0.0.0.0

192.168.56.1=十进制,转换成,二进制

凑数法:将每一组8位二进制进行标识,最终按照次序进行依次排列,得出最终十进制的结果

192.168.56.1=十进制

1100 0000.1010 1000.0011 1000.0000 0001=二进制

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

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

相关文章

Spring Boot 中 Druid 连接池与多数据源切换的方法

Spring Boot 中 Druid 连接池与多数据源切换的方法 在Spring Boot项目中,使用Druid连接池和进行多数据源切换是常见的需求,尤其是在需要读写分离、数据库分片等复杂场景下。本文将详细介绍如何在Spring Boot中配置Druid连接池并实现多数据源切换。 一、…

labview实现功能性全局变量

在日常的项目中,笔者最长使用的就是全局变量,这样用起来不仅省心省力,而且传值也很方便,没有什么阻碍,想要传什么数据一根线拉过去就可以了。后面才知道如果一直使用全局变量会导致读写卡死的状态,而且还有…

网络安全之SQLMAP _DNS注入配置方法

网上针对sqlmap进行dns注入的相关文章太少,只是简单介绍了下–dns-domain参数,相关的实战文章要么就模糊或者一笔带过,。然后参考网上的方法重新整理了一遍,简单理解。 需要准备的东西,sqlmap、windows盲注一个、两个…

web浏览器环境下使用window.open()打开PDF文件不是预览,而是下载文件?

如果你使用 window.open() 方法打开 PDF 文件,但浏览器不是预览而是下载文件,这可能是由于以下几个原因: 服务器配置:服务器可能将 PDF 文件配置为下载而不是预览。例如,服务器可能设置了 Content-Disposition 响应头…

pycharm快速更换虚拟环境

目录 1. 选择Conda 虚拟环境2. 创建环境3. 直接选择现有虚拟环境 1. 选择Conda 虚拟环境 2. 创建环境 3. 直接选择现有虚拟环境

联想“喜新厌旧”

科技新知 原创作者丨萧维 编辑丨蕨影 十月份,联想很忙。 先是2024联想科技创新大会15日在美国华盛顿州西雅图举行,联想大秀了一下自己在人工智能领域的创新产品、技术和解决方案,英特尔、AMD、英伟达三巨头更同时为其站台;后是与…

[白月黑羽]关于仿写类postman功能软件题目的解答

原题: 答: python文件如下 from PySide6.QtWidgets import QApplication, QMessageBox,QTableWidgetItem,QHeaderView,QWidget,QTableWidget from PySide6.QtCore import QEvent,QObject from PySide6.QtUiTools import QUiLoader import time import …

零基础Java第十八期:图书管理系统

目录 一、package book 1.1. Book 1.2. BookList 二、package user 2.1. User 2.2. NormalUser与AdminiUser 三、Main 四、NormalUser与AdminiUser的菜单界面 五、package operation 5.1. 设计管理员菜单 六、业务逻辑 七、完整代码 今天博主来带大家实现一个…

系统架构师考试极限18天备考复盘(2024年11月)

前言 写下这篇复盘笔记的时候还没有出成绩。目前泽崽还是在读研究生,在经过 大概2周多个全日 的极限备考之后,于11月10日参加了软考的系统架构师考试(高级)。目前对于“基础知识-案例分析-论文”的估分预期大概是:55-…

Unity肢体控制(关节控制)

前面的基础搭建网上自己搜,我这个任务模型网上也有,可以去官网看看更多模型,这里只讲述有模型如何驱动肢体的操作方式 第一步:创建脚本 第二步:创建Rig Builder 建空容器 加部件(Rig),加了之后…

用pandoc工具实现ipynb,md,word,pdf之间的转化

Pandoc 是一个强大的工具,可以实现多种文件格式之间的转换,包括 Jupyter Notebook (.ipynb)、Markdown (.md)、Word (.docx)、PDF 等格式。以下是具体的实现方法: 1. 安装 Pandoc 确保已安装 Pandoc: Linux: sudo apt install p…

二叉树遍历的非递归实现和复杂度分析

一,用栈实现二叉树先序遍历 1,原理 我用自己的口水话解释一下:准备一个栈,从根节点开始,先判断栈是否为空,如果否,就弹出一个元素,对弹出元素进行自定义处理,再将它的左…

【数据结构】什么是链栈?

在数据结构中,链栈(Linked Stack)是基于链表实现的一种栈结构,它在许多计算任务中有着广泛应用。对于初学者,理解链栈的概念、操作方式以及应用场景可以帮助我们更好地掌握数据结构的相关知识。在本篇文章中&#xff0…

Spring Boot编程训练系统:从概念到实现

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

redis序列化数据查询

可以看到是HashMap,那么是序列化的数据 那么我们来获得反序列化数据 import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.ObjectInputStream; import redis.clients.jedis.Jedis;public class RedisDeserializeDemo {public static…

PostgreSQL物化视图详解

物化视图简介 物化视图的产生背景与概念 产生背景 随着数据库规模的增大和查询复杂性的提高,数据库查询的性能问题变得越来越突出。为了优化查询性能,数据库系统引入了物化视图(Materialized View)的概念。物化视图是一种预先计…

球差控制操作数【ZEMAX操作数】

在光学设计中,对于球差的控制是必要的,那么在zemax中如何控制球差的大小,理解球差,以及使用相应操作数控制球差; 在这篇中主要写如何使用zemax操作数去控制或者消除球差,对球差进行简单的描述,之…

使用 FastAPI 和 Tortoise ORM 构建高效的异步应用:完整指南

在现代 Web 开发中,选择合适的框架和工具对构建高效的应用至关重要。FastAPI 作为一个快速、现代的 Web 框架,以其异步特性和对 Python 类型提示的支持而备受欢迎。而 Tortoise ORM 则是一个适用于异步应用的轻量级 ORM,特别适合与 FastAPI 结…

学习threejs,使用TWEEN插件实现动画

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.PLYLoader PLY模型加…

sql中in()方法查询参数过多处理小记

Springboot 多线程分批切割处理 大数据量List集合 ,实用示例 Java使用多线程批次查询大量数据(Callable返回数据)方式 问题背景 业务要求对未完工的几十万甚至百万工单进行发短信提醒以及消息通知。所以每次查询需要将这海量数据查询出来。如果使用单线程&#xf…