1、简述osi七层模型和TCP/IP五层模型
osi七层模型:
应用层
OSI 参考模型中最靠近用户的一层,是为计算用户提供应用接口,也为用户直接提供网络服务。常见的应用层网络服务协议有:HTTP,HTTPS,FTP,POP3,SMTP等
表示层
表示提供各种用于应用层数据编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。如果必要该层可提供一种标准表示形式,用于将计算机内部的多种数据格式转换成通信中采用的标准表示形式。数据压缩和加密也是表示层可提供的转换功能之一。
会话层
会话层负载建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。
传输层
传输层建立了主机端到端的链接,传输层的作用是为上层协议提供端到端的可靠和透明的数据传输服务,包括处理差错控制和流量控制等问题。该层向高层屏蔽了下层数据通信的细节,是高层用户看到的只是在两个传输实体建的一个主机到主机的、可由用户控制和设定、可靠的数据通路。通常说的TCP UDP就是在这层。端口号即是这里的“端”。
网络层
本层通过IP寻址来建立两点之间的连接,为源端的运输层来的分组,选择合适的路由和交换节点,正确无误地按照地址传送给目的端的运输层。就是通常说的ip层。这一层就是我们经常说的IP协议层。IP协议是Internet的基础。
数据链路层
将比特组合成字节,再将字节组成帧,使用链路层地址(以太网mac地址)来访问介质,并进行差错检测。
数据链路层又分为2个子层:逻辑链路控制子层(LLC)和媒体访问控制子层(MAC)。
物理层
实际最终信号传输是通过物理层实现的。通过物理介质传输比特流。规定电平、速度和电缆针脚。常用设备有(各种物理设备)集线器、中继器、调制解调器、网线、双绞线、同轴电缆。这些都是物理层的传输介质
TCP/IP五层各层定义
物理层:主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0
数据链路层:建立逻辑连接、进行硬件地址寻址、差错校验等功能(由底层网络定义协议)。并且将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。
<1>以广播的方式通讯
<2>以太网协议:早期的时候各个公司都有自己的分组方式,后来形成了统一的标准,即以太网协议ethernet
<3>mac地址:head中包含的源和目标地址由来:ethernet规定接入internet的设备都必须具备网卡,发送端和接收端的地址便是指网卡的地址,即mac地址mac地址:每块网卡出厂时都被烧制上一个世界唯一的mac地址,长度为48位2进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线号)
网络层:引入一套新的地址用来区分不同的广播域/子网,这套地址即网络地址,进行逻辑地址寻址,实现不同网络之间的路径选择。
<1>协议有:IP(IPV4 IPV6) ARP RARP ICMP IGMP
<2>IP协议:规定网络地址的协议叫ip协议,它定义的地址称之为ip地址,广泛采用的v4版本即ipv4,它规定网络地址由32位2进制表示范围0.0.0.0-255.255.255.255
一个ip地址通常写成四段十进制数,例:192.168.10.1
<3>IP协议的作用主要有两个,一个是为每一台计算机分配IP地址,另一个是确定哪些地址在同一个子网络(配合子网掩码)。
传输层:定义传输数据的协议端口号,以及流控和差错校验。<1>协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层<2>封装的数据格式
应用层:规定应用程序的数据格式,网络服务与最终用户的一个接口。<1>协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP
2、简述iproute家族命令
ip命令:
show / manipulate routing, devices, policy routing and tunnels
(1)ip link: network device configuration 显示修改网络设备的配置
ip link set – change device attributes
ip link show – display device attributes
ip link help – 显示简要使用帮助;
示例:ip link set eth1 down ##让eth1网落下线
(2)ip netns: – manage network namespaces.
ip netns list:列出所有的netns
ip netns add NAME:创建指定的netns
ip netns del NAME:删除指定的netns
ip netns exec NAME COMMAND:在指定的netns中运行命令
(3)ip address – protocol address management.
ip address add – add new protocol address
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
(4)ip route – routing table management 管理ip路由表
ip route add – add new route
ip route change – change route
ip route replace – change or add new one
ip route delete – delete route
ip route del TYPE PRIFIX
示例:# ip route delete 192.168.1.0/24
ip route show – list routes
ip route flush – flush routing tables
ip route get – get a single route
ip route get TYPE PRIFIX
示例:ip route get 192.168.0.0/24
3、详细说明进行管理工具htop、vmstat等相关命令,并举例
htop命令:
选项:
-d #:指定延迟时间间隔;
-u UserName:仅显示指定用户的进程;
-s COLUME:以指定字段进行排序;
子命令:
l:显示选定的进程打开的文件列表;
s:跟踪选定的进程的系统调用;
t:以层级关系显示各进程状态;
a:将选定的进程绑定至某指定的CPU核心;vmstat命令:- Report virtual memory statistics 报告虚拟内存数据
vmstat [options] [delay [count]]
procs:
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:显示内存统计数据;
示例:
vmstat 2 ## 每2秒显示一次内存统计数据
vmstat 2 3 ## 每2秒显示一次内存统计数据,一共显示3次
4、使用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 2 192.168.0.$i &> /dev/dull; then
echo "Success!"
else
echo "Fail!"
fi
let i++
done
#!/bin/bash
declare -i i=1
until [ $i -gt 254 ]; do
if ping -c 2 192.168.0.$i &> /dev/dull; then
echo "Success!"
else
echo "Fail!"
fi
let i++
done