
网络协议
文章平均质量分 88
dillanzhou
这个作者很懒,什么都没留下…
展开
-
内核RDMA模块(siw)代码分析
siw是内核中实现的RDMA设备驱动模块。与其他RDMA设备驱动不同的是,这个模块没有对应的硬件设备,而是通过软件方式模拟了一个使用iWARP协议的RDMA设备,通过内核的socket接口完成tcp报文的收发。本文将基于5.9.11内核中的siw模块代码分析一下这个虚拟设备的实现逻辑。原创 2022-03-11 00:09:19 · 1874 阅读 · 0 评论 -
RDMA知识小结
近期学习了一些RDMA的基础知识,在这里做个整理记录,供以后快速查阅。概念RDMA是Remote Direct Memory Access的缩写,即远程DMA。顾名思义,RDMA最大的特点是支持对远端内存的直接读写,而不需要远端CPU介入。RDMA的主要特点和优势有以下几点:1. zero-copy。RDMA的网络收发接口可以直接把用户态的buffer地址交给RDMA网卡,网卡负责将buffer中的数据发送到远端,或将收到的远端数据写入buffer。这就避免了socket网络收发接口中需要先原创 2022-01-25 00:31:52 · 6183 阅读 · 0 评论 -
低时延环境下的TCP RTO设置
TCP连接的可靠传输依靠的是数据确认与重传机制。当发送方发送的数据在一定时间内没有得到对方的确认时,发送方就会认为发送的数据丢失而触发重传。这个等待的时间长度就是RTO(Retransmission TimeOut)。当然在快速重传等机制的作用下,很多情况下数据重传不需要真正等待RTO时间这么久,但在很多场景特别是单报文交互式的场景下,RTO仍然是报文重传的主要触发方式。在RFC6298中,规定了RTO的计算方法。从原理上说,RTO是和TCP连接两端的报文往返交互时延(RTT)相关的,可以认为是RTT加原创 2021-07-04 14:06:56 · 2656 阅读 · 0 评论 -
以太网协议号字段定义
当前使用的以太网协议一般指EthernetII协议,它是Xerox与DEC、Intel等公司在1982年制定的以太网标准帧格式,在当时是一种事实工业标准。到1985年,IEEE又发布了802.3/802.2以太网标准。这两种标准都规定以太网MAC地址为6字节,但对以太网首部第13、14字节的定义却不同。在EthernetII中,对这两字节的定义为上层协议类型字段,而在802.3中,却将这两字节定义...原创 2018-07-23 12:09:29 · 5171 阅读 · 0 评论 -
TCP keepalive机制分析
TCP keepalive是由TCP协议栈提供的连接存活性检测功能。如果打开这个功能特性,如果一条已建立的TCP连接一段时间没有收到报文,就会开始发送TCP keepalive报文,如果keepalive报文多次没有获得响应,则判定连接的对端已经断开,本地协议栈会将连接关闭。TCP keepalive一般用于服务器软件中,目的是避免客户端异常断开连接造成服务端大量无效连接残留,消耗过多资源。...原创 2019-07-29 00:29:02 · 1473 阅读 · 0 评论