计算机网络杂项

OSI七层模型
OSI 中的层            功能                                                        TCP/IP协议族
应 用层                 文件传输,电子邮件,文件服务,虚拟终 端         TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet
表示层                 数据格式化,代码转换,数据加密                                    没有协议
会话 层                 解除或建立与别的接点的联系                                          没有协议
传输层                 提供端对端的接口                                                        TCP,UDP (RTP)
网 络层                 为数据包选择路由                                                        IP,ICMP,RIP,OSPF,BGP,IGMP
数据链路层           传输有地址的帧以及错误检测功能                            SLIP,CSLIP,PPP,ARP,RARP,MTU
物 理层                 以二进制数据形式在物理媒体上传输数据                             ISO2110,IEEE802,IEEE802.2

************************************************************************************************************************************

TCP/IP五层模型的协议

应用层
传输层:四层交换机、也有工作在四层的路由器

网络层:路由器、三层交换机

数据链路层:网桥(现已很少使用)、以太网交换机(二层交换机)、网卡(其实网卡是一半工作在物理层、一半工作在数据链路层)

物理层:中继器、集线器、还有我们通常说的双绞线也工作在物理层

 

 

TCP/UDP 缓冲区满

Q:本地同时与多个主机建立连接,如果这些主机同时发生数据到本地,而本地又没有调用recv进行处理,会出现什么情况?

A:系统为每个socket建立一个缓存,ip层组包进程在收到数据包后会把数据放入 socket缓存。调用recv将socket缓存的内容copy到程序定义的缓存,如果通信进程不能及时recv,将导致该socket缓存满。如果用 tcp协议,socket缓存满以后,系统会向对方发出错误消息,对方回收到wsaewouldblock错误,如果是用udp协议,系统会把该 socket的以后收到的数据丢弃~

 

/proc/sys/net/core/目录下也有:rmem_max, wmem_max, rmem_default, wmem_default几 项,你改这些值试试看,这可能是调整驱动层缓冲区的,/proc/sys/net/ipv4中应该可以调整你的tcp_socket的缓冲区(UDP不缓 冲)

 

关于Linux中TCP和UDP协议的发送和接收缓冲区

http://www.cnblogs.com/cnpirate/archive/2012/07/25/2608458.html

 

1. tcp 收发缓冲区默认值
[root@qljt core]# cat /proc/sys/net/ipv4/tcp_rmem
4096 87380 4161536(TCP接收缓冲区)

cat /proc/sys/net/ipv4/tcp_wmem
4096 16384 4161536(TCP发送缓冲区)

2. tcp 或udp收发缓冲区最大值
[root@qljt core]# cat /proc/sys/net/core/rmem_max 接收

[root@qljt core]# cat /proc/sys/net/core/wmem_max 发送

3. udp收发缓冲区默认值

[root@qljt core]# cat /proc/sys/net/core/rmem_default
111616:udp接收缓冲区的默认值

[root@qljt core]# cat /proc/sys/net/core/wmem_default
111616:udp发送缓冲区的默认值

 

注:有些设置需要echo 8388608 > /proc/sys/net/core/rmem_max后才能生效

 

posted @ 2014-11-22 14:04  静之深  阅读(230)  评论(0编辑  收藏  举报