网络管理和进程管理

Posted xuluchuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络管理和进程管理相关的知识,希望对你有一定的参考价值。

1、简述osi七层模型和TCP/IP五层模型

  • OSI是iso组织规定的open system interconnection,开放系统互联协议
  • 下层为上层提供服务
  • 发送方从上层到下层封装
  • 接收方从下层到上层解封装
  • 第7层应用层:为应用程序提供服务,集成在应用程序中
  • 第6层表示层:协商双方都支持的数据表示格式,集成在应用程序中
  • 第5层会话层:应用程序之间建立连接会话,集成在操作系统中
  • 第4层传输层:tcp/udp协议,利用端口号定位应用程序,1-65535,数据切片,封装段报头
  • 第3层网络层:ipv4/ipv6协议,路由器利用ip地址唯一标识网络间node进行网络间数据路由转发,封装包报头
  • 第2层数据链路层:Ethernet协议,交换机利用mac地址唯一标识网络内node进行网络内数据转发,封装数据帧头和帧尾。
  • 第1层物理层:568B线序,规定接口尺寸,线缆尺寸,将数据帧转换为物理信号
  • tcp/ip 有第1层物理层,对应osi 1,第2层为数据链路层,对应osi2,第3层网络层,第4层传输层,第5层应用层,对应osi5-7

2、简述iproute家族命令

iproute2家族命令

ip

  • ip link set DEV down/up
  • ip link show
  • multicast on/off
  • mtu NUMBER 设置mtu
  • netns NSNAME 移动到名称空间
ip netns
  • ip netns list 查看名称空间
  • ip netns add 添加名称空间
  • ip netns del 删除名称空间
  • ip netns exec NAME COMMAND 执行名称空间内的网络
ip addr
  • ip addr add IFADDR dev IFACE label 接口别名
  • ip addr delete 删除
  • ip addr show 查看
  • ip addr flush DEV IFACE 清空
ip route
  • add TYPE/PREFIX via GW dev FACE src SOURCE_IP
  • change replace
  • delete 删除
  • show
  • get 一个单条目
  • flush 清空
[[email protected] ~]# ip addr add 192.168.1.9/24 dev eth0 label eth0:0
[[email protected] ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:94:b7:d0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.8/24 brd 192.168.1.255 scope global eth0
    inet 192.168.1.9/24 scope global secondary eth0:0
    inet6 fe80::a00:27ff:fe94:b7d0/64 scope link
       valid_lft forever preferred_lft forever
[[email protected] ~]# ip addr delete 192.168.1.9/24 dev eth0
[[email protected] ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:94:b7:d0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.8/24 brd 192.168.1.255 scope global eth0
    inet6 fe80::a00:27ff:fe94:b7d0/64 scope link
       valid_lft forever preferred_lft forever
[[email protected] ~]# ip route add 192.168.1.7 via 192.168.1.9 dev eth0:0
[[email protected] ~]# ip route del 192.168.1.7
[[email protected] ~]# ip route
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.8
169.254.0.0/16 dev eth0 scope link metric 1002
default via 192.168.1.1 dev eth0

ss

  • 选项与netstat相同
  • 状态过滤 :1.state 2.( dport = :22 )
[[email protected] ~]# ss -np state "listening"
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 128 192.168.1.8:22 *:* users:(("sshd",1347,3))
0 100 ::1:25 :::* users:(("master",1426,13))
0 100 127.0.0.1:25 *:* users:(("master",1426,12))
[[email protected] ~]# ss -np state "established"
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 64 192.168.1.8:22 192.168.1.2:54516 users:(("sshd",1581,3))
[[email protected] ~]# ss -tunlp
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 192.168.1.8:22 *:* users:(("sshd",1347,3))
tcp LISTEN 0 100 ::1:25 :::* users:(("master",1426,13))
tcp LISTEN 0 100 127.0.0.1:25 *:* users:(("master",1426,12))
[[email protected] ~]# ss -tunap
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 192.168.1.8:22 *:* users:(("sshd",1347,3))
tcp LISTEN 0 100 ::1:25 :::* users:(("master",1426,13))
tcp LISTEN 0 100 127.0.0.1:25 *:* users:(("master",1426,12))
tcp ESTAB 0 64 192.168.1.8:22 192.168.1.2:54516 users:(("sshd",1581,3))
[[email protected] ~]# ss -tunp
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp ESTAB 0 240 192.168.1.8:22 192.168.1.2:54516 users:(("sshd",1581,3))
[[email protected] ~]# ss -tunap ‘( sport = :22 )‘
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 192.168.1.8:22 *:* users:(("sshd",1347,3))
tcp ESTAB 0 64 192.168.1.8:22 192.168.1.2:54516 users:(("sshd",1581,3))

3、详细说明进行管理工具htop、vmstat等相关命令,并举例

htop

  • top的升级版
  • l :lsof 跟踪进程打开的文件列表
  • s:strace 跟踪系统调用
  • t:层级关系
  • a:affinity cpu亲和力,绑定程序运行的cpu核心

vmstat

  • vmstat 2 3 :间隔秒数,运行次数
[[email protected] ~]# vmstat 1 10
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r b swpd free buff cache si so bi bo in cs us sy id wa st
 1 0 0 355264 2076 87016 0 0 41 3 43 42 0 0 99 1 0
 0 0 0 355264 2076 87016 0 0 0 0 70 60 0 0 100 0 0
 0 0 0 355240 2076 87016 0 0 0 0 62 57 0 0 100 0 0
 0 0 0 355240 2076 87016 0 0 0 0 56 51 0 0 100 0 0
 0 0 0 355240 2076 87016 0 0 0 0 69 61 0 0 100 0 0
 0 0 0 355240 2076 87016 0 0 0 0 61 50 0 0 100 0 0
 0 0 0 355240 2076 87016 0 0 0 2 75 68 0 0 100 0 0
 0 0 0 355240 2076 87016 0 0 0 0 64 50 0 0 100 0 0
 0 0 0 355240 2076 87016 0 0 0 0 90 66 0 0 100 0 0
 0 0 0 355240 2076 87016 0 0 0 0 59 52 0 0 100 0 0
  • procs
    • r:等待运行的队列长度
    • b:处于不可中断睡眠态被阻塞的任务队列长度
  • memory
    • swap
    • free
    • buffer
    • cache
  • swap
    • si:数据换入swap的速率,kb/s
    • so:数据换出swap的速率,kb/s
  • io
    • bi:从块设备读入到内存的速率
    • bo:从内存写入到块设备的速率
  • system
    • in:interrupt中断速率
    • cs:context switch 上下文切换速率
  • cpu
    • us
    • sy
    • id
    • wa
    • st
  • vmstat -s 显示内存详细信息

4、使用until和while分别实现192.168.0.0/24

网段内,地址是否能够ping通,若ping通则输出"success!",若ping不通则输出"fail!"

[[email protected] ~]# cat pingwhile.sh
#!/bin/bash
# description: 测试192.168.0.0/24网段是否能ping通
# author: xuluchuan
# version: 1.0
# date: 20180623
declare -i i=1
while [ $i -le 254 ]; do
    ip="192.168.0.$i"
    ping -c 3 -w 3 -W 3 $ip &> /dev/null
    if [ $? -eq 0 ]; then
        echo "ping $ip successful"
    else
        echo "ping $ip fail"
    fi
    let i++
done
[[email protected] ~]# cat pinguntil.sh
#!/bin/bash
# description: 测试192.168.0.0/24网段是否能ping通
# author: xuluchuan
# version: 1.0
# date: 20180623
declare -i i=1
until [ $i -gt 254 ]; do
    ip="192.168.0.$i"
    ping -c 3 -w 3 -W 3 $ip &> /dev/null
    if [ $? -eq 0 ]; then
        echo "ping $ip successful"
    else
        echo "ping $ip fail"
    fi
    let i++
done

以上是关于网络管理和进程管理的主要内容,如果未能解决你的问题,请参考以下文章

#VSCode保存插件配置并使用 gist 管理代码片段

如何管理在每个 git 版本中添加私有代码片段?

massCode 一款优秀的开源代码片段管理器

如何使用Android片段管理器传递变量[重复]

Android:使用支持片段管理器时复制片段

Linux系统管理10——进程和计划任务管理