hwyzw 发表于 2024-12-25 00:45:51

深入了解FTP、SMTP、POP3、IMAP和DNS协议的工作原理与应用场景

    FTP(File):文件传输协议,用于在客户端和服务器之间传输文件。

    SMTP(邮件):简单邮件传输协议,用于发送电子邮件。

    POP3 (Post 3):邮局协议版本 3,用于从远程服务器接收电子邮件的标准协议。 IMAP ( ): 消息访问协议,也是从远程服务器接收电子邮件的标准协议。

    DNS(名称):域名系统,它将主机名转换为 IP 地址,反之亦然。

    DHCP(主机):动态主机配置协议,自动为客户端设备分配IP地址、子网掩码、默认网关等网络参数。

    :一种远程登录协议,允许用户通过终端访问远程计算机上的命令行界面。

    SSH(Shell):一种安全远程登录协议,提供加密和身份验证机制来保护数据传输。

    应用架构:其实就是应用层程序的两种组织结构,分为CS和P2P。

    常见的应用程序架构包括以下内容:

    11、客服系统:是网络应用的架构。系统中不同的端系统分为两类:客户端和服务器端。客户端向服务器发送服务请求,服务器完成所请求的服务并将处理结果返回给客户端。在客户端-服务器架构中,有一个始终在线的主机,称为 (),它从 () 提供服务。我们最常见的服务器是 Web 服务器,它为来自浏览器的请求提供服务。

    12.P2P系统:P2P(Peer-to-Peer)架构是一种分布式计算模型,它不同于传统的客户端-服务器架构。在该模型中,每个节点都可以充当客户端和服务器。 ,相互沟通、协作。 P2P网络中不存在中心化的控制机制,所有节点平等参与网络,从而形成一个去中心化的网络。

    P2P网络一般可分为以下几类:

    P2P网络具有以下优点:

    13.进程:进程实际上是运行在端系统上的程序。应用程序通信的最基本单位是进程。

    14.分布式应用程序:在多个端系统之间交换数据的端系统称为分布式应用程序。

    15、接口:指接口。该接口规定了端系统之间通过互联网进行数据交换的方式。

    客户端:在客户端-服务器架构中扮演请求者的角色,通常是PC、智能手机等终端系统。

    服务器:在客户端-服务器架构中扮演服务器的角色,通常由大型服务器集群扮演服务器的角色。

    IP地址:IP地址是互联网协议地址,是互联网上唯一标识一台主机的地址。每一个连接到网络上的设备都会有一个IP地址,这个IP又分为内部IP和公共IP。

    端口号:在同一主机内,端口号用于标识不同的应用进程。

    URI:全称是(),中文名称是统一资源标识符。它可用于唯一标记上的资源。

    URL:全称是(),中文名称是统一资源定位器。它实际上是 URI 的子集。

    HTML:HTML全称为超文本标记语言,是一种标记语言。它包括一系列标签。这些标签可以统一网络上的文档格式,将分散的资源连接成一个逻辑整体。 HTML 文本是由 HTML 命令组成的描述性文本。 HTML命令可以描述文本、图形、动画、声音、表格、链接等。

    网页:网页也称为Web Page。它是由对象组成的。对象()只是一个文件。这个文件可以是HTML文件、图片、Java应用程序等,它们都可以通过URI找到。 。一个网页包含很多对象,网页可以说是对象的集合。

    Web服务器:Web服务器的正式名称是Web。 Web服务器可以向浏览器等Web客户端提供文档,也可以放置网站文件供全世界浏览;它可以放置数据文件供全世界下载。目前最主流的三种Web服务器是Nginx和IIS。

    CDN:CDN的全称是内容分发网络。它应用HTTP协议中的缓存和代理技术,代表源站响应客户端请求。 CDN是在现有网络基础上构建的网络。依托部署在各地的边缘服务器,利用中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,减少网络拥塞,提高用户访问响应速度和命中率速度。

    专用CDN:内容提供商拥有的CDN。

    第三方CDN:代表多个内容提供商提供服务。

    WAF:WAF是一种应用程序保护系统。它是一款通过对HTTP/HTTPS执行一系列安全策略来专门保护Web应用程序的产品。它是专门检测 HTTP 流量的应用程序级防火墙。它是一种保护 Web 应用程序的安全技术。

    :它是一种Web应用程序,是一种跨编程语言和操作系统平台的远程调用技术。

    HTTP:TCP/IP 协议簇的一种。它是计算机世界中两点之间传输文本、图片、音频和视频等超文本数据的约定和规范。

    :其实就是客户端会话的缓存,主要是为了弥补HTTP的无状态特性而设计的。服务器可以用它来存储客户端在同一会话期间的一些操作记录。当客户端向服务器发出请求时,服务器会为该请求开辟一块内存空间。这个对象就是对象,存储结构就是。

    :在HTTP协议中,包括Web和浏览器,是服务器发送给Web浏览器的一小段数据。服务器发送给浏览器的内容将被浏览器存储起来,并在下次请求时发送给服务器。通常,它用于确定两个请求是否来自同一浏览器,例如当用户保持登录状态时。

    SMTP协议:提供电子邮件服务的协议称为SMTP协议。 SMTP 在传输层也使用 TCP 协议。 SMTP 协议主要用于在系统之间传输电子邮件消息并提供有关传入消息的通知。

    POP3:邮件访问协议,该协议比较简单,功能有限。

    DNS协议:由于IP地址是计算机可以识别的地址,而我们人类记忆这种地址不方便,为了方便人类记忆,采用DNS协议来映射容易的网络地址以便我们记住为主机可以识别的IP。地址。

    根 DNS 服务器:顶级 DNS 服务器。全球有超过 400 个根域名服务器,由 13 个不同的组织管理。根域名服务器提供TLD服务器的IP地址。

    顶级域名DNS服务器:这个我们很熟悉,比如常见的顶级域名(如com、org、net、edu和gov)和所有国家顶级域名(uk、fr、ca和jp)。 TLD 服务器提供权威 DNS 服务器的 IP 地址。

    权威 DNS 服务器:该服务器是上的服务器,具有可公开访问的主机的 DNS 记录。

    本地DNS服务器:一般来说,每个ISP都有一个本地DNS服务器,并且本地DNS服务器会靠近主机。

    协议:远程登录协议,允许用户(客户端)通过协商过程与远程设备进行通信。它为用户提供了在本地计算机上完成远程主机工作的能力。

    SSH协议:SSH是建立在应用层的安全加密协议。因为有一个非常明显的缺点,就是主机和远程主机之间发送数据包的过程中,都是以明文形式传输,没有进行任何安全加密。这样做的后果是,互联网上的犯罪分子很容易嗅探数据包并采取行动。不好的是,为了数据安全,我们一般使用SSH进行远程登录。

    FTP协议:FTP(File)协议是文件传输的标准协议,它通过TCP/IP协议栈传输数据。 FTP 协议由两个主要组件组成:客户端和服务器。

    FTP客户端通常由用户使用的文件管理器或FTP客户端软件来实现。它可以连接远程FTP服务器,允许用户在本地计算机和远程服务器之间进行上传、下载、删除等操作。

    FTP服务器负责提供文件存储和传输服务。需要安装在远程计算机上并配置相应的用户帐户和权限控制以确保安全。

    FTP协议的工作流程如下:

    FTP协议具有以下优点:

    但FTP协议也存在安全性差、不支持加密传输等缺点。因此,在实际应用中,需要根据具体需求选择合适的文件传输协议。

    MIME类型,代表互联网资源的类型。一般类型包括超文本标记语言text.html text/html、xml .xml text/xml、普通text.txt text/plain、PNG image.png image/png、GIF图形.gif image/gif、JPEG图形.jpeg ,.jpg 图片/jpeg, AVI 文件.avi 视频/x- 等。

    解复用:在接收端,传输层会检查源端口号和目标端口号等字段,然后识别接收套接字,从而将传输层段的数据传递到正确的套接字。该过程称为解复用。

    https://img0.baidu.com/it/u=3446491511,1842710271&fm=253&fmt=JPEG&app=120&f=JPEG?w=810&h=500

    多路复用:在发送方,从不同的套接字收集数据块,在数据块上封装头信息生成消息段,然后将消息段传递到网络层的过程称为多路复用。重复使用。

    众所周知的端口号:在主机应用程序中,0到1023之间的端口号受到限制,称为众所周知的端口号。这些端口号一般不能被占用。

    计算机网络传输层

    在计算机网络中,传输层是OSI模型和TCP/IP模型中的一层,主要负责应用程序之间的数据传输。

    在OSI模型中,传输层的作用是为运行在不同主机上的进程提供端到端的可靠数据传输服务。最重要的两个协议是 TCP () 和 UDP (User)。 TCP协议提供面向连接、高可靠性、流量控制和拥塞控制服务,适合需要保证数据完整性和顺序的应用场景。 UDP协议是无连接的,不可靠但速度快,并且可以支持广播和组播等特殊功能。适用于实时性要求高但允许少量数据丢失或乱序的应用场景。在TCP/IP模型中,传输层主要负责对上层协议(如HTTP、FTP等)产生的数据进行分段,并添加头信息(如源地址、目的地址、序列号等)。 ),然后通过IP层路由转发。接收方将接收到的报文段进行重组,并将其传递给上层协议进行处理。此外,还有一些其他常见的协议也工作在传输层,例如SCTP()、DCCP()等。这些协议是为了满足不同的应用场景和需求而设计的。

    数据可靠传输是指在网络上传输数据时保证数据的完整性、正确性和顺序性。为了实现可靠的数据传输,需要考虑以下几个方面:

    1、容丢应用:对于一些允许少量数据丢失或紊乱的应用(如视频流、音频流等),可以采用不可靠的传输方式。

    2、非持久连接:TCP协议采用非持久连接方式,即每次发送数据时都必须进行连接的建立和释放操作。

    3、持续连接:UDP协议采用持续连接方式,不需要连接建立和释放操作,适合需要频繁发送少量数据的场景。

    4、传输控制协议(TCP):TCP是一种面向连接的可靠传输协议。它通过三次握手建立连接,并采用冗余ACK快速重传、选择性确认等技术来保证数据的正确性和完整性。性别和顺序。

    5、用户数据报协议(UDP):UDP是一种无连接、不可靠但传输速度快的协议。适用于实时性要求较高但允许少量数据丢失或乱序的应用场景。

    6、三次握手:TCP连接建立过程中采用三次握手机制,保证双方能够正常通信。

    7、最大段长度(MSS):TCP发送数据时,需要将大数据分成若干小段,MSS是指每个段中的最大数据量。

    8、最大传输单元(MTU):MTU是指网络中可以传输的最大数据包大小,一般为1500字节左右。

    9、冗余ACK快速重传:当接收方连续收到相同的ACK时,意味着之前的报文段可能已经丢失,此时就会触发冗余ACK快速重传机制。

    10、选择性确认:TCP中采用选择性确认技术来减少重复传输,提高吞吐量,即只对接收方尚未收到的数据进行确认。

    11、拥塞控制:TCP采用拥塞控制算法来避免网络拥塞时出现过多的丢包、延迟等问题。

    12、四次挥手:TCP连接释放过程中采用四次挥手机制,保证连接正常关闭。

    13、发送缓存:发送数据时,发送方会先将数据缓存在发送缓存中,等待网络空闲后再发送。

    14、接收缓存:接收数据时,接收方首先会将数据缓存在接收缓存中,等待所有相关数据到达后再进行处理。

    15.SYN:,是TCP/IP建立连接时发送的数据包。该数据包是一个同步序列号,用于标识客户端发送的请求。

    16.ACK:ACK是响应请求的数据包。

    17.FIN:带有FIN标志位的数据包表示客户端要断开连接。

    18. 三向握手中的状态变化。 TCP三次握手过程中,客户端和服务器之间会发生状态变化。具体状态变化如下:

    至此,三次握手过程就完成了。之后,客户端和服务器之间就可以进行数据传输了

    19.四波状态变化。在 TCP 的四波期间,客户端和服务器之间的状态发生变化。具体状态变化如下:

    这样,四个挥手过程就完成了。可以看到,相比三路握手,四路握手中多了一个“TIME-WAIT”阶段,以保证所有数据传输成功,避免重复连接。

    20.滑动窗口:英文,是一种流量控制技术。在互联网发展初期,通信双方通常不会考虑网络状况。他们通常直接通信并同时发送数据。这很容易导致拥塞,没有人可以发送数据。针对这种现象提出了滑动窗口。通过滑动窗口,接收方会告诉发送方自己可以接收多少数据。

    21、窗口长度:窗口长度是指已经发送但尚未确认的数据包的范围。下图中的发送窗口结构就是窗口长度。

    22、累积确认:TCP规定在一段时间内,发送方只需收到接收方返回的最后一个确认ACK,无需重传该报文段。

    23、冗余ACK:由于TCP采用累积确认机制,即当接收端收到序列号大于预期序列号的报文段时,会重复发送最近确认的报文段的确认信号,我们称之为冗余 ACK。

    24、选择性确认:可以选择性地确认乱序的报文段,而不是重传最后一个报文段。

    计算机网络网络层

    网络层重要概念

    网络层位于传输层和数据链路层之间。其主要功能是实现两个网络系统之间数据的透明传输,包括路由、拥塞控制和互联等。

    网络层的两层(路由器之间传输的信息有两种)

    (1)转发源主机和目的主机之间传输的数据:将源主机发送的数据包从一台路由器转发到另一台路由器,就像接力赛一样,最后将数据包传输到目的主机。

    (2)传输路由信息:根据路由协议所使用的路由算法,路由信息报文不断地相互交换,以便在路由器中创建路由表,并导出用于转发报文的转发表。这类信息的传输是为第一类数据的传输服务的。

    互联网协议IP

    互联网协议IP是TCP/IP系统中两个最重要的协议之一,主要是IPV4。较新版本的 IPV6 还使用三种协议与协议 IP 结合使用:

    地址解析协议 ARP

    互联网控制消息协议 ICMP

    互联网组管理协议 IGMP

    从一般概念来看,一些中间设备是用来互连网络的。根据中间设备的级别不同,有四种不同类型的中间设备:

    (1)物理层使用的中间设备称为中继器(),例如中继器、集线器(Hub);

    (2)数据链路层使用的中间设备称为网桥或网桥();

    (3)网络层使用的中间设备称为路由器();

    (4)网络层以上使用的中间设备称为网关()。使用网关连接两个不兼容的系统需要进行高层协议转换。

    TCP/IP虚拟互连方式

    所谓虚拟互连网络,是指各种互连的物理网络的异构性本来是客观存在的,但我们可以利用IP协议使这些性能不同的网络在网络层看起来像一个网络。统一网络。

    这种使用IP协议的虚拟互连网络可以称为IP网络。使用IP网络通信的优点是,当IP网络上的主机通信时,就好像它们在单个网络上通信一样。他们看不到互连的节点。网络的具体异构细节(例如具体的寻址方案、路由协议等)

    https://img2.baidu.com/it/u=917651316,2755966924&fm=253&fmt=JPEG&app=138&f=JPEG?w=853&h=500

    互联网的源主机H1向目的主机H2发送IP数据报。根据数据包交换和数据包转发的概念,主机H1首先需要查找自己的路由表,看看目的主机是否在这个网络上。如果是,则不需要经过路由器,直接下发,任务完成。如果不是,则必须将 IP 数据报发送到路由器(图中的 R1)。 R1 搜索自己的路由表后,知道应该将数据报转发给 R2 进行切换和传递。就这样一直往前走。最后,路由器 R5 知道它与 H2 连接到同一网络,并且不需要使用另一个路由器来转发它。 ,因此数据报直接传送到目的主机H2。

    这里强调的是,互联网可以由多个异构网络组成。

    IP地址

    IP作用于OSI参考模型中的网络层,作为终端通信中的唯一标识符,方便确定数据传输目标。

    IP地址分为:IPv4、IPv6

    众所周知且流行的IPv4采用点分四组十进制表示法显示。

    IPv4 是 32 位的。 IPv6的位数比较多,为128位,长度是IPv4的4倍,其表示形式是八组四个十六进制数分成块。

    IP是一个终端的唯一表示,因此只有保证每个IP都不同才能保证IP的唯一性。其中,IPv4地址的长度为32位,因此有2^32种可能的地址。同样,IPv6地址的长度是128位,因此有2^128个可能的地址。

    这些地址是发送数据包的目的地址。当然,每个地址都会有自己的含义,比如单播、多播、广播等。

    单播可以理解为一台主机向另一台主机发送单个数据包;

    组播可以理解为一台主机向多台主机发送单个数据包;

    广播可以理解为一个节点向所有其他节点发送数据包;

    大多数 IPv4 地址都是单播的

    识别IP地址时,首先通过识别IP地址中的网络号来识别目的地址所在的网络区域,然后识别主机号来识别网络中的具体主机。

    IPv4地址以二进制表示。地址的网络号和主机号可分为 5 类:A 类、B 类、C 类、D 类和 E 类。

    A类:网络号共8位,第一位固定为0,后面连续7位可自由设置;主机号码为24位。 B类:网络号共16位。前两位固定为1 0。接下来的连续14位可以自由设置。主机号码为16位。 C类:网络号共24位。前三位固定为1 1 0。接下来的21位连续数字可以自由设置。主机号码为8位。 D类:组播地址,共32位。前四位固定为1 1 1 0。E类:保留地址,共32位,前四位2固定为1 1 1 1。

    A类地址网络号共有8位,其中第一位固定为0,其余7位可以自由设置,所以一共有2^7个网络号。 B类地址网络号一共有16位,其中第一位固定为1 0。接下来还有14位可以自由设置,所以一共有2^14个网络号。

    C类地址网络号共有24位,其中第一位固定为1 1 0。接下来还有21位可以自由设置,所以总共有2^21个网络号。

    A类地址的网络号字段占用1个字节,只有7位可用(该字段的第一位已固定为0,

    网络号全0的IP地址有特殊用途。它代表“这个网络”;

    网络号 127(即)被保留用于该主机进程之间通信的本地软件环回测试。如果主机发送一个目的地址为环回地址(即127.0.0.1)的IP数据报,主机的协议软件将处理数据报中的数据,而不将该数据报发送到任何网络。因此,可以分配给 A 类地址的网络号有 126 个。

    种类

    地址范围

    最大网络数量

    最大主机数

    1.0.0.0~126.255.255.255

    2^7

    2^24-2 =

    128.0.0.0~191.255.255.255

    2^14-1

    2^16-2 = 65534

    192.0.0.0~223.255.255.255

    2^21-1

    2^8-2 = 254

    无类别寻址 CIDR

    当IP地址即将耗尽时,一种新的无类别寻址方法应运而生。

    (1)网络前缀:CIDR将网络号重命名为网络前缀,用于指示网络。剩下的部分仍然是主机号,用于表明主机网络前缀n不是一个固定的数字。 CIDR采用“斜杠计数法”,即IP地址后面跟上网络前缀占用的位数。

    (2)地址块:CIDR将具有相同网络前缀的所有连续IP地址组合成“CIDR地址块”。 CIDR 地址块中包含的 IP 地址数量取决于网络前缀的位数。我们只需要知道CIDR地址,对于块中的任意地址,就可以知道这个地址块的起始地址(即最小地址)和最大地址,以及该地址块中的地址数量。

    IP数据报格式

    IP协议提供不可靠的无连接数据报传输服务。 IP层提供的服务是通过IP层对数据报的封装和解封装来实现的。 IP数据报的格式分为两部分:报头区和数据区。标头区域是为了正确传输高级数据而添加的各种控制信息。数据区包括高层协议需要传输的数据。

    IP数据报头固定部分的字段

    (1)版本:占4位,指IP协议的版本。通信双方使用的IP协议版本必须一致。目前广泛使用的IP协议版本号为4(即IPv4)。 IPv6 仍处于起步阶段。

    (2) 报头长度:占4位。该字段的单位是32位字(32位字的长度为4字节)。因此,当IP头长度为1111时,头长度达到最大值60字节。当IP报文头的长度不是4字节的整数倍时,需要填充字段。当不使用任何选项时,最常用的标头长度为 20 位(标头长度​​值为 0101)。

    (3)区分服务(服务类型):8位,一般情况下不使用该字段。

    (4)总长度:指报头和数据的长度,以字节为单位。总长度字段为16位,因此IP数据报的最大长度为65535。每个数据链路层都有自己的帧格式,其中包括帧格式中数据字段的最大长度,称为最大传输单元MTU。当IP数据报封装成链路层帧时,数据报的总长度不能超过相应的MTU值。如果数据报长度超过MTU值,数据报就会被分片。此时,数据报头中的“总长度”字段是指分片后每个分片的头长度和数据长度之和。

    (5) 标志:16位。 IP 软件在内存中维护一个计数器。每次生成数据报时,计数器都会加 1 并分配给标识字段。当数据报被分片时,每个分片的标识值与原始数据报的标识值相同,在接收端具有相同标识值的分片最终可以正确地重新组装成原始数据报。

    (6) Flag:占3个位置,但目前只有2个有意义。最低位标记为 MF。 MF=1表示后面有“碎片”数据包。 MF=0 表示这是几个数据包片段中的最后一个。中间位标记为DF,意思是“不能分片”。仅当 DF=0 时才允许分片。

    (7) 芯片偏移:13 位。表示每个数据报片段在原始数据报中的相对位置。切片偏移以8字节为偏移单位,即每个切片的长度必须是8字节的整数倍。
页: [1]
查看完整版本: 深入了解FTP、SMTP、POP3、IMAP和DNS协议的工作原理与应用场景