TCP和UDP

来源:互联网 发布:万果五笔输入法mac版 编辑:程序博客网 时间:2024/04/28 00:15

运输层的两个协议涉及到很多知识,忘得差不多了,特此整理出来备忘


UDP(User Datagram Protocol):用户数据报协议

TCP(Transmission Control Protocol):传输控制协议


1、UDP

UDP传送的数据单位协议是UDP报文或用户数据报,UDP的信道是不可靠的,它只在IP的数据报服务至上增加了很少的功能,即端口的功能和差错检测的功能;优点是无连接的,面向报文的,没有拥塞控制,支持一对一、一对多、多对一和多对多的通信,首部开销只有8个字节;UDP并不拆分或者合并报文,所以应用程序必须选择合适大小的报文

2、TCP

2.1 TCP概述

TCP传送的数据单位协议是TCP报文段,它是面向连接的(套接字),一对一、提供可靠交付服务,提供全双工通信,面向字节流;TCP根据对方的窗口值和当前网络的拥塞程度来决定一个报文段应该包含多少个字节,有缓存机制,保证数据是有序完整到达


2.2 TCP可靠通信的具体实现

TCP连接的每一端都有一个发送窗口和一个接收窗口,这四个窗口经常处于动态变化中,TCP可靠传输用字节的序号进行控制,的所有确认都是基于序号的;超时重传,TCP每发送一个报文段,就对这个报文段设置一次计时器,只要时间到了还没收到确认,就要重传这一段报文段


2.3 TCP流量控制

TCP利用滑动窗口实现流量控制,流量控制(flow control)就是让发送方的发送速度不要太快,既要让接收方来得及接收,也不要使网络发生拥塞

拥塞(Congestion)是在某段时间内,若对网络中的某资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏,这里我理解的意思是网络中的路由器还没有把队列中积压的分组处理完,又来了更多的分组,导致网络性能变坏。拥塞控制算法学过的慢开始算法,“加法增大、乘法减小”

需要注意流量控制和拥塞控制的区别


2.4 三次握手和四次挥手





0 0