linux内核ipv4网络部分分层结构及涉入源文件
来源:互联网 发布:php三个字符加一个点 编辑:程序博客网 时间:2024/06/01 09:28
http://hi.baidu.com/amy_yeni/blog/item/c54003004d9a080b738da5b3.html
linux内核ipv4网络部分分层结构:
BSD socket层: 这一部分处理BSD socket相关操作,每个socket在内核中以struct socket结构体现。这一部分的文件
主要有:/net/socket.c /net/protocols.c etc
INET socket层:BSD socket是个可以用于各种网络协议的接口,而当用于tcp/ip,即建立了AF_INET形式的socket时,
还需要保留些额外的参数,于是就有了struct sock结构。文件主要
有:/net/ipv4/protocol.c /net/ipv4/af_inet.c /net/core/sock.c etc
TCP/UDP层:处理传输层的操作,传输层用struct inet_protocol和struct proto两个结构表示。文件主要
有:/net/ipv4/udp.c /net/ipv4/datagram.c /net/ipv4/tcp.c /net/ipv4/tcp_input.c /net/ipv4//tcp_output.c /net/ipv4/tcp_minisocks.c /net/ipv4/tcp_output.c /net/ipv4/tcp_timer.c
etc
IP层:处理网络层的操作,网络层用struct packet_type结构表示。文件主要有:/net/ipv4/ip_forward.c
ip_fragment.c ip_input.c ip_output.c etc.
数据链路层和驱动程序:每个网络设备以struct net_device表示,通用的处理在dev.c中,驱动程序都在/driver/net目
录下。
2. 两台主机建立udp通信所走过的函数列表
^
| sys_read fs/read_write.c
| sock_read net/socket.c
| sock_recvmsg net/socket.c
| inet_recvmsg net/ipv4/af_inet.c
| udp_recvmsg net/ipv4/udp.c
| skb_recv_datagram net/core/datagram.c
| -------------------------------------------
| sock_queue_rcv_skb include/net/sock.h
| udp_queue_rcv_skb net/ipv4/udp.c
| udp_rcv net/ipv4/udp.c
| ip_local_deliver_finish net/ipv4/ip_input.c
| ip_local_deliver net/ipv4/ip_input.c
| ip_recv net/ipv4/ip_input.c
| net_rx_action net/dev.c
| -------------------------------------------
| netif_rx net/dev.c
| el3_rx driver/net/3c309.c
| el3_interrupt driver/net/3c309.c
==========================
| sys_write fs/read_write.c
| sock_writev net/socket.c
| sock_sendmsg net/socket.c
| inet_sendmsg net/ipv4/af_inet.c
| udp_sendmsg net/ipv4/udp.c
| ip_build_xmit net/ipv4/ip_output.c
| output_maybe_reroute net/ipv4/ip_output.c
| ip_output net/ipv4/ip_output.c
| ip_finish_output net/ipv4/ip_output.c
| dev_queue_xmit net/dev.c
| --------------------------------------------
| el3_start_xmit driver/net/3c309.c
V
3. 网络路径图、重要数据结构sk_buffer及路由介绍
linux-net.pdf 第2.1章 第2.3章 第2.4章
4. 从连接、发送、到接收数据包的过程
linux-net.pdf 第4、5、6章详细阐述
转自:http://blog.chinaunix.net/uid-23069658-id-3141411.html
- linux内核ipv4网络部分分层结构及涉入源文件
- linux内核ipv4网络部分分层结构及涉入源文件
- linux内核ipv4网络部分分层结构及涉入源文件
- linux内核网络分层结构
- Linux内核网络分层结构
- linux内核网络分层结构
- Linux下Tcp/Ip源码导读(一)--IPV4网络分层结构
- 【驱动】网卡驱动·linux内核网络分层结构
- 网卡驱动·linux内核网络分层结构
- 网卡驱动·linux内核网络分层结构
- Linux 网络设备驱动开发(一) —— linux内核网络分层结构
- Linux 网络设备驱动开发(一) —— linux内核网络分层结构
- Linux内核网络协议栈笔记1:协议栈分层/层次结构
- Linux网卡驱动-内核网络分层分析
- linux网络内核结构
- 网络的分层结构及各层功能
- 《初入linux》--第八部分-linux下基本网络配置
- Linux内核网络部分数据包流程
- vim复制文件内容
- OpenFST notes
- 使用HTTP访问网络
- 2015年,我的创业记忆片段
- LeetCode 145:Binary Tree Postorder Traversal
- linux内核ipv4网络部分分层结构及涉入源文件
- 观察者模式
- 唐纳德.霍尔《是时候了》
- swift中的协议
- 算法设计题2.25-线性表-第2章-《数据结构习题集》-严蔚敏吴伟民版
- 大话设计模式之外观模式(Java版实现) 买股票还是买基金在此揭晓
- 有关sscanf()函数的知识
- javascript--iframe的JS方法,用法!contentWindow 、parent、top、onload
- OpenCV【3】---二值化图像