计算机网络-5-传输层
2021-09-16 19:25:27 1 举报
AI智能生成
计算机考研 408-计算机网络 传输层相关概念总结
作者其他创作
大纲/内容
传输层提供的服务
功能
面向通信的最高层、面向用户功能的最底层
提供进程之间的通信【端到端】
复用和分用
复用:发送方不同的应用进程都可以使用同一传输层协议传输层协议传送数据
分用:接收方的传输层在剥去报文首部后能够正确交付数据到目的进程
对收到的报文进行差错检测——首部和数据部分都检测
端口
特点:16bit(65536)哥不同的端口号、 其中 0 ~ 1023为熟知端口(给服务器使用的)
套接字 = 主机IP + 端口号 => 唯一标识网络中一台主机上的一个应用进程
常用熟知端口:【FTP 21 TCP】【TELNET 23】【SMTP 25 TCP】【DNS 53 UDP】【TFTP 69】【HTTP 80 TCP】【SNMP 161】
UDP
特点
无需建立连接,故无连接时延,也不用为维护链接状态
没有拥塞控制,不影响主机发送效率
尽最大努力交付,不保证可靠传输、 维护传输可靠性需要高层(应用层)完成
首部:8B,四字段每字段2B. 【源端口 | 目的端口 | UDP长度 | 校验和】 长度部分是首部+数据 校验和不用全为0
UDP校验
校验前在UDP数据报前+12B的伪首部(只做计算用,不交付) 伪首部里面协议字段为17表示UDP
若出错
直接丢弃
交付给上层,并提交错误报告
TCP
特点
可靠,有序,无丢失,不重复
全双工通信,每条TCP只能是一对一。 面向字节流
报文段
首部+数据 首部最少(一般)为20B 最多为 60B。但是长度必须为4B的整数倍
特殊字段
序号:当前发送的第一个字节的编号
确认号:希望下次收到对方报文第一个字节的编号
数据偏移(首部长度):单位为4B,当值为15时达到TCP最大首部长度 60B
校验和:校验 首部+数据,要加12B的伪首部,伪首部里面协议字段为6代表TCP
连接管理(注意标志位)
连接建立(三次握手)
第一步(客):SNY = 1 【不带数据,但消耗序号 】 客户机发出请求连接报文
第二部(服):SNY = 1, ACK = 1 【不带数据,但消耗一个序号】 服务器发出确认连接报文
第三步(客):ACK = 1 【可携带数据,若不带则不消耗序号】 客户机发出对服务器确认报文的确认
连接释放(四次握手)
第一步(客):FIN = 1 客户机向服务器发出释放请求
第二步(服):ACK = 1 服务器对客户机的释放报文进行确认 此时服务器还能继续发送数据
第三步(服):FIN = 1, ACK = 1 服务器向客户机发出释放请求
第四步(客):ACK = 1 客户机对服务器的释放报文进行确认
一般四步之后不是立即释放连接,要等2MSL(最大生存时间)后才关闭连接、因为保证最后一个数据能传达目的
TCP流量控制(接收端对发送方的流量控制):只涉及两个端点。接受方发送确认报文的时候会给出接收窗口(rwnd),发送方的发送窗口=min{rwnd,cwnd}
TCP拥塞控制
慢开始和拥塞避免【超时】
拥塞窗口从1开始指数增长,到达阈值时变成+1增长。
超时的时候,阈值变为当前cwnd的一半(不能<2)。
再重慢开始一样从1开始
快重传和快恢复【收到冗余ACK】
拥塞窗口从1开始指数增长,达到阈值变成+1增长
收到三个冗余ACK(类似于超时),阈值变为当前cwnd的一半(不能<2)
从cwnd/2的地方以+的方式继续开始
0 条评论
下一页