第五章 传输层
传输层功能 —— 为相互通信的应用进程提供了逻辑通信(TCP/UDP + 端口号 来实现)
注:端口号只具有本地意义,是为了标志本机算应用层中的各进程
端口 0-65535 熟知端口0-1023 登记端口 1024-49151 客户端端口 49152 - 65535
传输层还要对收到的报文进行差错检测
传输层提供面向连接(TCP)和无连接服务(UDP)
注:网络层是为主机之间提供逻辑通信
传输层两个协议
UDP —— 一个数据包就能过完成数据通信,客户端和服务器端不需要建立会话,不可靠传输,不需要流量控制
例:域名解析,qq聊天,广播,多播,屏幕广播。。。
TCP —— 需要将要传输的文件分段传输,客户端和服务器端保持一个会话,实现可靠传输,并且具有流量控制功能
传输层协议和应用层协议的关系
http = TCP + 80(端口号)
https = TCP + 443
RDP = TCP + 3389
ftp = TCP + 21
SMTP = TCP + 25
telnet = TCP + 1433
DNS = UDP/TCP + 53
服务和应用层协议之间的关系
服务使用 TCP或者UDP的端口侦听客户端的请求
客户端使用IP地址定位服务器,使用目标端口,定位服务
可以在服务器网卡上设置只开放必要的端口,实现服务器网络安全
TCP报文首部格式
TCP可靠传输的实现 —— 自动重传请求ARQ,ARQ是自动的
缺点:信道利用率低
解决方案:流水线传输-连续发送多个分组来解决(连续ARQ协议),发送方维持发送窗口,也可以使用累计确认
以字节为单位的滑动窗口
TCP的流量控制
本质——抑制发送端发送数据的速度,以便接收端来得及接收数据
解决方案——滑动窗口,设置确认号为0,则窗口大小就为0,就停止发送,直到确认号大于0,继续发送;如果长时间收不到来自B的消息,A也会自动给B发送一个测试信息
TCP的拥塞控制
一旦发现多个丢包现象,就会主动把发送速度降低,防止把网络彻底堵死
慢开始算法
拥塞避免是在拥塞阶段把窗口控制位按线性规律增长,使网络较不容易出现拥塞
快重传算法 快恢复算法(拥塞窗口不是从1开始,直接从门限值的一半开始,和慢开始算法不一样)
TCP的运输连接管理
传输连接的三个阶段:连接建立、数据传送、释放连接
三次握手建立TCP连接:
四次挥手释放连接: