大数据与会计个人简历:拿下计网的这些协议后 我就是最靓的仔
大数据与会计个人简历:拿下计网的这些协议后 我就是最靓的仔FTP(File Transfer Protocol,文件传输协议) 是应用层协议之一。FTP 协议包括两个组成部分,分为 FTP 服务器和 FTP 客户端。其中 FTP 服务器用来存储文件,用户可以使用 FTP 客户端通过 FTP 协议访问位于 FTP 服务器上的资源。端口转发(Port forwarding)是 SSH 为网络安全通信使用的一种方法。SSH 可以利用端口转发技术来传输其他 TCP/IP 协议的报文,当使用这种方式时,SSH 就为其他服务在客户端和服务器端建立了一条安全的传输管道端口转发是指将特定端口号所收到的消息转发到指定 IP 地址和端口号的一种机制。TELNET 的工作过程如下TELNET 有一个非常明显的缺点,那就是在主机和远程主机的发送数据包的过程中是明文传输,未经任何安全加密,这样的后果是容易被互联网上不法分子嗅探到数据包来搞一些坏事,为了数据的安全性,我们一
主机 A 可以直接通过 TELNET 协议访问主机 B。
TELNET 利用 TCP 的一条连接,通过一条连接向主机发送文字命令并在主机上执行。
使用 TELNET 协议进行远程登录时需要满足一下几个条件
- 必须知道远程主机的 IP 地址或者域名
- 必须知道登录标识和口令
TELNET 远程登录一般使用 23 端口
TELNET 的工作过程如下
- 本地主机与远程主机建立连接,这个连接其实是 TCP 连接,用户需要知道指定主机的 IP 地址或者域名
- 与远程主机建立连接后,在本地主机终端上输入的字符都会以 NVT(Net Virtual Terminal) 的形式发送至远程主机,这个过程实际上是发送一个数据包到远程主机。
- 远程主机接受数据包后,产生的输出会以 NVT 的格式发送给本地主机一个数据包,包括输入命令回显和命令执行结果
- 最后,本地主机终端对远程主机撤销链接,这个过程实际上就是 TCP 断开连接的过程。
TELNET 有一个非常明显的缺点,那就是在主机和远程主机的发送数据包的过程中是明文传输,未经任何安全加密,这样的后果是容易被互联网上不法分子嗅探到数据包来搞一些坏事,为了数据的安全性,我们一般使用 SSH 进行远程登录。
SSH 是加密的远程登录系统。使用 SSH 可以加密通信内容,即时数据包被嗅探和抓取也无法破解所包含的信息,除此之外,SSH 还有一些其他功能
- SSH 可以使用更强的认证机制
- SSH 可以转发文件
- SSH 可以使用端口转发功能
端口转发(Port forwarding)是 SSH 为网络安全通信使用的一种方法。SSH 可以利用端口转发技术来传输其他 TCP/IP 协议的报文,当使用这种方式时,SSH 就为其他服务在客户端和服务器端建立了一条安全的传输管道端口转发是指将特定端口号所收到的消息转发到指定 IP 地址和端口号的一种机制。
FTPFTP(File Transfer Protocol,文件传输协议) 是应用层协议之一。FTP 协议包括两个组成部分,分为 FTP 服务器和 FTP 客户端。其中 FTP 服务器用来存储文件,用户可以使用 FTP 客户端通过 FTP 协议访问位于 FTP 服务器上的资源。
由于 FTP 传输效率非常高,一般用来在网络上传输大的文件。
默认情况下 FTP 协议使用 TCP 端口中的 20 和 21 这两个端口,其中 20 用于传输数据,21 用于传输控制信息。FTP TCP 21 号端口上进行文件传输时,每次都会建立一个用于数据传输的 TCP 连接,数据传输完毕后,传输数据的这条连接也会被断开,在控制用的连接上继续进行命令或应答的处理。
提供电子邮件服务的协议叫做 SMTP(Simple Mail Transfer Protocol), SMTP 在传输层也是用了 TCP 协议。
早起电子邮件是在发送端主机和接收端主机之间直接建立 TCP 连接。发送方编写好邮件之后会将邮件保存在磁盘中,然后与接受主机建立 TCP 连接,将邮件发送到接受主机的磁盘中。当发送方把邮件发送后,再从本地磁盘中删除邮件。如果接受主机因为特殊情况无法接收,发送端将等待一段时间后重新发送。
这种方法虽然能够保证电子邮件的完整性和有效性,但却不适合当今的互联网,因为早期的电子邮件只能在线发送,这种方式显然不够成熟。
针对于此,提出了邮件服务器的概念。邮件服务器构成了整个邮件系统的核心。每个接收方在其中的邮件服务器上会有一个邮箱(mailbox) 存在。用户的邮箱管理和维护发送给他的报文。
一个典型的邮件发送过程是:从发送方的用户代理开始,传输到发送方的邮件服务器,再传输到接收方的邮件服务器,然后在这里被分发到接收方的邮箱中。用接收方的用户想要从邮箱中读取邮件时,他的邮件服务器会对用户进行认证。如果发送方发送的邮件无法正确交付给接收方的服务器,那么发送方的用户代理会把邮件存储在一个报文队列(message queue)中,并在以后尝试再次发送,通常每 30 分钟发送一次,如果一段时间后还发送不成功,服务器就会删除报文队列中的邮件并以电子邮件的方式通知发送方。
现在你知道了两台邮件服务器邮件发送的大体过程,那么,SMTP 是如何将邮件从 Alice 邮件服务器发送到 Bob 的邮件服务器的呢?主要分为下面三个阶段
- 建立连接:在这一阶段,SMTP 客户请求与服务器的25端口建立一个 TCP 连接。一旦连接建立,SMTP 服务器和客户就开始相互通告自己的域名,同时确认对方的域名。
- 邮件传送:一旦连接建立后,就开始邮件传输。SMTP 依靠 TCP 能够将邮件准确无误地传输到接收方的邮件服务器中。SMTP 客户将邮件的源地址、目的地址和邮件的具体内容传递给 SMTP 服务器,SMTP 服务器进行相应的响应并接收邮件。
- 连接释放:SMTP 客户发出退出命令,服务器在处理命令后进行响应,随后关闭 TCP 连接。
最一开始,互联网中的电子邮件只能处理文本格式,后来也逐渐扩展为 MIME 类型,我们上面也简单提到了一句 MIME 类型,MIME(Multipurpose Internet Mail Extensions) 是用途互联网邮件扩展类型。
它是一个互联网标准,扩展了电子邮件标准,使其能够支持很多格式,这些格式如下
- 超文本标记语言文本 .html text/html
- xml文档 .xml text/xml
- 普通文本 .txt text/plain
- JPEG图形 .jpeg .jpg image/jpeg
- AVI 文件 .avi video/x-msvideo 等。
文章涵盖了许多应用层协议,包括 HTTP、DNS、SMTP、FTP、TELNET 协议等
这些应用层协议我们在日常工作中都会用到,我们不仅仅是用户,还是程序员,势必要对其进行了解,我给你画了一些图帮助你理解清楚这些协议,简化的背后却是复杂而艰巨的规范标准和开发的复杂。
如果文章写的还不错,希望读者朋友们可以点赞、在看、分享、留言,这将是我继续更文的动力,也是我涨粉的动力,希望您可以支持下。
在我的 程序员cxuan 同名公众号下回复 cxuan 领取下面这些 PDF,纯自己手写。