1、简述osi七层模型和TCP/IP五层模型
- TCP/IP协议栈的实现:1975年Berkeley分校的Bill Joy,团队BSRG接到美国军方DARPA的一个项目,要在网络上传输数据报文。于是它们就在BSD主机上实现了TCP/IP。
- TCP/IP协议栈:事先商定的协调机制、规范。
- 流式化数据:两个主机间通信,其交换数据的格式,彼此可以理解。在一端流式化,在另一端可以还原。
- TCP/IP分层目的:信息交换考虑的复杂的问题,将其化整为零。
- OSI七层模型: 设计接口规范:过于重量;效率不高;所以”学习模型”。应用层、表示层、会话层、传输层、互联网层、数据链路层、物理层
- TCP/IP四层或五层模型:接口不规范:”真正使用的模型”。 应用层、传输层、互联网层、物理层
- 资源子网:用户空间;应用层、表示层、会话层上三层:数据如何组织;
- 通信子网:内核空间;传输层、互联网层、数据链路层、物理层;数据如何送到目的地;
- 应用层协议:“进行网络通信”的软件或程序实现应用层协议(例如:http、ssh、ftp、https、ldap协议);协议客户端或服务端实现有多种不同程序;
- 应用层首部:告诉其如何流式化:发的内容取决于应用层。
- 在传输的过程中,解封装多次帧,ip是不变的。
- 如果目标MAC是自己,解封装,ip是自己,解封装;看到端口,交给指定端口;
- 传输层协议:tcp, udp, sctp。传输层某协议的端口; 标识主机上进程地址,向内核注册使用某端口( 独占 )
- 内核空间:通信子网,下4层:报文安全到达对端。
- 内核空间协议:tcp,udp; ipv4, ipv6; ppp协议。通过内核中的代码实现
- 互联网层:IP
- 传输层:TCP, UDP
- 以太网帧:MTU(最大传输单元): 1500Bytes 所有首部封装在数据头部后总大小;
- C/S架构:S:Server端,监听于IP:PORT。C:Client端,基于此协议交互。C/S借助于TCP/IP协议簇,完成报文传输;
- 物理层物理报文在TCP/IP上。
- 遂道:一种运输工具承载另一种传输工具:
2、简述iproute家族命令
将主机接入至网络中基本网络属性
- IP/MASK
- GATEWAY(主机路由、网络路由、默认路由)
- DNS服务器 FQDN主机名(通过主机名通信必须的)
- 主DNS服务器
- 次DNS服务器
- 第三DNS服务器
iproute家族:
- ip addr:IP/NETMASK
- ip link:接口
- ip route :路由
- ss :状态及统计数据查看;网络连接数量众多时,比netstat性能高
- nmtui: 图形接口
3、详细说明进行管理工具htop、vmstat等相关命令,并举例
htop子命令
- s 显示syscall
- a 设置进程和cpu的affinity
- t 显示层级结构
- l 显示打开文件列表
- F6 排序
vmstat命令
vmstat [delay[count]]
delay 延迟几秒刷新一次
count 刷新几次-p partition
-s 显示/proc/meminfo文件中的信息
4、使用until和while分别实现192.168.0.0/24网段内,地址是否能够ping通,弱ping通则输出”success!”,若ping不通则输出”fail!”
until
#!/bin/bash # Version: 0.0.0 # Desc: until ping 192.168.0.0/24 # Author: jerry<jerry@whitehouse.gov> # Date: 2018/1/15 trap "exit 0" INT i=0 until false; do i=$[$i+1] if [ $i -gt 254 ]; then break fi ping -c 1 -W 1 -w 1 192.168.0.$i > /dev/null && RETVAL=$? if [ "$RETVAL" == "1" ]; then echo "192.168.0.$i success!" continue fi echo "192.168.0.$i fail!" donewhile
#!/bin/bash # Version: 0.0.0 # Desc: while ping 192.168.0.0/24 # Author: jerry<jerry@whitehouse.gov> # Date: 2018/1/15 trap "exit 0" INT i=0 while [ $i -le 253 ]; do let i++ ping -c 1 -W 1 -w 1 192.168.0.$i > /dev/null && RETVAL=$? if [ "$RETVAL" == "1" ]; then echo "192.168.0.$i success!" continue fi echo "192.168.0.$i fail!" done
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/90919
评论列表(2条)
赞,总结的很详细,也很清晰~最后一个检测子网内是否能ping通,建议是 -c 2 ,因为第1次可能ping不通的情况~加油~
@马哥教育:谢谢老师指导!