FTP文件传输协议与DHCP
基本概念
主机之间传输文件是IP网络的一个重要功能
互联网早期,最通用方式就是使用FTP(File Transfer Protocol,文件传输协议)以及(Trivial File Transfer Protocol,简单文件传输协议)
FTP采用经典的C/S架构(服务器客户端模式),FTP可采用不同传输模式
**ASCII模式:**传输文本文件(TXT、LOG、CFG)时,对文本转码提高传输效率
**Binary(二进制)模式:**非文本文件(CC、BIN、EXE、PNG),如图片可执行程序,用 二进制直接传输初始内容
传输过程模式
控制连接:客户端tcp随机 服务器端 21
数据连接
主动模式(PORT)
1、 客户端 三次握手与服务器端建立TCP链接
客户端随端口,服务器端21端口 建立控制连接
2、 用户登录认证
3、 客户端通过FTP PORT 命令,
开放端口号:p随机端口,大于1024 向服务器发送
4、服务器发起三次握手,TVP PORT P 建立数据连接,开放20端口
5、开始传输文件
被动模式(PASV)(常用模式:因为ftp如果用主动模式服务器发送主动经常会被用户防火墙误杀)
1、 客户端向服务器21端口,发起TCP PORT 三次握手,建立控制连接
2、 用户登录认证
3、 客户端发送PASV 命令
4、 服务器通过Enter PASV 命令告知客户端开放端口N(大于1024)
5、 客户端向服务器端 TCP PORT N发起TCP三次握手,建立数据连接
ensp配置过程,
模拟:
建立两个路由器
ar1(当客户端),ar2(当服务器)
ar2:ftp service enable
ar2:aaa
ar2:local-user 用户名字 password cipher 密码
ar2:local-user 用户名字 privilege level 0-15
ar2:local-user 用户名字 service-type ftp
ar2:local-user 用户名字 ftp-directory 目录地址
ar2:与ar1连线接口设置ip
ar1:ftp ar2地址 进入
通过get put 来下载、上传文件
TFTP:
FTP需要协商认证
TFTP不需要
DHCP工作原理
DHCP采用C/S架构
客户端发送 DHCP Discover(广播),发现服务器
服务器回送 DHCP Offer(单播),携带分配给客户端的IP地址
客户端再发送DHCP Request(广播),告知客户端使用此地址
服务器回送DHCP Ack(单播),最终确认,告知客户端可以使用该IP地址
DHCP租期更新
DHCP Request(单播):向服务器端请求继续使用该ip地址,延长使用期限
DHCP Ack(单播):告知客户端可以继续使用该ip地址,使用租期刷新(Lease)
相关文章:
FTP文件传输协议与DHCP
基本概念 主机之间传输文件是IP网络的一个重要功能 互联网早期,最通用方式就是使用FTP(File Transfer Protocol,文件传输协议)以及(Trivial File Transfer Protocol,简单文件传输协议) FTP采用…...
【UE5 多人联机教程】06-显示玩家名称
效果 可以看到玩家输入各自的名称,会显示到自己控制的角色头上。但是目前有一个BUG就是,当客户端加入游戏时会多创建一个服务端的角色。 步骤 1. 打开“BP_ThirdPersonCharacter”,添加一个控件组件,用于显示玩家名称 作为网格体…...
Rust vs Go:常用语法对比(五)
题图来自 Rust vs Go 2023[1] 81. Round floating point number to integer Declare integer y and initialize it with the rounded value of floating point number x . Ties (when the fractional part of x is exactly .5) must be rounded up (to positive infinity). 按规…...
Flutter 扩展函数项目实用之封装SizedBox
Flutter里扩展函数可以用简化代码写法,关键字为extension,伪代码写法如下: extension 扩展类名 on 扩展类型 { //扩展方法 } 在Flutter页面里实现控件间距会常用到SizedBox,可使用扩展函数封装来达到简化代码的目的࿰…...
EMC学习笔记(二十)EMC常用元件简单介绍(二)
EMC常用元件简单介绍(二) 1.瞬态抑制二极管(TVS)2.气体放电管3.半导体放电管 电磁兼容性元件是解决电磁干扰发射和电磁敏感度问题的关键,正确选择和使用这些元件是做好电磁兼容性设计的前提。由于每一种电子元件都有它各自的特性,…...
基本排序算法
目录 一,插入排序 二,希尔排序 三,选择排序 四,冒泡排序 五,快排 5.1 Hoare法 5.2 挖坑法 5.3 指针法 5.4 非递归写法 六,归并排序 6.1 递归 6.2 非递归 一,插入排序 基本思想&…...
python调用百度ai将图片/pdf识别为表格excel
python调用百度ai将图片识别为表格excel 表格文字识别(异步接口)图片转excel 表格文字识别V2图片/pdf转excel通用 表格文字识别(异步接口) 图片转excel 百度ai官方文档:https://ai.baidu.com/ai-doc/OCR/Ik3h7y238 使用的是表格文字识别(异步接口),同步…...
Ansible最佳实践之Playbook管理滚动更新
写在前面 理解不足小伙伴帮忙指正 傍晚时分,你坐在屋檐下,看着天慢慢地黑下去,心里寂寞而凄凉,感到自己的生命被剥夺了。当时我是个年轻人,但我害怕这样生活下去,衰老下去。在我看来,这是比死亡…...
基于Citespace、vosviewer、R语言的文献计量学可视化分析及SCI论文高效写作方法教程
详情点击链接:基于Citespace、vosviewer、R语言的文献计量学可视化分析技术及全流程文献可视化SCI论文高效写作方法 前言 文献计量学是指用数学和统计学的方法,定量地分析一切知识载体的交叉科学。它是集数学、统计学、文献学为一体,注重量…...
【MATLAB】GM(1,1) 灰色预测模型及算法
一、灰色预测模型概念 灰色预测是一种对含有不确定因素的系统进行预测的方法。 灰色预测通过鉴别系统因素之间发展趋势的相异程度,即进行关联分析,并对原始数据进行生成处理来寻找系统变动的规律,生成有较强规律性的数据序列,然后…...
Go重写Redis中间件 - Go实现Redis协议解析器
Go实现Redis协议解析器 Redis网络协议详解 在解决完通信后,下一步就是搞清楚 Redis 的协议-RESP协议,其实就是一套类似JSON、Protocol Buffers的序列化协议,也就是我们的客户端和服务端通信的协议 RESP定义了5种格式 简单字符串(Simple String) : 服务器用来返回简单的结…...
海外抖音Tiktok强势来袭,有些人半年赚别人十倍工资
TikTok作为一款流行的短视频社交应用程序,确实在全球范围内取得了很大的成功。许多人通过在TikTok上分享有趣、创意或有吸引力的视频内容,获得了广泛的关注和认可。一些用户甚至能够通过TikTok赚取高额的收入,远远超过传统职业所能获得的工资…...
devDept Eyeshot 2024 预告-Update-Crack
即将发布的版本 开发商在一个动态的环境中运作,事情可能会发生变化。本页提供的信息旨在概述 devDept 软件产品的总体方向。它仅供参考,不应作为做出任何决定性的依据。devDept Eyeshot 2024软件产品描述的任何特性或功能的开发、发布和时间安排仍由 dev…...
教雅川学缠论05-线段
线段需要满足下面4个条件: 1.是由3条笔,或者3条以上组成,同笔一样,线段也是有方向的 2.如果线段起始于向上笔,则终止与向上笔(一定不会终止与向下笔) 3.如果线段起始于向下笔,则终止…...
SpringBoot 配置⽂件
1.配置文件作用 整个项⽬中所有重要的数据都是在配置⽂件中配置的,⽐如: 数据库的连接信息(包含⽤户名和密码的设置);项⽬的启动端⼝;第三⽅系统的调⽤秘钥等信息;⽤于发现和定位问题的普通⽇…...
基于Python的电影票房爬取与可视化系统的设计与实现
博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…...
Packet Tracer – 配置系统日志和 NTP
Packet Tracer – 配置系统日志和 NTP 目标 第 1 部分:配置系统日志服务 第 2 部分:生成日志记录事件 第 3 部分:手动设置交换机时钟 第 4 部分:配置 NTP 服务 第 5 部分:验证带时间戳的日志 拓扑图 场景 在本…...
TypeScript 联合类型,类型推断,类型断言
联合类型 取值可以为多种类型中的一个 function func(str: number | string):void{}类型断言 当变量需要调用某属性的时候,有不确定当前的类型是什么,可以使用类型断言; 类型断言的两种方式: 1,<类型> 变量名…...
到底叫 集合还是数组还是list还是列表?
1 总体上可以将数据结构分为数组和集合两种,而列表是一个泛指 数组:在Java中,数组是一种基本数据类型,可以用来存储同一类型的多个元素,数组的长度是固定的。例如:int[] arr new int[10];List:…...
LBERT论文详解
论文地址:https://arxiv.org/abs/2105.07148 代码地址:https://github.com/liuwei1206/LEBERT 模型创新 LEBRT采用句子中的词语对(论文中称为Char-Word Pair)的特征作为输入作者设计Lexicon adapter,在BERT的中间某一…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...
