OSI网络模型及管理工具

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

OSI七层模型.png
网络模型对应说明.png
应用层——Application(Layer 7)

各种应用程序协议,如HTTP、FTP、SMTP、POP3等

表示层——Presentation(Layer 6)

信息的语法语义以及它们的关联,如加密解密、转换翻译、压缩解压缩

会话层——Session(Layer 5)

不同机器上的用户之间建立及管理会话

传输层—— Transport(Layer 4)

接受上一层的数据,在必要的时候对数据进行切割,并把数据交给网络层,且保证数据段有效到达对端

网络层——Network(Layer 3)

控制子网的运行,如逻辑编址、分组传输、路由选择

数据链路层——Data Link(Layer 2)

物理寻址,同时将原始比特流转变为罗技传输线路

物理层——Physical(Layer 1)

机械、电子、定时接口通信信道上的原始比特流传输


简述iproute家族命令

ip命令:

show / manipulate routing, devices, policy routing and tunnels

ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT := { link | addre| route | netns }       
ip OBJECT:
ip link: network device configuration  
ip link set: 修改设备属性
      dev NAME(default): 指名要管理的设备,dev关键字可省略
      up 和 down:
      multicast on或off: 启用或禁用多播功能
      name NAME: 重命名接口
      mtu NUMBER: 设置MTU的大小,默认为1500;
      netns PID: ns为namespace,用于将接口移动到指定的网络名称空间;
ip link show: 显示设备属性
ip link help: 显示简要帮助信息
ip netns: process network namespace management
ip netns list: 列出所有的netns
ip netns add NAME: 创建指定的netns
ip netns del NAME: 删除指定的netns
ip netns exec NAME COMMAND: 在指定的netns中运行命令

ip addr add IFADDR dev IFACE(基本用法) 
      [label NAME]: 为额外添加的地址指名接口别名;
      [broadcast ADDRESS]: 广播地址;会根据IP和NETMASK计算得到,一般都无需配置;
      [scope SCOPE_VALUE]: 
                  global: 全局可用
                  link: 接口可用
                  host: 仅本机可用

ip address delete - delete protocol address
ip addr delete IFADDR dev IFACE
ip address show - look at protocol addresses
ip addr list [IFACE]: 显示接口的地址
ip address flush - flush protocol addresses
ip addr flush dev IFACE: 清空接口上所有的地址

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

htop命令:

  • 选项:
    • -d #:指定延迟时间间隔
    • -u USERNAME: 仅显示指定用户的进程
    • -s COLUME: 以指定字段进行排序
  • 子命令:
    • l: 显示选定的进程打开的文件列表;
    • s: 跟踪选定的进程的系统调用;
    • t: 以层级关系显示各进程状态;
    • a: 将选定的进程绑定至某指定的cpu核心;

vmstat命令:

vmstat - Report virtual memory statistics
vmstat [options] [delay [count]]

  • proc:
    • r: 等待运行的进程的个数;cpu上等待运行的队列长度;
    • b: 处于不可中断睡眠态的进程个数;被阻塞的任务队列的长度;
  • memory:
    • swpd: 交换内存使用总量;
    • free: 空闲的物理内存总量;
    • buffer: 用于buffer的内存总量;
    • cache: 用于cache的内存总量;
  • swap:
    • si: 数据进入swap中的数据速率(kb/s)
    • so: 数据离开swap中的数据速率(kb/s)
  • io:
    • bi: 从块设备读入数据到系统的速率(kb/s)
    • bo: 保存数据至块设备的速率(kb/s)
  • system:
    • in: interrupts,中断速率
    • cs: context switch,上下文切换的速率
  • cpu:
    • us: user space
    • sy: system
    • id: idle
    • wa: wait
    • st: stolen
  • 选项:
    • -s: 显示内存统计数据;

使用until和while分别实现192.168.0.0/24 网段内,地址是否能够ping通,若ping通则输出"success!",若ping不通则输出"fail!"

#!/bin/bash
#
declare -i i=1
while [ $i -le 254 ]; do
        if ping -c 1 -w 1 -W 1 192.168.0.$i &> /dev/null; then
                echo "Ping 192.168.0.$i success!" 
        else
                echo "Ping 192.168.0.$i fail!"  
        fi
        let i++
done
#!/bin/bash
#
declare -i i=1
until [ $i -gt 254 ]; do
        if ping -c 1 -w 1 -W 1 192.168.0.$i &> /dev/null; then
                echo "Ping 192.168.0.$i success!" 
        else
                echo "Ping 192.168.0.$i fail!"  
        fi
        let i++
done

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容