TCP/IP协议栈之五---------总结
来源:互联网 发布:电脑摇奖软件 编辑:程序博客网 时间:2024/06/14 23:12
(1)发送流程
1.在sock_sendmsg的上层函数中,会把用户数据拷贝到内核,构造成msghdr结构体。
重要:在tcp_sendmsg函数中,会把msghdr结构体中的数据构造到sock的sk_buff队列中。
2.dev_queue_xmit子函数dev->hard_start_xmit用到的net_device是从skb->dev得到的,而skb->dev是在函数ip_finish_output中得到的,有skb->dev = skb->dst->dev; 而skb->dst是路由选择后被赋值的
(2)接收流程
1.在netif_rx的上层函数中利用dev_alloc_skb创建skb结构,并设置skb->dev。在netif_rx中把skb加入每CPU的输入队列。然后在process_backlog 函数中,从每CPU输入队列中取出skb(从队列中循环读取skb,直到读完),调用netif_receive_skb对每一个skb进行处理。
2. 2.1.3小节中的skb_copy_datagram_iovec函数会把skb中的数据复制到结构体 msghdr中。
然后在sock_recvmsg的上层函数中,会把内核中的msghdr结构体信息赋值到用户态空间
(3)arp发送流程
P172
0 0
- TCP/IP协议栈之五---------总结
- TCP/IP协议栈 之 TCP协议
- TCP/IP协议栈 之 IP协议
- TCP/IP协议学习之五(UDP协议)
- TCP/IP协议 学习之总结 (一)
- TCP/IP协议总结
- TCP/IP协议总结
- TCP/IP协议栈 之 UDP协议
- TCP/IP协议简介(五) 之 应用层
- TCP/IP协议栈初始化 总结
- TCP/IP协议之TCP
- TCP/IP(五):TCP 协议详解
- TCP/IP(五):TCP 协议详解
- TCP/IP之IP协议
- 深入理解TCP/IP协议栈之TCP协议
- 理解TCP/IP协议栈之TCP协议
- TCP/IP协议族简介 — TCP/IP协议栈之TCP协议
- TCP/IP协议简介 — TCP/IP协议栈之IP协议
- HUD 3279 Nth Largest Value
- The Design of Callback between Java and Native
- Django runserver 支持https
- url %E4%BD%A0%E5%A5%BD 编码问题
- Ubuntu GTK theme
- TCP/IP协议栈之五---------总结
- Session理解
- springMVC Ajax实现和原理
- 搜索算法-搜索的优化
- [UPDATED!] USING YOUR NEW RASPBERRY PI 3 AS A WIFI ACCESS POINT WITH HOSTAPD
- 概略
- eclipse 使用 hadoop plugin 插件 连接不上的问题 updater".java.lang.NullPointerException
- HDU ACM 11 2063 过山车(二分图匈牙利算法)
- scanf[^\n]/fscanf 的%[]和%n使用方法