N22-第八周作业

第八周

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

     集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。它工作于OSI(开放系统互联参考模型)参考模型第一层,即“物理层”。

     网桥将两个相似的网络连接起来,并对网络数据的流通进行管理。它工作于数据链路层,不但能扩展网络的距离或范围,而且可提高网络的性能、可靠性和安全性。

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

     三层交换机就是具有部分路由器功能的交换机,三层交换机的最重要目的是加快大型局域网内部的数据交换,所具有的路由功能也是为这目的服务的,能够做到一次路由,多次转发。对于数据包转发等规律性的过程由硬件高速实现,而像路由信息更新、路由表维护、路由计算、路由确定等功能,由软件实现。三层交换技术就是二层交换技术+三层转发技术。传统交换技术是在OSI网络标准模型第二层——数据链路层进行操作的,而三层交换技术是在网络模型中的第三层实现了数据包的高速转发,既可实现网络路由功能,又可根据不同网络状况做到最优网络性能。

     路由器(Router),是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。路由和交换机之间的主要区别就是交换机发生在OSI参考模型第二层(数据链路层),而路由发生在第三层,即网络层。路由器(Router)又称网关设备(Gateway)是用于连接多个逻辑上分开的网络,所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器的路由功能来完成。因此,路由器具有判断网络地址和选择IP路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网,路由器只接受源站或其他路由器的信息,属网络层的一种互联设备。

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

A类IP地址 地址范围1.0.0.0到127.255.255.255,默认掩码255.0.0.0

B类IP地址地址范围128.0.0.0-191.255.255.255,默认掩码255.255.0.0

C类IP地址范围192.0.0.0-223.255.255.255,默认掩码255.255.255.0

D类是组播地址,范围从224.0.0.0到239.255.255.255,

E类作为多播和保留使用

以下列出留用的内部私有地址

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.255

子网掩码是网络位全是1的表现形式,也可以使用‘/+网络位’来表示。其作用是表现IP地址的网络位数。

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

    计算机网络模型:

  472309f79052982279f13de4d5ca7bcb0b46d4d2.jpg

TCP/IP模型

430c46359ac9c382d3846b37c218c977.png

    

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

# vim /etc/sysconfig/network-scripts/ifcfg-eth0

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.1.4(这里指定需要接入网络的静态ip地址)

NETMASK=255.255.255.0(这里指定子网掩码)

GATEWAY=192.168.0.1(这里指定网关)

# vim /etc/resolv.conf

nameserver 202.106.0.20 

nameserver 8.8.8.8

# service network restart

以上指定DNS可以添加三个DNS。

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

对于centos6

setup ->networkconfigure

对于centos7

nmtui ->networkconfigure

公用:

编辑/etc/sysconfig/network-scripts/ifcfg-eth0

ifconfig eth0 192.168.1.1/24 up

ip addr add 192.168.1.1/24 dev eth0 

这两种方式是临时生效开机或者重启网络服务失效

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

     在线的主机使用绿色显示;

     不在线的主使用红色显示;

#!/bin/bash

#

for i in `seq 1 1 254`;do

        if ping -c 1 -w 1 172.16.250.$i&>/dev/null;then

        echo -e "\033[32;1m 172.16.250.$i is up! \033[0m"

        else

        echo -e "\033[31;1m 172.16.250.$i is down! \033[0m"

        fi

done

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

配置文件对应的值

DEVICE=eth0 #设备名称

HWADDR=08:00:27:8E:A3:28  #设备对应的mac地址

TYPE=Ethernet  #网络类型

UUID=523c875f-5292-4dd5-9dec-03dd3bfa8c42 # 设备所对应的唯一识别码

ONBOOT=yes #是否开机自启动

NM_CONTROLLED=yes # 是否使用netmanger 管理

BOOTPROTO=dhcp # 获取IP地址方式  还可以有值是static 则是静态获取IP地址

USERCTL=no # 

PEERDNS=yes # 是否使用DHCP获取的DNS地址

IPV6INIT=no # 是否启动IPv6地址

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

# ifconfig eth0:0 192.168.1.22/24 up

# ip addr add 192.168.1.22/24 dev eth0

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

ifcfg家族

ifconfig:

ifconfig:查看网卡接口状态

-a:查看全部网口信息状态

ifconfig eth0 192.168.1.1/24 up

ifconfig eth0:0 192.168.1.1/24 up

route

rounte -n

route add -net 192.168.1.0/24 192.168.2.1

netstat

netstat -tunlp

route2家族

ip

link:查看网卡接口状态

set eth0 up:配置IP信息

addr:查看网络配置详细信息

route:查看路由表信息

ss

ss -tunlp

nm家族

nmtui:图形界面配置网络

nmcli:文本界面下配置网络

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

# rpm -ivh RPMPACK

# yum install RPMPACK

# rpm -Uvh RPMPACK

# rpm -Fvh RPMPACK

# yum update RPMPACK

# rpm -ql

# rpm -qa

# rpm -qf

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

1、把光盘镜像利用文件传输软件上传到服务器上面

2、挂载本地光盘镜像 mount /dev/cdrom /cdrom

3、# vim /etc/yum.repo.d/cdrom.repo

[cdrom]

name=cdrom

baseurl=file:///cdrom

enabled=1

gpgcheck=0

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

   (1) 假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干;

   (2) 显示所有以K开头的文件的文件名,并且给其附加一个stop字符串;

   (3) 显示所有以S开头的文件的文件名,并且给其附加一个start字符串;

   (4) 分别统计S开头和K开头的文件各有多少;

#!/bin/bash

#

declare -i Ssum=0

declare -i Esum=0

Start=`ls /etc/rc.d/rc3.d|awk '/^S/{print $0}'`

for i in $Start;do

mv /etc/rc.d/rc3.d/$i /etc/rc.d/rc3.d/${i}start && echo "modify already" && let Ssum=$Ssum+1

done

End=`ls /etc/rc.d/rc3.d|awk '/^K/{print $0}'`

for j in $End;do

mv /etc/rc.d/rc3.d/$j /etc/rc.d/rc3.d/${j}stop && echo "modify already" && let Esum=$Esum+1

done

echo -e "The number of S begin is $Ssum\nThe number of K begin is $Esum"

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

   (1) 脚本能接受用户名作为参数;

   (2) 计算此些用户的ID之和;

    #!/bin/bash

#

if [ $# -gt 0 ];then

for i in $*;do

if id $i&>/dev/null;then

Uid=`id -u $i&>/dev/null`

let sum=$sum+$Uid

else

echo "$i not exit"

continue

fi

done

else

echo "please provide least one user" && exit 1

fi

if [ -z $sum ];then

echo "no sum"

else

echo "The sum of usersid is $sum"

fi

14、写一个脚本

   (1) 传递一些目录给此脚本;

   (2) 逐个显示每个目录的所有一级文件或子目录的内容类型;

   (3) 统计一共有多少个目录;且一共显示了多少个文件的内容类型;

#!/bin/bash

#

declare -i sum=0

declare -i Fsum=0

if [ $# -lt 1 ];then

echo "please provide least one dir" && exit 1

else

for i in $*;do

if [ -d $i ];then

echo "$i" && let sum=$sum+1

for j in `ls $i`;do

type=`stat $i/$j|sed -n '2p'|awk '{print $5}'` && let Fsum=$Fsum+1

echo "—–$j is $type"

done

else

echo "$i is not a dir"

continue

fi

done

fi

echo "The number of dir is $sum"

echo "The number of common file is $Fsum"

15、写一个脚本

  通过命令行传递一个参数给脚本,参数为用户名

  如果用户的id号大于等于500,则显示此用户为普通用户;

#!/bin/bash

#

if [ $# -ne 1 ];then

echo "privide a username"

exit 1

else

if id $1&>/dev/null;then

[ `id -u $1` -gt 500 ] && echo "common user" || echo "system or admin user"

else echo "no such user"

fi

fi

16、写一个脚本

   (1) 添加10用户user1-user10;密码同用户名;

   (2) 用户不存在时才添加;存在时则跳过;

   (3) 最后显示本次共添加了多少用户;

#!/bin/bash

        #

        declare -i SUM=0

        for i in `seq 1 1 21`;do

                        id user$i&>/dev/null && echo "user exit" && continue

                        useradd user$i&>/dev/null && echo "user already add" && let SUM=$SUM+1

        done

        echo "The sum is $SUM"

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

#!/bin/bash

#

for i in `seq 20 1 100`;do

if ping -c 1 -w 1 172.16.250.$i&>/dev/null;then

echo "172.16.250.$i exit"

else

echo "172.16.250.$i off"

continue

fi

done

18、打印九九乘法表;

#!/bin/bash

#

for i in `seq 1 1 9`;do

for j in `seq 1 1 $i`;do

echo -n -e "$j×$i=$[$j*$i]\t"

done

echo

done

原创文章,作者:N22-北京-喜欢就好,如若转载,请注明出处:http://www.178linux.com/50073

评论列表(1条)

  • luoweiro
    luoweiro 2016-10-11 23:33

    通过很形象的经理的例子来类比ISO和TCP/IP模型,这部分是基本技能,一定要掌握熟练。