计算机网络-网络层
负责在不同的网络之间转发数据包,基于数据包的 IP
地址转发,每个数据包可以按照不同路径传输。网络层不负责丢包重传,以及数据包之间数据顺序的的问题。
网络设备
- 路由器工作在第三层:网络层,能看到网络层的地址,进行转发数据包。
- 网关,就是路由器地址。当需要路由器转发的时候,告诉主机数据从指定网关出发。
- 网关一般是这个网络里第一个能用的地址,比如
10.0.0.1
- 路由器有个路由表,告诉路由器可以达到哪些地方。
网络设备和OSI
模型关系
整个数据发送的准备过程如下:
- 应用层将要发送的数据文件准备好,
- 传输层
- 根据传输层的协议的字节限制,决定是否要将待传输的数据分段。
- 为每个片段数据添加上传输层的网络协议,
- 为每个片段数据添加要发送的目的
ip
地址和源ip
地址。
- 在数据链路层要分两种情况:
- 如果要发生数据的目的ip地址和源ip地址,就会广播给同一个网络段的所有主机,来获得mac地址,
使用自己的子网掩码判断自己在哪个网段使用自己的子网掩码判断目标地址在哪个网络,如果是同一个网段,用ARP
协议广播解析目标ip
地址的mac
地址 - 如果目的
ip
地址在另一个网络段,那么数据就要通过路由器转发,那么就要通过网关地址获取路由器的mac
地址。
当获取了mac
地址,数据链路层就会为来自网络层的ip
数据包添加上目的mac
地址和源mac
地址以及fcs
校验码,就可以在链路上传输。
- 如果要发生数据的目的ip地址和源ip地址,就会广播给同一个网络段的所有主机,来获得mac地址,
接受段与之相反,层层解除封装
设备作用
- 集线器:用于传输比特率,加强信号。
- 交换机:接受存储比特率,看 数据帧的目标mac地址,选择出口,决定哪个出口转发
- 路由器:接受存储比特流,先看目的mac地址,是不是自己,如果是,则去掉mac地址部分以及fcs校验部分,查看目的ip然后根据路由表选择出口,然后加上mac地址重新封装,转发数据
设备与数据流动
- 交换机:看到的是数据帧的流动
- 路由器:看到的是数据包的流动
- 物理层:看到的是比特流的流动
注意:路由器,交换机不会中病毒,但是病毒会影响网络设备转发没用的数据包,使得网络瘫痪
网络层协议
ARP
ARP
是为IP
地址到对应的硬件地址之间提供动态映射。动态意思是这个过程是自动完成的,ARP
是为32位的Ip地址个数据链路层48位的MAC地址之间提供映射。
ARP
工作在网络层,当需要把一个数据从源主机发送目的主机时:
- 如果目的主机在本地网络,那么ip数据报就可以直接送到目的主机上
- 如果目的主机在远程网络上,那么就通过ip选路来确定本地网络的下一跳路由器地址,并且让它转发IP数据。
在这个过程中,发送端主机必须要把32位的IP地址变成48位的MAC地址,从逻辑的IP地址到对应的物理硬件地址需要进行翻译,这就是APR
的左右。
ARP请求/应答
在
ARP
背后有一个基本概念,那就是网络接口有一个硬件地址。在硬件层次上进行的数据帧交换必须有正确的接口地址。但是,TCP/IP
有自己的地址:32 bit的I P地址。知道主机的IP
地址并不能让内核发送一帧数据给主机。内核(如以太网驱动程序)必须知道目的端的硬件地址才能发送数据。ARP
的功能是在32 bit的IP
地址和采用不同网络技术的硬件地址之间提供动态映射。
ARP
请求
在确定下一条的路由器或者主机的时候,需要发送端发送一个称为“ARP
请求的以太网数据帧给以太网上的每个主机”,就是广播。ARP
请求数据帧,包含目的主机的IP
地址,目的端的MAC
地址是48位的1(0XFF:FF:FF:FF:FF
)。意思是,同一个网络段的所有主机都处理这个APR
请求,如果你是这个IP
地址拥有者,请回答你的硬件地址。ARP
应答
目的主机的ARP接受到这份广播后,识别出这是在询问发送端在询问他的IP地址,于是发送一个ARP应答:在ARP应答中,将会包含IP地址和对应的硬件地址。
对于一个ARP请求来说,除目的端硬件地址外的所有其他的字段都有填充值。目的端硬件地址为0XFF:FF:FF:FF:FF。当系统收到一份目的端为本机的 ARP请求报文后,它就把硬件地址填进去。
完成一次,ARP应答和ARP请求之后的IP数据包就可以在链路上进行传输,当发送和目的端不在同一个网络会重复这个过程,直到到达目的主机。如果在同一个网络,那么一次ARP应答-请求就可以到达目的主机。
ARP
高速缓存
ARP
解析mac地址,数据发送就第一次需要解析数据包,以后就不需要了
ARP
代理
ARP
请求是从一个网络的主机发往另一个网络上的主机,那么连接这两个网络的路由器就可以回答该请求,这个过程称作ARP代理(Proxy ARP
)。这样可以欺骗发起ARP请求的发送端,使它误以为路由器就是目的主机,而事实上目的主机是在路由器的“另一边”
ICMP
用来检测网络故障的 ping
命令就是使用这个协议的,ping
是直接调用网络层,属于网络层
ping
局域网time应该小于10ms,否则比较拥堵,ttl就是生存周期,防止数据包在网络上循环
IP
IP数据报结构
IP
数据报的最高位在左边,最低位在右边,IP
数据报的传输次序是大端字节序列,也叫网络字节序。
- 版本用来标识,Tcp/ip是哪个版本的:ipv4 ,ipv6
- 首部长度:普通的
IP
首部长度是20个字节,如果有可变部分20个字节就加上可变部分 - 服务类型:为不同服务添加标记,实际就是优先级。
- 总长度:
- 是指整个
IP
数据报的长度,因此知道首部字长度字段和总长度字段,就知道IP
数据报中数据内容的起始位置和长度。 - 以字节为单位,16个字节,2^16-1=65535个字节,即数据最大字节数。以太网的最大传输单元
MTU
是1500字节(其数据长度是1480字节,1500减去20个首长度),因此当网络层的IP
数据报字节数超过MTU
,那么在数据链路层就会将数据报进行 “分片” 操作,以适应MTU
。但是如果IP
数据报长度小于以太网最小帧46字节,那么就会被填充,使得满足46字节。
- 是指整个
ttl(time-to-live)
:数据报生存时间字段,设置了数据报可以经过的最多路由器数。每次经过一个路由器就会减少1,ttl是0,就无法再转发了linux
: 64unix
: 255wins
: 127
Ip
组成
Ip
分为网络部分和主机部分,网络部分是可以由于子网掩码来确定,主机部分又可以细分为“子网和主机部分”:
- 子网掩码
255.0.0.0
就是告诉计算机其 ip地址10.0.0.0
中的10
是网络部分,后面是主机部分。 - 子网掩码
255.255.0.0
就是告诉计算机其ip地址10.10.0.0
中的10.10
是网络部分,后面是主机部分。
给定IP
地址和子网掩码以后,主机就可以确定IP
数据报的目的地是
- 本子网上的主机;
- 本网络中其他子网中的主机;
- 其他网络上的主机
在一般的体制中,
IP
可以从传输层接收数据报并进行发送,或者从一个网络接口接收数据报(待转发的数据报)并进行发送。IP
层在内存中有一个路由表。当收到一份数据报并进行发送时,它都要对该表搜索一次。当数据报来自某个网络接口时,IP
首先检查目的IP
地址是否为本机的IP
地址之一或者IP
广播地址。如
果确实是这样,数据报就被送到由IP
首部协议字段所指定的协议模块进行处理。如果数据报的目的不是这些地址,那么( 1)如果IP
层被设置为路由器的功能,那么就对数据报进行转发(也就是说,像下面对待发出的数据报一样处理);否则( 2)数据报被丢弃
相关文章:

计算机网络-网络层
负责在不同的网络之间转发数据包,基于数据包的 IP地址转发,每个数据包可以按照不同路径传输。网络层不负责丢包重传,以及数据包之间数据顺序的的问题。 网络设备 路由器工作在第三层:网络层,能看到网络层的地址&…...

机器学习:识别AI,GraphRAG,LoRA,线性变换,特征
1.AI识别 1.bitgrit 生成式 AI API 文档 生成式 AI 假图像检测 API 可用于以编程方式检测假图像(即由生成式 AI 创建的图像)。2.X Virality Prediction API 旨在预测推文的潜在病毒式传播力。https://bitgrit.net/api/docs/x_virality_prediction 2.Gr…...

阿里云SMS服务C++ SDK编译及调试关键点记录
一. 阿里云SMS服务开通及准备工作 在阿里云官网上完成这部分的工作 1. 申请资质 个人or企业 我这里是用的企业资质 2. 申请签名 企业资质认证成功后,会自动赠送一个用于测试的短信签名 也可以自己再进行申请,需要等待审核。 3. 申请短信模板 企…...

Flutter 正在迁移到 Swift Package Manager ,未来会弃用 CocoaPods 吗?
什么是 Swift Package Manager ?其实 Swift Package Manager (SwiftPM) 出现已经挺长一段时间了,我记得第一次听说 SwiftPM 的时候,应该还是在 2016 年,那时候 Swift 3 刚发布,不过正式出场应该还是在 2018 年的 Apple…...

PDF——分割pdf的10个工具
PDF分割器是一种可用于将PDF文档分割成更小的文档甚至单个页面的工具。分割 PDF 文档的主要原因是为了更容易共享。 但该过程的成功取决于您用于拆分 PDF 的工具。较简单的工具仅提供几个选项,可能并不适合所有类型的文档。我们将在本文中列出的 10 个最佳 PDF 分割…...
深入解析 Nginx 反向代理:配置、优化与故障排除
深入解析 Nginx 反向代理:配置、优化与故障排除 Nginx 是一个高性能的 HTTP 和反向代理服务器,它以其高并发和高可扩展性在业界享有盛誉。反向代理是 Nginx 的重要功能之一,通过反向代理可以实现负载均衡、安全代理、缓存等多种用途。本篇文…...

深度学习入门(一):感知机与输入数据
单层感知机与多层感知机 单层感知机(Single-Layer Perceptron)和多层感知机(Multi-Layer Perceptron,简称MLP)是神经网络的基本形式,用于执行各种机器学习任务,包括分类和回归。它们都基于早期…...

kubernetes 集群组件介绍
kubernetes 集群组件介绍 Kubernetes 架构 在Kubernetes(k8s)集群中,主节点(Master Node)和工作节点(Worker Node)都运行特定的软件组件,它们共同管理和运行容器化的应用程序。以下…...

Java | Leetcode Java题解之第327题区间和的个数
题目: 题解: class Solution {public int countRangeSum(int[] nums, int lower, int upper) {long sum 0;long[] preSum new long[nums.length 1];for (int i 0; i < nums.length; i) {sum nums[i];preSum[i 1] sum;}BalancedTree treap ne…...
开发一个MutatingWebhook
介绍 Webhook就是一种HTTP回调,用于在某种情况下执行某些动作,Webhook不是K8S独有的,很多场景下都可以进行Webhook,比如在提交完代码后调用一个Webhook自动构建docker镜像 准入 Webhook 是一种用于接收准入请求并对其进行处理的…...

【leetcode详解】另一棵树的子树 (C++递归:思路精析 过程反思)
思路详解: 总体框架: 对root树进行先序遍历,如果当前结点(记为cur)的值和subRoot的根节点值相等时,就开始判断 以cur为根节点的树 和 子树 是否结构一样? 如何判断两棵树是否结构完全相同? …...
物联网遇到人工智能,极快的加速物联网时代
近些年物联网已成为众多科技企业的战略目标,如智能家居等,在未来,手机、传感器等智能设备都走进了生活当中,据数据显示已经有80%以上的的智能手机配备了人工智能。人工智能也不陌生,自动驾驶、人脸识别这些应用场景都是…...

Vue3+Ts项目中经常遇到导入组件,vscode报无法找到模块xxx,xxx隐式拥有 “any“ 类型解决办法~
1、报错截图: 2、解决办法:在确保路径正确的情况下,你会在 src 目录下找到一个名为 env.d.ts 的文件(或者类似的名称)。在这个文件中,你可以声明 .vue 文件的模块类型。例如:(这告诉 TypeScript…...
郑州轻工业大学zzulioj1151~1159合集
郑州轻工业大学zzulioj1151~1159合集 郑州轻工业大学zzulioj1151~1159合集 1150数数多少个整数1151大整数加法题目描述1152: 二分搜索1153简易版最长序列题目描述1154: 校门外的树1155字符串比较 多实例题目描述1156单数变复数题目描述1157连续的n个1题目描述1158又是排序&…...

开发框架DevExpress XAF v24.2产品路线图预览——增强跨平台性
DevExpress XAF是一款强大的现代应用程序框架,允许同时开发ASP.NET和WinForms。XAF采用模块化设计,开发人员可以选择内建模块,也可以自行创建,从而以更快的速度和比开发人员当前更强有力的方式创建应用程序。 DevExpress XAF是一…...

程序员短视频上瘾综合症
一、是你疯了还是面试官疯了? 最近有两个学员咨询问题,把我给整得苦笑不得。大家来看看,你有没有同样的症状。 第一个学员说去一家公司面试,第一轮面试聊得挺好的。第二轮面试自我感觉良好,但是被面试官给Diss…...

image.convert()函数转换格式及显示图像的RGB三通道图像
引 言 视觉任务处理的图片按照图像通道深度分为单通道图像和多通道图像。单通道图像有grayscale灰度图、binary二值图、PNG图,多通道图像有三通道24位真彩色RGB图,8位伪彩色图像,YCbCr图像等。本文先介绍各种格式图像的特点,随后讲…...
C语言 ——— 在控制台实现扫雷游戏(一次展开一片,递归实现)
前言 两个数组,一个用来显示在控制台上,一个用来存放雷 两个数组的实际大小为11 * 11 ,而为了方便排查雷的个数,实际使用范围是9 * 9 test.c #include"mine_sweeping.h"void game() {// 存放雷char mine[ROWS][COL…...
el7升级Apache模块编译
1.背景 接续https://blog.csdn.net/nanhai_happy/article/details/140566070,由于升级升级Apache过程中,发现需要使用的mod_wsgi、mod_systemd和mod_cgi模块缺失,故接着解决继续编译生成。 2. 编译mod_cgi、mod_system 2.1 安装依赖 yum …...
Linux系统下的日志管理与ELK Stack实践
关于“Linux系统下的日志管理与ELK Stack实践”,这个主题涵盖了如何在Linux环境中高效地收集、解析、存储及分析日志,以及如何利用ELK Stack(Elasticsearch、Logstash、Kibana)这套工具来实现日志的集中管理和可视化。下面我会简要…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...

超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...