马哥教育网络班21期+第8周课程练习

1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。

集线器

集线器也称HUB,工作在OSI七层结构的第一层物理层,属于共享型设备,接收数据广播发出,在局域网内一般都是星型连接拓扑结构,每台工作站都连接到集线器上。
由于集线器的带宽共享特性导致网络利用效率极低,一般在大中型的网络中不会使用到集线器。

网桥

网桥(Bridge)也称桥接器,是连接两个局域网的存储转发设备,用它可以完成具有相同或相似体系结构网络系统的连接。
网桥和交换机一样都是工作在OSI模型的第二层(数据链路层),可以看成是一个二层路由器(真正的路由器是工作在网络层,根据IP地址进行信包转发)。
网桥可有效的将两个局域网(LAN)连起来,根据MAC地址(物理地址)来转发帧,使本地通信限制在本网段内,并转发相应的信号至另一网段,网桥通常用于联接数量不多的、同一类型的网段。

二层交换机

二层交换机工作于OSI模型的第2层(数据链路层),故而称为二层交换机。
二层交换技术的发展已经比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。

三层交换机

三层交换机就是具有部分路由器功能的交换机,三层交换机的最重要目的是加快大型局域网内部的数据交换,所具有的路由功能也是为这目的服务的,能够做到一次路由,多次转发。
对于数据包转发等规律性的过程由硬件高速实现,而像路由信息更新、路由表维护、路由计算、路由确定等功能,由软件实现。

路由器

路由器跟集线器和交换机不同,是工作在OSI的第三层(网络层),根据IP进行寻址转发数据包。
路由器是一种可以连接多个网络或网段的网络设备,能将不同网络或网段之间(比如局域网——大网)的数据信息进行转换,并为信包传输分配最合适的路径,使它们之间能够进行数据传输,从而构成一个更大的网络。
路由器具有最主要的两个功能,即数据通道功能和控制功能。数据通道功能包括转发决定、背板转发以及输出链路调度等,一般由特定的硬件来完成;控制功能一般用软件来实现,包括与相邻路由器之间的信息交换、系统配置、系统管理等

区别

网桥       工作在数据链路层
集线器     工作在物理层,所有端口共享一个mac地址,共享带宽
二层交换机 工作在数据链路层,每个端口有自己的mac地址,独享带宽
三层交换机 工作在数据链路层,网络层,拥有部分路由功能
路由器     工作在网络层

2、IP地址的分类有哪些?子网掩码的表示形式及其作用

IP地址分类

A类用于大型网络(能容纳网络126个,主机1677214台)
B类用于中型网络(能容纳网络16384个,主机65534台)
C类用于小型网络(能容纳网络2097152个,主机254台)
D类用于组播(多目的地址的发送)
E类用于实验

子网掩码的表示形式

A.点分十进制,如255.255.255.0
B.ip地址后加'/'以及[1-32]的数字,如192.168.1.1/24

子网掩码的作用

A.屏蔽IP地址的一部分以区别网络标识和主机标识
B.将一个大的IP网络划分为若干小的子网络

3、计算机网络的分层模型有哪些(OSI模型和TCP/IP模型),每一层的功能及涉及到的物理设备有哪些。

OSI模型

应用层;提供应用程序之间通信;
表示层:处理数据格式、数据加密;
会话层:建立,维护,管理会话连接涉及操作系统和网络接口和各种数据;
传输层:建立主机端到端连接。涉及物理设备:四层交换机
网络层:寻址和路由选择。涉及物理设备:路由器
数据链路层:提供介质访问,链路管理,将数据分帧并处理流控制。涉及物理设备:网卡,网桥,交换机
物理层:比特流传输,将数据转换为可通过物理介质传送的电子信号。涉及物理设备:双绞线、同轴电缆,集线器

TCP/IP模型

应用层(对应OSI模型的应用层,会话层,表示层)
传输层(对应OSI模型的传输层)
网络互联层(对应OSI模型的网络层)
网络接口层(对应OSI模型的数据链路层和物理层)

4、如何将Linux主机接入到TCP/IP网络,请描述详细的步骤。(手动指定的方式)

A.使用ifconfig查看网卡配置信息,看主要使用的网卡名称
B.到/etc/sysconfig/network-scripts/目录下查找对应的网卡配置文件
C.主要配置项
DEVICE(设备名称)TYPE(设备类型。端口为Ethernet) ONBOOT(系统启动时读取) BOOTPROTO=static(ip配置协议。当前为静态ip,可设置DHCP,) 
IPADDR(ip地址) NETMASK(子网掩码) GATEWAY(网关地址) DNS1(DNS服务器地址)
D.重启网络服务 service network restart
E.在CLI中输入ping baidu.com测试网络连接

5、为Linux主机配置网络信息的方式有哪些,请描述各个过程。

A.ifconfig eth0 IP/mask
B.ip addr add IP device eth0
C.Linux网络属性配置的tui(text user interface):system-config-network-tui
D.使用setup图形界面设置

6、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;

 在线的主机使用绿色显示;
 不在线的主使用红色显示;
#!/bin/bash
#
ip='172.16.250'

for i in {1..254};do
  ping -c 5 -w 5 $ip.$i &> /dev/null
  result=$?
  if [ $result -eq 0 ];then 
    echo -e "\033[32m $ip.$i \033[0m"
  else 
    echo -e "\033[31m $ip.$i \033[0m"
 fi
done

7、详细描述每个网络接口的配置文件中各个参数的含义和其所对应的值;

网卡配置文件`/etc/sysconfig/network-scripts/ifcfg-网卡名`
DEVICE                  #网卡名
BOOTPROTO               #ip地址分配方式:dhcp、static
HWADDR                  #MAC地址
NM_CONTROLLED=yes       #network manager参数
ONBOOT=                 #网卡是否开机激活
TYPE=                   #网络类型
IPV6INIT=no             #禁止IPV6
USERCTL=no              #是否允许非root用户控制该设备,为no,只能root用户更改
IPADDR=                 #IP ADDR
GATEWAY=                #gateway地址
NETMASK=                #掩码
DNS1=                   #dns1地址
DNS2=                   #dns2地址

8、如何给网络接口配置多个地址,有哪些方式?

A.ifconfig eth0 IP/mask
B.ip addr add IP device eth0
C.Linux网络属性配置的tui(text user interface):system-config-network-tui
D.使用setup图形界面设置

9、常用的网络管理类工具有哪些,并用示例形式描述他们的使用方法。

netstat

netstat -tan   #查看当前系统网络连接情况
        -t tcp协议相关连接
        -u udp协议相关连接
        -l 监听状态的连接
        -a 所有连接
        -n 以数字显示ip和端口

route

route [-nee]
        -n  以数字显示ip和端口
        -ee 显示详细信息
        
route add [-net|-host] [网域或主机] netmask [mask] [gw|dev]
    [root@itop ~]# route add -host 192.168.100.20 netmask 255.255.255.0 dev eth0
        
route del [-net|-host] [网域或主机] netmask [mask] [gw|dev]
    [root@itop ~]# route del -net 169.254.0.0 netmask 255.255.0.0 dev eth0

ss

[root@itop ~]# ss -tnl   #与netstat类似,数据量较大时ss更有优势

ifconfig

ifconfig 设备名称 up|down
        up 启动指定网络设备/网卡。
        down 关闭指定网络设备/网卡。

ifconfig 设备名称 ip地址  #配置设备ip地址

ifconfig 设备名称 mtu <字节数>
        设置网卡的最大传输单元 (bytes)

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,请描述该过程。

[root@itop ~]#mount /dev/cdrom /mnt
[root@itop ~]#vim /etc/yum.repos.d/local.repo
[local]
name=local_repo
baseurl=file:///mnt 
enabled=1 
gpgcheck=0 
[root@itop ~]#yum clean all
[root@itop ~]#yum makecache

12、写一个脚本,完成以下功能

(1) 假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干;
(2) 显示所有以K开头的文件的文件名,并且给其附加一个stop字符串;
(3) 显示所有以S开头的文件的文件名,并且给其附加一个start字符串;
(4) 分别统计S开头和K开头的文件各有多少;

#!/bin/bash
#
declare -i s=0
declare -i k=0
for i in `ls /etc/rc.d/rc3.d | grep "^S"`;do
  echo "$i start"
  let s++
done
for i in `ls /etc/rc.d/rc3.d | grep "^K"`;do
  echo "$i stop"
  let k++
done
echo "K开头的文件有$k个!"
echo "S开头的文件有$s个!"

13、写一个脚本,完成以下功能

(1) 脚本能接受用户名作为参数;
(2) 计算此些用户的ID之和;

#!/bin/bash
#
declare -i idsum=0
if [ $# -le 0 ];then
  echo "Usage:bash .sh user1 user2 ..."
  exit 1
fi
for i in $*;do
  if id $i &> /dev/null;then
    idnum=`grep "$i" /etc/passwd | cut -d: -f3`
    idsum+=$idnum
  else
    echo "$i don't exist "
  fi
done
echo "用户ID之和为$idsum"

14、写一个脚本

(1) 传递一些目录给此脚本;
(2) 逐个显示每个目录的所有一级文件或子目录的内容类型;
(3) 统计一共有多少个目录;且一共显示了多少个文件的内容类型;

#!/bin/bash
declare -i D=0
declare -i F=0
if [ $# -le 0 ];then
  echo "Usage:bash .sh directory|file  ..."
  exit 1
fi
for d in $@
do
  for i in `ls $d`
  do
    if [ ! -e $i ]; then
        echo "$i No such file!"
    continue 
    elif [ -d $i ]; then
        echo "$i is type directory!"
        let D++
    elif [ -f $i ]; then
        echo "$i is type file!"
        let F++
    else
        echo "$i is Other type!"
    fi
  done
done
echo "Directory count is $D"
echo "File count is $F"

15、写一个脚本

通过命令行传递一个参数给脚本,参数为用户名
如果用户的id号大于等于500,则显示此用户为普通用户;

#!/bin/bash
#
if [ $# -lt 1 ];then
  echo "Userage:bash.sh user1 user2 ..."
  exit 1
fi
for i in $*;do
  if id $i &> /dev/null;then
    idnum=`grep "$i" /etc/passwd | cut -d: -f3`
    if [ $idnum -gt 500 ];then
       echo "$i user is ordinary user."
    else
         echo "$i is system user."
    fi
  else
    echo "$i don't exist"
  fi
done

16、写一个脚本

(1) 添加10用户user1-user10;密码同用户名;
(2) 用户不存在时才添加;存在时则跳过;
(3) 最后显示本次共添加了多少用户;

#!/bin/bash
for i in {1..10}; do
    if id user$i &> /dev/null ;then
        echo "user$i exists."
        continue 3
    else
        useradd user$i
        if [ $? -eq 0 ]; then
            echo "user$i" | passwd --stdin user$i &> /dev/null
            echo "Add user$i finished."
        let num++
        fi
    fi
done
echo "Add $num users."

17、写一脚本,用ping命令测试172.16.250.20-172.16.250.100以内有哪些主机在线,将在线的显示出来;

#!/bin/bash
#
ip='172.16.250'

for i in {1..254};do
  ping -c 5 -w 5 $ip.$i &> /dev/null
  result=$?
  if [ $result -eq 0 ];then 
    echo "$ip.$i"
  fi
done

18、打印九九乘法表;

#!/bin/bash
for ((i=1;i<=9;i++)){
    for((j=1;j<=i;j++));do
        echo -e -n "$j*$i=$(($i*$j))\t"
    done
    echo 
}

原创文章,作者:N21_郁蓝,如若转载,请注明出处:http://www.178linux.com/42226

(0)
上一篇 2016-09-01 08:50
下一篇 2016-09-01 08:53

相关推荐

  • 网络管理

    1、集线器、交换机、路由器 2、路由器与交换机的主要区别体现在以下几个方面: 1)工作层次不同:最初的的交换机是工作在OSI/RM开放体系结构的数据链路层,也就是第二层,而路由器一开始就设计工作在OSI模型的网络层。由于交换机工作在OSI的第 二层(数据链路层),所以它的工作原理比较简单,而路由器工作在OSI的第三层(网络层),可得到更多的协议信息,路由器可…

    Linux干货 2016-09-08
  • 马哥教育网络班22期+第4周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。   cp -r /etc/skel /home/tuser1    chmod -R go=— /home/tuser1 2、编辑/etc/group文件,添加组hadoo…

    Linux干货 2016-09-19
  • 马哥教育网络班21期-第八周课程练习

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥:是将广播域划分为多个小的冲突域,但广播域没有变。工作在OSI模型的数据链路层,端口很少;基于软件;可以处理上层事务。集线器:对接收到的信号进行再生整形放大,扩大网络传输距离;属于纯硬件网络底层设备,工作在OSI模型的物理层,不具有交换机的”智能记忆”和”学习”的能力;也不具…

    Linux干货 2016-08-29
  • DNS服务器之配置

    一、安装DNS服务器     DNS服务的安装包为bind,使用yum直接安装即可:     安装完成后,查看DNS服务相关的文件: 二、配置正向区域     1、在配置正向区域之前,先来看下主配置文件中的内容:    &nbsp…

    Linux干货 2015-05-03
  • 源码包编译安装mariaDB

    前言     MySQL是一个关系型数据库管理系统,是最流行的关系型数据库管理系统,由于其体积小、速度快、总体拥有成本低,并且之前是完全开源,所以大受欢迎。但由于后面MySQL卖给了SUN,随后SUN被Oracle收购,虽然也有开源免费版本,但是很多功能都需要另外购买商业版本,导致现在MySQL使用份额逐渐减少。所以M…

    Linux干货 2016-02-28
  • 文本处理和正则表达式练习(0805)

    1、找出ifconfig命令结果中本机的所有IPv4地址     1.1 Centos7     1.2 Centos6 2、查出分区空间使用率的最大百分比值,取各分区利用率的数值 取出各分区数值 取出最大百分比 3、查出用户UID最大值的用户名、 UID及shell类型 4、查出/tmp…

    Linux干货 2016-08-06

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-07 22:50

    博客作业写得非常的好,32个赞,知识点总结的非常好。^-^