TCP与UDP:运输层协议详解

需积分: 9 1 下载量 191 浏览量 更新于2024-08-14 收藏 1.2MB PPT 举报
"该资源是计算机网络课件的第五章,主要讲解了运输层的相关知识,特别是关于发送窗口的上限值的设定,以及TCP和UDP的相关协议内容。" 在计算机网络中,运输层是网络协议栈中的关键层级,它负责为两台主机上的应用进程之间提供端到端的数据通信服务。运输层协议包括两种主要类型:TCP(传输控制协议)和UDP(用户数据报协议)。TCP提供的是面向连接、可靠的通信服务,而UDP则是无连接、不可靠的通信服务。 发送窗口的上限值是网络传输过程中一个重要的概念,它决定了发送方可以发送多少数据而不需等待确认。这个上限值由接收方的接收窗口(rwnd)和发送方的拥塞窗口(cwnd)共同决定。根据公式(5-8),发送窗口的上限值为两者中较小的那个。如果rwnd小于cwnd,这意味着接收方的接收能力成为限制因素;相反,如果cwnd小于rwnd,则网络的拥塞状况限制了发送速率。 TCP协议是实现可靠传输的关键协议,其主要特点包括连接建立、数据的顺序传输、错误检测和纠正、流量控制以及拥塞控制。TCP的连接是通过三次握手建立的,而连接释放则涉及四次挥手。TCP使用滑动窗口机制来实现流量控制,确保发送方不会淹没接收方,同时为了提高效率,窗口大小会随着网络状况动态调整。 拥塞控制是TCP中的另一个重要机制,其目的是防止过多的数据同时在网络中传输,避免网络阻塞。TCP采用了一系列策略,如慢启动、拥塞避免、快速重传和快速恢复等,来动态调整cwnd的大小。随机早期检测(RED)是一种预防拥塞的策略,它在检测到网络拥堵的早期迹象时就开始丢弃数据包,以减少拥塞的发生。 在TCP报文段的首部中,包含了用于实现这些功能的字段,例如序列号、确认号、窗口大小以及各种控制位。此外,TCP还支持选择确认(SACK),允许接收方指定丢失的数据段,以便发送方只重新发送缺失的部分,而非整个数据流。 相比之下,UDP是轻量级的协议,不提供连接、顺序保证或错误恢复,而是依赖于应用层来处理这些细节。UDP的首部简洁,仅包含源和目的端口号以及长度和校验和字段。 运输层协议,特别是TCP,通过一系列复杂的机制确保了数据的可靠传输,而发送窗口的上限值设定是其中的关键一环,它平衡了接收能力和网络拥塞的关系,从而保证了网络通信的高效和稳定。