上帝视角:TCP协议与端口号应用协议的通信方式可分为

上帝视角

应用层

我们之前已经介绍了 TCP/IP 模型的底层三层,即网络接入层、网络层和传输层。它们都服务于应用层,传输应用层的各种数据。现在让我们看一下最高级别的应用程序层。

应用层

在 TCP/IP 模型中,应用层提供的服务等价于 OSI 模型的应用层、表示层和会话层的服务之和。它不仅包括管理通信连接的会话层功能、数据格式转换的表示层功能,还包括主机间交互的应用层功能。

应用层功能

应用层的目的是为应用提供网络接口,直接向用户提供服务。与较低级别的网络协议相比,应用协议更为普遍。您可能听说过 HTTP、HTTPS 和 SSH 等应用层协议。

应用层协议

在 TCP/IP 模型中,应用层位于传输层之上,传输层的端口号用于标识数据对应的应用层协议。也就是说,带有端口号的协议是应用层协议。应用程序协议是终端设备之间的应用程序通信规则。应用程序之间交换的信息称为消息,应用程序协议定义了这些消息的格式以及对消息的控制或操作的规则。

应用协议和端口号

应用协议的通信方式可以分为两类:

在服务器和客户端模型中,始终暴露固定 IP 地址的主机为其他主机上的应用程序提供服务,请求服务的主机之间不相互通信。这些向其他主机提供服务的终端设备称为服务器,而请求服务的终端设备称为客户端。大多数应用层协议都遵循这个模型。

服务器和客户端模型

在 P2P 模型中,没有特定的服务器或客户端,安装在这些设备上的应用程序可以在主机之间建立点对点连接,既可以提供服务,也可以接收服务。通常大流量的应用使用P2P模式,比如下载器等。

P2P模式

在开发应用程序时,为了实现相应的功能和目的,可以使用现有的应用程序协议,也可以自己定义新的应用程序协议。同时,应用程序可以直接使用传输层以下的网络传输服务,开发者只需要关心选择哪种应用程序协议以及如何开发即可,而无需考虑数据如何传输到目的地。这也是 TCP/IP 分层模型的一个特点。

网络传输服务

有许多应用程序,包括 Web 浏览器、电子邮件、远程登录、文件传输、网络管理等等。这些应用程序都使用应用程序协议进行通信,这些应用程序协议旨在实现应用程序的功能。

应用

远程登录

网络设备的管理方式分为本地管理和远程管理。远程管理是一种从本地主机登录网络对端设备,向网络对端设备发送管理数据,实现设备管理的操作方法。通过远程管理,您不仅可以直接使用主机上的应用程序,还可以在主机上设置参数。远程登录主要使用 Telnet 和 SSH 来管理网络设备。

远程登录

女神让大六去她公司修网应用程序端口用得完,大六不用去女神公司直接登录就可以解决问题。

远程登录

在实际工作中,除了一些无法远程管理的设备外,大部分都会使用远程管理来管理设备的配置文件和系统文件。与本地管理相比,远程管理不受物理位置的限制,可以通过连接网络来控制世界另一端的设备,省去了插拔设备线缆和终端设置的过程。网络设备。

Telnet 协议定义了设备通过 IP 网络向远程设备发起明文管理连接的通信标准。设备可以通过 Telnet 协议与远程设备建立管理连接,并对远程设备进行配置和监控。,这样的体验和本地登录设备没什么区别。发起管理的设备为 Telnet 客户端,被管理设备为 Telnet 服务器。因此,Telnet 协议是具有典型服务器和客户端模型的应用层协议。

远程登录协议

Telnet 协议通过 TCP 协议在服务器和客户端之间建立连接,并通过该连接向服务器发送用户名、密码和命令。Telnet 协议使用 TCP 端口 23,也就是说客户端发起 Telnet 连接时,会默认连接到服务器的 TCP 端口 23。

当 Telnet 客户端输入命令时,这些命令通过 TCP 连接发送到端口 23。在监听请求的守护进程 Telnetd 接收到命令后,它将命令发送到 Shell。Shell 为操作系统解释命令,然后操作系统执行 Telnet 客户端。发出命令。同样,操作系统将命令执行结果以相反的顺序发送回 Telnet 客户端。

Telnet协议实现远程命令传输,但是当客户端和服务器跨越一个不可靠的公网时,可以在命令传输过程中截取Telnet通信的所有数据,然后使用截获的用户名和密码传递Telnet服务器身份认证,登录设备修改配置文件。

Telnet协议的安全隐患

Telnet 协议存在重大安全隐患,不建议在实验室外使用。

SSH

SSH 协议在整个过程中都是一个安全的 shell 协议。目的是取代Telnet。SSH 是一种加密的远程登录协议,提供更安全的远程登录服务。使用 SSH 时对通信内容进行加密。即使信息被截获,也无法知道数据的真实内容,因为它无法解密。

SSH 协议

SSH 协议的常见版本是 SSHv2。SSH客户端通过SSHv2协议与SSH服务器建立TCP加密通道。建立这个安全通道的方法是让客户端使用服务器的 RSA 公钥来验证 SSH 服务器的身份。SSH 协议默认使用 TCP 端口 22。

如果客户端成功验证了服务器的身份,它们之间将创建一个会话密钥,通过该通道传输的数据将使用双方协商的加密算法和会话密钥进行加密。这样,两台设备之间就建立了一个安全通道,并通过这个安全通道发送密码。密码以密文形式传输,并由服务器进行认证。SSH通过这种方式建立加密通道,保证SSH服务器,即被管设备的外壳,不受非法用户操作的影响。

文件传输

除了远程登录,我们还需要从远程设备传输文件,文件传输协议提供的应用服务可以满足我们的需求。FTP 是用于在网络上传输文件的标准协议。FTP使用TCP作为传输协议,支持用户登录认证和访问控制。另一种常见的文件传输协议是 TFTP 协议。TFTP 是一种简单的文件传输协议,不支持用户登录认证,也没有复杂的命令。TFTP 使用 UDP 作为传输协议,并具有重传机制。

文件传输

FTP

FTP 用于在服务器和客户端之间传输文件,是通过 IP 网络传输文件的通用协议。FTP 使用客户端-服务器模型,并使用 TCP 协议来提供可靠的传输。FTP可以验证登录服务器的用户名和密码,允许客户端指定文件传输类型,设置文件传输权限。

FTP 使用两个 TCP 连接进行文件传输。一是FTP控制连接,用于控制和管理;另一种是FTP数据连接,用于数据传输。FTP控制连接用于传输FTP控制命令和命令执行的响应信息,如登录用户名和密码的认证、要发送的文件名、发送方式的设置等。此连接在整个 FTP 会话期间保持打开状态,通过 ASCII 字符串发送请求和接收回复。控制连接上不能发送数据,FTP数据连接用于文件和文件列表的传输。数据连接仅在需要传输数据时建立,数据传输完成后终止。

FTP协议

FTP控制连接使用TCP 21端口,也是FTP服务器的监听端口,等待客户端连接。在 TCP 21 端口上进行文件 GET(RETR)、PUT(STOR)和文件表(LIST)操作时,每次都会建立一个数据连接进行数据传输。通过此数据连接正式执行数据和文件表的传输。

数据连接的 TCP 连接通常使用 20 端口,也可以使用 PORT 命令更改为其他值。

对于同一个文件,不同的操作系统可能有不同的存储方式。为了保证文件能够准确的传输给对方,常用的传输方式有两种:

在FTP数据连接过程中,有两种数据传输方式:主动方式和被动方式。

FTP主动传输模式,又称PORT模式。当主动模式建立数据连接时,FTP客户端会通过FTP控制连接向FTP服务器发送PORT命令。PORT命令携带参数:A1、A2、A3、A4、P1、P2,其中A1、A2、A3、A4表示需要建立数据连接的主机IP地址,P1、P2表示临时客户端用来传输数据的端口号,临时端口号的值为256*P1+P2。当需要传输数据时,服务器通过TCP端口号20与客户端提供的临时端口建立数据传输通道,完成数据传输。整个过程中,由于服务器在建立数据连接时主动发起连接,

主动模式

如果客户端在防火墙内,主动方法可能会出现问题,因为客户端的端口号是随机的,防火墙不知道。默认情况下,防火墙只允许外部主机访问部分内部已知端口,阻止访问内部随机端口,从而无法建立FTP数据连接。在这种情况下,您需要使用 FTP 被动模式来传输文件。

图片[1]-上帝视角:TCP协议与端口号应用协议的通信方式可分为-老王博客

被动模式也称为 PASV 模式。FTP控制通道建立后,希望建立被动模式数据传输通道的FTP客户端会使用控制通道向FTP服务器发送PASV命令,告知服务器进入被动传输模式。服务器选择临时端口号,通知客户端命令参数与主动传输方式一致。当需要传输数据时,客户端主动与服务器的临时端口建立数据传输通道,完成数据传输。在整个过程中,服务器被动接收客户端的数据连接,所以称为被动模式。

被动模式

在被动模式下,两个连接都由客户端发起。防火墙一般不会限制内部客户端发起的连接,这解决了主动模式下的问题。

TFTP

TFTP 还用于在服务器和客户端之间传输文件。与FTP相比,TFTP没有复杂的交互界面和认证控制,适用于不需要复杂交互的网络环境。

TFTP采用客户端和服务器的模式,使用UDP协议进行传输,服务器使用69端口监听TFTP连接。由于 UDP 无法提供可靠的数据传输,因此 TFTP 使用超时重传机制来确保数据正确发送。TFTP 只能提供简单的文件传输能力,包括文件上传和下载。不支持文件目录功能,无法对用户身份进行认证和授权。

TFTP 下载

TFTP 协议传输由客户端发起。当需要下载文件时,客户端向 TFTP 服务器发送读取请求,然后从服务器接收数据,并向服务器发送确认;当需要上传文件时,客户端向服务器发送写请求,然后向服务器发送数据,并收到服务器的确认。

TFTP 上传

与 FTP 类似,TFTP 以两种模式传输文件:netascii 模式和 octet 模式。八位字节传输模式对应FTP的二进制流模式,用于传输程序文件;netascii 模式对应 FTP 的 ASCII 模式,用于传输文本文件。

TFTP 在传输文件时,将传输的文件视为由多个连续的文件块组成。每个 TFTP 数据包包含一个文件块,并对应一个文件块号。每个文件块发送完毕后,等待对方确认,确认时指定块号。发送方发送数据后,如果在规定时间内没有收到对端的确认,发送方将重新发送数据。如果发送确认的一方在规定时间内没有收到下一个文件块数据,则重新发送确认消息。这种方法保证了文件传输不会因为某些数据的丢失而失败。

TFTP 发送的每个数据包中包含的文件块大小固定为 512 字节。如果文件的长度正好是512字节的整数倍,那么在文件传输完之后,发送方还必须发送一个最后不包含数据的文件。该消息用于指示文件传输已完成。如果文件长度不是512字节的整数倍,则最后传输的数据包中包含的文件块必须小于512字节,这只是文件结束的标志。

电子邮件

顾名思义,电子邮件是指网络上的邮政服务。通过电子邮件,您可以发送文本、图片、报表数据和其他计算机可以存储的信息。电子邮件不受距离限制,可以连接到世界上任何互联网用户。电子邮件以其使用简单、投递迅速、易于存储、不受距离限制等特点,成为一种广泛使用的应用程序。

电子邮件

刘大发给女神的第一封邮件。

通信架构

电子邮件在几十年的发展过程中发生了明显的变化。从最初的发件人计算机直接向收件人计算机发送电子邮件,已经发展为发件人和收件人都使用邮件服务器来代表他们发送和接收电子邮件。这样,邮件通信不再依赖于收件人当前是否在线,邮件通信过程从简单的发件人到收件人,到发件人的电脑到发件人的邮件服务器,再到发件人的邮件服务器到接收器。邮件服务器,以及从收件人的邮件服务器到收件人的计算机的三个通信过程。并且参与通信的四方不是直接相连的,而是独立连接到互联网上的。在这个架构中,

电子邮件架构

电子邮件地址

使用电子邮件时,您需要有一个地址,这称为电子邮件地址,也称为电子邮件地址。它相当于邮寄地址和姓名。我的邮箱如下:

networkfox@qq.com

networkfox 代表用户名。在同一个通讯地址内,名称必须唯一,不能重复;@ 表示分隔符;qq.com是用户邮箱的邮件接收服务器的域名。

电子邮件的发送地址由 DNS 管理。在 DNS 中注册了相应电子邮件服务器的电子邮件地址和域名。这些映射信息称为 MX 记录。例如:在 qq.com 的 MX 记录中指定了 mail.qq.com。然后任何发送到 qq.com 末尾的邮件都会发送到 mail.qq.com 服务器。这样就可以根据MX记录中指定的邮件服务器应用程序端口用得完,管理不同邮件地址与特定邮件服务器的映射关系。

SMTP 协议

提供电子邮件服务的协议称为 SMTP。SMTP 用于发送和接收邮件服务器之间的通信,而不是用户代理和邮件服务器之间的通信。在实际使用中,发送方的用户代理和发送方的服务器之间经常使用 SMTP 协议。

SMTP 协议

SMTP在传输层使用TCP协议来高效发送邮件内容,端口号为25。当一个邮件服务器向另一个邮件服务器发送邮件时,它首先向对方的TCP端口25发起连接。然后使用这个TCP连接以发送控制消息和数据。

SMTP 握手阶段

虽然 SMTP 协议的逻辑足够简单,可以成功完成邮件的传输,但难免存在一些安全漏洞:

带有网络钓鱼链接的大量广告电子邮件和垃圾邮件是一个日益严重的问题。为了纠正 SMTP 的问题,IETF 定义了扩展的 SMTP,即 ESMTP。ESMTP 提供的扩展功能包括认证机制和加密机制。

在邮件传输的整个过程中,SMTP/ESMTP协议定义了邮件服务器之间的消息传输方式。接收服务器收到邮件后,收件人(用户代理)如何访问邮件需要其他协议来处理。

POP3 协议

电子邮件通过 SMTP 协议到达收件人服务器。个人电脑不可能长时间开机。用户希望一开机就能收到邮件。但是,SMTP 没有此功能。

为了解决这个问题,引入了 POP3 协议。POP3 协议是用于接收电子邮件的协议。发件人的邮件使用 SMTP 协议将电子邮件转发到始终在线的 POP3 服务器。然后客户端根据 POP3 协议接收来自 POP3 服务器的邮件。在这个过程中,为了防止他人窃取邮件内容,还需要进行用户认证。

POP3 协议

POP3 协议与 SMTP 协议一样,是基于 TCP 的应用层协议,使用 TCP 端口 110 连接邮件服务器。收件人的邮件客户端程序首先使用 TCP 连接 POP3 服务器的 TCP 端口 110;然后进行用户认证、邮件列表查询、邮件下载、邮件删除等操作;操作完成后,客户端与邮件服务器断开连接。TCP 连接。

POP3消息传输过程

POP3只负责邮件的下载,从客户端到邮件服务器的邮件上传是通过SMTP协议完成的。

IMAP 协议

POP3协议的邮件客户端对邮件服务器的操作很少,而且邮件需要下载到客户端本地,而不是保存在邮件服务器上,在实际使用中非常不方便。当今用于接收电子邮件的更广泛使用的协议是 IMAP。在 IMAP 中,邮件由服务器管理。

IMAP 协议

使用 IMAP 时,您无需从服务器下载即可查看所有邮件。由于 IMAP 在服务器端处理 MIME 信息,因此可以实现电子邮件附件的选择性下载功能。例如,当一封电子邮件有 5 个附件时,只能下载 3 个附件。IMAP还在服务器上管理“已读/未读”信息和邮件分类,因此在不同计算机上打开邮箱也可以保持同步,使用起来非常方便。

万维网

万维网 (WWW) 是一种以超文本形式在 Internet 上显示信息的系统,也称为 Web。可以显示 WWW 信息的客户端软件称为 Web 浏览器,有时简称为浏览器。目前常用的网络浏览器包括微软的Internet Explorer、谷歌的谷歌Chrome、腾讯的QQ浏览器和苹果的Safari。

使用浏览器,我们无需关心信息存储在哪个服务器上,只需点击几下鼠标即可访问页面上的链接并打开相关信息。

万维网

通过浏览器访问后,浏览器上显示的内容称为网页。您访问网站时看到的第一页称为主页(也称为主页)。许多公司都有以下形式的主页地址:

公司名称.com.cn

这种类型的主页通常包括公司简介、产品信息、职位发布等。我们可以点击这些标题的图标或链接跳转到相应的页面。这些页面上的信息不仅仅是文字内容,还有图片或动画,甚至声音或其他程序等各种信息。我们不仅可以通过网页获取信息,还可以自己制作网页向世界发布信息。

WWW包含三个重要的概念,即访问信息的方式和位置(URI)、信息的表示(HTML)和信息传输的操作(HTTP)。

URI

URI 用于标识资源,是用于主页地址、电子邮件、电话号码等的有效标识符。

:80/index.html

:321

通常主页地址称为 URL。URL 通常用于指示网络资源的特定位置。但 URI 不限于识别 Internet 资源,可以用作所有资源的标识符。简单地说,URL 是 URI 的子集。

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论