目录
一、引言
二、数据包发送
------>2.1、数据发送流程
三、协议层注册
------>3.1、socket系统调用
------>3.2、socket创建
------>3.3、协议族初始化
------>3.4、对应协议的socket创建
------------>3.4.1、sock
------>3.5、协议注册
四、通过套接字发送网络数据
------>4.1、inet_sendmsg
一、引言
本文首先从宏观上概述了数据包发送的流程,然后分析了协议层注册进内核以及被套接字的过程,最后介绍了通过套接字发送网络数据的过程。
二、数据包发送
2.1、数据发送流程
从宏观上看,一个数据包从用户程序到达硬件网卡的整个过程如下:
- 使用系统调用(如 sendto,sendmsg 等)写数据
- 数据分段socket顶部,进入socket协议族(protocol family)系统
- 协议族处理