本周(7.23–7.29)第六周
1、简述osi七层模型和TCP/IP五层模型
OSI 七层模型
1、应用层:OSI 参考模型中最靠近用户的一层,为计算机用户提供应用接口,也为用户直接提供各种网络服务。我们常见应用层的网络服务协议有:HTTP,HTTPS,FTP,POP3、SMTP等。
2、表示层:提供各种用于应用层数据的编码和转换功能,确保一个主机的应用层发送的数据能被另一个主机的应用层识别。如果有必要,该层可以提供一种标准的表示形式,用于将计算机内部的多种数据格式转换成通信中采用的标准表示形式。
3、会话层:负责建立、管理和终止表示层实体之间的通信会话。
4、传输层:建立了主机之间的端到端的连接。传输层的作用,是为上层协议提供端到端的可靠的透明的数据传输服务,包括差错控制和流量控制等问题。我们通常说的TCP、UDP就是在这一层。端口号即是这里的“ 端 ”。TCP 协议。UDP 协议。
5、网络层:网络层通过 IP 寻址来建立两个网络节点之间的连接,为源主机的传输层送来的分组,选择合适的路由和交换节点,正确无误的按照 IP 地址传送给目的主机的传输层。就是通常说的 IP 层,使用 IP协议和路由器的路由选择信息。数据传输单位是分组。IP 地址。路由器。IP 协议。
6、数据链路层:将比特组合成字节,再将字节组合成帧,使用数据链路层地址 (以太网使用的是 MAC 地址)来访问介质,并进行差错检测。在物理层提供的服务基础之上,负责在通信的实体之间建立数据链路。传输以帧为单位的数据包。
7、物理层:实际的最终信号的传输是通过物理层实现的。通过物理介质传输0-1 比特流。常用的设备有(各种物理设备)集线器、中继器、调制解调器、网线、双绞线、同轴电缆。这些都是物理层的传输介质。 传输的单位是比特。
TCP/IP 五层模型
1、应用层:
2、传输层
3、网络层
4、数据链路层
5、物理层
对应关系
OSI七层模型
|
TCP/IP五层模型
|
应用层
|
应用层
|
表示层
|
|
会话层
|
|
传输层
|
传输层
|
网络层
|
网络层
|
数据链路层
|
数据链路层
|
物理层
|
物理层
|
2、简述iproute家族命令
ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT := { link | addr | route | netns }
link:链接接口,如eth0
addr:管理接口上的地址
route:管理路由
ip-link – network device configuration
ip link set { DEVICE | group GROUP } 设定接口属性
{ up | down } 启用或禁用接口
multicast { on | off } 启用或关闭多播
promisc { on | off } 是否支持混杂模式
name NEWNAME 设定接口使用新名字
mtu MTU 设置MTU大小,默认为1500
ip link show [ DEVICE ] 显示接口状态
ip link list 显示所有接口信息
ip link delete { DEVICE | group GROUP } 删除接口
ip-address – protocol address management
ip addr { add | del } 添加或删除地址
ip addr show [ dev IFNAME] 显示该网卡的所有地址信息
ip addr list 显示网卡的所有信息
ip addr flush [ dev IFNAME] 清除协议地址
ip-route – routing table management
ip route list | show 显示路由
ip route { add | del } 添加或删除路由
ip route get 获得单个路由
ip route flush 清除路由表
ip-netns – process network namespace management
ip netns list 列出所有的netns
ip netns add NETNSNAME 创建指定的netns
ip netns del [ NETNSNAME ] 删除指定的netns
ip netns exec [ NETNSNAME ] command… 在指定的netns中运行命令
3、详细说明进行管理工具htop、vmstat等相关命令,并举例
[root@localhost ~]# htop
左上包括cpu,内存,交换分区。右上是运行时间,任务数量,平均负载。中间为进程状态。最下方为快捷键
htop界面所支持的一些交互式命令:
h:显示帮助
u:显示所有用户,并可以选择某一特定用户的进程
l:显示进程打开的文件
s:显示光标所在进程的系统调用
a:绑定进程到指定cpu
t : 以层级关系显示各进程状态
H :显示/隐藏用户线程
K :显示/隐藏内核线程
M :按内存占用排序
P :按CPU排序
T :按运行时间排序
htop常用选项:
-d #:指定延迟时间间隔
-u UserName:仅显示指定用户的进程
-s COLUME:以指定字段进行排序
vmstat
用法:vmstat [options] [delay [count]]
-s:将一些事件导致的内存变化情况列表说明
-S:后面可以接单位,如K、M取代bytes的容量
-d:列出磁盘的读写总量数据表
每行代表含义
procs: 进程相关
r:等待进程运行的个数;(队列长度)
b:处理不可中断睡眠状态的进程的个数;(即IO口阻塞队列长度)
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:中断速率,每秒被中断的次数
cs:进程切换的速率
cpu
us:user space 用户运行程序占用CPU的百分比
sy:system(kernel space) 用于运行内核占用CPU的百分比
id:idle空闲CPU的百分比
wa:wait io 等待I/O花费时间
st:stolen
glances
上方显示的是CPU、load(系统负载)、mem(内存使用)、swap(交换分区)的使用情况
中间显示的network(网络接口)、tasks(任务进程)的使用情况
左边的是磁盘I/O、分区使用情况
glances常用选项
-b:以byte/s为单位显示网卡设备数据交换速率
-d:关闭磁盘I/O功能模块
-f:设置输出文件的位置
-o:{HTML|CSV}
-m:关闭mount功能模块
-n:关闭网络功能模块
-r:关闭进程列表功能模块
-t #:指定延迟时长,默认为3秒
-l:单独显示每颗CPU相关负载数据信息
glances远程模式
Server:以监听模式启动glances
glances -s -B IPADDR
-B:用于指明监听的本地地址
Client:以远程模式启动glances,远程连入指定服务器
glances -c IPADDR
-c:用于连入的服务器地址
dstat
每行的含义:
total-cpu-usage:CPU的使用率
dsk/total:磁盘读写总数
net/total:网络设备发送和接收的数据总数
paging:系统的分页活动
system:显示的是中断和上下文的切换
dstat的常用选项
-c:显示cpu性能指标的相关数据
-d:显示disk相关的速率数据
-g:显示page相关的速率数据
-i:显示interrupt相关的数据速率
-l:显示load average相关的统计数据
-m:显示memory相关的统计数据
-n:显示网络收发数据的速率
-p:显示进程相关的统计数据
-r:io请求的速率
-s:显示swap的相关数据
-y:显示系统相关的数据
–top-cpu:显示最占用CPU的进程
–top-bio:显示最消耗block io的进程
–top-mem:显示最占用内存的进程
–tcp:显示tcp套接字的数据
–udp:显示udp套接字的数据
4、使用until和while分别实现192.168.0.0/24
网段内,地址是否能够ping通,弱ping通则输出”success!”,若ping不通则输出”fail!”
while实现
#!/bin/bash
#
i=0
while [[ $i -le 255 ]]
do
ping -c 2 192.168.0.$i &> /dev/null
if [[ $? -eq 0 ]]
then
echo -e “192.168.0.$i success!”
else
echo -e “192.168.0.$i fail!”
fi
i=$((i+1))
done
[a@localhost ~]$ vim while.sh
[a@localhost ~]$ chmod u+x while.sh
[a@localhost ~]$ ./while.sh
192.168.0.0 fail!
192.168.0.1 success!
192.168.0.2 fail!
192.168.0.3 fail!
until实现
#!/bin/bash
#
i=0
until [[ $i -gt 255 ]]
do
ping -c 3 192.168.0.$i &> /dev/null
if [[ $? -eq 0 ]]
then
echo -e “192.168.0.$i success!”
else
echo -e “192.168.0.$i fail!”
fi
i=$((i+1))
done
[a@localhost ~]$ vim until.sh
[a@localhost ~]$ chmod u+x until.sh
[a@localhost ~]$ ./until.sh
192.168.0.0 fail!
192.168.0.1 success!
192.168.0.2 fail!
192.168.0.3 fail!
192.168.0.4 fail!
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/104327