發表文章

目前顯示的是 十二月 14, 2012的文章

/proc/sys/net/core/優化

該目錄下的配置文件主要用來控制內核和網絡層之間的交互行為。
1) /proc/sys/net/core/message_burst
寫新的警告消息所需的時間(以 1/10 秒為單位);在這個時間內系統接收到的其它警告消息會被丟棄。這用于防止某些企圖用消息“淹沒”系統的人所使用的拒絕服務(Denial of Service)攻擊。
缺省設置:50(5秒)
2) /proc/sys/net/core/message_cost
該文件表示寫每個警告消息相關的成本值。該值越大,越有可能忽略警告消息。
缺省設置:5
3) /proc/sys/net/core/netdev_max_backlog
該文件表示在每個網絡接口接收數据包的速率比內核處理這些包的速率快時,允許送到隊列的數据包的最大數目。
缺省設置:300
4) /proc/sys/net/core/optmem_max
該文件表示每個套接字所允許的最大緩沖區的大小。
缺省設置:10240
5) /proc/sys/net/core/rmem_default
該文件指定了接收套接字緩沖區大小的缺省值(以字節為單位)。
缺省設置:110592
6) /proc/sys/net/core/rmem_max
該文件指定了接收套接字緩沖區大小的最大值(以字節為單位)。
缺省設置:131071
7) /proc/sys/net/core/wmem_default
該文件指定了發送套接字緩沖區大小的缺省值(以字節為單位)。
缺省設置:110592
8) /proc/sys/net/core/wmem_max
該文件指定了發送套接字緩沖區大小的最大值(以字節為單位)。
缺省設置:131071
9) 待續。。。
六、/proc/sys/net/ipv4/優化
1)     /proc/sys/net/ipv4/ip_forward
該文件表示是否打開IP轉發。
0,禁止
1,轉發
缺省設置:0
2)     /proc/sys/net/ipv4/ip_default_ttl
該文件表示一個數据報的生存周期(Time To Live),即最多經過多少路由器。
缺省設置:64
增加該值會降低系統性能。
3)     /proc/sys/net/ipv4/ip_no_pmtu_disc

Linux Kernel Network Stack code 的準備知識

圖片
轉:http://blog.csdn.net/cz_hyf/archive/2006/02/19/602802.aspx
1. 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
| -------…