L4 端到端
    L3 点到点
    L2

    1 NIC 去掉物理帧头,拿到 mac 包,比较目的地址和自己的 mac 地址比较,丢弃不符合的包,
    2 NIC 把符合的包拷到NIC缓冲区(DMA 环形缓冲区),并发出一个硬中断(另外还有软中断,如果权限够高,用 ps 可以查看到内核用来处理软中断的线程)
    3 内核收到中断会把数据从DMA拷贝到内核队列(tx,rx,err),如果内核队列满了会丢弃新包
    4 SKB??网络层进行路由、分片重组的工作,拿到一个完整的IP包
    5 查找对应的 open socket,放到 socket 对应的 receive queue 上
    6 此时 epoll 返回,FD 已经有数据可读了

    端到端与点到点的联系与区别 https://www.cnblogs.com/beyond_dxb/p/8304093.html