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

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

集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。它工作于OSI(开放系统互联参考模型)参考模型第一层,即“物理层”。
网桥将两个相似的网络连接起来,并对网络数据的流通进行管理。它工作于数据链路层,不但能扩展网络的距离或范围,而且可提高网络的性能、可靠性和安全性。
二层交换机工作于OSI模型的第2层(数据链路层),故而称为二层交换机。二层交换技术的发展已经比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。
三层交换机就是具有部分路由器功能的交换机,三层交换机的最重要目的是加快大型局域网内部的数据交换,所具有的路由功能也是为这目的服务的,能够做到一次路由,多次转发。对于数据包转发等规律性的过程由硬件高速实现,而像路由信息更新、路由表维护、路由计算、路由确定等功能,由软件实现。三层交换技术就是二层交换技术+三层转发技术。传统交换技术是在OSI网络标准模型第二层——数据链路层进行操作的,而三层交换技术是在网络模型中的第三层实现了数据包的高速转发,既可实现网络路由功能,又可根据不同网络状况做到最优网络性能。
路由器(Router),是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。路由和交换机之间的主要区别就是交换机发生在OSI参考模型第二层(数据链路层),而路由发生在第三层,即网络层。路由器(Router)又称网关设备(Gateway)是用于连接多个逻辑上分开的网络,所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器的路由功能来完成。因此,路由器具有判断网络地址和选择IP路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网,路由器只接受源站或其他路由器的信息,属网络层的一种互联设备。

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

最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应。IP地址根据网络ID的不同分为5种类型,A类地址、B类地址、C类地址、D类地址和E类地址。 
1. A类IP地址 

一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”, 地址范围从1.0.0.0 到126.0.0.0。可用的A类网络有126个,每个网络能容纳1亿多个主机。 

2. B类IP地址 

一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围从128.0.0.0到191.255.255.255。可用的B类网络有16382个,每个网络能容纳6万多个主机 。 

3. C类IP地址 

一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。范围从192.0.0.0到223.255.255.255。C类网络可达209万余个,每个网络能容纳254个主机。 

4. D类地址用于多点广播(Multicast)。 

D类IP地址第一个字节以“lll0”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。 

5. E类IP地址 

以“llll0”开始,为将来使用保留。 

全零(“0.0.0.0”)地址对应于当前主机。全“1”的IP地址(“255.255.255.255”)是当前子网的广播地址。 

在IP地址3种主要类型里,各保留了3个区域作为私有地址,其地址范围如下: 

A类地址:10.0.0.0~10.255.255.255 B类地址:172.16.0.0~172.31.255.255 C类地址:192.168.0.0~192.168.255.255A类地址的第一组数字为1~126。注意,数字0和 127不作为A类地址,数字127保留给内部回送函数,而数字0则表示该地址是本地宿主机,不能传送。

B类地址的第一组数字为128~191。

C类地址的第一组数字为192~223。1.掩码255.0.0.0:/8(A 类地址默认掩码)2.掩码255.255.0.0:/16(B 类地址默认掩码)3.掩码255.255.255.0:/24(C 类地址默认掩码)
子网掩码又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。

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

物理层     ---利用传输介质为数据链路层提供物理连接/网卡,网线,集线器
数据链路层   ---负责建立和管理节点间的链路/网桥,交换机
网络层     ---该层控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接/路由器
传输层     ---传输层提供会话层和网络层之间的传输服务
会话层     ---向两个实体的表示层提供建立和使用连接的方法
表示层     ---对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定的格式传送给会话层
应用层     ---是计算机用户,以及各种应用程序和网络之间的接口,其功能是直接向用户提供服务,完成用户希望在网络上完成的各种工作

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

    修改网卡配置
    vim /etc/sysconfig/network-scripts/ifcfg-eth0
    根据所在网络的网关配置ip等相关信息    
    BOOTPROTO=static    
    IPADDR=192.168.194.131    
    NETMASK=255.255.255.0    
    ONBOOT=yes    
    GATEWAY=192.168.194.
    重启服务
    service network restart

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

    1)使用命令ifconfig eth0 192.168.194.131  立即生效,但重启系统后失效    
    2)修改网卡配置 vim /etc/sysconfig/network-scripts/ifcfg-eth0 需要重启后生效    
    3)使用图形界面 setup--网络配置  修改后重启服务

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

     #!/bin/bash
     #
     rangip='172.16.250.'
     for i in {1..254};do
     (
     ping -c 1 $rangip$i &> /dev/null;     if [ $? -eq 0 ];then
     echo -e "\e[1;32m $rangip$i \e[0m"
     else
     echo -e "\e[1;31m $rangip$i \e[0m"
     fi
     )&     done
     wait

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

    DEVICE=eth0                             ---网卡设备名称
    TYPE=Ethernet                           ---接口类型
    UUID=f12891d5-b39f-4203-8bdf-373151db701---唯一标识
    ONBOOT=yes                              ---开机激活
    NM_CONTROLLED=yes                       ---是否接受NetworkManager服务脚本来配置此设备
    BOOTPROTO=dhcp                          ---ip获取类型静态为static|none
    HWADDR=00:0C:29:0D:17:94                ---MAC地址
    PEERDNS=yes                             ---不接受DHCP服务器指派的DNS服务器地址
    IPADDR=192.168.194.131                  ---ip地址
    NETMASK=255.255.255.0                   ---子网掩码
    GATEWAY=                                ---网关

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

    1)ifconfig eth0:1 192.168.194.131    
    2)新建eth0:0配置文件
    vim /etc/sysconfig/network-scripts/ifcfg-eth0:0
    DEVICE=eth0:0
    BOOTPROTO=static
    IPADDR=192.168.194.131
    NETMASK=255.255.255.0
    ONBOOT=yes

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

    ping        ping        192.168.194.131 
    traceroute     traceroute  192.168.194.131 
    netstat(ss) -nltp -nap

10、Linux系统软件包管理方法(安装、升级、卸载等操作)有哪些,以及如何管理的。

    rpm包管理器
    安装:rpm -ivh packagefile
    卸载:rpm -e   packagefile
    升级:rpm -Uvh packagefile 
    yum 
    安装:yum install packagefile
    卸载:yum remove  packagefile
    升级:yum update  packagefile

11、如何使用发行版光盘作为yum repository,请描述该过程。

    1)挂载光盘到指定目录
    mount /dev/cdrom /mnt    
    2)创建配置文件
     vim /etc/yum.repos.d/mysoft.repo 
    [soft]               ---指定容器名称
    name=mysoft          ---容器描述
    baseurl=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
    #    ls /etc/rc.d/rc3.d/ |sed -n 's/^K/stop&/p'    ls /etc/rc.d/rc3.d/ |sed -n 's/^S/start&/p'
    knum=`ls /etc/rc.d/rc3.d/ |sed -n 's/^K/stop&/p' | wc -l`
    snum=`ls /etc/rc.d/rc3.d/ |sed -n 's/^S/start&/p'|wc -l`
    echo "$knum 个K开头的文件"
    echo "$snum 个S开头的文件"

13、写一个脚本,完成以下功能
(1) 脚本能接受用户名作为参数;
(2) 计算此些用户的ID之和;

    #!/bin/bash
    #
    [ $# -eq 0 ] && echo "usage:$0 username"
    declare -a uss    declare -a xxx
    sum=0
    uss=(`awk -F: '{print $1}' /etc/passwd | xargs`)
    xxx=($@)    bb() 
    {    for x in ${xxx[@]};do
    if echo ${uss[@]} | grep -w "$x" &>/dev/null;then
    let sum+=`id -u $x`    else
    echo "$x is not user"
    fi
    done
    }
    bb    echo "the user id sum is $sum"

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

    #!/bin/bash
    #
    [ $# -eq 0 ] && echo "usage $0:dirpath"
    
    ddd=($@)
    sum=0
    for i in ${ddd[@]};do
        if [ -d $i ];then
            aa=`cd $i && pwd`
            file $aa/*            let sum+=`file $aa/* |grep 'directory'|wc -l`
    
    
    file $aa/* | awk '{print $2}'  >> /tmp/dir.txt        else
            echo "$i is not a dir"
            exit
        fi
    done
    echo "there is $sum dir"
    echo "there are the type with the content+++++++++++"
    cat /tmp/dir.txt |sort |uniq -c
    rm -rf /tmp/dir.txt

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

    #!/bin/bash
    #
    [ $# -eq 0 ] && echo "usage:$0 username" && exit
    [ $# -gt 1 ] && echo "args must one" && exit
    declare -a uss
    uss=(`awk -F: '{print $1}' /etc/passwd | xargs`)    if echo ${uss[@]} | grep -w "$1" &>/dev/null;then
    [ `id -u $1` -gt 500 ] && echo "$1 is normal user" 
    
    else
    echo "$1 is not a user"
    fi

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

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

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

    #!/bin/bash
    #
    ips="172.16.250."
    for i in {20..100};do
    (ping -c 1 $ips$i &>/dev/null
    [ $? -eq 0 ] && echo "$ips$i is online" )&    done
    wait

18、打印九九乘法表

    for ((i=1;i<10;i++))    do
        for((j=1;j<=$i;j++))            do
                echo -e -n "$j*$i=`expr $(($i*$j))`\t"
            done
        echo
    done

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

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-19 17:23

    12题是不是不对啊,脚本在调整一下,优雅一点