TCP端口和TCP连接管理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_40797414/article/details/82110613

TCP段结构中端口地址是16比特,可以有在0~65535范围内的端口号。对于这65536个端口号,有以下使用规定。
(1)端口号小于256的定义为常用端口,服务器一般都是通过常用端口号来识别的。任何TCP/IP实现所提供的服务都用1~1023之间的端口号。这些端口号由Internet端口号分配机构来管理;
(2)客户端通常对它所用的端口号并不关心,只需保证该端口号在本机上是唯一的就可以了。客户端口号因存在时间很短暂又称作临时端口号。
(3)大多数TCP/IP实现给临时端口分配1024~5000之间的端口号。大于5000的端口号是为其他服务器预留的(Internet上并不常用的服务)
常用的TCP协议所使用的端口如下所示
FTP (文件传输服务) 21
TELNET(远程登陆)23
HTTP:(超文本传送协议) 80
GOPHER(菜单驱动信息检索) 70
SMTP(简单邮件传送协议)25
POP3(接收邮件)与SMTP对应 110

TCP重传策略
TCP协议用于控制数据段是否需要重传的依据是设立重发定时器。在发送一个数据段的同时启动一个重发定时器,如果在定时器超时前收到确认,就关闭该定时器,如果定时器超时前没有收到确认,则重传该数据段。
TCP拥塞控制
因特网中,对拥塞的控制大部分是由TCP来完成,对拥塞控制的最有效的方法是降低数据传输速率。要进行拥塞控制首先要检测到拥塞的发生,由于传输线路质量的提高,由传输错误 造成的数据丢失的情况越来越少,因此,因特网上的传输超时大部分是因拥塞造成的。这样,就可以明确地认为,如果出现传输超时就意味着出现了拥塞。
造成拥塞出现,是由网络容量与接受方容量两个方面的问题引起的,需要分别处理。为此,发送方除前面讲到的接受方承认的发送窗口外,增加一个拥塞窗口,每个窗口都反应出发送方能够传输的字节数,发送方取两个窗口中的最小值作为发送的字节数。
在刚建立连接时,将拥塞窗口的大小初始化为该连接所需的最大数据段的长度值,并发送一个最大长度的数据段。如果在定时器超时前,得到 确认,将拥塞窗口的大小增加一个数据段的字节数,并发送两个数据段,如果每个数据段在定时器超时前都得到确认,就再在原基础上增加一倍,即为4个数据段的大小,如此发反复,每次都在前一次的基础上加倍。当定时器超时或达到发送窗口设定的值时,停止拥塞窗口尺寸的增加,这种反复称为慢速启动,所有的TCP协议都支持这种方法。

猜你喜欢

转载自blog.csdn.net/weixin_40797414/article/details/82110613