- 简述OSI七层模型和TCP/IP五层模型应用层:为计算机用户提供应用程序接口和各种网络服务,通常可见的网络服务协议有:http,https,ftp,smtp,pop。会话层:建立、管理和终止表示层之间的通信会话。网络层:进行逻辑地址寻址,实现不同网络之间的路径选择物理层: 建立维护和断开物理连接应用层:对应OSI七层模型中的应用层、表示层、会话层网络层:物理层:数据链路层:
- 传输层:
- TCP/IP五层模型
- 数据链路层:建立逻辑连接,进行硬件地址寻址和差错校验
- 传输层:用于建立主机之间端到端之间的连接。定义传输数据的协议端口号和差错校验。
- 表示层:提供应用层数据的表示、安全和压缩,确保数据可以从一台主机安全的运输到另一台主机,并且可以被其识别并用于应用层会话。
- OSI七层模型
- 简述iproute家族命令语法:ip [ OPTIONS ] OBJECT { COMMAND | help } OBJECT可简写,各OBJECT的子命令也可简写; 功能:网络设备配置 #ip link set 修改设备属性, up and down :打开或者关闭 mtu number :MTU大小 #ip link show :显示网卡信息 注意:仅显示处于激活状态的接口 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 12: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 10003: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT qlen 1000显示更为详细的统计信息1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1 RX: bytes packets errors dropped overrun mcast TX: bytes packets errors dropped carrier collsns2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 RX: bytes packets errors dropped overrun mcast TX: bytes packets errors dropped carrier collsns3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT qlen 1000 RX: bytes packets errors dropped overrun mcast TX: bytes packets errors dropped carrier collsns2、ip address #ip address add – add new protocol address label NAME :为额外添加的地址指明接口别名; scope SCOPE_VALUE : link :仅链接可用 用法与add相同 #ip address show – look at protocol addresses [label NAME]1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 inet 192.168.1.20/24 brd 192.168.1.255 scope global ens33 inet6 fe80::29b3:d7ad:612f:ffab/64 scope link tentative dadfailed inet6 fe80::cdae:fa02:2647:2ae5/64 scope link tentative dadfailed inet6 fe80::f20e:5c79:b0f9:6869/64 scope link tentative dadfailed3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000 inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr04: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000 routing table management #ip route add – add new route #ip route replace – change or add new one 示例: ip route delete ip route flush TYPE PRIFIX #ip route get – get a single route 示例: ip route get xxx.xxx.xxx.xxx/xx manage network namespaces #ip netns list:列出所有的netns #ip netns del NAME :删除指定的netns
- #ip netns exec NAME COMMAND :在指定的netns中运行命令
- #ip netns add NAME :创建指定的netns
- 4、ip netns
- ip route get TYPE PRIFIX
- #ip route flush
- #ip route show – list routes
- 示例:ip route delete xxx.xxx.xxx.xxx/xx
- #p route delete – delete route
- ip route add 192.168.2.5/24 via 192.168.2.1 dev eth1 src 200.200.200.200
- ip route add TYPE PREFIX via GW [dev IFACE] [src SOURCE_IP]
- #ip route change – change route
- 3、ip route
- link/ether 52:54:00:7c:45:ce brd ff:ff:ff:ff:ff:ff
- valid_lft forever preferred_lft forever
- link/ether 52:54:00:7c:45:ce brd ff:ff:ff:ff:ff:ff
- valid_lft forever preferred_lft forever
- valid_lft forever preferred_lft forever
- valid_lft forever preferred_lft forever
- valid_lft forever preferred_lft forever
- link/ether 00:0c:29:38:1a:aa brd ff:ff:ff:ff:ff:ff
- valid_lft forever preferred_lft forever
- valid_lft forever preferred_lft forever
- link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
- [root@20frs1dr90lts3b grub]# ip address show
- [dev NAME]
- #ip address delete – delete protocol address
- host :本机可用
- global:全局可用
- broadcast ADDRESS :广播地址,会根据IP和掩码自动计算
- ip addr add ADDR dev IFCAE
- 格式:
- 功能:ip地址的删除或者添加
- 0 0 0 0 0 0
- 0 0 0 0 0 0
- link/ether 52:54:00:7c:45:ce brd ff:ff:ff:ff:ff:ff
- 3022626 42153 0 0 0 0
- 650865318 441152 0 0 0 0
- link/ether 00:0c:29:38:1a:aa brd ff:ff:ff:ff:ff:ff
- 128222 1301 0 0 0 0
- 128222 1301 0 0 0 0
- link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
- [root@20frs1dr90lts3b grub]# ip -s link show up
- link/ether 52:54:00:7c:45:ce brd ff:ff:ff:ff:ff:ff
- link/ether 00:0c:29:38:1a:aa brd ff:ff:ff:ff:ff:ff
- link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
- [root@20frs1dr90lts3b grub]# ip link show up
- eg:ip link show dev ens111
- netns PID :ns为namespace,用于将接口移动到指定的网络名称空间
- name NAME:重命名接口
- dev NAME :指明dev
- 格式:
- 1、ip link
- 常用OBJECT := { link | addr |route |netns }
- IP命令
- 详细说明进行管理工具htop、vmstat等相关命令,并举例
htop
左上角显示CPU、内存、交换区的使用情况,右边显示任务、负载、开机时间,下面就是进程实时状况。下面是 F1~F10 的功能和对应的字母快捷键。
Shortcut Key | Function Key | 中文说明 |
h, ? | F1 | 查看htop使用说明 |
S | F2 | htop 设定 |
/ | F3 | 搜索进程 |
\ | F4 | 增量进程过滤器 |
t | F5 | 显示树形结构 |
<, > | F6 | 选择排序方式 |
[ | F7 | 可减少nice值,这样就可以提高对应进程的优先级 |
] | F8 | 可增加nice值,这样就可以降低对应进程的优先级 |
k | F9 | 可对进程传递信号 |
q | F10 | 结束htop |
命令行选项:
-C –no-color 使用一个单色的配色方案
-d –delay=DELAY 设置延迟更新时间,单位秒
-h –help 显示htop 命令帮助信息
-u –user=USERNAME 只显示一个给定的用户的过程
-p –pid=PID,PID… 只显示给定的PIDs
-s –sort-key COLUMN 依此列来排序
-v –version 显示版本信息
交互式命令:
上下键或PgUP, PgDn 选定想要的进程,左右键或Home, End 移动字段,当然也可以直接用鼠标选定进程;
Space 标记/取消标记一个进程。命令可以作用于多个进程,例如 “kill”,将应用于所有已标记的进程
U 取消标记所有进程
s 选择某一进程,按s:用strace追踪进程的系统调用
l 显示进程打开的文件: 如果安装了lsof,按此键可以显示进程所打开的文件
I 倒转排序顺序,如果排序是正序的,则反转成倒序的,反之亦然
+, – When in tree view mode, expand or collapse subtree. When a subtree is collapsed a “+” sign shows to the left of the process name.
a (在有多处理器的机器上) 设置 CPU affinity: 标记一个进程允许使用哪些CPU
u 显示特定用户进程
M 按Memory 使用排序
P 按CPU 使用排序
T 按Time+ 使用排序
F 跟踪进程: 如果排序顺序引起选定的进程在列表上到处移动,让选定条跟随该进程。这对监视一个进程非常有用:通过这种方式,你可以让一个进程在屏幕上一直可见。使用方向键会停止该功能。
K 显示/隐藏内核线程
H 显示/隐藏用户线程
Ctrl-L 刷新
Numbers PID 查找: 输入PID,光标将移动到相应的进程上
vmstat
vmstat命令可以显示进程队列、内存、交换空间、块I/O和CPU的活动信息;
vmstat [options] [delay [count]]
- 常用选项
-n:只在开始时显示一次各字段名称;
-a:显示活跃和非活跃内存信息;
-m:显示/proc/slabinfo;
-s:显示内存相关统计信息;
-S:使用指定单位显示,默认单位是K;
root@20frs1dr90lts3b grub]# vmstat 5 2
procs ———–memory———- —swap– —–io—- -system– ——cpu—–
r b swpd free buff cache si so bi bo in cs us sy id wa st
3 0 222432 61024 36 253928 3 19 625 89 129 196 2 1 97 0 0
0 0 222432 181948 36 238928 0 0 2622 0 205 261 6 2 91 1 0
[root@20frs1dr90lts3b grub]# vmstat
procs ———–memory———- —swap– —–io—- -system– ——cpu—–
r b swpd free buff cache si so bi bo in cs us sy id wa st
4 0 222432 182144 36 239120 3 19 625 89 129 196 2 1 97 0 0
[root@20frs1dr90lts3b grub]# vmstat -a
procs ———–memory———- —swap– —–io—- -system– ——cpu—–
r b swpd free inact active si so bi bo in cs us sy id wa st
3 0 222432 83936 420808 315276 3 19 630 89 129 196 2 1 97 0 0
[root@20frs1dr90lts3b grub]# vmstat -s -S M
976 M total memory
564 M used memory
290 M active memory
402 M inactive memory
109 M free memory
0 M buffer memory
302 M swap cache
2047 M total swap
217 M used swap
1830 M free swap
16154 non-nice user cpu ticks
7052 nice user cpu ticks
11714 system cpu ticks
1193385 idle cpu ticks
1671 IO-wait cpu ticks
0 IRQ cpu ticks
1053 softirq cpu ticks
0 stolen cpu ticks
7775272 pages paged in
1098058 pages paged out
9708 pages swapped in
58189 pages swapped out
1591026 interrupts
2416208 CPU context switches
1531619822 boot time
10154 forks
4,使用until 和while分别实现192.16.0.024网段内地址是否能够ping通,ping通输出“success”,否则显示”fail”
declare j=1
while [ $j -le 255 ]; do
if ping -c 1 192.168.1.$j &> /dev/null;then
echo “192.168.1.$j: success!”
else
echo “192.168.1.$j: fail!”
fi
let j=$j+1
done
declare j=1
until [ $j -ge 255 ]; do
if ping -c 1 192.168.1.$j &> /dev/null;then
echo “192.168.1.$j: success!”
else
echo “192.168.1.$j: fail!”
fi
let j=$j+1
done
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/102975