本周作业内容:

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

网桥是早期的两端口二层网络设备,用来连接不同网段。网桥的两个端口分别有一条独立的交换信道,不是共享一条背板总线,可隔离冲突域。

与交换机一样可以隔离冲突域,可只有2个端口,交换机可有多个比集线器接口数少,无路由功能

集线器

是指将多条以太网双绞线或光纤集合连接在同一段物理介质下的设备。集线器是运作在OSI模型中的物理层。它可以视作多端口的中继器,若它侦测到碰撞,它会提交阻塞信号。无路由功能、不可隔离冲突域、较早时间的局域网连接产品

二层交换机

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

上三个设备工作在物理层

三层交换机就是具有部分路由器功能的交换机,三层交换机的最重要目的是加快大型局域网内部的数据交换,所具有的路由功能也

是为这目的服务的,能够做到一次路由,多次转发。

三层交换技术是在网络模型中的第三层实现了数据包的高速转发,既可实现网络路由功能,又可根据不同网络状况做到最优网络性能。

三层交换机在小企业可以做成无路由器的直接选购设备;一般用于企业的骨干网络,负责处理各二层交换机的快速转发,且带有路由功能。

路由器,是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。

主要用于外网接入的第一或第二设备,用于连接不同网络的主要设备。

与三层交换机类似,更多于路由信息更新、路由表维护、路由计算、路由确定等功能。

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

国际规定:把所有的IP地址划分为 A,B,C,D,E。

A类地址:范围从0~127,0是保留的并且表示所有IP地址,而127也是保留的地址,并且是用于测试环回用的。因此,A类地址的范

围其实是从1~126之间。

B类地址:范围从128-191

C类地址:范围从192-223

D类地址:范围从224-239

D类基本为广播地址

E类地址:范围从240-254

子网掩码的表示形式有2种

10.0.0.1/8

10.0.0.1 255.0.0.0

/8等于2进制11111111转换成10进制则为255

子网掩码就是用来指定某个IP地址的网络地址的,就是用来划分子网的。

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

应用层:TCP/IP应用层:

文件传输,电子邮件,文件服务,虚拟终端

TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet

表示层 :TCP/IP应用层

数据格式化,代码转换,数据加密

没有协议

会话层 :TCP/IP应用层

解除或建立与别的接点的联系

没有协议

传输层 :TCP/IP传输层

提供端对端的接口

TCP,UDP

设备:四层交换机

网络层 :TCP/IP网络层

为数据包选择路由

IP,ICMP,RIP,OSPF,BGP,IGMP

设备:路由器

数据链路层 :TCP/IP 物理层

传输有地址的帧以及错误检测功能

SLIP,CSLIP,PPP,ARP,RARP,MTU

设备:网卡、网桥、交换机

物理层 :TCP/IP 物理层

以二进制数据形式在物理媒体上传输数据

ISO2110,IEEE802。IEEE802.2

设备:集线器、中继器、调制解调器、网线、双绞线、同轴电缆

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

流程概述:

->首先物理层必须有网卡接口,将局域网的网线连接至网卡接口

->配置ip地址与掩码(这是内网的基础)

->配置网关信息(关系到跨网段)

->配置DNS信息(连接外网Internet的必要手段除非路由器已配置)

linux配置IP地址的几个方法

⑴GUI画面配置,只要找到网络配置,就能手动配置。

⑵ifconfig

ifconfig eth1:1 1.1.1.1 netmask 255.0.0.0

ifconfig (设备名) IP地址 netmask 子网掩码 (及时生效)

⑶修改/etc/sysconfig/network-scripts/ifcfg-eth0

修改接口配置文件,修改后需要重启service network restart

CentOS7则用systemctl restart network重启

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

上题写明白了配置IP的信息,这题就写配置默认路由与DNS吧

默认路由:

route add default gw 网关地址

route add default gw 1.1.1.1 #设置默认网关为1.1.1.1

添加路由:

route add -net 目标网段 netmask 掩码 gw IP(也可以替换成dev ethX)

route add -net 11.1.1.0 netmask 255.255.255.0 gw 172.16.0.1

add 增加路由

del 删除路由

-net 设置到某个网段的路由

-host 设置到某台主机的路由

gw 出口网关 IP地址

dev 出口网关 物理设备名

当然也可以在4题的ip设备上添加一条:

getaway 将设置网关(网关即路由)

配置DNS:

配置文件在/etc/resolv.conf

# DNS1=xxx.xxx.xxx.xxx

# DNS2=xxx.xxx.xxx.xxx

配置方法在有颜色,把#去掉就可以填写自己的DNS地址

操作需要重启network服务

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

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

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

echo -e "\033[32m 绿色字 \033[0m"
echo -e "\033[31m 红色字 \033[0m"
#!/bin/bash
i1=172.16.250
for (( i=1; i<255 ; ++i))
doping -c 1 $i1.$i &>/dev/nullcase $? in0)echo "$i1.$i" >> online.txt;;1)echo "$i1.$i" >> dealline.txtesac
done
i2=$(cat online.txt)
echo This is Online
echo -e "\033[32m$i2 \033[0m "
echo This is deline
i3=$(cat dealline.txt)
echo -e "\033[31m$i3 \033[0m "

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

TYPE=Ethernet #网卡类型

DEVICE=eth0 #网卡接口名称

ONBOOT=yes #系统启动时是否自动加载

BOOTPROTO=static #启用地址协议 --static:静态协议 --bootp协议 --dhcp协议

IPADDR=1.1.1.1 #网卡IP地址

NETMASK=255.0.0.0 #网卡网络地址

GATEWAY=1.1.1.1 #网卡网关地址

DNS1=202.96.128.86 #网卡DNS地址

HWADDR=00:0C:29:13:5D:74 #网卡设备MAC地址

BROADCAST=1.1.1.255 #网卡广播地址

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

⑴使用ifconfig

ifconfig eth0:# 在网卡0,添加虚拟接口  IP地址 netmask 掩码

⑵使用ip命令

ip addr add  1.1.1.3/16 dev eth1

ip addr (添加,删除,修改) ip地址/掩码 dev 设备号

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

arp:命令用于操作主机的arp缓冲区,它可以显示arp缓冲区中的所有条目、删除指定的条目或者添加静态的ip地址与MAC地址对应关系

常用直接arp

[root@localhost bin]# arp
Address                  HWtype  HWaddress           Flags Mask            Iface
172.16.249.4                     (incomplete)                              eth1
172.16.249.6                     (incomplete)                              eth1
172.16.249.2             ether   00:50:56:c0:00:08   C                     eth
#Address :IP地址
#HWtype  :硬件类型
#HWaddress :Mac地址
#Flags Mask:记录标志,"C"表示arp高速缓存中的条目,"M"表示静态的arp条目
#Iface :来自哪张网卡识别。
arping:通过ping命令检查设备上的硬件地址
arping  -I eth1 -s 172.16.249.1 172.16.249.2
-I 选择硬件设备
-s 源地址 后接目标地址
Unicast reply from 172.16.249.2 [00:50:56:C0:00:08]  0.950ms

ping命令:用来测试主机之间网络的连通性

用的最多的命令之一

-c<完成次数>
-f极限坚持
-s数据包大小(字节计算)
-t设置TTL值
ping [选项] 地址(可以是IP或者网址)
ping -c 1 -s 11111 172.16.249.2
向172.16.249.2此IP发送11111字节的包1次。
PING 172.16.249.2 (172.16.249.2) 11111(11139) bytes of data.
11119 bytes from 172.16.249.2: icmp_seq=1 ttl=64 time=1.68 ms
--- 172.16.249.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 2ms
rtt min/avg/max/mdev = 1.686/1.686/1.686/0.000 ms

nslookup

nslookup命令是常用域名查询工具,就是查DNS信息用的命令。

nslookup IP或者域名

由于还未安装DNS服务,估演示不了

网上截取一份

[root@localhost ~]# nslookup www.linuxde.net
解析www.linuxde.net 站点
Server: 202.96.104.15
Address: 202.96.104.15#53
Non-authoritative answer:
www.linuxde.net canonical
name = host.1.linuxde.net.
Name: host.1.linuxde.net
Address: 100.42.212.8

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

安装模式:rpm  {-i |--install} PACKAGE

升级模式:rpm  {-U|--upgrade}  PACKAGE

卸载(删除)模式:rpm {-e|--erase} PACKAGE

查询模式:rpm  {-q |--query }  PACKAGE

验证模式:rpm  {-V |--verify} PACKAGE

-a:查询所安装的软件包

--nodeps:不验证依赖的软件包。

--force:同--replacepkgs,--replacefiles一样,就算要安装的软件版本已经安装在系统上,或者是系统上现在的版本比要安装的版本高,依然强制覆盖安装。

有依赖关系包的会报错,error: Faileddependencies

->安装:
[root@localhost Packages]# rpm -ivh bind-9.8.2-0.37.rc1.el6.x86_64.rpm
warning: bind-9.8.2-0.37.rc1.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]1:bind                   ########################################### [100%]
-i :安装
-v :显示详细
-h :用#显示完成的进度
[root@localhost Packages]# rpm -Uvh bind-9.8.2-0.37.rc1.el6.x86_64.rpm
warning: bind-9.8.2-0.37.rc1.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]package bind-32:9.8.2-0.37.rc1.el6.x86_64 is already installed
-Uvh,如果有老版本,则升级为新版本,否则安装。
-F,--freshen纯升级,如果没有老版本,则不升级。
[root@localhost Packages]# rpm -e bind
-e :删除软件包
#删除的话,只需要填写包名,不需要加后缀版本号其他内容

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

流程
->放入CD
->检测是否安装yum工具(默认已安装)
->重点来了:
->cd /etc/yum.repos.d/
->可以cp其他repo配置修改
->也可以自行创建
name 是仓库的描述也可以说是名字
baseurl 仓库的位置
enabled 是否启用这个仓库,1为起用,0为禁用
gpgcheck 是否检查GPG签名(用来验证要安装的包是不是REDHAT官方的)
GPGKEY 的存放地址我们需要用下面的命令导入这个签名。才能使用这项功能
name=CentOS-$releasever - Media
baseurl=file:///media/RHEL-6.7\ Server.x86_64/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
->最后一步
->更新本地 YUM 缓存
yum clean all
yum makecache

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/ |grep "^[k,K]"|awk -v i=stop '{print i$0}'
ls  /etc/rc.d/rc3.d/ |grep "^[s,S]"|awk -v i=start '{print i$0}'
echo "The K start have $(ls  /etc/rc.d/rc3.d/ |grep "^[k,K]"|awk 'END{print NR}' )file"
echo "The S start have $(ls  /etc/rc.d/rc3.d/ |grep "^[s,S]"|awk 'END{print NR}' )file"

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

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

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

#!/bin/bash
read -p "Please input UserName:" name
i=$(cat /etc/passwd |grep "^$name")
id1=$(grep "^$name" /etc/passwd|cut -d: -f 3  )
if grep -q "^$name" /etc/passwd ; thenif [ $id1 -gt 500 ];thenecho "$name is ordinary user."elseecho "$name is super user."fi
elseecho "error input"
fi

14、写一个脚本

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

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

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

#!/bin/bash
read -p "Please input File List :" file1
if [ -d "$file1" ]; thenecho "This line file:"find $file1 -type lecho "This file list:"find $file1 -type decho "This document"find $file1 -type f
else
echo "error input"
fi
f1=$(find $file1 -type l |wc -l)
f2=$(find $file1 -type d |wc -l)
f3=$(find $file1 -type f |wc -l)
echo -e "Have \nline file:$f1\nfile list:$f2\ndocument:$f3"

15、写一个脚本

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

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

#!/bin/bash
read -p "Please input UserName:" name
i=$(cat /etc/passwd |grep "$name")
id1=$(grep "^$name")
if [ $id1 -gt 500 ];then
echo "$name is ordinary user."
else
echo "$name is super user."
fi

16、写一个脚本

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

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

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

#!/bin/bash
u=user
unb=0
for((i=1;i<11;i++))
do
useradd $u$i &>/dev/nullif [ $? = 0 ];then
echo "$u$i" |passwd --stdin $u$i &>/dev/null((unb=unb+1))fi
done
echo "creat $unb user"

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

#!/bin/bash
ip1=172.16.250
echo "This Online IP address:"
for ((i=20;i<101;i++))
doping -c 1 $ip1.$i &>/dev/nullif [ $? = 0 ];thenecho "$ip1.$i"fi
done
echo "END"

18、打印九九乘法表;

#!/bin/bash
typeset -i i=1
typeset -i j=1
方法1:
until [ $j -gt 9 ]; dountil [ $i -gt $j ];do#echo -ne  "${i}X${j}=$[$i*$j]\t"printf "${i}X${j}=$(($i*$j))\t"((i++))done
方法2:
for j in {1..9};dofor ((i=1; i<=j; ++i));doprintf "${i}X${j}=$(($i*$j))\t"doneecho
done

转载于:https://blog.51cto.com/rexchow/1862234

linux学习作业-第八周相关推荐

  1. linux学习作业-第七周

    本周作业内容: 1.创建一个10G分区,并格式为ext4文件系统: 首先需要在虚拟机添加一块硬盘,硬盘大小超过10G,例如/dev/sdb. 使用fdisk创建 fdisk /dev/sdb #进入f ...

  2. Linux学习笔记第八周七次课(4月3日)

    复习(今日无答疑,笔记可以不写) 八.Linux shell基础知识 8.1 shell介绍 每个用户都有自己的shell: Bourne人名,为了纪念他: 搜索zsh命令,#yum list | g ...

  3. XJTU_ 西安交通大学2020大学计算机作业-第八周

    XJTU_ 西安交通大学2020大学计算机作业-第八周 XJTU_ 西安交通大学2020大学计算机作业-第八周 注:所有题所有用例均已通过. 文章没上传到github,反正没人点星星:https:// ...

  4. Cty的Linux学习笔记(八)

    Linux学习笔记--第八篇 命令(command): groupadd: 新增组的命令 格式:groupadd [-g GID] groupname 不加-g,按照系统默认的gid创建组,gid也是 ...

  5. Linux 学习笔记(八):时间片轮转调度

    看这篇文章前可以先了解一下时间片:Linux 学习笔记(七):时间片_Amentos的博客-CSDN博客 一.基本概念 时间片轮转调度算法(Round-Robin,RR)主要用于分时操作系统中的进程调 ...

  6. Linux学习之CentOS(八)--Linux系统的分区概念

    不知不觉已经记录了8篇Linux学习随笔了,虽然还是漂浮在Linux系统的表面,还有很多很多没有学,但是坚持学下去.坚持写下去就是成功的!!!! 在讲Linux系统分区之前,首先得介绍一下硬盘分区的知 ...

  7. Linux内核分析——第八周学习笔记

    实验作业:进程调度时机跟踪分析进程调度与进程切换的过程 20135313吴子怡.北京电子科技学院 [第一部分]理解Linux系统中进程调度的时机 1.Linux的调度程序是一个叫schedule()的 ...

  8. Linux内核分析作业第八周

    进程的切换和系统的一般执行过程 一.进程调度的时机 中断处理过程(包括时钟中断.I/O中断.系统调用和异常)中,直接调用schedule(),或者返回用户态时根据need_resched标记调用sch ...

  9. LINUX内核分析第八周总结:进程的切换和系统的一般执行过程

    一.进程调度与进程切换 1.不同的进程有不同的调度需求 第一种分类: I/O密集型(I/O-bound) 频繁的进行I/O 通常会花费很多时间等待I/O操作的完成 CPU密集型(CPU-bound) ...

  10. 软件工程学习进度第八周暨暑期学习进度之第八周汇总

    本周的主要工作是win10+TensorFlow环境下的FCN全卷积神经网络的实现 FCN对图像进行像素级的分类,从而解决了语义级别的图像分割问题.与经典的CNN在卷积层使用全连接层得到固定长度的特征 ...

最新文章

  1. 基于TensorRT优化的Machine Translation
  2. mysql5.6启动占用内存很大的解决方法
  3. PHP做下载文件的方法
  4. 深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件(转)
  5. 计算机安全专家建议:尽快为电脑升级打补丁
  6. python日期迭代_计算敏捷项目中迭代时间安排(Python3版)
  7. python比flask更好的框架_(入门篇)Python框架之FastAPI——一个比Flask和Tornado更高性能的API 框架...
  8. 一个项目的简单开发流程——需求、数据库、编码
  9. 微軟將在廉價筆記本電腦上測試Windows
  10. python中替换字符串中子串的函数为_python替换字符串中的子串图文步骤
  11. Hive 窗口函数lead、lag
  12. Android实现AirPlay,DriodAirPlay开发
  13. 关于数学建模(或科研论文)的画图学习建议
  14. 谷歌官方Android镜像下载(中文站)
  15. 数十位院士/大咖亮相,近千人到场交流,物联网人年终必聚的产业盛会来了!...
  16. 图形B=B≌B凸显中学数学有一系列重大错误(更新稿) ——合同图形概念让5000年无人能识的自然数一下子浮出水面
  17. 动态规划——计算二项式系数问题
  18. CNAS仪器校准人员需要遵守哪些规范?
  19. 16含参数的极限问题
  20. Android项目解耦--路由框架ARouter的使用

热门文章

  1. Silverlight DataGrid 在显示数据, 如果遇到全角的符号, 好像会出错. 待测试.
  2. 利用DELL的OMSA监控服务器的温度
  3. UVA 10651 - Pebble Solitaire
  4. .net框架笔记(四)
  5. learning scala pattern matching 03
  6. mysql数据库运行性能检查脚本
  7. 20180602_Eclipse配置Maven的本地仓库和阿里云镜像
  8. ZeroMQ API(一) 总序
  9. 朴素贝叶斯算法,贝叶斯分类算法,贝叶斯定理原理
  10. Php 中如何将内容写入log日志中