Linux网络管理与进程管理

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

OSI七层模型:

物理层:主要定义接口物理标准,包括机械特性、电气特性、功能特性和张特性。

数据链路层:实现以数据帧的格式传送协议数据单元,主要解决封装成帧、透明传输、差错检测问题。

网络层:负责将数据封装成包并选择合适路由实现数据包从源到宿的传递。

传输层:为两个主机进程之间的通信提供通用数据传输服务,包括实现可靠服务的传输控制协议(TCP)和不保证可靠性的用户数据报协议(UDP)两种协议。

会话层:实现主机之间会话的建立、管理和终止。

表示层:实现把应用层提供的信息变换为能够共同理解的形式,提供字符代码、数据格式、控制信息格式、加密等的统一表示。即实现对数据翻译、加密和压缩等功能。

应用层:是最靠近用户的OSI层。这一层为用户的应用程序提供网络服务。

TCP/IP模型:

TCP/IP模型包含应用层、传输层、网络层和网络接口层四层,与OSI七层模型相比,TCP/IP模型中的应用层统一实现了OSI七层模型中的会话层、表示层、应用层三层的功能,传输层和网络层功能不变,网络接口层实现了七层模型中数据链路层和物理层的功能。

 

2、简述iproute家族命令

Ip命令实现对网络接口、地址、路由等的显示和配置操作。

ip [ OPTIONS ] OBJECT { COMMAND | help }

OBJECT := { link | address | addrlabel | route | rule | neigh | ntable | tunnel | tuntap | maddress | mroute | mrule | monitor | xfrm | netns | l2tp | tcp_metrics | token }

Ip  link  add  :添加网络接口设备

        delete :删除网络接口设备

        set:设置接口设备信息,包括接口是否启用,是否启用组播、是否启用混杂模式、是否启用arp,配置接口名称、协议地址、广播地址、mtu等参数信息

        show:显示设备信息

ip  address  add|change|replace :对接口地址进行增加、修改、替换等操作

            del:删除接口地址信息

            save | flush :保存、删除接口地址信息

            show:显示接口地址信息

ip  route  list |show| flush :显示删除路由信息

          save:输出路由信息至标准输出

          restore:根据保存的路由信息修复路由表

          get:获取单条路由信息

          add | change | replace:增加、修改、替换路由信息

          delete:删除路由信息

 

ss命令实现网络连接信息的统计输出。

ss [options] [ FILTER ]

常用选项:

    -v:输出版本信息

    -n:不对名称进行反解

    -a:显示所有socket信息

    -l:显示监听信息

    -m:显示socket内存使用情况

    -o:显示定时器信息

    -p:显示连接相关进程信息

    -i:显示内部TCP信息

    -s:显示概要统计信息

    -4|6:显示IPv4/IPv6的连接嘻嘻

    -t|u:显示TCP、UDP连接信息

FILTER := [ state STATE-FILTER ] [ EXPRESSION ]

    过滤器可配置根据TCP连接状态或连接断开、地址等信息进行过滤

 

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

(1)ps

Ps命令显示系统当前进行运行状态信息,允许三种风格命令选项,分别是以短横线开头的Unix风格、不带横线的BSD风格以及以双横线开头的长选项。常用选项如下:

a:显示终端相关进程;

-A:显示所有进程,同-e;

-a:显示除了session leaders和与终端无关进程之外的所有进程;

-d:显示除了session  leaders之外的所有进程;

-e:显示所有进程,同-A;

T:显示与本终端相关进程,同不带参数的t选项;

r:只显示运行状态的进程;

p pidlist |-p pidlist|–pid pidlist :根据pid列表显示进程;

-s sesslist | –sid sesslist 根据会话ID显示关联进程;

t ttylist | -t ttylist –tty ttylist :根据对应的tty显示关联进程;

U userlist | -u userlist | –user userlist :根据用户有效ID或名字显示关联进程;

-U userlist | –User userlist:根据用户实际ID或名字显示关联进程;

x:显示所有终端无关进程;

-f:显示完整格式进程信息;

-F:显示完整格式进程信息;

–format format | o format | -o format:以指定格式显示进程信息;

j | -j :以job格式显示内容;

f:显示进程层级信息;

-H:显示进程层级信息;

u:以用户为中心组织显示内容;

举例:

使用标准语法格式显示所有进程:

ps  –e

ps  –ef

ps  -eF

使用BSD风格语法显示所有进程:

ps  ax

ps  axu

显示进程树:

ps  -ejH

ps  axjf

以指定格式显示进程信息:

ps  axo  stat, euid, ruid, tty, pgrp, ppid, pid, comm

ps  -eo  pid, tid, class, ni, pri, psr, pcpu, stat, comm.

显示指定用户的进程信息:

ps  -u root  u

 

(2)htop

Htop命令动态显示进程信息;命令行选项如下:

-d | –delay=DELAY:进程显示刷新间隔

-p | –pid=pidlist:显示指定进程;

-s | –sort-key column:以指定列排序;

-u | –user=USERNAME:显示指定用户相关的进程;

-t | –tree:以进程树形式显示进程信息;

交互式命令:

箭头:进程选择;

t:树状显示进程信息;

p:切换进程路径显示方式;

u:显示指定用户的进程;

H:显示或隐藏用户进程的线程;

K:显示或隐藏内核进程的线程;

P M T:按CPU% MEM% 或TIME排序;

I:转换排序方式;

Space:标记进程;

c:标记进程及其子进程;

U:取消进程标记;

k:终止进程或标记的进程;

]:提高优先级(root用户);

[:降低优先级

e:显示进程环境;

 

(3)vmstat

Vmstat命令显示系统资源相关统计信息,包括进程、内存、页面、块IO、磁盘、CPU等;常用选项:

[delay [count]]:指定延迟时间和显示次数;

-f:显示开机之后系统复制的进程数;

-S:设置显示数据的单位;

-d:显示磁盘相关信息;

-p:显示磁盘分区信息;

 

(4)kill

Kill命令通过向进程发送指定信号实现进程管理;常用选项如下:

-l:列出所有信号;

-s | –signal signal:指定需发送的信号;

常用信号:

1) SIGHUP:无须关闭进程而让其重读配置文件;

2)SIGINT:中断正在运行的进程,相当于Ctrl+c

9)SIGKILL:强制中断运行中的进程;

15)SIGTERM:以正常方式终止运行中的进程;

 

(5)nice、renice

Nice:指定新启动进程的优先级;

Renice:调整运行进程的优先级;常用选项如下:

-n | –priority priority :指定优先级;

-g | –pgrp pgid:指定优先级调整对象为相关用户组的进程;

-p | -pid pid :指定调整对象为相关进程;

-u | –user name_or_uid:指定调整对象为相关用户的进程;

 

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

While实现:

#!/bin/bash

#

declare -i i=1;

declare -i result=0;

while [ $i -le 254 ]

do

        ping -c 1 192.168.1.$i &> /dev/null

        result=$(echo $?)

        if [ $result -eq 0 ]; then

                echo "ping 192.168.1.$i sussessful!"

        else

 

                echo "ping 192.168.1.$i failed!"

        fi

        let i+=1

done

 

until实现:

#!/bin/bash

#

declare -i i=1;

declare -i result=0;

until [ $i -gt 254 ]

do

        ping -c 1 192.168.1.$i &> /dev/null

        result=$(echo $?)

        if [ $result -eq 0 ]; then

                echo "ping 192.168.1.$i sussessful!"

        else

 

                echo "ping 192.168.1.$i failed!"

        fi

        let i+=1

done

原创文章,作者:一叶扁舟,如若转载,请注明出处:http://www.178linux.com/123800

发表评论

登录后才能评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code