当前位置: 首页 > article >正文

网络:8.网络层

网络层在复杂的网络环境中确定一个合适的路径.一.IP协议二.基本概念主机: 配有IP地址, 也要进行路由控制的设备;路由器: 即配有IP地址, 又能进行路由控制;节点: 主机和路由器的统称;三.协议头格式4位版本号(version): 指定IP协议的版本, 对于IPv4来说, 就是4.4位头部长度(header length): IP头部的长度是多少个32bit, 也就是 length 4 的字节数. 4bit表示最大的数字是15, 因此IP头部最大长度是60字节.8位服务类型(Type Of Service): 3位优先权字段(已经弃用), 4位TOS字段, 和1位保留字段(必须置为0). 4位TOS分别表示: 最小延时, 最大吞吐量, 最高可靠性, 最小成本. 这四者相互冲突, 只能选择一个. 对于ssh/telnet这样的应用程序, 最小延时比较重要; 对于ftp这样的程序, 最大吞吐量比较重要.一般用不到16位总长度(total length): IP数据报整体占多少个字节.16位标识(id): 唯一的标识主机发送的报文. 如果IP报文在数据链路层被分片了, 那么每一个片里面的这个id都是相同的.3位标志字段: 第一位保留(保留的意思是现在不用, 但是还没想好说不定以后要用到). 第二位置为1表示禁止分片, 这时候如果报文长度超过MTU, IP模块就会丢弃报文. 第三位表示更多分片, 如果分片了的话, 最后一个分片置为0, 其他是1. 类似于一个结束标记.13位分片偏移(framegament offset): 是分片相对于原始IP报文开始处的偏移. 其实就是在表示当前分片在原报文中处在哪个位置. 实际偏移的字节数是这个值 8 得到的. 因此, 除了最后一个报文之外, 其他报文的长度必须是8的整数倍(否则报文就不连续了).8位生存时间(Time To Live, TTL): 数据报到达目的地的最大报文跳数. 一般是64. 每次经过一个路由, TTL - 1, 一直减到0还没到达, 那么就丢弃了. 这个字段主要是用来防止出现路由循环8位协议: 表示上层协议的类型16位头部校验和: 使用CRC进行校验, 来鉴别头部是否损坏.32位源地址和32位目标地址: 表示发送端和接收端.选项字段(不定长, 最多40字节): 略四.网段划分(重要)IP地址分为两个部分, 网络号和主机号网络号: 保证相互连接的两个网段具有不同的标识;主机号: 同一网段内, 主机之间具有相同的网络号, 但是必须有不同的主机号;不同的子网其实就是把网络号相同的主机放到一起.如果在子网中新增一台主机, 则这台主机的网络号和这个子网的网络号一致, 但是主机号必须不能和子网中的其他主机重复.通过合理设置主机号和网络号, 就可以保证在相互连接的网络中, 每台主机的IP地址都不相同.那么问题来了, 手动管理子网内的IP, 是一个相当麻烦的事情.有一种技术叫做DHCP(自动分配IP地址), 能够自动的给子网内新增主机节点分配IP地址, 避免了手动管理IP的不便.一般的路由器都带有DHCP功能. 因此路由器也可以看做一个DHCP服务器.过去曾经提出一种划分网络号和主机号的方案, 把所有IP 地址分为五类, 如下图所示(该图出自[TCPIP])。A类 0.0.0.0到127.255.255.255B类 128.0.0.0到191.255.255.255C类 192.0.0.0到223.255.255.255D类 224.0.0.0到239.255.255.255E类 240.0.0.0到247.255.255.255随着Internet的飞速发展,这种划分方案的局限性很快显现出来,大多数组织都申请B类网络地址, 导致B类地址很快就分配完了, 而A类却浪费了大量地址;例如, 申请了一个B类地址, 理论上一个子网内能允许6万5千多个主机. A类地址的子网内的主机数更多.然而实际网络架设中, 不会存在一个子网内有这么多的情况. 因此大量的IP地址都被浪费掉了.针对这种情况提出了新的划分方案, 称为CIDR(Classless Interdomain Routing)(无类别域间路由):引入一个额外的子网掩码(subnet mask)来区分网络号和主机号;子网掩码也是一个32位的正整数. 通常用一串 “0” 来结尾;将IP地址和子网掩码进行 “按位与” 操作, 得到的结果就是网络号;网络号和主机号的划分与这个IP地址是A类、B类还是C类无关;可见,IP地址与子网掩码做与运算可以得到网络号, 主机号从全0到全1就是子网的地址范围;IP地址和子网掩码还有一种更简洁的表示方法,例如140.252.20.68/24,表示IP地址为140.252.20.68, 子网掩码的高24位是1,也就是255.255.255.0五.特殊的IP地址将IP地址中的主机地址全部设为0, 就成为了网络号, 代表这个局域网;将IP地址中的主机地址全部设为1, 就成为了广播地址, 用于给同一个链路中相互连接的所有主机发送数据包;*127.的IP地址用于本机环回(loop back)测试,通常是127.0.0.1六.IP地址的数量限制我们知道, IP地址(IPv4)是一个4字节32位的正整数. 那么一共只有 2的32次方 个IP地址, 大概是43亿左右. 而TCP/IP协议规定, 每个主机都需要有一个IP地址.这意味着, 一共只有43亿台主机能接入网络么?实际上, 由于一些特殊的IP地址的存在, 数量远不足43亿; 另外IP地址并非是按照主机台数来配置的, 而是每一个网卡都需要配置一个或多个IP地址.CIDR(子网掩码)在一定程度上缓解了IP地址不够用的问题(提高了利用率, 减少了浪费, 但是IP地址的绝对上限并没有增加), 仍然不是很够用. 这时候有三种方式来解决:动态分配IP地址: 只给接入网络的设备分配IP地址. 因此同一个MAC地址的设备, 每次接入互联网中, 得到的IP地址不一定是相同的;NAT技术(后面会重点介绍);IPv6: IPv6并不是IPv4的简单升级版. 这是互不相干的两个协议, 彼此并不兼容; IPv6用16字节128位来表示一个IP地址; 但是目前IPv6还没有普及;七.私有IP地址和公网IP地址如果一个组织内部组建局域网,IP地址只用于局域网内的通信,而不直接连到Internet上,理论上 使用任意的IP地址都可以,但是RFC 1918规定了用于组建局域网的私有IP地址10.*,前8位是网络号,共16,777,216个地址172.16.到172.31.,前12位是网络号,共1,048,576个地址192.168.*,前16位是网络号,共65,536个地址包含在这个范围中的, 都成为私有IP, 其余的则称为全局IP(或公网IP);一个路由器可以配置两个IP地址, 一个是WAN口IP, 一个是LAN口IP(子网IP).路由器LAN口连接的主机, 都从属于当前这个路由器的子网中.不同的路由器, 子网IP其实都是一样的(通常都是192.168.1.1). 子网内的主机IP地址不能重复. 但是子网之间的IP地址就可以重复了.每一个家用路由器, 其实又作为运营商路由器的子网中的一个节点. 这样的运营商路由器可能会有很多级, 最外层的运营商路由器,WAN口IP就是一个公网IP了.子网内的主机需要和外网进行通信时, 路由器将IP首部中的IP地址进行替换(替换成WAN口IP), 这样逐级替换, 最终数据包中的IP地址成为一个公网IP. 这种技术称为NAT(Network Address Translation网络地址转换).如果希望我们自己实现的服务器程序, 能够在公网上被访问到, 就需要把程序部署在一台具有外网IP的服务器上. 这样的服务器可以在阿里云/腾讯云上进行购买.地区或者国家IP的分布https://zh-hans.ipshu.com/country-list八.尝试理解公网真实的网络结构非常复杂即涉及到划分公网IP的组织ICANN还要在全球范围内进行区域划分比如亚太北美欧洲等又要考虑各个国家内部的ISP代理整体拓扑非常复杂我们简化所有过程简单理解公网即可附录有关于建设公网的参与者和职责说明AI提示词公网的整个构建过程需要涉及到谁各自核心角色和作用是什么九.路由在复杂的网络结构中, 找出一条通往终点的路线;[唐僧问路例子1]路由的过程, 就是这样一跳一跳(Hop by Hop) “问路” 的过程.所谓 “一跳” 就是数据链路层中的一个区间. 具体在以太网中指从源MAC地址到目的MAC地址之间的帧传输区间.IP数据包的传输过程也和问路一样.当IP数据包, 到达路由器时, 路由器会先查看目的IP;路由器决定这个数据包是能直接发送给目标主机, 还是需要发送给下一个路由器;依次反复, 一直到达目标IP地址;那么如何判定当前这个数据包该发送到哪里呢? 这个就依靠每个节点内部维护一个路由表;[唐僧问路例子2]路由表可以使用route命令查看如果目的IP命中了路由表, 就直接转发即可;路由表中的最后一行,主要由下一跳地址和发送接口两部分组成,当目的地址与路由表中其它行都不匹配时,就按缺省路由条目规定的接口发送到下一跳地址。假设某主机上的网络接口配置和路由表如下:这台主机有两个网络接口,一个网络接口连到192.168.10.0/24网络,另一个网络接口连到192.168.56.0/24网络;路由表的Destination是目的网络地址,Genmask是子网掩码,Gateway是下一跳地址,Iface是发送接口,Flags中的U标志表示此条目有效(可以禁用某些 条目),G标志表示此条目的下一跳地址是某个路由器的地址,没有G标志的条目表示目的网络地址是与本机接口直接相连的网络,不必经路由器转发;转发过程例1: 如果要发送的数据包的目的地址是192.168.56.3跟第一行的子网掩码做与运算得 到192.168.56.0,与第一行的目的网络地址不符再跟第二行的子网掩码做与运算得 到192.168.56.0,正是第二行的目的网络地址,因此从eth1接口发送出去;由于192.168.56.0/24正 是与eth1 接口直接相连的网络,因此可以直接发到目的主机,不需要经路由器转发;转发过程例2: 如果要发送的数据包的目的地址是202.10.1.2依次和路由表前几项进行对比, 发现都不匹配;按缺省路由条目, 从eth0接口发出去, 发往192.168.10.1路由器;由192.168.10.1路由器根据它的路由表决定下一跳地址;

相关文章:

网络:8.网络层

网络层 在复杂的网络环境中确定一个合适的路径. 一.IP协议二.基本概念 主机: 配有IP地址, 也要进行路由控制的设备; 路由器: 即配有IP地址, 又能进行路由控制; 节点: 主机和路由器的统称; 三.协议头格式4位版本号(version): 指定IP协议的版本, 对于IPv4来说, 就是4.4位头部长度…...

archery-在rockylinux8上用docker部署sql审计平台

1.安装docker [rootarchery ~]# rpm -qa | grep podman [rootarchery ~]# rpm -q podman package podman is not installed [rootarchery ~]# dnf install -y yum-utils device-mapper-persistent-data lvm2 [rootarchery ~]# yum-config-manager --add-repo https://downloa…...

AI 数学的秘密花园:番外A.Prompt工程的几何直觉(用语义泡泡写prompt,效果翻倍)

番外A:Prompt工程的几何直觉(用语义泡泡写prompt,效果翻倍) 四大部分咱们已经从向量小积木,一路逛到大模型的生成魔法乐园,是不是觉得AI的“脑子”终于从黑箱变成了会呼吸的秘密花园?现在进入番外篇啦~第一站就是最实用的“落地神技”:Prompt工程的几何直觉。简单说,…...

量化交易入门

对于新手而言,量化交易无需被复杂代码和公式吓退,它本质是“数据驱动纪律执行”的投资方式,用计算机程序替代人工主观判断,实现更高效、更理性的交易。 一、什么是量化交易? 简单来说,就是把你对市场的判断…...

OpenAI Codex CLI 通过 LiteLLM 代理接入指南

统一代理调用 | 最佳配置 | 多模型切换 | 团队共享 概述 OpenAI Codex CLI 是一个终端 AI 编程助手,支持代码生成、重构、调试等。默认连接 OpenAI 官方 API,但可以配置为通过 LiteLLM 代理调用,统一走公司的 AI 代理平台,享受多厂商模型、预算控制、用量统计等能力。 安…...

AI写论文有妙招!4款AI论文生成工具,解决毕业论文写作难题!

您是否正在为撰写期刊论文、毕业论文或者职称论文而感到烦恼呢? 在进行人工撰写时,面临数不胜数的文献就像在汪洋大海中寻找一根针,复杂的格式要求让人倍感压力,反复的修改常常磨灭了写作的热情,低效率也成了许多学术…...

为何抗体定制服务是解决特定研究需求的关键策略?

一、抗体在生物医学研究与转化应用中的核心作用是什么?抗体,作为免疫系统响应特定抗原刺激而产生的高度特异性糖蛋白,是生命科学研究和生物医药开发中不可或缺的核心工具。凭借其精准的识别与结合能力,抗体被广泛应用于蛋白质组学…...

【C++进阶】彻底搞懂智能指针:从 RAII 原理到 unique_ptr/shared_ptr/weak_ptr 最佳实践

前言在 C11 之前&#xff0c;new 和 delete 是每位 C 程序员的噩梦。忘记释放内存导致泄漏、异常抛出导致 delete 未执行、多人协作时所有权不明确……这些问题催生了 C11 中最伟大的特性之一&#xff1a;智能指针&#xff08;Smart Pointers&#xff09;。本文将基于 <memo…...

21世纪引用量第一,三度封神CVPR:何恺明的“开挂”人生

21世纪引用量第一&#xff0c;三度封神CVPR&#xff1a;何恺明的“开挂”人生他是广东省高考满分状元&#xff0c;却放弃清华保送资格&#xff0c;只为证明自己。他是CVPR创办25年来首位华人最佳论文得主&#xff0c;此后又两次站上顶会之巅。他的一篇论文被《自然》杂志评为21…...

59. 如何使用 Rancher2 Terraform Provider 时启用调试日志

环境 Rancher2 Terraform Provider 情况If you encounter an issue with the Rancher2 Terraform Provider, capturing the debug output can be essential for troubleshooting or providing context to Rancher Support. This article explains how to enable debug logging …...

AI专著写作工具大揭秘,快速产出高质量专著不是梦

学术专著创作难题与AI工具助力 对于许多研究者来说&#xff0c;撰写学术专著时面临的最大挑战&#xff0c;无疑是“有限的精力”和“无限的需求”之间的矛盾。专著的创作通常需要三到五年&#xff0c;甚至更长的时间&#xff0c;而研究者们日常需要应对教学、科研项目及学术交…...

非移动互联网的庖丁解牛

一、一句话本质 非移动互联网 固定位置、固定设备、有线为主、人主动使用的互联网。 它不依赖手机、不依赖蜂窝网、不依赖位置、不依赖随身设备。二、三大核心构成&#xff08;极简版&#xff09; 终端&#xff1a;PC 电脑、笔记本、服务器、工控机、智能电视&#xff08;非移…...

YOLOV8模型衣物皮革类 布匹织物瑕疵数据集 2115张,6种瑕疵类型 json格式与yolo格式标签 目标检测 深度学习

&#xff0c;使用YOLOv8训练布匹织物瑕疵数据集。我们将从数据准备、模型训练、评估和可视化等方面详细介绍整个流程。此外&#xff0c;我们还会提供一些常用的自动脚本&#xff0c;帮助你进行数据预处理和探索性数据分析&#xff08;EDA&#xff09;。1. 环境准备 首先&#x…...

【WRF安装】完整自动化 WRF-ARW/WRF-Chem 安装脚本(多服务器测试)

目录 Step1:新建虚拟环境并安装所需库包(避免环境污染) Conda手动安装配置环境 Conda自动化安装脚本 WRF-Chem所需库包- flex(词法分析器生成工具) Step2.1:WRF-ARW 编译安装 注意要点 Step2.2:WRF-Chem 编译安装 注意要点 错误总结 Step3:WPS编译安装 注意要点 错误总…...

Kubernetes 极速安装与排障实战手册 (v1.35.2)

本次ubuntu22系统# **Kubernetes 高可用集群 极速安装与排障实战手册 (v1.35.2)**## 第一章&#xff1a;基础安装篇### 1.1 所有节点基础环境 bash # 关闭 swap swapoff -a && sed -i /swap/s/^/#/ /etc/fstab# 加载内核模块 cat > /etc/modules-load.d/k8s.conf &l…...

Vue3 性能优化实践

Vue3 性能优化实践 | 源码解析系列 6.4一&#xff0c;引言 性能优化是前端开发中的重要课题&#xff0c;Vue3虽然相比Vue2有了显著的性能提升&#xff0c;但在实际应用中仍需要开发者注意一些性能问题。本文将分享Vue3性能优化的最佳实践&#xff0c;帮助开发者构建高性能的Vue…...

大规模驱动企业 AI:Elastic 与 NVIDIA cuVS 集成

作者&#xff1a;来自 Elastic Brian BergholmRachael WadeHubert GrzesiekAleta Hubbell 无缝向量化高容量数据&#xff0c;并通过 GPU 加速向量搜索的新黄金标准加快生产上线时间。 总结 Elastic 与 NVIDIA 合作推出了由 NVIDIA cuVS 提供支持的 GPU 加速向量索引。集成到 NV…...

基于stc单片机电动车多用户充电设计(有完整资料)

资料查找方式&#xff1a;特纳斯电子&#xff08;电子校园网&#xff09;&#xff1a;搜索下面编号即可编号&#xff1a;T0942204C设计简介&#xff1a;本设计是基于stc单片机电动车多用户充电设计&#xff0c;主要实现以下功能&#xff1a;1.通过3个继电器控制电动车充电的开关…...

问卷设计:从“手工匠人”到“书匠策AI智造”的华丽转身

在学术研究的广袤天地里&#xff0c;问卷设计宛如一座桥梁&#xff0c;连接着研究者的思考与被调查者的反馈。然而&#xff0c;传统的问卷设计过程&#xff0c;往往像是一位手工匠人在精心雕琢一件艺术品&#xff0c;虽然细致入微&#xff0c;却也耗时费力&#xff0c;且容易受…...

FunASR:几行代码搞定语音识别全流程的开源工具包,GitHub已获15.2k Star!

导读语音识别&#xff08;ASR&#xff09;是人工智能落地最广泛的方向之一&#xff0c;但学术界的前沿模型与工业界的实际部署之间一直存在距离。阿里达摩院开源的 FunASR&#xff0c;正是为弥合这一差距而生。它提供基于大规模工业语料训练的预训练模型&#xff0c;支持训练、…...

Comsol 探索变质量注浆理论:压力与沉积颗粒、渗透率的奇妙关联

comsol变质量注浆理论&#xff0c;根据魏建平《裂隙煤体注浆浆液扩散规律及变质量渗流模型研究》&#xff0c;考虑不同注浆压力&#xff0c;进行了不同压力下的注浆封堵模拟&#xff0c;沉积颗粒浓度随着注浆压力增大会变大&#xff0c;渗透率负相关。最近在研究注浆相关的课题…...

神州路由器vlan 10访问电信,vlan 20访问移动的配置

SWA配置: CS6200-28X-Pro> CS6200-28X-Pro>ena CS6200-28X-Pro#conf CS6200-28X-Pro(config)#vlan 10;20;100;1017;1018 CS6200-28X-Pro(config)#int vlan 10 CS6200-28X-Pro(config-if-vlan10)#ip add 192.168.10.254 255.255.255.0 CS6200-28X-Pro(config-if-vlan10…...

SQL优化全攻略:从索引设计到执行计划的深度解析

SQL优化全攻略&#xff1a;从索引设计到执行计划的深度解析 在数据爆炸的时代&#xff0c;一条低效的SQL查询可能拖垮整个系统。本文通过索引策略示例、查询优化案例及Explain工具对比&#xff0c;为你揭开SQL优化的神秘面纱&#xff0c;实现从“慢查询”到“毫秒级响应”的质变…...

微电网分层控制与二次控制策略下的顶刊复现:事件触发控制图与模型研究

微电网分层控制&#xff0c;二次控制&#xff0c;顶刊复现&#xff0c;有事件触发控制图和模型微电网的二次控制就像给系统装了个智能调节器&#xff0c;传统的一次控制扛得住电压频率的瞬时波动&#xff0c;但真要玩长期稳定还得靠二次层出手。最近复现某顶刊的模型时发现&…...

PCB壳状结构-硬件一体化设计革命性突破

做过硬件量产的工程师都懂&#xff0c;传统硬件生产有一个绕不开的“繁琐流程”&#xff1a;先设计平面PCB&#xff0c;完成电路布线与元器件贴片&#xff0c;再单独开模做塑料或金属外壳&#xff0c;后期通过螺丝、卡扣将PCB与外壳组装成型。这套模式沿用了数十年&#xff0c;…...

FreeRTOS内部机制(二)

文章目录FreeRTOS内部机制&#xff08;二&#xff09;3.队列(Queue)3.1队列的核心&#xff1a;关中断、环形缓冲区、链表3.1.1怎么互斥访问数据3.1.2 怎么传递数据&#xff1f;3.1.3 怎么休眠/唤醒3.2操作示例3.2.1创建队列3.2.2读队列3.2.3写队列4.信号量(semaphore)4.1优先级…...

python-flask新能源汽车租赁管理系统的设计与实现_django pycharm vue

目录技术栈选择系统模块设计开发流程数据库设计部署方案扩展功能建议项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作以下是关于使用Python Flask、Django、PyCharm和Vue.js实现新能源汽车租赁管理系统…...

智慧农业农业四情监测系统 农情定点监测系统

AI害虫自动识别&#xff0c;精准辨虫、智能预警系统搭载行业先进的AI智能图像识别算法&#xff0c;搭配高清户外摄像头&#xff0c;24小时不间断自动捕捉田间害虫动态&#xff0c;告别传统人工下田查虫、肉眼辨认、耗时费力的弊端。AI模型经过海量农业害虫样本训练&#xff0c;…...

同花顺公式语法实战笔记

文章目录2026-03-17报错代码修正后代码报错报错 行3: 语法错误, 变量<开始测试>未定义报错 行5: 语法错误, 错误的输出线型错误代码正确代码-DOTLINE版本正确代码-LINETHICK1版本其他调试技巧2026-03-17 报错代码 MA5 : MA(CLOSE, 5); MA10 : MA(CLOSE, 10); { 新增&am…...

SQL-忘记sa密码,如何安全的尝试旧密码,如何修改新密码

Q: 现是记住密码的状态&#xff0c;所以可以直接登录。但是操作员忘了sa的密码&#xff0c;想尝试一下sa密码&#xff0c;如果不正确仍可保证能登录进去&#xff0c;那么当前的密码状态是否要勾选记住密码。 当前是勾选了记住密码&#xff0c;但想验证 sa 密码&#xff0c;且要…...