IP第一次笔记
一、TCP协议
第0步:如果浏览器和host文件存在域名对应的P地址记录关系
则直接封装HTTP数据报文,如果没有记录则触发DNS解析获
取目标域名对应的P地址
第一步:终端主机想服务器发起TCP三次握手
1.TCP的三次握手
2.传输网页数据
HTTP --应用层
TCP SPORT X DPORT 80
IP
SIP PC DIP 服务器(DNS)
SMAC PC DMAC 网关
3.服务器进行回复
4.断开连接---TCP四次挥手
5.TCP---是面向连接的协议
实质上是一种点到点(端到端)的连接---一对一的通讯
第二步:终端发起http请求
第三步:服务器基于请求的资源目录,进行回复
第四步:四次挥手断开服务器和终端的TCP会话
跨层封装-
对TCP三次握手和四次挥手详细解析:
SYN(同步序列编号):
客户端发送一个SYN报文到服务器,并进入SYN-SENT状态。
在这个SYN报文中,客户端将指定自己的初始序列号(ISN),这是后续传送数据时的参考点。
SYN-ACK(同步确认应答):
服务器收到客户端的SYN报文后,会发送一个SYN-ACK报文作为应答。
服务器同样在应答中包含自己的初始序列号(Y)。
服务器将确认序号设置为客户端的初始序列号加1(X+1),表示服务器已经收到了客户端的SYN。
服务器此时进入SYN-RCVD状态。
ACK(确认):
客户端收到服务器的SYN-ACK报文后,会向服务器发送一个ACK报文。
这个ACK报文中的确认序号会是服务器的初始序列号加1(Y+1)。
客户端此时进入ESTABLISHED状态,表示客户端到服务器的连接已经建立。
服务器在收到这个ACK报文之后,也进入ESTABLISHED状态,表示服务器到客户端的连接也已经建立。
TCP四次挥手(终止连接)
四次挥手是TCP终止连接时的机制,用于在两个TCP端点之间终止一个可靠的连接。这个过程确保了双方都结束数据传输,并且正确关闭连接。
FIN(结束):
当客户端完成数据传输后,它需要发送一个FIN报文到服务器,并进入FIN-WAIT-1状态。
在这个FIN报文中,客户端告诉服务器它已经没有数据发送了。
ACK(确认):
服务器收到这个FIN报文后,会发送一个ACK报文作为应答,并进入CLOSE-WAIT状态。
服务器此时仍然可以发送数据,客户端仍处于半开状态。
FIN(结束):
当服务器完成数据传输后,它也会发送一个FIN报文到客户端,并进入LAST-ACK状态。
在这个FIN报文中,服务器告诉客户端它已经没有数据发送了。
ACK(确认):
客户端收到这个FIN报文后,会发送一个ACK报文作为应答,并进入TIME-WAIT状态。
服务器收到这个ACK报文后,关闭连接,进入CLOSED状态。
客户端在经过一段时间(称为TIME-WAIT等待时间)后,确保服务器收到了最后的ACK报文,也会关闭连接,进入CLOSED状态。
OSPF--跨四层封装的协议--可以提升数据包转发效率
利用协议字段区分上层协议
TCP---6
UDP--17
OSPF--89
STP---生成树协议跨三四层进行封装
静态配置IP地址
DHCP--动态主机配置协议--应用层协议
UDP c---68 s---67
1.首次获取ip地址
1.1 C—>S dhcp-discover--寻址网络中可能存在的DHCP服务器
UDP SPORT 68 DPORT 67
SIP 0.0.0.0 DIP 255.255.255.255
SMAC PC DMAC FF-FF..FF
1.2、 S—C dhcp-offer报文---携带一个可用的IP地址
UDP SPORT 67
DPORT 68
SIP FWQ
DIP 可用的IP地址/255.255.255.255
Smac fwq dmac pc/ff..FF
1.3C—>S---dhcp request--请求报文,请求一个IP地址
UDP SPORT 68 DPORT 67
SIP 0.0.0.0 DIP 255.255.255.255
SMAC PC DMAC FF-FF..FF
1.通知请求的服务端我使用了你下发的IP地址
2.告知网络中其他dhcp服务端,你的地址没有使用可用释放掉
1.4 S—C dhcp-ack报文---携带一个可用的IP地址
UDP SPORT 67 DPORT 68
SIP FWQ
DIP 可用的IP地址/255.255.255.255
Smac fwq dmac pc/ff..FF
ACK--NAK
1.在次获取ip地址
租期--24h
1.3C—>S---dhcp request--请求报文,请求一个IP地址--单播发送
UDP SPORT 68 DPORT 67
SIP 获取到的地址 DIP fwq
SMAC PC DMAC FWQ
1.4 S—C dhcp-ack报文---携带一个可用的IP地址
UDP SPORT 67 DPORT 68
SIP FWQ
DIP 可用的IP地址/255.255.255.255
Smac fwq dmac pc/ff..FF
T1时间---50%租期 12h
T2时间--87.5%租期 21H
二、ARP协议--地址解析协议
已知一种地址获取另外一种地址的协议
正向ARP--通过IP地址获取MAC地址
反向ARP-ARP是一种网络协议,允许局域网中的主机从网关服务器的ARP表或者缓存上请求其IP地址。
在ARP中,主机发送一个广播请求,请求包含其MAC地址,询问“我的IP地址是什么?”
网络上的RARP服务器收到这个请求后,会根据请求中的MAC地址查找对应的IP地址,然后发送一个包含IP地址的应答给请求的主机。
ARP主要在早期的网络环境中使用,现代网络环境中较少使用。
免费ARP-FreeARP是一种ARP协议的变体,它允许设备在没有收到ARP请求的情况下,主动广播自己的IP地址和MAC地址映射关系。
这通常用于网络设备在启动时,或者当设备的IP地址发生变化时,主动通知网络上的其他设备其新的IP地址。
FreeARP可以减少网络中的ARP流量,因为它减少了为了解析IP地址而发送的ARP请求的数量。
交换机转发:首先收到数据帧之后,需要基于接受该数据帧的接口和数据
帧中源MAC地址信息,记录对应关系到MAC地址表中,之后根据数据帧
中的目标MAC进行转发,一旦存在记录则直接单播转发(只从某一个记
录的接口发出),如果没有记录或者,的mac是全FF则洪范——除了接
收该数据帧的接口外,想剩下所有接口复制转发一份该数据帧
路由器的转发原理:当一个数据包来到路由器路由器会根据自身的路由表
查看数据包中的目标IP地址进行转发,如果存在记录则直接转发,如果没
有记录则直接丢弃
三、VLAN
VLAN---虚拟局域网
VLAN---作用:交换机利用VLAN可以实现将一个广播域
逻辑上拆分为多个虚拟的广播域
LAN--局域网
MAN--城域网
WAN--广域网
VID ---VLAN-ID作用:区分和标识划分出来的虚拟局域网
数量4096个 取值范围0-4095 实际的取值范围1-4094,设备
默认存在VLAN-1

1.创建VLAN(创建VLAN-ID)
[Huawei]vlan 2--单纯创建VLAN

批量创建VLAN
接口绑定VLAN--一层VLAN (物理VLAN)
分区 新分区 的第 页1 1


定义接口链路类型
如果将接口配置为 ccess接口,那么该接口发出的所有数据均A
不携带VLAN标签
[Huawei-GigabitEthernet0/0/1]port link-type access
[Huawei-GigabitEthernet0/0/1]port default vlan 2——定义接口链路类
型,并且将接口绑定VLAN的配置
当数据来到交换机交换机会记录数据帧中源MAC地址和接口的对应关
系,并且会记录接口绑定的VLAN-ID,之后基于目标MAC进行转发,当
MAC地址表存在记录则单播,如果没有记录则洪范给具有相同VLAN-ID
的接口
如果接口需要放通多个VLAN的数据,并且需要对数据进行区
分,那么需要将该接口配置为TRUNK
[Huawei-GigabitEthernet0/0/5]port link-type trunk
[Huawei-GigabitEthernet0/0/5]port trunk allow-pass vlan 2 3
分区 新分区 的第 页1 2


[Huawei-GigabitEthernet0/0/5]port trunk allow-pass vlan 2 3
华为设备接口默认的链路类型是混杂
PVID---接口绑定的VID
[Huawei-GigabitEthernet0/0/5]port trunk pvid vlan 2--trunk接口可以修
改接口PVID
华为设备规定所有交换机内部的流量必须携带标签
分区 新分区 的第 页1 3

混杂接口---通过配置混杂接口可以做到针对二层业务数据进行访问控
制的效果,可以将VLAN的逻辑根据需求做到更加灵活的处理
配置
[sw1]vlan batch 2 3 4
[sw1-GigabitEthernet0/0/1]port link-type hybrid
[sw1-GigabitEthernet0/0/1]port hybrid pvid vlan 2
[sw1-GigabitEthernet0/0/1]port hybrid untagged vlan 2 3 4--允许接口放
通VLAN数据不携带VLAN标签
[sw1-GigabitEthernet0/0/ ] port hybrid tagged vlan 2 to 43 --允许接口放通
VLAN数据携带VLAN标签
[sw2-GigabitEthernet0/0/10]undo port hybrid vlan 1
分区 新分区 的第 页1 4

子接口配置
interface Ethernet0/0/0.1
dot1q termination vid 2
ip address 192.168.1.10 255.255.255.0
arp broadcast enable
三层交换机
[SW3]vlan batch 2 3--1.创建VLAN
[SW3]interface GigabitEthernet 0/0/1
[SW3-GigabitEthernet0/0/1]port link-type trunk
[SW3-GigabitEthernet0/0/1]port trunk allow-pass vlan 2 3---接口
放通VLAN
SVI接口---交换机虚拟接口
[SW3]interface Vlanif 2--创建VLANIF接口--注意编号和vlan本身
需要一一对应
[SW3-Vlanif2]ip address 192.168.1.10 24
[SW3-Vlanif3]ip address 192.168.2.10 24
分区 新分区 的第 页1 5
[SW3-Vlanif3]ip address 192.168.2.10 24
分区 新分区 的第 页1 6
相关文章:
IP第一次笔记
一、TCP协议 第0步:如果浏览器和host文件存在域名对应的P地址记录关系 则直接封装HTTP数据报文,如果没有记录则触发DNS解析获 取目标域名对应的P地址 第一步:终端主机想服务器发起TCP三次握手 1.TCP的三次握手 2.传输网页数据 HTTP --应用层…...
计算机三级信息安全部分英文缩写
eip,指令寄存器,用于存放指向下一条将执行指令的指针,即返回地址栈顶指针esp基址指针寄存器EBP,基地址数据执行保护DEP(Data Execute Prevention)技术可以设置内存堆栈区的代码为不可执行状态,从而防范溢出后代码的执行…...
Supplements of My Research Proposal: My Perspectives on the RAG
To build an agent, I think there’re a lot of things that can be considered from humans. For example, how do self-learners learn things? I think 2 sources of knowledge can never be ignored: textbooks and online cources. A question then arise: how do we …...
【安全】nginx防止host头攻击
host攻击 系统上线之前要经过安全测试,安全测试中有这么一项,请求头中的host字段,这个值随便修改之后,响应还可以正常返回,这种这种就是有风险的,是测试不通过的,默认情况下,浏览器地址栏中的URL和请求头中的host字段值的ip和端口(或者是域名)是一样的&a…...
vue3实现router路由
说明: vue3实现router路由 效果图: step1:项目结构 src/ ├── views/ │ ├── Home.vue │ └── User.vue ├── router/ │ └── index.js ├── App.vue └── main.jsstep2:左边路由列表C:\Users\wangrusheng\PycharmProjects\un…...
蓝桥杯省赛 棋盘 3533 二维差分+二维前缀和
传送门 0棋盘 - 蓝桥云课 const int N 2e3 10;int n,m; int a[N][N];void insert(int x11,int y11,int x22,int y22) {a[x11][y11] ;a[x11][y22 1] --;a[x22 1][y11] --;a[x22 1][y22 1] ; }void solve() {cin >> n >> m;for (int i 1;i < m;i ){int x11…...
1500 字节 MTU | 溯源 / 技术权衡 / 应用影响
注:本文为 “MTU 字节” 相关文章合辑。 机翻,未校。 讨论部分,以提交人为分界。 单行只有阿拉伯数字的,为引文转译时对回复的点赞数。 How 1500 bytes became the MTU of the internet 1500 字节是如何成为互联网 MTU 的 Fe…...
智能仪表板DevExpress Dashboard v24.2新版亮点:支持.NET 9
使用DevExpress BI Dashboard,再选择合适的UI元素(图表、数据透视表、数据卡、计量器、地图和网格),删除相应参数、值和序列的数据字段,就可以轻松地为执行主管和商业用户创建有洞察力、信息丰富的、跨平台和设备的决策…...
【数据结构】二叉树的递归
数据结构系列三:二叉树(二) 一、递归的原理 1.全访问 2.主角 3.返回值 4.执等 二、递归的化关系思路 三、递归的方法设计 一、递归的原理 1.全访问 方法里调用方法自己,就会形成调用方法本身的一层一层全新相同的调用,方法的形参设置…...
Optional的stream方法,flatMap, filter应用
Java 8引入的Optional和Stream彻底改变了我们处理空值和集合操作的方式。本文将深入探讨如何将二者结合使用,通过四个核心场景提升代码的健壮性和简洁性。 一、Optional构成的Stream:空值自动过滤 当处理Optional集合时,我们常需要过滤掉空…...
Intellij ider部署python项目教程
自己写了一个python项目【mac电脑】,然后用Intellij ider打开,配置python解释器,然后一运行,一直报错, If this fails your Python may not be configured for Tk ModuleNotFoundError: No module named _tkinter 各…...
Linux进程状态补充(10)
文章目录 前言一、阻塞二、挂起三、运行R四、休眠D五、四个重要概念总结 前言 上篇内容大家看的云里雾里,这实在是正常不过,因为例如 写实拷贝 等一些概念的深层原理我还没有讲解,大家不用紧张,我们继续往下学习就行!&…...
使用ANTLR4解析Yaml,JSON和Latex
文章目录 ANTLR4基本使用**1. 安装 Java 运行时(必需)****2. 安装 ANTLR4 命令行工具****方法一:通过包管理器(推荐)****macOS/Linux (Homebrew)****Windows (Chocolatey)** **方法二:手动安装(…...
基于Python深度学习的鲨鱼识别分类系统
摘要:鲨鱼是海洋环境健康的指标,但受到过度捕捞和数据缺乏的挑战。传统的观察方法成本高昂且难以收集数据,特别是对于具有较大活动范围的物种。论文讨论了如何利用基于媒体的远程监测方法,结合机器学习和自动化技术,来…...
Ruby 简介
Ruby 简介 引言 Ruby 是一种广泛使用的动态、开源的编程语言,自 1995 年由日本程序员 Yukihiro Matsumoto(通称 Matz)设计以来,它以其优雅的语法、强大的库支持和跨平台特性赢得了全球开发者的青睐。本文将详细介绍 Ruby 的起源、特点、应用领域以及它在现代软件开发中的…...
EtherNet/IP转ProfiNet协议转换网关驱动西门子PLC与流量计的毫秒级压力同步控制
一、案例背景 汽车涂装线的静电喷涂工艺对压缩空气流量稳定性要求极高。原系统中Alicat流量计与西门子PLC因协议差异无法联动,导致涂料浪费率高达8%。通过JM-EIPM-PN网关实现供气系统与PLC的深度集成。从而实现了EtherNet/IP转ProfiNet的通讯。 二、设备连接与配置…...
为mariadb和mysql添加用户和修改密码的方法
一、查看MariaDB中的用户 步骤1:登录MariaDB sudo mysql -u root -p # 使用root账户登录(输入密码) 步骤2:查询用户列表 -- 切换到mysql系统数据库 USE mysql; -- 查看所有用户及其主机权限 SELECT User, Host FROM user; 输出…...
【力扣刷题|第十七天】0-1 背包 完全背包
目标和 力扣题目网址:目标和 这道题我们先用回溯的思想来做。首先我们设正数和为S,数组和为N,目标值为T,那么S-(N-S)T化简之后可以得S(TN)/2即选择的正数个数为偶数,而且NT也为偶数,那么第一个判断条件我们就有了&…...
python的内存管理
目录 1. 引用计数 2. 垃圾收集(GC) python的内存管理主要是引用计数和垃圾回收器来进行内存管理 1. 引用计数 每个 Python 对象都有一个引用计数,当引用计数为零时,对象的内存会被释放。 import sysa [] # 创建一个空列表对…...
TDengine 中的异常恢复
简介 本章主要介绍在 TDengine 执行命令过程中发生异常,如何手工终于执行的任务。可以终止连接,线上查询及终止事务。 如果一个事务 在一个复杂的应用场景中,连接和查询任务等有可能进入一种错误状态或者耗时过长迟迟无法结束,…...
SQL Server:当在删除数据库时因为存在触发器而无法删除
当在删除数据库时因为存在触发器而无法删除,你可以通过禁用触发器来解决这个问题。下面为你介绍在 SQL Server 里禁用和启用触发器的方法。 禁用数据库中所有表的触发器 你可以使用系统视图 sys.triggers 来查询数据库里所有的触发器,然后生成禁用这些…...
深度学习处理时间序列(3)
基于常识、不使用机器学习的基准 在开始使用像黑盒子一样的深度学习模型解决温度预测问题之前,我们先尝试一种基于常识的简单方法。它可以作为一种合理性检查,还可以建立一个基准,更高级的机器学习模型需要超越这个基准才能证明其有效性。对…...
C++11 -表达式/包装器
1. lambda 表达式各部分说明 [capture-list]:捕捉列表,该列表总是出现在 lambda 函数的开始位置,编译器根据 [] 来判断接下来的代码是否为 lambda 函数,捕捉列表能够捕捉上下文中的变量供 lambda 函数使用。(parameters)…...
VectorBT:使用PyTorch+LSTM训练和回测股票模型 进阶二
VectorBT:使用PyTorchLSTM训练和回测股票模型 进阶二 本方案基于LSTM神经网络构建多时间尺度股票收益率预测模型,结合VectorBT进行策略回测。核心原理是通过不同时间窗口(5/10/20/30日)捕捉股价的短期、中期、长期模式,…...
蓝桥杯 第十二天 819 递增序列
注意注意:不考虑左上的情况,因为题目给的样例没有 public static int is1(char ch[][],int m,int n){int ans0;for (int i0;i<m;i){//起始点在哪for (int j0;j<n;j){int add1;while(jadd<n){if(ch[i][j]<ch[i][jadd]) ans; //横add;}add1…...
ThreadLocal 的妙用(线程隔离)与陷阱(内存泄漏)
前言 在Java开发中,线程安全是一个高频关键词。当我们使用多线程处理共享数据时,常常需要加锁或使用同步机制来避免数据混乱。但有一把“锁”却能让每个线程拥有自己的独立数据副本,它就是ThreadLocal。接下来通过实际案例,带你理…...
【YOLOv11】目标检测任务-实操过程
目录 一、torch环境安装1.1 创建虚拟环境1.2 启动虚拟环境1.3 安装pytorch1.4 验证cuda是否可用 二、yolo模型推理2.1 下载yolo模型2.2 创建模型推理文件2.3 推理结果保存路径 三、labelimg数据标注3.1 安装labelimg3.2 解决浮点数报错3.3 labelimg UI界面介绍3.4 数据标注案例…...
C++_STL之vector篇
一、vector的常见用法 注:C中若使用vector需包含头文件<vector>. 1.vector的构造函数 int n 10,ret1;vector<int> nums(n,ret); //n表示vector初始的容量 ret表示vector中初始化的值for (auto e : nums)cout << e << " "; 扩展…...
Imgui处理glfw的鼠标键盘的方法
在Imgui初始化时,会重新接手glfw的键盘鼠标事件。也就是遇到glfw的键盘鼠标事件时,imgui先会运行自己的处理过程,然后再去处理用户自己注册的glfw的键盘鼠标事件。 看imgui_impl_glfw.cpp源码的安装回调函数部分代码 void ImGui_ImplGlfw_In…...
【松子悲剧的七层本质】
松子悲剧的七层本质 核心命题:松子的悲剧是人性与社会结构的双重绞杀,本质是“爱的异化”与“自我消解”的终极悖论。 第一层:家庭缺爱的童年烙印 现象:松子因父亲对病弱妹妹的偏爱,长期处于情感匮乏状态,…...
