内核网络

Kubernetus自传

由 梁金荣 | 3600字 | 阅读大约需要8分钟 | 归档于内核网络

2021年4月27日

笔者论文是在Kubernetus场景下对网络进行优化,那么熟悉整个Kubernetus就显得尤为重要。本文将介绍Kubernetus的组件、重要术语以及如何在Kubernetus集群上部署服务,掌握了Kubernetus基本知识后,就可以针对该场景下的网络进行深入的研究了。

继续阅读

Linux内核网络性能优化

由 梁金荣 | 2400字 | 阅读大约需要5分钟 | 归档于内核网络

2021年3月30日

本文只总结了常见的网络优化技术,并使用尽量多的图片帮助理解原理,但未深入具体去介绍原理和具体用法,目的是以后需要时可以宏观上知道该怎么去做,进而微观上深入内核来解决问题。

继续阅读

Linux内核网络数据发送(六)——网络设备驱动

由 梁金荣 | 3300字 | 阅读大约需要7分钟 | 归档于内核网络

2020年11月23日

本文主要介绍设备通过 DMA 从 RAM 中读取数据并将其发送到网络,主要分析dev_hard_start_xmit 通过调用 ndo_start_xmit来发送数据的过程。

继续阅读

Linux内核网络数据发送(五)——排队规则

由 梁金荣 | 7400字 | 阅读大约需要15分钟 | 归档于内核网络

2020年11月9日

本文将分析通用的数据包调度程序(generic packet scheduler)的工作过程,通过分析 qdisc_run_begin()qdisc_run_end()__ qdisc_run()sch_direct_xmit() 函数,了解内核如何一层层将数据传递给驱动程序,最后进行了监控和调优。

继续阅读

Linux内核网络数据包发送(四)——Linux netdevice 子系统

由 梁金荣 | 5200字 | 阅读大约需要11分钟 | 归档于内核网络

2020年11月2日

本文主要分析 dev_queue_xmit 发送数据包的过程,并进行调优。

继续阅读

Linux内核网络数据包发送(三)——IP协议层分析

由 梁金荣 | 5800字 | 阅读大约需要12分钟 | 归档于内核网络

2020年10月26日

Linux内核网络 UDP 协议层通过调用 ip_send_skb 将 skb 交给 IP 协议层,本文通过分析内核 IP 协议层的关键函数来分享内核数据包发送在 IP 协议层的处理,并分享了监控IP层的方法。

继续阅读

Linux内核网络数据包发送(二)——UDP协议层分析

由 梁金荣 | 6800字 | 阅读大约需要14分钟 | 归档于内核网络

2020年10月6日

本文分享了Linux内核网络数据包发送在UDP协议层的处理,主要分析了 udp_sendmsg 和 udp_send_skb 函数,并分享了UDP层的数据统计和监控以及socket发送队列大小的调优。

继续阅读

Linux内核网络数据包发送(一)

由 梁金荣 | 2400字 | 阅读大约需要5分钟 | 归档于内核网络

2020年9月28日

本文首先从宏观上概述了数据包发送的流程,接着分析了协议层注册进内核以及被socket的过程,最后介绍了通过 socket 发送网络数据的过程。

继续阅读

Linux内核网络中数据报在协议层的处理

由 梁金荣 | 4100字 | 阅读大约需要9分钟 | 归档于内核网络

2020年9月21日

本文主要分析数据报从 IP 协议层进入协议栈,通过udp协议层,到达 socket,最终被用户程序读取的过程。在此过程中,介绍了 IP 协议层和 UDP 协议层中监测数据和网络调优的方法。

继续阅读

内核网络中的GRO、RFS、RPS技术介绍和调优

由 梁金荣 | 5200字 | 阅读大约需要11分钟 | 归档于内核网络

2020年9月15日

本文主要介绍内核网络中GRO、RFS、RPS等技术,并针对其对应的规则进行网络调优。重点对RPS的工作过程和内核代码进行了分析,分析了数据如何从网卡进入到协议层。

继续阅读