1、 请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。
在局域网内,大量主机之间的通信通过arp广播来连接目的主机地址的,为减少在共享环境里的介质,网桥的作用是将广播域划分为多个小的冲突域,但广播域没有变。工作在OSI数据链路层,端口很少。基于软件。可以处理上层事务。
集线器:对接收到的信号进行再生整形放大,扩大网络传输距离,工作在OSI物理层
集线器(hub)属于纯硬件网络底层设备,基本上不具有类似于交换机的”智能记忆”能力和”学习”能力。它也不具备交换机所具有的MAC地址表,所以它发送数据时都是没有针对性的,而是采用广播方式发送。也就是说当它要向某节点发送数据时,不是直接把数据发送到目的节点,而是把数据包发送到与集线器相连的所有节点
二层交换机工作于OSI模型的第2层(数据链路层),故而称为二层交换机。二层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。
三层交换机就是具有部分路由器功能的交换机,三层交换机的最重要目的是加快大型局域网内部的数据交换,所具有的路由功能也是为这目的服务的,能够做到一次路由,多次转发。对于数据包转发等规律性的过程由硬件高速实现,而像路由信息更新、路由表维护、路由计算、路由确定等功能,由软件实现。三层交换技术就是二层交换技术+三层转发技术。
传统交换技术是在OSI网络标准模型第二层–数据链路层进行操作的,而三层交换技术是在网络模型中的第三层实现了数据包的高速转发,既可实现网络路由功能,又可根据不同网络状况做到最优网络性能。
路由器(Router),是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。路由和交换机之间的主要区别就是交换机发生在OSI参考模型第二层(数据链路层),而路由发生在第三层,即网络层。这一区别决定了路由和交换机在移动信息的过程中需使用不同的控制信息,所以说两者实现各自功能的方式是不同的。
路由器(Router)又称网关设备(Gateway)是用于连接多个逻辑上分开的网络,所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器的路由功能来完成。因此,路由器具有判断网络地址和选择IP路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网,路由器只接受源站或其他路由器的信息,属网络层的一种互联设备
2、 IP地址的分类有哪些?子网掩码的表示形式及其作用
A类:1-127默认子网掩码:255.0.0.0 私网地址:10.0.0.0/8
B 类:128-191默认子网掩码:255.255.0.0 私网地址:172.16.0.0/16-172.31.0.0/16
C 类:192-223默认子网掩码:255.255.255.0私网地址:192.168.0.0/24-192.168.255.0/24
D 类:223-254
子网掩码的简单叙述:子网掩码是一个32位地址,用于屏蔽IP地址的一部分以
区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上
3、 计算机网络的分成模型有哪些(OSI模型和TCP/IP模型),每一层的功能及涉及到的物理设备有哪些。
OSI模型,应用层;提供应用程序之间通信,
表示层,处理数据格式、数据加密
会话层,建立,维护,管理会话连接涉及操作系统和网络接口和各种数据
传输层,建立主机端到端连接,涉及物理设备:四层交换机
网络层,寻址和路由选择涉及物理设备:路由器
数据链路层,提供介质访问,链路管理,将数据分帧并处理流控制。网卡,网桥,交换机
物理层,比特流传输,将数据转换为可通过物理介质传送的电子信号物理设备双绞线、同轴电缆,集线器
TCP/IP模型,应用层,传输层,网络层,数据链路层,物理层
4、 如何将Linux主机接入到TCP/IP网络,请描述详细的步骤。(手动指定的方式)
1) 编辑/etc/sysconfig/network-script/eth0,设置IP,MAC,网关,地址分配是静态或动态
2) 编辑 /etc/hosts,添加IP
3) 编辑/etc/resolv.config
4) 启动网络服务,service network restart
5) 测试连接网络
5、 为Linux主机配置网络信息的方式有哪些,请描述各个过程。
1) ifconfigetho IP/mask
2) ipaddr add ip device etho
3) Linux网络属性配置的tui(text user interface):system-config-network-tui
4) 使用setup找到;
6、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;
在线的主机使用绿色显示;
不在线的主使用红色显示;
#!/bin/bash
#
#
declare -iip=1
addr=”172.16.250″
while [ $ip -le 20 ];do
if ping -c 1 -w 1 $addr.$ip&> /dev/null;then
echo ” host $addr.$ip online” >> /tmp/hosts
else
echo “host $addr.$ip offline” >> /tmp/hosts
fi
done
cat /tmp/hosts
6、 详细描述每个网络接口的配置文件中各个参数的含义和其所对应的值;
IP、MASK、GW、DNS相关配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE
路由相关的配置文件:/etc/sysconfig/network-scripts/route-IFACE
配置当前主机的主机名:/etc/sysconfig/networkHOSTNAME=
网络接口识别并命名相关的udev配置文件: /etc/udev/rules.d/70-persistent-net.rules
8、如何给网络接口配置多个地址,有哪些方式?
1) ifconfigetho IP/mask
2) ipaddr add ip device etho
3) Linux网络属性配置的tui(text user interface):system-config-network-tui
4) 使用setup找到;
9、常用的网络管理类工具有哪些,并用示例形式描述他们的使用方法。
ntstat: 1查看网络连接netstat–tan 2 查看路由netstat–r 3, 显示网络接口netstat–i
route路由管理命令,看:route -n 添加:routeadd:route add [-net|-host] target [netmask Nm] [gwGw] [[dev] If]
ip linkset dev IFACE up /down 激活或禁用指定接口
ipaddr { add | del } IFADDR dev IFACE
ip route add 添加路由:ip route add TARGET via GW dev IFACE src SOURCE_IP
ip route del TARGET
ss
10、Linux系统软件包管理方法(安装、升级、卸载等操作)有哪些,以及如何管理的。
rpm命令实现程序管理:
安装:-ivh, –nodeps, –replacepkgs
卸载:-e, –nodeps
升级:-Uvh, -Fvh, –nodeps, –oldpackage
查询:-q, -qa, -qf, -qi, -qd, -qc, -q –scripts, -q –changlog, -q –provides, -q –requires
校验:-V
导入GPG密钥:–import, -K, –nodigest, –nosignature
数据库重建:–initdb, –rebuilddb
Yum 命令实施软件包管理
repolist [all|enabled|disabled]
显示程序包:list
# yum list [all | glob_exp1] [glob_exp2] […]
# yum list {available|installed|updates} [glob_exp1] […]
安装程序包: install package1 [package2] […]
reinstall package1 [package2] […] (重新安装)
升级程序包:
update [package1] [package2] […]
downgrade package1 [package2] […] (降级)
检查可用升级:
check-update
卸载程序包:
remove | erase package1 [package2] […]
查看程序包information:
info […]
查看指定的特性(可以是某文件)是由哪个程序包所提供:
provides | whatprovides feature1 [feature2] […]
清理本地缓存:
clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
构建缓存:
makecache
11、如何使用发行版光盘作为yum repository,请描述该过程。
1)编辑/etc/yum.repos.d/centos_iso.repo
[Packages]
name=centos_iso
baseurl=file:///mnt #本地iso的挂载路径
enabled=1 #可以使用yum
gpgcheck=0 #设置不检查gpgkey
gpgkey=file:///mnt/RPM-GPG-KEY-centos
2)挂载光盘至某目录,例如/mnt
# mount -r -t iso9660 /dev/cdrom /mnt
3) yum clean ; yum repolist
12、写一个脚本,完成以下功能
(1) 假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干;
(2) 显示所有以K开头的文件的文件名,并且给其附加一个stop字符串;
(3) 显示所有以S开头的文件的文件名,并且给其附加一个start字符串;
(4) 分别统计S开头和K开头的文件各有多少;
#!/bin/bash
#
#
declare -i k=0
declare -i s=0
ls /etc/rc.d/rc3.d/K*|awk ‘{printf “%sStop \n”, $1}’|awk -F’/’ ‘{print $NF}’
ls /etc/rc.d/rc3.d/S*|awk ‘{printf “%sStart \n”, $1}’|awk -F’/’ ‘{print $NF}’
k=`ls /etc/rc.d/rc3.d/K*|awk ‘{print NR}’|tail -n 1`
s=`ls /etc/rc.d/rc3.d/K*|awk ‘{print NR}’|tail -n 1`
echo “$k kfiles and $s Sfiles”
13、写一个脚本,完成以下功能
(1) 脚本能接受用户名作为参数;
(2) 计算此些用户的ID之和;
#!/bin/bash
#
#
declare -i uid=0
read -p “enter users:” users
for user in ${users} ; do
if id $user &> /dev/null;then
echo “$user exists”
else
echo “$user does not exists”
fi
for uid in $(awk -F: ‘{print $1, $3}’ /etc/passwd|grep $user|awk ‘{print $2}’);do
let sumid+=$uid
done
done
echo “users id is $sumid”
14、写一个脚本
(1) 传递一些目录给此脚本;
(2) 逐个显示每个目录的所有一级文件或子目录的内容类型;
(3) 统计一共有多少个目录;且一共显示了多少个文件的内容类型;
#!/bin/bash
#
#
if [ $# -lt 1 ]; then
echo “Usage: `basename $0` PATH”
exit 1
fi
ls -l “$@” | grep “^d” | awk ‘{print $NF}’ >directorys.log
ls -l “$@” | grep “^-” | awk ‘{print $NF}’ >files.log
ls –l $@
dir=wc –l directorys.log
file=wc –l files.log
15、写一个脚本
通过命令行传递一个参数给脚本,参数为用户名
如果用户的id号大于等于500,则显示此用户为普通用户;
#!/bin/bash
#
Read –p “Enter user” user
If id $user &> /dev/null;then
uid=`awk –F: ‘{print $3}’ /etc/passwd`
echo “$user exists ”
if [ $uid –ge 500 ];then
echo “$user is regular user”
else
echo “$user not exists”
exit 1
fi
fi
16、写一个脚本
(1) 添加10用户user1-user10;密码同用户名;
(2) 用户不存在时才添加;存在时则跳过;
(3) 最后显示本次共添加了多少用户;
#!/bin/bash
#
set -x
while [ $i –le 10 ]; do
if !id user$i & > /dev/null ;then
useradd user$i
if [ $? == 0 ];then
echo “user$i” |passwd –sdin user$i & > /dev/null
fi
let user++
fi
let i++
done
echo “add $user users”
17、写一脚本,用ping命令测试172.16.250.20-172.16.250.100以内有哪些主机在线,将在线的显示出来;
#!/bin/bash
#
#
declare -iip=1
addr=”172.16.250″
while [ $ip -le 20 ];do
if ping -c 1 -w 1 $addr.$ip&> /dev/null;then
echo ” host $addr.$ip online” >> /tmp/hosts
else
echo “host $addr.$ip offline”
fi
done
cat /tmp/hosts
18、打印九九乘法表;
while [ $j –le 9 ];do
for i in {1..$j};do
echo –e –n “${i}*${j}=$(($i*$j)) \t”
let i++
done
done
原创文章,作者:n20-钥匙,如若转载,请注明出处:http://www.178linux.com/35659
评论列表(1条)
写的很好,排版还可以在漂亮一点,加油