推荐阅读

漫谈TCP拥塞控制算法

概述为了防止网络的拥塞现象,TCP提出了一系列的拥塞控制机制。最初由V.Jacobson在1988年的论文中提出的TCP的拥塞控制由“慢启动(Slowstart)”和“拥塞避免(Congestionavoidance)”组成,后来TCPReno版本中又针对性的加入了“快速重传(Fastretransmit)”、“快速恢复(FastRecovery)”算法,再后来在TCPNewReno中又对“快速恢复”算法进行了改进,近些年又出现了选择性应答(selectiveacknowledgement,SA

更新时间: 2017-06-22 10:11:31 0

TCP协议相关数据结构和名词信息解析

TCP/IP4层网络数据结构图 TCP的3次握手示意图TCP的4次挥手示意图TCP的SEQ和ACK在TCP通讯中,无论是建立连接,数据传输,友好断开,强制断开,都离不开Seq值和Ack值,它们是TCP传输的可靠保证.Seq是发送方告诉接收方,我当前已经发送了Seq个字节(不包括Eth头,IP头和Tcp头,也就是纯数据长度)给你,例如在建立连接双方握手时,发送方的Seq为0,发送的数据长度也为0,这时接收方收到数据帧后,会判断Seq+数据长度为0或者Seq+数据长度为1的话,那么在回应发送方的Ac

更新时间: 2017-06-22 10:08:35 0

TCP协议特性和相关疑难杂症分析

特性一:有连接这是TCP的基本,因为后续的传输的可靠性以及数据顺序性都依赖于一条连接,这是最简单的实现方式,因此TCP被设计成一种基于流的协议,既然TCP需要事先建立连接,之后传输多少数据就无所谓了,只要是同一连接的数据能识别出来即可。疑难杂症1:3次握手和4次挥手TCP使用3次握手建立一条连接,该握手初始化了传输可靠性以及数据顺序性必要的信息,这些信息包括两个方向的初始序列号,确认号由初始序列号生成,使用3次握手是因为3次握手已经准备好了传输可靠性以及数据顺序性所必要的信息,该握手的第3次实际

更新时间: 2017-06-22 10:03:45 0

C++11 左值、右值与右值引用

问题:上图为bufferlist::read_fd的实现,此方法是从文件中读一定长度的内容,上图中的move是什么意思呢?解释:在C++11中,标准库在<utility>中提供了一个有用的函数std::move,这个函数的名字具有迷惑性,因为实际上std::move并不能移动任何东西,它唯一的功能是将一个左值强制转化为右值引用,继而我们可以通过右值引用使用该值,以用于移动语义。简单来说就是减少不必要的拷贝,节省资源。深入实践:在C++11中可以取地址的、有名字的就是左值,反之,不能取

更新时间: 2017-06-21 15:32:44 0

C++与lua

前段时间的讲座讲到openrest,它是一个基于Nginx与Lua的高性能Web平台,为什么有lua出现在里面?在使用C++做服务器开发中,经常会使用到脚本技术,Lua是最优秀的嵌入式脚本之一。Lua的轻量、小巧、概念之简单,都使他变得越来越受欢迎。Lua堆栈要理解Lua和C++交互,首先要理解Lua堆栈。简单来说,Lua和C/C++语言通信的主要方法是一个无处不在的虚拟栈。栈的特点是先进后出。在Lua中,Lua堆栈就是一个struct,堆栈索引的方式可是是正数也可以是负数,区别是:正数索引1永

更新时间: 2017-06-21 15:14:10 0

java中volatile关键字的浅析

众所周知,java是一门支持多线程的编程语言。为了解决线程并发的问题,在语言内部引入了synchronized同步块和volatile关键字机制。synchronizedsynchronized这个大家都比较熟悉,也是平常项目中用的最多的线程同步方法。通过在方法上或代码块中,添加此关键字,可以确保同一时刻只有一个线程能够访问里面的内容,从而实现线程同步的效果。volatilevolatile关键字是用于修饰变量的。带有此关键字的变量,每次线程访问改变量时,都会读取到该变量最后修改的值。这个关键字

更新时间: 2017-06-21 15:04:32 0

【DNS】域名解析

【DNS域的名称层次结构】:【根域】:[.]全球共有13台根逻辑域名服务器。这13台逻辑根域名服务器中名字分别为“A”至“M”,真实的根服务器在2014年1月25日的数据为386台,分布于全球各大洲。根域名服务器是架构因特网所必须的基础设施。在国外,许多计算机科学家将根域名服务器称作“真理”(TRUTH),足见其重要性。换句话说——攻击整个因特网最有力、最直接,也是最致命的方法恐怕就是攻击根域名服务器了。【顶级域】:[com、edu..]用来指定某个国家/地区或组织使用的名称的类型名称【第二层域

更新时间: 2017-06-21 14:57:09 0

睿江云代理商系统磁盘快照服务深度详解

什么是磁盘快照?所谓磁盘快照,就是某一个时间点上某一个磁盘的数据备份。您在使用磁盘的过程中,有可能会遇到以下需求:当您在磁盘上进行数据的写入和存储时,希望使用某块磁盘上某个特点时间的数据作为其他磁盘的基础数据。云盘(普通云盘、SSD云盘)虽然提供了安全的存储方式,确保您所存储的任何内容都不会丢失,但是如果存储在磁盘上的数据本身就是错误的数据,比如由于应用错误导致的数据错误,或者黑客利用您的应用漏洞进行恶意读写,那么就需要其他的机制来保证在您的数据出现问题时,能够恢复到您所期望的数据状态。通过快照

更新时间: 2017-06-21 14:36:38 0

负载均衡之:Haproxy概览分析

Haproxy描述haproxy是一个代理服务器,其工作就是将用户(下面简称客户端)的请求,尽量均衡的转发到应用服务器(下面简称服务端)。再将应用服务器的应答,发送给用户。主要“动力”结构Haproxy本身有2个“动力源”,来推动这个过程的发生:网络事件池(类似libevent)主要包括以下事件:监听客户端(用户)连接请求监听从客户端读数据请求(stream_sock_read)监听向客户端读数据请求监听向服务端(应用服务器集群)写数据请求(stream_sock_write)监听从服务端读数据

更新时间: 2017-06-21 10:59:06 0

负载均衡之Haproxy源码常量解析

任务有关:TASK_SLEEPING     :task_new时TASK_RUNNING      :task_new处理任务时,短暂TASK_WOKEN_INIT   :task_new之后TASK_WOKEN_IO     :IO资源已准备完成TASK_WOKEN_SIGNAL :系统信号TASK_WOKEN_MSG    :无用TASK_WOKEN_RES    :各种会话释放TASK_WOKEN_OTHER  :无用TASK_WOKEN_ANY   :__task_wakeup的同时清

更新时间: 2017-06-21 10:53:11 0

微信关注

获取更多技术咨询