《计算机网络》学习笔记(五)---运输层
1403 点击·0 回帖
![]() | ![]() | |
![]() | 一、运输层协议概述 运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中最底层。网络层是为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信。运输层有一个很重要功能——复用和分用,有两个运输协议——TCP和UDP。 软件接口是在协议栈层间的抽象协议接口 硬件接口是不同硬件设备进行交互的接口 运输层接口 1、服务器端使用的端口号(系统端口号) (1)熟知端口号:数值为0~1023 (2)登记端口号:数值为1024~49151 2、客户端使用的端口号(短暂端口号)数值为49152~65535 二、用户数据协议UDP UDP只在IP的数据报服务上增加了(1)复用和分用功能(2)差错检测功能 UDP的主要特点: 1、无连接的 2、尽最大努力交付 3、面向报文的 UDP的报文格式: ![]() 三、传输控制协议TCP(概述) TCP的主要特点: 1、面向连接的 2、只能连接两端点(一对一) 3、提供可靠交付服务 4、提供全双工通信 5、面向字节流 套接字socket=(IP地址:端口号) TCP链接::={socket1,socket2}={(IP1:port1),(IP2:port2)} TCP的报文格式: ![]() 四、传输控制协议TCP(传输、控制、管理) 可靠传输: 可靠传输是指: (1)当出现差错时让发送方重传出现差错的数据 (2)在接收方来不及处理收到数据时,及时告诉发送方适当降低发送数据的速度 可靠传输——停止等待协议 无差错情况、超时重传: ![]() 确认丢失、确认迟到: ![]() 这种可靠传输协议常称为自动重传请求ARQ 信道利用率U=T0/(T0+RTT+TA): ![]() 可靠传输——连续ARQ协议 流水线传输: ![]() 滑动窗口协议: ![]() 可靠传输——实现 以字节为单位的滑动窗口: ![]() 发送窗口只是发送缓存的一部分,发送缓存用来暂时存放 (1)发送应用程序传送TCP准备发送的数据 (2)TCP已发出但尚未收到确认的数据 接收缓存用来暂时存放 (1)数据到达的,但尚未被接收应用程序读取的数据 (2)未按序到的数据 ![]() 超时重传时间选择: 1、RTO=RTTs+4*RTTd 2、新的RTTs=(1-a)*(旧的RTTs)+a*(新的RTT样本) 3、新的RTTd=(1-b)*(旧的RTTd)+b*|RTTs - 新的RTT样本| 如果想只传送缺少的数据而不重传已正确到达接收方的数据,就得使用选择确认SACK,在TCP首部的选项中加上“允许SACK”的选项。 流量控制: 所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收: ![]() 拥塞控制: 所谓拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不至于过载,拥塞控制是一个全局性的过程,相反,流量控制往往指点对点通信量的控制,是端到端的问题 拥塞控制的作用 : ![]() 拥塞控制的方法(1)开环控制(2)闭环控制 1、慢开始 2、拥塞避免 3、快重传 4、快恢复 ![]() ![]() ![]() ![]() 运输连接管理: 运输连接有三个阶段(1)连接建立(2)数据传输(3)连接释放 TCP的连接建立: ![]() TCP的连接释放: ![]() A在TIME-WAIT状态等2MSL时间的理由: 1、保证A发送的最后一个ACK报文能够到达B 2、防止已失效的连接请求报文段出现在本连接中 | |
![]() | ![]() |