
TCP/IP
文章平均质量分 80
花括号
专注,极致,快!!!!!
展开
-
部署正向代理squid
之前在服务端一致使用NGINX做反向代理。 方向代理隐藏了backend的WEB服务器, 起到了负载均衡,冗余等作用。对于客户端来说, 隐藏了后面的WEB代理,客户端认为反向代理的IP即是WEB服务器。最近出现了一种情况, 使用反向代理,并不能工作,开始考虑部署一个正向的代理。 VPN Internal_Server1 <-------------------> External_Server2 ...原创 2021-03-03 18:44:58 · 571 阅读 · 1 评论 -
openssl 命令(1): openssl req 命令详解
openssl req命令主要的功能有,生成证书请求文件, 查看验证证书请求文件,还有就是生成自签名证书。本文就主要记录一下openssl命令选项的意义,并记录一下简单的命令示例。首先说明下生成证书请求需要什么:申请者需要将自己的信息及其公钥放入证书请求中。但在实际操作过程中,所需要提供的是私钥而非公钥,因为它会自动从私钥中提取公钥。另外,还需要将提供的数据进行数字签名(使用单向加密),...原创 2018-09-11 11:13:16 · 22020 阅读 · 0 评论 -
openssl 命令(2): openssl dgst 命令详解
open dgst命令的主要功能是,计算信息摘要(哈希), 给文件生成数字签名以及验证数字签名。 信息摘要算法的特点是: 1,输出数据定长, 即任意长度的输入数据,经过摘要算法都会得到订场的输出数据。 2,不可逆行, 由输出数据不能得到输入数据。 3,防碰撞, 对同一摘要算法, 输入数据不同,输出结果不同。 碰撞性有一定的概率,这也是衡量摘要算法的一个维度。 4,均匀分布, 输出...原创 2018-09-11 16:51:44 · 6259 阅读 · 0 评论 -
通过select 和状态EINPROGRESS 实现socket 连接超时判断
调用connect连接一般的超时时间是75s, 但是在程序中我们一般不希望等这么长时间采取采取动作。 可以在调用connect之前设置套接字非阻塞,然后调用connect,此时connect会立刻返回, 如果连接成功则直接返回0(成功), 如果没有连接成功,也会立即返回并且会设置errno为EINPROCESS,这并不是一个致命错误,仅仅是告知你已经在连接了,你只要判断是它就继续执行后面的逻辑就行原创 2017-07-03 17:20:53 · 7138 阅读 · 0 评论 -
TCP 发送RST分节的情况,关闭时 recv buffer 不为空,则发送RST分节
今天在写一个客户端,连接服务器模拟器的程序的时候碰到了一个小问题。 交互的顺序大概是这样的。整个过程中TCP 客户端和服务端的读写全部使用阻塞模式。 Client Server1, 客户端发起请求, 并发送请求A 服务器接受请求后,并没原创 2017-06-28 19:33:20 · 824 阅读 · 0 评论 -
Linux网络编程socket错误分析
socket错误码: EINTR: 4阻塞的操作被取消阻塞的调用打断。如设置了发送接收超时,就会遇到这种错误。只能针对阻塞模式的socket。读,写阻塞的socket时,-1返回,错误号为INTR。另外,如果出现EINTR即errno为4,错误描述Interrupted system call,操作也应该继续。如果recv的返回值为0,那表明连接已经断开,接收操作也应该结束。转载 2017-02-20 18:32:27 · 580 阅读 · 0 评论 -
IP fragmentation IP 分片(网易的大包)
今天用tcpdump 和 wireshark 抓取了网易包,结果发现从网易发过来的TCP 分节都是经过重组的(reassemable). 最大的TCP分节到了8000byte左右。但是观察了TCP建立的三次握手的过程,本地和网易的MSS都是1460,这表明网易服务器上的TCP协议栈并没有按照双发协商的MSS,限制TCP的最大分节。猜测应该是对协议栈进行了自定制。 先分析一下网易的大原创 2016-01-14 10:23:20 · 2619 阅读 · 0 评论 -
TCP拥塞控制
TCP拥塞控制关键字:慢开始算法: 避免拥塞算法: 快重传: 即如果发送端接收到三个相同number的ack包,则不用等待发送包的的记时器超时,立即重传接收方ack的包。 快恢复:重点内容拥塞控制 网络中的链路容量和交换结点中的缓存和处理机都有着工作的极限,当网络的需求超过它们的工作极限时,就出现了拥塞。拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。常用的方法转载 2016-01-12 16:38:37 · 658 阅读 · 0 评论 -
TCP 慢启动(slow start)报文观察
慢启动定义慢启动,是传输控制协议使用的一种拥塞控制机制。慢启动也叫做指数增长期。慢启动是指每次TCP接收窗口收到确认时都会增长。增加的大小就是已确认段的数目。这种情况一直保持到要么没有收到一些段,要么窗口大小到达预先定义的阈值。如果发生丢失事件,TCP就认为这是网络阻塞,就会采取措施减轻网络拥挤。一旦发生丢失事件或者到达阈值,TCP就会进入线性增长阶段。这时,每经过一个RTT窗口增长一个段。原创 2016-01-12 16:08:19 · 5361 阅读 · 0 评论 -
TCP window Full
TCP window full, 是指的发送端发送的数据已经达到的接受窗口的上限。继而停止发送,等待新的接收窗口的通告。发生TCPwindow Full的情况分析,下面得包是抓取的FTP的streamflow. 当时的情况是正在发生在客户端上传文件到服务器。本地主机:146.11.2.87远端服务器:147.128.6.1031, 首先看第28406个包,服务器通告本段A原创 2016-01-12 13:15:42 · 35949 阅读 · 0 评论 -
Linux下更改TCP window size, MSS, RTT
关于TCP window size, MSS, RTT具体的解释就不多说了,网上有很多的解释.但是最好的学习和复习的方法就是看TCP/IP第一卷协议,从17章开始。讲的很详细也讲了很多现象背后的原因。接下来我们主要是从实践的角度看在linux上如何改变这些TCP的属性的默认值。但是在某些系统中更该默认值不一定生效,因为取决于协议栈的实现。比如MSS,window是需要TCP客户端和服务段协商的。下原创 2015-12-25 11:48:43 · 22264 阅读 · 0 评论