网络协议基础

2023-05-29 0 573

FTP方法论此基础

FTP是为,计算机互联网中进行统计传输而创建的准则、国际标准或签订合同。

FTP就是互联网上各式各样电子设备能够民泽重要信息。

绝大多数互联网都采用多层的数据库系统,每几层都创建在它的下层其内,向它的上几层提供更多一定的服务项目,而把如何实现这一服务项目的技术细节对上几层予以过滤(这就类似于他们标识符中的USB)。这样就要求转交方和推送方同层的协定必须完全一致,不然另一方将难以辨识另一方收到的重要信息。

上面就多层模型(OSI)做个导出:

应用领域层(四层):它为应用领域软件而设的USB,用作应用领域之间的通讯;

links(四层):它将统计数据转成转交系统能辨识采用的文件格式;

sysfs(四层):sysfs是创建在统计数据互联网层其内,通过利用统计数据互联网层提供更多的USB,使应用领域创建和王克敏话,并能确保会话获得并行(单纯认知成统计数据统计传输的两个地下通道);

统计数据互联网层(四层):它将统计传输字段(TH,统计传输字段包涵了所采用的协定等重要信息)合叶至统计数据(他们要统计传输的统计数据)装配成统计报文;

互联网层(四层):互联网层它决定统计数据的统计传输方向和寄信,它会将互联网字段(NH,包涵了互联网统计数据:IP 等)加进到统计报文中;

统计传输层(四层):统计传输层(Data Link Layer)负责管理互联网串行、严重错误探测和改错传输层(第几层);

传输层确保原始统计数据能在各式各样力学新闻媒体上统计传输。

TCP/IP 协定族多层和 OSI 多层的分析:

网络协议基础

当出访两个邮箱时,应用程序都做了些什么呢?

能看下出访中文网站的整个工作业务流程:

网络协议基础

HTTP协定的分析

HTTP(HyperText Transfer Protocol),它是超文本统计传输协定,它是基于 TCP 协定实现的。

HTTP 它是一种无状态协定,就像他们作为游客出访两个页面时,无状态协定是单纯且高效的。

HTTP 协定的请求报文和响应报文的结构基本相同。

HTTP 报文组成文件格式:

起始行

描述请求或响应的基本重要信息,如:GET /** HTTP/1.1、HTTP/1.1 200 OK 等

头部字段集合

使用 key-value 说明报文(想想请求头和响应头)

消息正文

HTTPS协定分析

HTTP 是基于 TCP 实现的,它的报文是明文,整个统计传输过程完全是透明的,任何环节都能轻松拦截、修改,这是很不安全的。

HTTPS其实就是在HTTP协定其内增加了SSL(Secure Sockets Layer安全套接层)。

HTTPS 工作业务流程大致如下:

应用程序给服务项目器推送加密套件列表(就是告诉服务项目器自己支持的加密算法)

服务项目器根据加密套件列表挑选加密算法,并给应用程序推送公钥

服务项目器采用私钥解密,对于该会话的内容重要信息都采用该密钥加密统计传输给应用程序

HTTPS 更安全可靠,的几个依据如下:

对于第三步的统计传输公钥改成统计传输公钥数字证书

数字证书组成:公钥用户重要信息、公钥、签名。

A 再对摘要重要信息进行加密,这个密文就是签名:CA 重要信息、有效期、证书序列号。

数字证书由第三方机构(CA 机构)颁发:公司重要信息、系统的域名和公钥需要到 CA 机构进行认证,认证通过后 CA 再给他们颁发证书,证书内容如上不累述。因为这证书有签名,所以证书内容不可被篡改,从而证书里面的公钥用户重要信息和公钥的安全性就得到了确保。

CA 机构颁发的证书的可靠性依赖于根证书,而根证书是操作系统或应用程序内置的(换句话说,他们就是要相信操作系统或者应用程序的安全性)

TCP协定分析

TCP(Transmission Control Protocol,统计传输控制协定)是一种面向连接的,可靠的,基于字节流的,双向统计传输的统计传输层通讯协定。

它在创建连接时,需要经过三次握手,在进行三次握手完成后才能开始统计传输统计数据; 在终止连接时,它需要四次挥手。

具体如下:

(1)创建连接

网络协议基础

图源:百度百科

三次握手:

客户端推送 SYN 报文给服务项目端,进

当客户端和服务项目端进入 Established 状态,能开始收发统计数据了。

(2)终止连接

网络协议基础

图源:百度百科

四次挥手(注意:close 动作能由任意一端先发起,这里以 client 发起为例):

客户端先调用 close,执行 active close,并推送 FIN 表示统计数据推送完毕,进入 FIN_WAIT_1 状态

服务项目端转交到 FIN 后,执行 passive close,并给客户端推送 ACK,进入 CLOSE_WAIT 状态

服务项目端给客户端推送两个 FIN,进入 LAST_ACK 状态

状态

为什么终止的时候是四次挥手呢?

因为只要互联网另一方主动发起 close 并推送 FIN 仅仅表示它不再推送统计数据,可是还能转交统计数据,所以需要另一方也进行 close 并推送 FIN 通知对方。至于为什么要将 ACK 和 FIN 分开呢?是因为 ACK 是告诉对方“我知道了”,而 FIN 是告诉对方“我也没有统计数据给你了”。而实际情况不一定是我收到 FIN 就刚好也把统计数据都给完对方了,所以是需要分开的。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务