0
点赞
收藏
分享

微信扫一扫

前端如何性能优化

目录

​编辑一、传输层的概述:

1.传输层:

2.端口号:

二、传输层的两个重要协议

1.TCP

        (1)传输控制协议 :TCP

        (2)TCP的主要特点是:        

        (3)窗口:

        (4)TCP的三次握手和四次挥手

2.UDP

        (1)用户数据报协议 :UDP

        (2)UDP的主要特点是:

        (3)UDP首部的概念


 

一、传输层的概述:

1.传输层:

        传输层提供端到端服务

        从通信和信息处理的角度看,传输层向上层应用层提供通信服务

        所谓的端口,就好像是门牌号一样,客户端可以通过ip地址找到对应的服务器端,但是服务器端是有很多端口的,每个应用程序对应一个端口号,通过类似门牌号的端口号,客户端才能真正的访问到该服务器。为了对端口进行区分,将每个端口进行了编号,这就是端口号。

2.端口号:

俩个客户端qq与wx的消息传递过程

FTP:21 (20)* :FTP(文件传输协议),21连接;20传输数据

TELNET:23*:TELNET(远程登录)

SMTP:25*:SMTP(电子邮件传输协议),POP3(邮局协议版本3) :110

DNS:53*:DNS(域名系统)

TFTP:69:TFTP(简单文件传输协议)

HTTP:80*:HTTP(超文本传输协议)

SNMP:161:SNMP(简单网络管理协议)

HTTPS:443*:HTTPS(超文本传输安全协议)

二、传输层的两个重要协议

1.TCP

        (1)传输控制协议 :TCP

                TCP是TCP/IP体系中较为复杂的协议,是传输层中最重要的协议。

        (2)TCP的主要特点是:        

                (1).TCP是面向连接的传输层协议
                (2).TCP提供
可靠的交付服务
                (3).TCP提供
全双工通信
                (4).TCP是面向字节流

        (3)窗口:

                (1).固定窗口:如果窗口过小,当传输比较大的数据的时候需要不停的对数据进行确认,这个时候就会造成很大的延迟。

                (2).滑动窗口:滑动窗口通俗来讲就是一种流量控制技术。它本质上是描述接收方的TCP数据报缓冲区大小的数据,发送方根据这个数据来计算自己最多能发送多长的数据,如果发送方收到接收方的窗口大小为0的TCP数据报,那么发送方将停止发送数据,等到接收方发送窗口大小不为0的数据报的到来。

                (3).拥塞处理和流量控制

        (4)TCP的三次握手和四次挥手

        三次握手:

        三次握手(Three-way Handshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号并为后面的可靠性传送做准备。

第一次握手:客户端给服务端发一个 SYN 报文,并指明客户端的初始化序列号 ISN。此时客户端处于 SYN_SENT 状态。 

(首部的同步位SYN=1,初始序号seq=client_isn,SYN=1的报文段不能携带数据,但要消耗掉一个序号。)

第二次握手:服务器收到客户端的 SYN 报文之后,会以自己的 SYN 报文作为应答,并且也是指定了自己的初始化序列号 ISN。同时会把客户端的 ISN + 1 作为ACK 的值,表示自己已经收到了客户端的 SYN,此时服务器处于 SYN_RCVD 的状态。
(在确认报文段中SYN=1,ACK=1,确认号ack=client_isn+1,初始序号seq=server_isn。)

第三次握手:客户端收到 SYNACK 报文之后,会发送一个 ACK 报文,当然,也是一样把服务器的 ISN + 1 作为 ACK 的值,表示已经收到了服务端的 SYN 报文,此时客户端处于 ESTABLISHED 状态。服务器收到 ACK 报文之后,也处于 ESTABLISHED 状态,此时,双方已建立起了连接。
(确认报文段SYN=0,ACK=1,确认号ack=server_isn+1,序号seq=client_isn+1(初始为seq=client_isn,第一个报文段消耗了一个序号,所以第二个报文段要+1),此时ACK报文段可以携带数据,不携带数据则不消耗序号。)

        四次挥手: 

        

建立一个连接需要三次握手,而终止一个连接要经过四次挥手,这是由TCP的半关闭(half-close)造成的。所谓的半关闭,其实就是TCP提供了连接的一端在结束它的发送后还能接收来自另一端数据的能力。

TCP 连接的拆除需要发送四个包,因此称为四次挥手(Four-way handshake),客户端或服务端均可主动发起挥手动作。

2.UDP

        (1)用户数据报协议 :UDP

        UDP是在IP数据报服务之上增加了一些功能,增加了复用和分用的功能以及差错检测的功能

        (2)UDP的主要特点是

        1.UDP是无连接的
        2.UDP尽最大努力交付
        3.UDP面向报文且没有拥塞控制
        4.UDP开销较小传输效率较高

        (3)UDP首部的概念

         UDP协议首部格式

        UDP首部有8个字节,由4个字段构成,每个字段都是两个字节

        1. 源端口号 : 可有可无,需要对方回信时选用,不需要时全部置0。

        2. 目的端口号 :必须有,在终点交付报文的时候需要用到。

        3. 长度 :UDP的数据报的长度(包括首部和数据)其最小值为8字节(只有首部)。

        4. 校验和 :检测UDP数据报在传输中是否有错,有错则丢弃。 该字段是可选的,当源主机不想计算校验和,则直接令该字段全为0。

         当传输层从IP层收到UDP数据报时,就根据首部中的目的端口,把UDP数据报通过相应的端口,上交给应用进程。 如果接收方UDP发现收到的报文中的目的端口号不正确(不存在对应端口号的应用进程0,),就丢弃该报文,并由ICMP发送“端口不可达”差错报文给对方。

举报

相关推荐

0 条评论