└─$cat/etc/services | grep -E "^http\\\\s|^ssh\\\\s|^ftp\\\\s" | sort
ftp21/sctp# FTP
ftp21/tcp
ftp21/udpfsp fspd
http80/sctp# HyperText Transfer Protocol
http80/tcpwww www-http# WorldWideWeb HTTP
http80/udpwww www-http# HyperText Transfer Protocol
ssh22/sctp# SSH
ssh22/tcp# The Secure Shell (SSH) Protocol
ssh22/udp# The Secure Shell (SSH) Protocol
┌──[root@vms81.liruilongs.github.io]-[~]
└─$
在Linux系统中,文件/etc/services定义了全部的端口以及它们提供的服务类型 。
传输层层上面为应用层 。这一层包含了各种应用程序,它们使用下面各层在网络上传输数据包 。
Linux内核实现或控制的是最低三层(链路层、网络层和传输层) 。内核可以提供每层的性能统计信息,包括数据流经每一层时的带宽使用情况信息和错误计数信息 。
链路层的网络流量
Linux可以侦测到流经链路层的数据流量的速率 。
链路层,通常是以太网,以帧序列的形式将信息发送到网络上 。不管应用层的交互方式是什么,链路层也会将它们分割为帧,再发送到网络上 。数据帧的最大尺寸被称为最大传输单位(MTU) 。可以使用网络配置工具,如ip或ifconfig来设置MTU 。
k8s集群机器所有有好多Calico虚拟网卡
┌──[root@vms81.liruilongs.github.io]-[~]
└─$ifconfig | grep mtu
cali12cf25006b5: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu 1480
cali13a4549bf1e: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu 1480
cali45e02b0b21e: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu 1480
cali5a282a7bbb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu 1480
cali86e7ca9e9c2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu 1480
calicb34164ec79: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu 1480
docker0: flags=4099<UP,BROADCAST,MULTICAST>mtu 1500
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu 1500
lo: flags=73<UP,LOOPBACK,RUNNING>mtu 65536
tunl0: flags=193<UP,RUNNING,NOARP>mtu 1480
┌──[root@vms81.liruilongs.github.io]-[~]
└─$
就以太网而言,最大大小一般为1500字节,虽然有些硬件支持的巨型帧可以高达9000字节 。MTU的大小对网络效率有直接影响 。
链路层上的每一个帧都有一个小容量的头部,因此,使用大尺寸的MTU就提高了用户数据对开销(头部)的比例 。但是,使用大尺寸的MTU,每个数据帧被损坏或丢弃的几率会更高 。
对单一物理链路来说,大尺寸MTU通常会带来更好的性能,因为它需要的开销更小;反之,对嘈杂的链路(链路聚合)来说,更小的MTU则通常会提升性能,因为,当单个帧被损坏时,它要重传的数据更少 。
在物理层,帧流经物理网络,Linux内核可以收集大量有关帧数量和类型的不同统计数据:
发送/接收:如果一个帧成功地流出或流入机器,那么它就会被计为一个已发送或已接收的帧 。错误:有错误的帧(可能是因为网络电缆坏了,或双工不匹配) 。丢弃:被丢弃帧的(很可能是因为内存或缓冲区容量小) 。溢出:由于内核或网卡有过多的帧,因此被网络丢弃的帧 。通常这种情况不应该发生 。帧:由于物理级问题导致被丢弃的帧 。其原因可能是循环冗余校验(CRC)错误或其他低级别的问题(这个分类有些搞不懂?) 。多播: 这些帧不直接寻址到当前系统,而是同时广播到一组节点 。压缩:一些底层接口,如点对点协议(PPP)或串行线路网际协议(SLIP)设备在把帧发送到网络上之前,会对其进行压缩 。该值表示的就是被压缩帧的数量 。
有些Linux网络性能工具能够显示通过每一个网络设备的每一种类型的帧数 。这些工具通常需要设备名,因此,熟悉Linux如何对网络设备命名以便搞清楚哪个名字代表了哪个设备是很重要的 。
推荐阅读
- 万里长城是怎么建成的
- 小鸡怎么叫的
- 手表平时怎么保养 手表平时怎么保养发亮
- 文言文是什么意思怎么讲 文言文是什么意思
- 古代女子的守宫砂是真的吗?,古代女子的守宫砂是怎么回事
- 信息安全专业是个坑吗 发展前景怎么样
- 现在学计算机好找工作吗 前景怎么样
- 植物新叶子发黑怎么办 室内植物叶子发黑是什么原因
- 财务管理工资一般多少 待遇怎么样
- 工程管理出来工资高吗 发展前景及方向怎么样