计算机网络(五)

运输层
声明:所用的图片均是从网上下载,如有侵权,请联系我!!!!

重点:运输层为相互通信的应用进程提供逻辑通信
           端口和套接字的意义
           无连接的UDP的特点
           面向连接的TCP的特点
           在不可靠的网络上实现可靠传输的工作原理,停止等待协议和ARQ协议
           TCP的滑动窗口、流量控制、拥塞控制和连接管理
运输层屏蔽了运输层下层的复杂,保证了两个主机中应用进程的通信
端口:是应用进程中为了区别不同进程的一种表示,通过IP地址加端口的方式,我们可以实现不同的应用进程之间的通讯
套接字:TCP连接的端点,socket = IP:端口号
每一条的TCP链接需要两个套接字确定

数据报协议UDP
       特点:
               无连接的
               尽最大努力交付
               面向报文的
               没有拥塞控制
               支持一对一、一对多、多对一和多对多通讯
               首部开销很小
       UDP的首部格式:
                

传输控制协议TCP
        特点:
                是面向连接的
                一条连接只能有两个端点
                提供可靠交付的服务
                提供全双工的通信
                面向字节流
          TCP报文段的首部格式:
                  

可靠传输的工作原理
       所用协议:
               停止等待协议:每发送一个分组就停止发送,等待对方确认后再发送下一个
                       
               连续ARQ协议(自动重传请求):自动进行重传请求发送,采用了滑动窗口的方式
                       

TCP可靠传输的实现——TCP的滑动窗口和超时重传
         以字节为单位的滑动窗口的工作原理图
                 

TCP的流量控制:让发送方的发送速率不要太快,要让接收方来得及接收
           实现:使用滑动窗口
           示例图:
                   

TCP的拥塞控制
         拥塞控制方法:慢开始:每经过一个传输轮次,拥塞窗口cwnd就加倍,但有一个阀值
                                  拥塞避免:每经过一个往返时间RTT就把发送方的拥塞窗口cwnd加1,cwnd按线性规律缓慢增长
                                  快重传:让发送方尽早知道发生了个别报文段的丢失
                                  快恢复

TCP的运输连接管理
           阶段:连接建立、数据传送、连接释放
           TCP的连接建立:
                   三报文握手:
                           
                SYN:同步位
                 seq:初始序号
                ack:确认号
            四报文释放:
                    
                             

当客户端没有数据再需要发送给服务端时,就需要释放客户端的连接,这整个过程为:

  1. 客户端发送一个报文给服务端(没有数据),其中FIN设置为1,Sequence Number置为u,客户端进入FIN_WAIT_1状态
  2. 服务端收到来自客户端的请求,发送一个ACK给客户端,Acknowledge置为u+1,同时发送Sequence Number为v,服务端年进入CLOSE_WAIT状态
  3. 服务端发送一个FIN给客户端,ACK置为1,Sequence置为w,Acknowledge置为u+1,用来关闭服务端到客户端的数据传送,服务端进入LAST_ACK状态
  4. 客户端收到FIN后,进入TIME_WAIT状态,接着发送一个ACK给服务端,Acknowledge置为w+1,Sequence Number置为u+1,最后客户端和服务端都进入CLOSED状态

猜你喜欢

转载自blog.csdn.net/q1937915896/article/details/88061919