1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。
网桥从一个局域网接收MAC帧,拆封、校对、校验之后,按另一个局域网的格式重新组装,发往它的物理层。由于网桥是链路层设备,因此不处理数据链路层以上层次协议所加的报头。
集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。它工作于OSI(开放系统互联参考模型)参考模型第一层。
二层交换机指的就是传统的工作在OSI参考模型的第二层–数据链路层上交换机,主要应用于小型的局域网中,主要功能包括物理编址、错误校验、帧序列以及流控。
三层交换机主是二层交换机与路由器的合体,支持物理层,数据链路层及网络层协议。三层交换机支持路由功能、支持网络层的很多协议等,支持多VLAN的设置与IP地址配置!支持安全功能等
路由器是连接因特网中各局域网、广域网的设备,路由和交换机之间的主要区别就是交换机发生在OSI参考模型第二层(数据链路层),而路由发生在第三层,即网络层。
2、IP地址的分类有哪些?子网掩码的表示形式及其作用
A类: 0 000 0000 - 0 111 1111: 1-127 网络数:126, 127 每个网络中的主机数:2^24-2 默认子网掩码:255.0.0.0 私网地址:10.0.0.0/8 B类: 10 00 0000 - 10 11 1111:128-191 网络数:2^14 每个网络中的主机数:2^16-2 默认子网掩码:255.255.0.0 私网地址:172.16.0.0/16-172.31.0.0/16 C类: 110 0 0000 - 110 1 1111: 192-223 网络数:2^21 每个网络中的主机数:2^8-2 默认子网掩码:255.255.255.0 私网地址:192.168.0.0/24-192.168.255.0/24 D类:组播 1110 0000 - 1110 1111: 224-239 E类: 240-255
3、计算机网络的分成模型有哪些(OSI模型和TCP/IP模型),每一层的功能及涉及到的物理设备有哪些。
OSI参考模型
物理层的主要功能是:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。物理层的作用是实现相邻计算机节点之间比特流的透明传送,该层会使用到网线,光纤等等。
数据链路层是OSI模型的第二层,负责建立和管理节点间的链路。该层的主要功能是:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。这一层的主要功能是在物理层提供的比特流的基础上,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路,即提供可靠的通过物理介质传输数据的方法。工作在该层的设备一般为交换机,集线器等等。
网络层是OSI模型的第三层,它是OSI参考模型中最复杂的一层,也是通信子网的最高一层。它在下两层的基础上向资源子网提供服务。其主要任务是:通过路由选择算法,为报文或分组通过通信子网选择最适当的路径。该层控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接。
传输层是OSI模型的第4层。因此该层是通信子网和资源子网的接口和桥梁,起到承上启下的作用。该层的主要任务是:向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输。传输层的作用是向高层屏蔽下层数据通信的细节,即向用户透明地传送报文。
会话层是OSI模型的第5层,是用户应用程序和网络之间的接口,主要任务是:向两个实体的表示层提供建立和使用连接的方法。将不同实体之间的表示层的连接称为会话。因此会话层的任务就是组织和协调两个会话进程之间的通信,并对数据交换进行管理。
表示层是OSI模型的第六层,它对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定的格式传送给会话层。其主要功能是“处理用户信息的表示问题,如编码、数据格式转换和加密解密”等。
应用层(Application Layer)是OSI参考模型的最高层,它是计算机用户,以及各种应用程序和网络之间的接口,其功能是直接向用户提供服务,完成用户希望在网络上完成的各种工作。它在其他6层工作的基础上,负责完成网络中应用程序与网络操作系统之间的联系,建立与结束使用者之间的联系,并完成网络用户提出的各种网络服务及应用所需的监督、管理和服务等各种协议。此外,该层还负责协调各个应用程序间的工作。
TCP/IP参考模型
网络接口层包括用于协作IP数据在已有网络介质上传输的协议。它定义像地址解析协议这样的协议,提供TCP/IP协议的数据结构和实际物理硬件之间的接口。
网络层对应于OSI七层参考模型的网络层。本层包含IP协议、RIP协议,负责数据的包装、寻址和路由。同时还包含网间控制报文协议用来提供网络诊断信息。
传输层对应于OSI七层参考模型的传输层,它提供两种端到端的通信服务。其中TCP协议提供可靠的数据流运输服务,UDP协议提供不可靠的用户数据报服务。
应用层对应于OSI七层参考模型的应用层和表达层。因特网的应用层协议包括Finger、Whois、FTP(文件传输协议)、Gopher、HTTP(超文本传输协议)、Telent(远程终端协议)、SMTP(简单邮件传送协议)、IRC(因特网中继会话)、NNTP(网络新闻传输协议)等。
4、如何将Linux主机接入到TCP/IP网络,请描述详细的步骤。(手动指定的方式)
[root@6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 1 DEVICE=eth0 2 HWADDR=00:0C:29:88:B2:2C 3 TYPE=Ethernet 4 UUID=05cb76db-70e8-49f6-9b1d-f754c47a28f6 5 ONBOOT=yes 6 IPADDR=192.168.1.118 7 NETMASK=255.255.255.0 8 GATEWAY=192.168.1.1 ~ [root@6 ~]# service network restart 正在关闭接口 eth0: [确定] 关闭环回接口: [确定] 弹出环回接口: [确定] 弹出界面 eth0: Determining if ip address 192.168.1.118 is already in use for device eth0... [确定]
5、为Linux主机配置网络信息的方式有哪些,请描述各个过程。
-
编辑配置文件修改网络参数,永久生效
-
使用ifconfig命令来指定,重启失效
6、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;
在线的主机使用绿色显示;
不在线的主使用红色显示;
#!/bin/bash for((i=1;i<254;i++)) do ping -c 1 172.168.250.$i &>/dev/null if [ $? -eq 0 ];then echo -e "\033[32m 172.168.250.$i is up \022[0m" else echo -e "\033[31m 172.168.250.$i is down \022[0m" fi done
7、详细描述每个网络接口的配置文件中各个参数的含义和其所对应的值;
1 DEVICE=eth0 //设备名称 2 HWADDR=00:0C:29:88:B2:2C //mac地址 3 TYPE=Ethernet //网络接口类型 4 UUID=05cb76db-70e8-49f6-9b1d-f754c47a28f6 5 ONBOOT=yes //是否开机启动 6 IPADDR=192.168.1.118 //ip地址 7 NETMASK=255.255.255.0 //子网掩码 8 GATEWAY=192.168.1.1 //网关
8、如何给网络接口配置多个地址,有哪些方式?
1.ip addr add 2.编辑配置文件,重启生效 3.setup
9、常用的网络管理类工具有哪些,并用示例形式描述他们的使用方法。
netstat命令: -t: tcp协议相关。-u: udp协议相关。-w: raw socket相关。-l: 处于监听状态。-a: 所有状态。-n: 以数字显示IP和端口。-e:扩展格式 -p: 显示相关进程及PID。 ss命令
10、Linux系统软件包管理方法(安装、升级、卸载等操作)有哪些,以及如何管理的。
rpm 安装: rpm {-i|--install} [install-options] PACKAGE_FILE ... -v: verbose -vv: -h: 以#显示程序包管理执行进度;每个#表示2%的进度 rpm -ivh PACKAGE_FILE ... 升级: upgrage:安装有旧版程序包,则“升级”;如果不存在旧版程序包,则“安装”; freeshen:安装有旧版程序包,则“升级”;如果不存在旧版程序包,则不执行升级操作; rpm -Uvh PACKAGE_FILE ... rpm -Fvh PACKAGE_FILE ... 查询: rpm {-q|--query} [select-options] [query-options] [select-options] -a: 所有包 -f: 查看指定的文件由哪个程序包安装生成 卸载: rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] yum 显示仓库列表: yum repolist [all|enabled|disabled] 显示程序包: list # yum list [all | glob_exp1] [glob_exp2] [...] # yum list {available|installed|updates} [glob_exp1] [...] 安装程序包: yum install package1 [package2] [...] yum reinstall package1 [package2] [...] (重新安装) 升级程序包: yum update [package1] [package2] [...] yum downgrade package1 [package2] [...] (降级) 检查可用升级: yum check-update 卸载程序包: yum remove | erase package1 [package2] [...] 查看程序包information: yum info [...]
11、如何使用发行版光盘作为yum repository,请描述该过程。
1.将光盘挂载到指定的目录 [root@6 ~]# mount /dev/cdrom /mnt 2.创建配置文件 [root@6 mnt]# cat /etc/yum.repos.d/cdrom.repo [cdrom] name=cdrom basurl=file:///mnt enable=1 gpgcheck=0
12、写一个脚本,完成以下功能
(1) 假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干;
(2) 显示所有以K开头的文件的文件名,并且给其附加一个stop字符串;
(3) 显示所有以S开头的文件的文件名,并且给其附加一个start字符串;
(4) 分别统计S开头和K开头的文件各有多少;
#!/bin/bash cd /etc/rc.d/rc3.d for i in $(ls K*);do echo "$i start" let i++ done for j in $(ls S*);do echo "$j stop" let j++ done echo "$i,$j"
13、写一个脚本,完成以下功能
(1) 脚本能接受用户名作为参数;
(2) 计算此些用户的ID之和;
1 #!/bin/bash 2 declare -i j=0 3 4 for i in $*;do 5 userid=$( id -u ${i} ) 6 j+=$userid 7 let i++ 8 done 9
14、写一个脚本
(1) 传递一些目录给此脚本;
(2) 逐个显示每个目录的所有一级文件或子目录的内容类型;
(3) 统计一共有多少个目录;且一共显示了多少个文件的内容类型;
#!/bin/bash declare -i f=0 declare -i d=0 declare -i c=0 declare -i s=0 declare -i b=0 declare -i o=0 read -p "input file path " file for i in 'ls $file';do if [ -d $file ];then echo "$file is directory" let d++ elif [ -f $file ];then echo "$file is file" let f++ elif [ -s $file ];then echo "$file is socket" let s++ elif [ -b $file ];then echo "$file is bolck" let b++ elif [-c $file ];then echo "$file is char" let c++ else let o++ fi done echo "directory $d" echo "file $f" echo "socket $s" echo "block $b" echo "char $c" echo "other $c"
15、写一个脚本
通过命令行传递一个参数给脚本,参数为用户名
如果用户的id号大于等于500,则显示此用户为普通用户;
1 #!/bin/bash 2 if [ $# -eq 0 ];then 3 echo "plesae input username" 4 fi 5 let a=$(id -u $1) 6 if [ $a -ge 500 ];then 7 echo "this is user" 8 else 9 echo "this is system user" 10 fi
16、写一个脚本
(1) 添加10用户user1-user10;密码同用户名;
(2) 用户不存在时才添加;存在时则跳过;
(3) 最后显示本次共添加了多少用户;
1 #!/bin/bash 2 declare -i i=0 3 for((i=1;i<11;i++))do 4 if id user$i &> /dev/null;then 5 echo "user$i is exist" 6 continue 7 else 8 useradd user$i 9 echo "user$i" | passwd --stdin$i &> /dev/null 10 let i++ 11 fi 12 done 13 echo "add $i user"
17、写一脚本,用ping命令测试172.16.250.20-172.16.250.100以内有哪些主机在线,将在线的显示出来;
#!/bin/bash for((i=20;i<100;i++)) do ping -c 1 172.168.250.$i &>/dev/null if [ $? -eq 0 ];then echo "172.168.250.$i is up " fi done
18、打印九九乘法表;
1 #!/bin/bash 2 for((i=1;i<10;i++)) 3 do 4 for((j=1;j<=$i;j++)) 5 do 6 echo -e -n "$j*$i= $(($i*$j))\t" 7 done 8 echo 9 done
以上
原创文章,作者:N21_619463772,如若转载,请注明出处:http://www.178linux.com/35247
评论列表(1条)
网络部分可以更详细一些,还有下次ctrl+c,ctrl+v的时候,请调整好统一的格式