OSI七层模型:
-
OSIosi七层模型和TCP/IP五层模型:
- 物理层(Physical Layer):确保数据可以在各种物理媒体上传输。为上层协议提供了传输数据的物理媒体,本层传输bit流。
- 数据链路层(Data Link Layer):建立逻辑连接。本层的功能:物理地址寻址、数据的成帧(将bit流封装成帧)、流量控制、数据的检错与重发等。
- 网络层(Network Layer):对子网间的数据包进行路线选择,还可实现拥塞控制、网际互连等功能,本层的数据单位被称为数据包。
- 传输层:定义传输数据的协议端口号、流控和差错校验。本层的数据单位被称为数据段。
- 会话层:建立、管理、终止会话。本层还利用在数据中插入校验点来实现数据的同步,访问验证和会话管理在内的建立和维护应用之间通信的机制。
- 表示层:本层主要解决用户信息的语法表示问题,即提供格式化的表示和转换数据服务。数据的压缩和解压缩, 加密和解密等工作都由本层负责。
- 应用层:本层层为操作系统或网络应用程序提供访问网络服务的接口。
iproute家族命令:
-
ip 命令:
-
格式: ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT := { link | addr | route | netns }
-
link:网络设备配置
ip link set DEV up/down:启用/禁用接口 ip link set DEV multicast on/off:启用/禁用多播功能 ip link set DEV name NAME:重命名接口(先down再重命名) ip link set DEV mtu #:设定mtu大小,默认1500字节 ip link set DEV txqlen|txqueuelen #:设定发送队列长度 ip link set DEV netns PID:ns为namespace,内核支持名称空间,用于将接口移动到指定的网络名称空间 ip link show:显示设备属性 ip link help:显示简要帮助
-
nentns:网络名称空间
ip netns add NAME:创建指定的netns ip netns del NAME:删除指定的netns ip netns list:列出所有netns ip netns exec NETSPACE COMMAND:在指定的netns中执行命令
-
addr:协议地址管理
ip addr add ADDRESS dev IFACE:添加新的协议地址 ip addr del ADDRESS dev IFACE:删除协议地址 ip addr list IFACE:显示指定接口的协议地址 ip addr flush [dev IFACE]:清空[指定接口]协议地址
-
link:网络设备配置
-
格式: ip [ OPTIONS ] OBJECT { COMMAND | help }
-
ip route命令:
-
ip route add:添加路由
格式:ip route add TYPE PREFIX via GW [dev IFACE] [src SOURCE_IP] dev NAME:设置由哪个接口出去; via ADDRESS:下一跳地址(gw); src ADDRESS:配置一个接口有多个地址时,要指明源地址;
- ip route list:查看路由表
- ip route change:更改路由
- ip route replace:替换路由
- ip route delete:删除路由条目
- ip route flush:清空路由表
- ip route get:获取指定路由条目
-
ip route add:添加路由
htop命令:交互式进程查看器
-
格式:
htop [OPTIONS]
-
选项:-d # :指定延时间隔
-u USERNAME:仅显示指定用户的进程 -s :以指定字段进行排序
-
交互界面命令:
l:显示选定进程打开的文件列表,能跟踪一个进程所打开的文件; s:跟踪选定的进程所发起的系统调用; t或F5:以层级关系显示各进程状态,树状结构显示进程父子关系; a:将选定的进程绑定在指定的CPU核心,设置进程在哪颗CPU上运行(affinity); F2:设定显示格式、显示方式等 ; u:显示用所有户进程; H:隐藏/显示用户线程threads; K:隐藏/显示内核线程; F:使用光标选择进程; P/M/T:根据CPU%,MEM%,TIME排序; c:标记进程和子进程; Esc:返回主界面;
vmstat命令:
-
格式:vmstat [options] [delay [count]]
-
显示结果字段:
-
procs:进程段
r:处于等待运行的进程的个数;就是cpu上等待运行的任务的队列长度;是实时的; b:处于不可中断睡眠态的进程个数;被阻塞的任务队列的长度;
-
memory:内存段
swpd:交换内存的使用总量; free:空闲的物理内存总量; buff(缓冲):用于buffer(缓冲)的内存总量; cache(缓存):用户cache(缓存)的内存总量;都是为了衔接两系统间速度不匹配而设定的;
-
swap:交换分区段
si:swap in,数据进入swap中的数据速率(kb/s),换进;是速率,每秒钟多少,是平均值; so:swap out,数据离开swap的数据速率(kb/s),换出; 判断物理内存很少时:交换内存使用、
-
io:块级IO
bi:块级别的,从块设备读入数据到系统(内存)的速率(kb/s); bo:保存数据至块设备的速率(kb/s);
-
system:系统段
in:interrupts,中断产生的速率(每秒钟多少次); 尤其网络服务服务器,任何数据报文到达当前主机时都会发生(硬件级别)硬中断; 任何磁盘IO也都会发生中断; 应用程序运行时,从用户模式转为内核模式时(发生系统调用),也会发生软中断; cs:context switch,进程上下文切换的速率;
-
cpu:cpu段
us:user space,用户空间程序占用cpu百分比; sy:system,系统调用: id:idle,空闲; wa:wait,等待; st:stolen,被虚拟化技术偷走的;
-
procs:进程段
-
显示结果字段:
使用until和while分别实现192.168.0.0/24网段内,地址是否能够ping通,弱ping通则输出”success!”,若ping不通则输出”fail!”:
- until:
- while:
原创文章,作者:清晰,如若转载,请注明出处:http://www.178linux.com/124450