2018年6月16日

TCP/IP详解V2(六)之TCP协议

摘要: TCP输入 tcp_input tcp_dooptions 功能A:处理TCP选项:EOL,NOP,MSS,窗口大小,时间戳 阅读全文

posted @ 2018-06-16 18:20 ukernel 阅读(1336) 评论(0) 推荐(0) 编辑

TCP/IP详解V2(四)之TCP协议

摘要: TCP输出 tcp_output 功能A:用于处理TCP的输出 阅读全文

posted @ 2018-06-16 18:17 ukernel 阅读(968) 评论(0) 推荐(0) 编辑

TCP/IP详解V2(三)之TCP协议

摘要: TCP TCP是一种面向连接的传输协议,为两端的应用程序提供可靠的端到端的数据流传输服务。 数据结构 TCP专用控制块: TCP数据报图示: TCP状态变迁图: TCP的定时器 TCP为了每条连接维护了 七个 定时器,从三个角度描述:连接建立,数据传输以及连接终止 连接建立: 连接建立定时器 :定时 阅读全文

posted @ 2018-06-16 17:52 ukernel 阅读(1421) 评论(1) 推荐(0) 编辑

2018年5月8日

epoll源码剖析

摘要: Epoll 函数接口 基本操作 注意事项: 调用 时,返回一个内核维护的描述符,往后的所有操作依赖于这个描述符。 参数没什么用处,保证大于0就行。 调用 可以动态的改变内核维护的表格。在epollfd中加入和修改一个fd关注的事件时,需要用户提供 实例;在epollfd中删除一个fd时,传入保存数据 阅读全文

posted @ 2018-05-08 21:47 ukernel 阅读(271) 评论(0) 推荐(0) 编辑

2018年5月4日

UDT源码剖析(二)之启动与结束

摘要: UDT的启动例程 启动例程顺序: 对于一个完整的UDT SOCKET的清理六部曲: 将CUDT 的状态设置为BROKEN 调用CUDT中的close() 更新UDT SOCKET的关闭时间 将UDT SOCKET设置为Closed 在Closed Array中添加当前UDT SOCKET,在GC线程 阅读全文

posted @ 2018-05-04 23:27 ukernel 阅读(1091) 评论(2) 推荐(1) 编辑

TCP/IP详解V2(二)之UDP协议

摘要: UDP UDP是一个面向数据报的简单运输层协议。 数据结构 udp_init udp_output udp_input 功能A:将UDP数据报放置到合适的插口缓存内,唤醒该插口上因输入阻塞的所有进程。不重点关注多播与广播的情况。 udp_detach udp_usrrep 总结: 问题1:IP数据报 阅读全文

posted @ 2018-05-04 19:57 ukernel 阅读(1376) 评论(0) 推荐(0) 编辑

TCP/IP详解V2(一)之协议控制块

摘要: TCP/IP源码详解 4.4BSD-Lite源码 阅读全文

posted @ 2018-05-04 17:38 ukernel 阅读(2914) 评论(0) 推荐(0) 编辑

2018年5月1日

UDT源码剖析(一)之总览

摘要: 介绍 随着网络带宽延时产品的增加,常用的TCP协议开始变得低效。这是因为它的AIMD算法彻底的减少了拥塞窗口,但不能快速的恢复可用带宽。理论上的流量分析表明TCP在BDP增高的情况下比较容易受到包损失攻击。 另外,继承自TCP拥塞控制的不公平的RTT也成为在分布式数据密集程序中的严重问题。拥有不同R 阅读全文

posted @ 2018-05-01 18:19 ukernel 阅读(3122) 评论(1) 推荐(1) 编辑

导航