【原创】tcp协议那块一些点(想到了再加)

1.3次握手 4次握手

2.那张状态图,FIN_WAIT主动关闭方,CLOSE_WAIT被动关闭方

主动关闭方发出FIN后进入FIN_WAIT,FIN_WAIT方收到了ACK和FIN,发出了ACK,则进入TIME_WAIT 2MSL, 因为放置ACK的重传,确保对方能顺利关闭。

被动关闭方收到FIN发出ACK进入CLOST_WAIT ,发出FIN后进入LAST_ACK,2MSL就是为了保证被动方能收到最后的ACK的存在的。

一般主动方为客户端,端口不是固定的,2MSL的TIME_WAIT也没事,而被动方是服务端。

若机器上TIME_WAIT太多就会出问题。

时间: 2024-10-13 15:06:02

【原创】tcp协议那块一些点(想到了再加)的相关文章

《网络协议》TCP 的成块数据流

在前面的文章中<TCP 的交互数据流>我们可以知道,TCP 的成块数据流是在要求传输效率较高的情况下使用,例如 FTP.对于这些要求传输 TCP 最长报文段的应用,TCP 协议采用了滑动窗口协议,使发送端在等待确认前可以连续发送多个分组. 一般来说,发送端发送一个 TCP 数据报,则接收端就应该发送一个 ACK 数据报.但在实际应用中却并非如此,而是发送端将连续发送数据报保存在接受端的缓冲区中,并且尽量使其填满,接受端对这些连续发送的数据报只发送一个 ACK 报文应答,这就是 ACK 的累积特

计算机网络之TCP协议与UDP协议

运输层向它上面应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最底层. 两个主机进行通信实际上就是两个主机中的应用进程互相通信.应用进程之间的通信又称为端到端的通信. 应用层不同进程的报文通过不同的端口向下交到运输层,再往下就共用网络层提供的服务. 运输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信).运输层还要对收到的报文进行差错检测. 运输层需要有两种不同的运输协议: (1)用户数据报协议 UDP (User Datagram Protocol)

《TCP/IP具体解释》读书笔记(20章)-TCP的成块数据流

眼下建立在TCP协议上的网络协议特别多,有telnet.ssh,有ftp.有http等等.这些协议又能够依据数据吞吐量来大致分成两大类:(1)交互数据类型,比如telnet,ssh.这样的类型的协议在大多数情况下仅仅是做小流量的数据交换,比方说按一下键盘,回显一些文字等等.(2)数据成块类型.比如ftp.这样的类型的协议要求TCP能尽量的运载数据,把数据的吞吐量做到最大.并尽可能的提高效率. 针对这两种情况,TCP给出了两种不同的策略来进行传输数据. 本章介绍TCP所使用的被称为窗体协议的还有一

《TCP/IP详解》读书笔记(20章)-TCP的成块数据流

目前建立在TCP协议上的网络协议特别多,有telnet,ssh,有ftp,有http等等.这些协议又v金金ZGTERRF可以根据数据吞吐量来大致分成两大类:(1)交互数据类型,例如telnet,ssh,这种类型的协议在大多数情况下只是做小流量的数据交换,比如说按一下键盘,回显一些文字等等.(2)数据成块类型,例如ftp,这种类型的协议要求TCP能尽量的运载数据,把数据的吞吐量做到最大,并尽可能的提高效率.针对这两种情况,TCP给出了两种不同的策略来进行数据传输. 本章介绍TCP所使用的被称为窗口

时间获取程序服务器 TCP 协议相关性

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 最初代码: 这是一个简单的时间获取服务器程序.它和时间获取程序客户端一道工作. TCP/IPv4, IPv6 协议相关 IPv4 --> IPv6 (把代码中出现的左边的字符串换为右边的,就变成了IPv6版本的) sockaddr_in --> sockaddr_in6 AF_INET --> AF_INET6 sin_family --> sin6_family sin_p

计算机网络(7)-----TCP协议概述

传输控制协议(Transmission Control Protocol) 概念 一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义.在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议. 主要特点 (1)TCP是面向连接的运输层协议.这就是说,应用程序在使用TCP协议之前,必须先建立TCP协议.在传送数据完毕后,必须释放已经建立的TCP连接.类似于“打电话”,需要先拨号建立连接,通话完之后要挂机释

基于TCP协议的网络通信

**重点内容**1.使用InetAddress(IP地址类) 这个类有点儿奇葩,没有提供构造方法.而是有两个静态方法来实例化. ·getByName(String host) 通过主机名获取对应的InetAddress对象 ·getByAddress(byte[] addr) 通过IP地址获取对应的InetAddress对象 getCononicalHostName() 获取IP地址的全限定域名 getHostAddress() 返回IP地址字符串 getHostName() 获取IP地址的主机

TCP协议详解(下)

 TCP协议详解 TCP状态转移 TCP连接的任意一端在任一时刻都处于某种状态,当前状态可以通过netstat命令查看,这里我们主要讨论TCP连接葱白建立到关闭的整个过程中通信两端状态的变化.如图是TCP状态转移过程. 图中,粗虚线表示典型的服务器连接的状态转移:粗实线显示典型的客户端连接的状态转移. TCP状态转移总图 服务器转移过程,这里我们说的连接状态指定是该连接的服务器状态. 服务器通过listen系统调用进入LISTEN状态,被动等待客户端连接,因此执行的是所谓的被动打开.服务器一

在网络7层协议中,如果想使用UDP协议达到TCP协议的效果,可以在哪层做文章?(QQ 为什么采用 UDP 协议,而不采用 TCP 协议实现?)

为了解决这题,可以具体看看下面这个讨论. 解灵运工程师 185 人赞同 某次架构师大会上那个58同城做即时通信的人说:原因是因为当时没有epoll这种可以支持成千上万tcp并发连接的技术,所以他们使用了udp,然后在udp上面封装了一下,模拟了一下tcp,解决了大并发的问题,之后因为做的很nb了,虽然epoll这种技术出现了,还是没有改回使用tcp了.现在再做类似的东西就不需要使用udp了.这个说法应该比较可信的. 发布于 2014-04-16 18 条评论 感谢 分享 收藏 • 没有帮助 •