首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >深入了解马尔科夫决策过程(Markov Decision Process)

深入了解马尔科夫决策过程(Markov Decision Process)

作者头像
Steve Wang
发布于 2019-08-01 07:21:05
发布于 2019-08-01 07:21:05
4.2K0
举报
文章被收录于专栏:从流域到海域从流域到海域

马尔科夫决策过程(Markov Decision Process)

马尔科夫决策过程(Markov Decision Process, MDP)是时序决策(Sequential Decision Making, SDM)事实上的标准方法。时序决策里的许多工作,都可以看成是马尔科夫决策过程的实例。

人工智能里的规划(planning)的概念(指从起始状态到目标状态的一系列动作)已经扩展到了策略的概念:基于决策理论对于待优化目标函数最优值的计算,策略将所有的时序状态映射到一个我们期望的最优动作。

策略的一些限定条件

策略通过以下方式将状态映射到动作上:

  • 操作者的动作对规划产生确定性的预期结果。
  • 动作的预期结果取决于有关概率性的结果和对目标的贡献(credit)的理论期望。

马尔科夫决策过程的优点

  • 允许在线的解决方案:通过模拟实验(simulated trials)逐步地学习最优策略。
  • 允许依据计算资源实现近似解决方案。 (在计算资源充足的条件下,给出最优解的方案;反之,则也能给出能让人接受的最优解的近似解)
  • 允许对决策理论的策略质量学习效果进行数值化度量。

形式化描述马尔科夫决策过程

(下面的概念涉及到形式化,博主的导师是研究形式化方法的。)

强化学习问题的元素可以通过马尔科夫决策过程来形式化地描述。马尔科夫决策过程可以看做是有限自动机(finite automata)的随机化扩展,或者看作引入了动作(action)和奖励(rewards)的马尔科夫过程(Markov Process)。

马尔科夫决策过程

定义

马尔科夫决策过程是一个由4个元素构成的四元组&lt;S,A,T,R&gt;&lt;S,A,T,R&gt;<S,A,T,R>。其中,SSS是一个包含所有动作的有限集合,TTT是一个定义为S×A×S→[0,1]S\times A \times S \rightarrow[0,1]S×A×S→[0,1]的转换函数,RRR是一个定义为R:S×A×S→RR:S\times A \times S \rightarrow\mathbb{R}R:S×A×S→R的奖励函数。

马尔科夫决策过程包括状态(State)、动作(Action)、转换函数(Transition)、奖励函数(reward function)等,在下面所有形式化描述,×\times×表示笛卡尔积。

  • 状态S,有限集合{s1,s2,...,sN}\{s^1,s^2,...,s^N\}{s1,s2,...,sN},即∣S∣=N|S|=N∣S∣=N。对于建模的问题来说,状态是所有信息中唯一的特征。
  • 动作A,有限集合{a1,a2,...,aN}\{a^1,a^2,...,a^N\}{a1,a2,...,aN},即∣A∣=N|A|=N∣A∣=N。能够用于某个状态s∈Ss \in Ss∈S的集合表示为A(s)A(s)A(s),其中A(s)⊆AA(s) \subseteq AA(s)⊆A。先决条件函数(precondition funcion):S×A→{true,false}: S\times A\rightarrow\{true, false\}:S×A→{true,false}可以表达动作a∈Aa\in Aa∈A能否运用在状态s∈Ss\in Ss∈S。
  • 转换函数T,可以通过如下方式定义:S×A×S→[0,1]S\times A \times S \rightarrow[0,1]S×A×S→[0,1],即它是从(S,A,S)(S,A,S)(S,A,S)三元组映射到一个概率的函数,其概率表示为T(s,a,s′)T(s, a, s^{&#x27;})T(s,a,s′),表示,从状态sss转换到状态s′s{&#x27;}s′的概率,其值需要满足0≤T(s,a,s′)≤10\leq T(s, a, s^{&#x27;})\leq 10≤T(s,a,s′)≤1且∑s∈s′T(s,a,s′)=1\sum_{s\in s^{&#x27;}}T(s, a, s^{&#x27;})=1∑s∈s′​T(s,a,s′)=1,即概率必须满足实际,否则无意义。 我们可以定义离散的全局时钟t=1,2,3...t=1,2,3...t=1,2,3...,然后使用sts_tst​表示在时间t的状态。 如果一个系统的动作不依赖之前的动作历史状态,而仅仅取决于当前状态,那么该系统具有马尔科夫特性,即P(st+1∣st,at,st−1,at−1,...)=P(st+1∣st,at)=T(st,at,st+1)P(s_{t+1}|s_t,a_t,s_{t-1},a_{t-1},...)=P(s_{t+1}|s_t,a_t)=T(s_t,a_t,s_{t+1})P(st+1​∣st​,at​,st−1​,at−1​,...)=P(st+1​∣st​,at​)=T(st​,at​,st+1​) 马尔科夫决策过程的核心思想是当前状态s提供了足够的信息来做最优决策,而之前的状态和动作是不重要的。换一种表述方法是,下一个状态的概率分布和同一个状态下当前动作的概率分布是相同的。
  • 奖励函数R,可以定义为R:S→RR:S\rightarrow\mathbb{R}R:S→R,从状态中直接获取奖励;或者R:S×A→RR:S\times A\rightarrow\mathbb{R}R:S×A→R,在某状态执行某动作获得奖励;或者R:S×A×S→RR:S\times A \times S \rightarrow\mathbb{R}R:S×A×S→R,执行某个状态转换获得奖励。最后一种定义方式可以非常方便的应用于无模型算法(model free algorithm),因此是广泛使用的定义方式。 奖励函数是马尔科夫决策过程最重要的部分,因为奖励隐式地定义了学习的目标(goal)。奖励函数给予了系统(即MDP)的前进方向。通常情况下,奖励函是也将非零的奖励分配给非目标的状态,这可以理解为为学习定义的子目标。

转换函数TTT和奖励函数RRR一起定义了马尔科夫决策过程的模型。马尔科夫决策过程经常被描绘成一个状态转换图,图的结点对应状态,有向边对应状态的转换。

马尔科夫决策过程可以建模几种不同类型的系统:

周期性任务周期长度(episode of length)的概念,在这个概念中,学习的目标是将代理(agent)从开始状态转换到目标状态。对于每一个状态来说,初始状态分布I:S→[0,1]I: S\rightarrow[0,1]I:S→[0,1],给出了当前系统在此状态下开始的概率。根据所执行的动作,从一个状态s开始,系统通过一系列的状态前进。在周期性任务中,有一个特定的子集G⊆SG\subseteq SG⊆S,这个子集表示过程结束时的目标状态区域,该区域通常包含一些特定的奖励。

此外,任务还可以进一步分为以下类型:

  • 有限的固定范围的任务:任务的每个阶段包含固定数目的步骤。
  • 未定义范围的任务:任务的每一个阶段都可以终止,但是阶段的长度可以是任意的。
  • 无限范围的任务:无限任务包含无限的步骤,学习系统永不停止,通常被称为一个持续任务。

周期任务可以通过吸收状态(absorbing states)或者终止状态(terminal states)来建模。这是指每一个动作所处的状态都可以变换到一个概率为1,奖励为0的相同状态,即吸收状态。它可以被形式化的表示为:T(s,a,s′)=1T(s, a, s^{&#x27;})=1T(s,a,s′)=1和R(s,a,s′)R(s, a, s^{&#x27;})R(s,a,s′)=0。进入一个吸收状态时,进程将在一个新的启动状态下重新设置或者重新启动。周期性任务加上吸收状态,可以以这种方式用连续任务相同的框架优雅地进行模拟。

策略

给定一个MDP&lt;S,A,T,R&gt;MDP&lt;S,A,T,R&gt;MDP<S,A,T,R>,策略是一个可计算的函数,它为每一个状态s∈Ss\in Ss∈S和每一个动作a∈Aa\in Aa∈A提供输出。形式化地,一个确定性策略π\piπ是一个被定义为π:S→A\pi: S\rightarrow Aπ:S→A的函数,也可以定义一个随机性策略π:S×A→[0,1]\pi: S\times A \rightarrow [0,1]π:S×A→[0,1],使得π(s,a)≥0\pi(s,a)\geq0π(s,a)≥0并且∑a∈Aπ(s,a)≥0\sum_{a\in A}\pi(s,a)\geq0∑a∈A​π(s,a)≥0。

马尔科夫决策过程的应用方法如下: 首先,从初始状态分布III产生一个起始状态s0s_0s0​。然后,策略建议的动作a0=π(s0)a_0=\pi (s_0)a0​=π(s0​),而这个动作将被执行。基于状态转换函数TTT和奖励函数RRR,转换到状态s1s_1s1​,那么概率为T(s0,a0,s1)T(s_0,a_0,s_1)T(s0​,a0​,s1​)且奖励r0=R(s0,a0,s1)r_0=R(s_0,a_0,s_1)r0​=R(s0​,a0​,s1​)将被接收。重复这个过程,产生以下状态和动作: s0,a0,r0,s1,a1,r1,s2,a2,r2...s_0,a_0,r_0,s_1,a_1,r_1,s_2,a_2,r_2...s0​,a0​,r0​,s1​,a1​,r1​,s2​,a2​,r2​...如果任务是周期性的,这个过程将结束在状态sgoals_{goal}sgoal​,并从初始状态分布III中产生一个新的状态后重新启动。如果继续执行,该序列的状态可以无限期执行。 策略是代理(agent)的一部分,而代理(agent)的目的是控制环境,而环境是用马尔科夫决策过程建模的。一个固定的策略是在马尔科夫决策过程中推导出一个静态转换,而这个静态转换能够转换成马尔科夫系统&lt;S′,T′&gt;&lt;S^{&#x27;},T^{&#x27;}&gt;<S′,T′>,它满足如下条件:当π(s)=a\pi (s)=aπ(s)=a时,S′=SS^{&#x27;}=SS′=S和T′(s,s′)=T(s,a,s′)T^{&#x27;}(s,s^{&#x27;})=T(s,a,s^{&#x27;})T′(s,s′)=T(s,a,s′)。

最优准则和折扣

前面的两个小节我们定义了环境(MDP),代理(agent)(控制元件,或策略)。在讨论最优算法之前,首先要界定什么是最优模型。有两种方式看到最优性:

  • 代理(agent)实际在优化什么方面,它的目标是什么?
  • 如何通过最优的方式优化目标。 第一个方面与奖励收集(gathering reward)有关;第二个方面与算法的效率和最优性有关。

马尔科夫决策过程中学习的目标是收集奖励。如果agent只关心即时奖励,一个简单的最优准则是优化E[rt]E[r_t]E[rt​]。

有限时域(finite horizon)模型选取一个有限的长度为h的有限时域,并声明agent将优化该有限时域内的预期奖励。 E[∑t=0hrt](有限时域)E[\sum_{t=0}^{h}r_t] (有限时域)E[t=0∑h​rt​](有限时域) 这可以通过两种方法来实现:

  • agent在第一步采取h步优化行为,在这之后采取(h-1)步优化行为,以此类推。
  • agent始终采取h步最优行为,这称为滚动时域控制(receding-horizon control)。 有限时域模型的问题在于(最优)选择的时域长度h不总是已知的。

无限时域模型中,将考虑长期奖励,但是根据接收时间的远近将在时间较远时对接收到的奖励打折扣。为了实现这个,引入一个折扣因子γ\gammaγ,其中0≤γ&lt;10 \leq \gamma &lt; 10≤γ<1。 E[∑t=0∞γtrt](无限时域)E[\sum_{t=0}^{\infty}\gamma^tr_t](无限时域)E[t=0∑∞​γtrt​](无限时域) 在打折扣的条件下,后面接收到的奖励折扣的力度会比前面的大(即后面的奖励会小于前面的,越往后奖励越小)。除此之外,折扣因子确保即使时域是无限的情况下,获得奖励的总和也是有限的。在阶段性任务(有限的任务范围)中,不需要折扣因子,或者我们可以把折扣因子γ\gammaγ设置为1。如果设置折扣因子为0,则agent被称为是近视的,它只关心即时回报。折扣因子可以有多种解释方式:如利率,存活到下一步的概率,或者限定(奖励的)总和是有限的等等。

平均奖励模型中,我们最大化的是长期平均回报。这有时被称作增益优化策略,在取极限,折扣因子γ\gammaγ等于1时,无限时域模型等价于平均奖励模型。 lim⁡h→+∞E1h∑t=0hrt(平均奖励)\lim_{h\rightarrow+\infty}E\frac{1}{h}\sum^h_{t=0}r_t(平均奖励)h→+∞lim​Eh1​t=0∑h​rt​(平均奖励) 这种模型一个棘手的问题是,我们不能区分两个策略在起始阶段获得奖励的多少,这种初期奖励差异将会隐藏在长期平均水平之间。该问题可以使用偏置优化模型来解决,该模型的长期平均水平仍然是最优的,如果策略获得最初额外的奖励则该模型是首选。

第二种模型与最一般的学习过程的最优性相关。

价值函数和贝尔曼方程

价值函数,是一种连接最优准则和策略的方法。大多数针对MDP的学习算法通过学习价值函数来计算出最优策略。

一个价值函数表示在一个特定的状态(或是在该状态采取的某一动作的条件)下对一个agent好的程度的的估计。好的程度的概念由最优准则来表达。价值函数被特定的策略所定义。

在策略π\piπ下的状态SSS的值,表示为Vπ(s)V^{\pi}(s)Vπ(s),代表收益的期望。无限的时域贴现模型(the infinite-horizon, discounted model),可以用下面的式子表示: Vπ(s)=Eπ{∑k=0∞γkrt+k∣st=s}(1.1)V^{\pi}(s)=E_{\pi}\{\sum_{k=0}^{\infty}\gamma^kr_{t+k}|s_t=s\} (1.1)Vπ(s)=Eπ​{k=0∑∞​γkrt+k​∣st​=s}(1.1)

一个类似的状态-动作价值函数可以定义为Q:S×A→RQ: S \times A \rightarrow \mathbb{R}Q:S×A→R,即从状态s出发,采取动作a,此后遵循策略π\piπ的收益的期望。 Qπ(s,a)=Eπ{∑k=0∞γkrt+k∣st=s,at=a}(1.2)Q^{\pi}(s,a)=E_{\pi}\{\sum_{k=0}^{\infty}\gamma^kr_{t+k}|s_t=s,a_t=a\}(1.2)Qπ(s,a)=Eπ​{k=0∑∞​γkrt+k​∣st​=s,at​=a}(1.2)

价值函数的一个基本属性是这些函数满足一定的递归性,因此可以根据贝尔曼方程递归地定义: Vπ(s)=Eπ{rt+γrt+γ2rt+...∣st=t}=Eπ{rt+γVπ(st+1)∣st=t}=∑s′T(s,π(s),s′)(R(s,a,s′)+γVπ(s′))(1.3)V^{\pi}(s)=E_{\pi}\{r_t+\gamma r_t+\gamma^2 r_t+...|s_t=t\}\\ =E_{\pi}\{r_t+\gamma V^{\pi}(s_{t+1)}|s_t=t\}\\ =\sum_{s&#x27;}T(s,\pi(s),s&#x27;)(R(s,a,s&#x27;)+\gamma V^{\pi}(s&#x27;)) (1.3)Vπ(s)=Eπ​{rt​+γrt​+γ2rt​+...∣st​=t}=Eπ​{rt​+γVπ(st+1)​∣st​=t}=s′∑​T(s,π(s),s′)(R(s,a,s′)+γVπ(s′))(1.3) 以上的公式表示状态的期望值是定义在即时奖励和可能的随后被转换概率加权的状态值以及一个额外的折扣因子的条件下。VπV^{\pi}Vπ是这组方程的唯一解。需要强调的是,多个策略可以有相同的价值功能,但只要给定一个策略π\piπ,VπV^{\pi}Vπ就是独一无二的。

任何一个给定的马尔科夫决策过程,其目标均为找到一个最优策略,即获得最多的奖励的策略。这意味着对所有状态s∈Ss\in Ss∈S最大化公式(1.1)的价值函数。最优策略表示为π∗\pi^*π∗,并对所有的策略π\piπ,都满足Vπ∗≥VπV^{\pi^*}\geq V^{\pi}Vπ∗≥Vπ。

可以证明最优解决方案V∗=Vπ∗V^{*} = V^{\pi^*}V∗=Vπ∗满足如下方程: V∗(s)=max⁡a∈A∑s′∈ST(s,π(s),s′)(R(s,a,s′)+γVπ∗(s′))(1.4)V^{*}(s)=\max_{a\in A}\sum_{s&#x27;\in S}T(s,\pi(s),s&#x27;)(R(s,a,s&#x27;)+\gamma V^{\pi^*}(s&#x27;))(1.4)V∗(s)=a∈Amax​s′∈S∑​T(s,π(s),s′)(R(s,a,s′)+γVπ∗(s′))(1.4) 上面这个方程被称作贝尔曼最优方程,一个最优策略下的状态值必须等于在该状态下的最优行为的预期回报。为了选择最优状态的价值函数V∗V^*V∗的最优行为,可以应用如下规则: π∗(s)=arg⁡max⁡a∈A∑s′∈ST(s,π(s),s′)(R(s,a,s′)+γVπ∗(s′))(1.5)\pi^*(s)=\arg\max_{a\in A}\sum_{s&#x27;\in S}T(s,\pi(s),s&#x27;)(R(s,a,s&#x27;)+\gamma V^{\pi^*}(s&#x27;))(1.5)π∗(s)=arga∈Amax​s′∈S∑​T(s,π(s),s′)(R(s,a,s′)+γVπ∗(s′))(1.5) 这种策略其实就是贪心策略,表示为πgreedy(V)\pi_{greedy}(V)πgreedy​(V),因为它贪婪的选择了价值函数V∗V^*V∗的最优行为。

类似的最优状态-动作值(optimal state-action value)可以计算为: Q∗(s,a)=∑s′T(s,π(s),s′)(R(s,a,s′)+γVπ∗(s′))(1.6)Q^*(s,a)=\sum_{s&#x27;}T(s,\pi(s),s&#x27;)(R(s,a,s&#x27;)+\gamma V^{\pi^*}(s&#x27;))(1.6)Q∗(s,a)=s′∑​T(s,π(s),s′)(R(s,a,s′)+γVπ∗(s′))(1.6)

Q函数(即最优状态动作函数,博主补充)是非常有用的,他们在不同的选择之间使用不需要的转换函数就可以进行加权求和。不需要前向推导步骤来计算一个状态下的最优动作。这是为什么在无模型的方法中,如果TTT和RRR是未知的,学习的不是VVV函数,而是QQQ函数。

Q∗Q^*Q∗和V∗V^*V∗之间的关系是由一下公式确定的: Q∗(s,a)=∑s′∈ST(s,π(s),s′)(R(s,a,s′)+γVπ∗(s′))V∗(s)=max⁡aQ∗(s,a)(1.7)Q^*(s,a)=\sum_{s&#x27;\in S}T(s,\pi(s),s&#x27;)(R(s,a,s&#x27;)+\gamma V^{\pi^*}(s&#x27;))\\ V^*(s)=\max_aQ^*(s,a) (1.7)Q∗(s,a)=s′∈S∑​T(s,π(s),s′)(R(s,a,s′)+γVπ∗(s′))V∗(s)=amax​Q∗(s,a)(1.7)

类似于公式(1.5),现在最优行为可以简单地计算为: π∗(s)=arg⁡max⁡aQ∗(s,a)(1.8)\pi^*(s)=\arg\max_aQ^*(s,a)(1.8)π∗(s)=argamax​Q∗(s,a)(1.8)

这也就是说,最优行为是基于可能产生的下一个状态所采取的行动,其有最高的预期效用。类似于公式(1.5),可以在QQQ上定义一个贪婪策略πgreedy(Q)\pi_{greedy}(Q)πgreedy​(Q),与πgreedy(Q)\pi_{greedy}(Q)πgreedy​(Q)不同的是,它(无模型的方法)不需要参考马尔科夫决策模型,有Q函数就够了。

参考文献

Reinforcement learning-State of Art,2012

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年07月17日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
关于文件传输协议,你不知道的事
文件传输协议(FTP)是一种网络协议,用于通过传输控制协议/互联网协议 ( TCP/IP ) 连接在计算机之间传输文件。在 TCP/IP 套件中,文件传输协议被视为应用层协议。
镭速
2023/03/16
8500
关于FTP文件传输协议说明,带你了解更详细的文件传输协议
Internet和其他网络上的人与设备之间的通信使用协议进行。您可以说协议定义了对话规则:谁必须在何时发送哪些信息?如果数据没有到达接收者,会发生什么?您如何保护转帐免受错误和犯规?每当我们使用Internet时,OSI模型中的这些协议就一直在使用。最著名的是HTTP和HTTPS,通常用于访问网站。另一个重要协议是文件传输协议。那么它是用来干什么的呢?
镭速
2023/04/07
1.1K0
什么是FTP?什么是SFTP?FTP和SFTP的区别是什么
SFTP是一种安全的文件传输协议,一种通过网络传输文件的安全方法;它确保使用私有和安全的数据流来安全地传输数据。
matinal
2023/10/14
6.9K0
什么是FTP?什么是SFTP?FTP和SFTP的区别是什么
ftp协议及常用命令
方法二:在命令提示符cmd输入ftp,用open连上服务器,再输入用户名和密码,如下图:
兮动人
2021/06/11
2.2K0
ftp协议及常用命令
浅谈FTP,SFTP,FTPS区别
FTP全称是File Transfer Protocol。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:”下载”(Download)和”上传”(Upload)。”下载”文件就是从远程主机拷贝文件至自己的计算机上;”上传”文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。TCP/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20,FTP的任务是从一台计算机将文件传送到另一台计算机,不受操作系统的限制。
码农编程进阶笔记
2021/07/20
4.4K0
FTP上传文件速度太慢怎么办?
用户在建立网站时需要的一种工具是文件传输工具。通过客户端和主机的文件交互,及时上传补丁文件和下载日志文件,保证网站的正常稳定运行。但是很多用户反映FTP上传文件太慢。原因是什么?FTP上传文件太慢怎么办?
镭速
2023/03/06
2.1K0
文件传输协议:FTP、SFTP、TFTP协议介绍
文件传输是运维工程师必备的技能之一,今天给大家分享文件传输协议相关的知识。希望对大家能有所帮助!
小明互联网技术分享社区
2023/05/05
17.4K0
文件传输协议:FTP、SFTP、TFTP协议介绍
FTP VS镭速传输,小文件传输技术内有乾坤
小文件传输,一般文件传输软件都可以解决的问题。大家最早使用的小文件传输软件,非开源软件FTP莫属了。但对FTP,也有很多企业在与镭速进行技术沟通时,都提及到,它的传输是真的慢!
镭速
2023/03/09
1.3K0
用了天翼云,为什么FTP无法使用了?
最近因为公司举行云生态大会,节奏非常紧急,公众号断了几天,不管工作再忙,学习不能断,今天继续补上。
希望的田野
2019/09/24
2.7K0
用了天翼云,为什么FTP无法使用了?
常见的ftp文件传输工具有哪些?适合WordPress用户的最佳ftp文件传输工具
ftp文件传输工具允许将计算机上的本地文件连接到在线服务器。例如,可能正在创建一个 WordPress 站点。在这种情况下,可以在计算机上构建一个网站,然后最终将所有文件移动到服务器并启动网站以供全世界查看。
镭速
2023/03/13
2.3K0
ftp(1) command
FTP(File Transfer Protocol)是一种用于在计算机之间传输文件的标准网络协议。
恋喵大鲤鱼
2024/01/13
2430
手把手带你在Mac上搭建FileZilla服务器
因为使用共享文件夹的方式,不知道为什么不work了。“重启大法”、“检查防火墙规则”等方法都试过了,仍然不work。
烟雨平生
2024/11/26
2.7K0
手把手带你在Mac上搭建FileZilla服务器
聊聊 FTP、SFTP、FTPS
👋 你好,我是 Lorin 洛林,一位 Java 后端技术开发者!座右铭:Technology has the power to make the world a better place.
Lorin 洛林
2024/01/25
3.1K0
OMV -6- 搭建并使用公网 SFTP 服务
默认情况下FTP协议使用TCP端口中的20和21这两个端口。21端口用于传输控制信息,而是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用被动模式则具体使用哪个端口要服务器端和客户端协商决定。FTP传输模式分为以下两种:
为为为什么
2022/08/06
4.3K0
OMV -6- 搭建并使用公网 SFTP 服务
11个程序员上传工具推荐FileZilla,3CDaemon,CuteFtp,FlashFxp,IPOP,WingFtpServer
FTP(文件传输协议)是我们日常使用比较广泛的一款服务,无论个人还是企业都可以搭建属于自己的FTP服务器,用以存储并上传下载数据。下面我们就以非常著名的server-u为例来演示如何搭建FTP服务器。
小焱
2025/06/28
4800
11个程序员上传工具推荐FileZilla,3CDaemon,CuteFtp,FlashFxp,IPOP,WingFtpServer
第七章 FTP服务(1)
FTP是File Transfer Protocol(文件传输协议)的缩写。功能是支持客户访问后的上传、下载文件。当然在全球internet上,我们部署FTP的目的主要是用于资源的共享,让客户端可以下载数据。现今很多企业内部也会部署FTP服务器作为文件服务器使用,从而替代samba、SMB等服务。
晓天
2019/07/04
2.8K0
第七章  FTP服务(1)
FTP协议是一种用于什么的协议
FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。复FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。
全栈程序员站长
2022/07/04
1.1K0
FTP协议是一种用于什么的协议
什么是文件传输协议,文件传输协议又是怎么工作的
文件传输协议FTP是一种仍在使用的协议,在上载和下载文件时仍然比较流行,通常是那些太大的文件,需要花费很长时间才能通过常规电子邮件程序作为附件下载进行传输。
镭速
2023/04/11
1.1K0
ftp上传下载工具,6款最值得推荐的Windows端ftp上传下载工具
ftp上传下载工具是一种文件传输下载方式,它是TCP/IP协议栈的一部分;其中FTP又由两部分组成,一部分是FTP的服务器,另一部分是FTP的客户端!它能够高效安全地进行文件传输下载操作!可以使用服务器管理工具来作为FTP的客户端,进行FTP的操作,实现FTP的下载安装等! 第一款:iis7服务器管理软件 iis7远程桌面管理软件,是一款绿色小巧,功能实用的FTP工具软件,其界面简洁,操作方便,它支持FTP批量上传下载,它可以同时连接多台ftp服务器进行文件传输工作,还可以在线解压缩文件,支持文件查找,在线编辑等功能。 同时它还能够同时远程操作多台服务器,并且多台服务器间可以自由切换,适合机房管理、站长、运维工作、程序员使用。适用于Windows系统,Linux系统和VPS服务器等。 在众多好用实用的功能当中,最大的亮点还是属定时上传下载的强大功能了,它可以定时备份,自动更新等,大家都在用,还等什么呢~
全栈程序员站长
2022/09/01
11.1K0
FTP的主动模式和被动模式,你应该用那种?
FTP文件传输分为两种模式,主动(PORT)模式和被动(Passive)模式,用户应该用哪种?
云语科技
2018/02/26
2.4K0
FTP的主动模式和被动模式,你应该用那种?
推荐阅读
相关推荐
关于文件传输协议,你不知道的事
更多 >
LV.1
深圳市云语科技有限公司研发总监
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档