TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。 TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓出港口实际表示接收能力,用以限制发送方 ...
分类:
其他好文 时间:
2019-12-27 09:16:04
阅读次数:
113
1.什么是三次握手? TCP协议建立连接时,需要三次发送数据包: 第一次:客户机向服务器端请求建立连接 第二次:服务器收到客户机的请求,发出响应 第三次:客户机收到响应 认为连接建立成功 详细过程: 名词解释: SYN - 标志位 只有第一次和第二次为1,第三次和其他任何情况都是0 ACK - 标志 ...
分类:
其他好文 时间:
2019-12-27 00:39:29
阅读次数:
122
TCP握手分为三个阶段,在握手开始之前,通信双方的套接字状态均为“TCP_CLOSE”,以下是这三个阶段: (1)客户端发送一个标志位中SYN位为1的报文给服务端,并设套接字状态为“TCP_SYNSENT” (2)服务端接到SYN报文,设套接字状态为“TCP_SYNRCV”,并回送一个SYN+ACK ...
分类:
其他好文 时间:
2019-12-27 00:16:40
阅读次数:
111
敲击回车后 1.DNS解析查找对应IP地址,首先是从本地缓存中搜索,没找到的话再从dns服务器开始查找,网址从右到左寻找 2.判断程序使用的协议,如果是HTTP协议,就发送http请求 3.建立TCP连接,提供可靠的字节流服务,三次握手 4.确定对方IP地址,同一子网下通过广播的方式传输数据包(子网 ...
分类:
其他好文 时间:
2019-12-27 00:09:53
阅读次数:
73
本实验跟踪TCP三次握手过程 实验环境:ubuntu18.04,用qemu虚拟加载linux-5.0.1内核,在MenuOS中添加简单TCP通信demo命令。 首先,先理论分析三次握手,严格的来说应该是三报文握手,并不是三次握手,因为握手只进行了一次。 第一步:Client将标志位SYN置为1,随机 ...
分类:
其他好文 时间:
2019-12-27 00:07:14
阅读次数:
100
深入理解TCP协议及其源代码 实验环境:Linux 5.0.1 内核 32位系统的MenuOS 本次主要分析理解TCP三次握手,和跟踪三次握手的基本过程 该TCP协议的状态转换图,完整的描述了TCP状态的变化: 从中可以清楚的了解到整个TCP状态转移的过程。总共有11个状态。 先说明下图中每个字段的 ...
分类:
其他好文 时间:
2019-12-26 21:45:19
阅读次数:
125
这是我的第五篇博客,鉴于前面已经有很多人对前四个题目如三次握手等做了很透彻的分析,本博客将对拥塞控制算法做一个介绍。 首先我会简要介绍下TCP协议,其次给出拥塞控制介绍和源代码分析,最后结合源代码具体分析拥塞控制算法。 一、TCP协议 关于TCP协议,其实在我的第二篇博客中:https://www. ...
分类:
编程语言 时间:
2019-12-26 21:38:22
阅读次数:
121
1.TCP三次握手建立连接 在TCP中,面向连接的传输需要经过三个阶段:连接建立、数据传输和连接终止。 三次握手建立连接 在我们的例子中,一个称为客户的应用程序希望使用TCP作为运输层协议来和另一个称为服务器的应用程序建立连接。 这个过程从服务器开始。服务器程序告诉它的TCP自己已准备好接受连接。这 ...
分类:
其他好文 时间:
2019-12-26 21:26:39
阅读次数:
82
connect及bind、listen、accept背后的三次握手 connect、bind、listen、accept函数的源码分析 socket()函数: 当我们调用socket创建一个socket时,返回的socket描述字它存在于协议族(address family,AF_XXX)空间中,但 ...
分类:
其他好文 时间:
2019-12-26 21:18:27
阅读次数:
83
深入理解TCP协议及其源代码,包括TCP协议的初始化及socket创建TCP套接字描述符;connect及bind、listen、accept背后的三次握手send和recv背后数据的首发过程; close背后的连接终止过程 《一》 深入理解TCP协议 TCP协议,即传输控制协议,是一种面向连接的、 ...
分类:
其他好文 时间:
2019-12-26 21:05:31
阅读次数:
114