理解和区分,TCP,HTTP,Socket,端口,连接数,并发和 QPS
概述
这篇文章主要介绍一些常见且容易混淆的概念
TCP
TCP是传输层的协议,也是一种封包格式,TCP协议按这个格式封装成IP包,发送到网络中进行传输
TCP报文格式
我们看到TCP报文源端口和目的端口都是16位,0-65535,这个是计算机系统端口数最大65535的原因.
TCP三次握手
这方面的资料太多,这里就不赘述了
http://www.jianshu.com/p/ef892323e68f
HTTP
HTTP是TCP协议之上的一层封装
HTTP请求报文格式
HTTP响应报文格式
Socket
Socket其实是操作系统提供的用于操作网络传输协议(TCP,UDP等)的API,相当于操作系统负责把TCP,UDP等协议翻译成IP包发送和接收
端口
我们通常谈论的端口,一般是指Socket端口,Socket可以操作多种协议,包括UDP,TCP等
连接数
通常连接数指Socket连接数,注意Socket区分一个连接的唯一标识是:
源IP-源端口-传输协议-目的IP-目的端口
所以连接数不等于端口数,并没有65535限制
并发
我们使用ab测试的时候,会用到 -c 参数,concurrent,这个是同时发起的请求数,不等于QPS
QPS
QPS是每秒处理的请求数
本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由系统于 6年前 自动加精
这是一个深坑