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

1)集线器:

    集线器(Hub)是指将多条以太网双绞线或光纤集合连接在同一段物理介质下的设备,主要功能是对接收到的信号进行放大,以扩大网络的传输距离,工作于OSI(开放系统互联参考模型)参考模型第一层,即“物理层”。

    集线器是一个多端口的中继器,只负责节点间数据的传递和信号的放大处理,检测冲突但不负责解决阻塞问题,所有端口处于同一个冲突域下。与二层设备如二层交换机区别在于不像交换机一样每个端口分隔冲突域,不具备二层交换机的端口学习能力。使用场景多用于比较简单的局域网内,用于交换机下局域网扩展。


2)网桥:

    网桥(Bridge)是早期的两端口二层网络设备,用来连接不同网段。网桥的两个端口分别有一条独立的交换信道,不是共享一条背板总线,可隔离冲突域。网桥比集线器(Hub)性能更好,集线器上各端口都是共享同一条背板总线的。后来,网桥被具有更多端口、同时也可隔离冲突域的交换机(Switch)所取代。

    网桥工作在OSI模型第二层数据链路层,端口分隔冲突域,用于比较小型的局域网扩展。


3)二层交换机

    二层交换机工作于OSI模型第二层数据链路层,故而称为二层交换机。二层交换技术的发展已经比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。和网桥的区别在于支持更多端口,转发效率要比网桥快很多;和三层交换机的区别在于三层交换机具有路由的功能,工作在三层网络层。


4)三层交换机

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

    三层交换机工作在OSI模型第三层网络层,处于同一个局域网中的各个子网的互联以及局域网中VLAN间的路由,用三层交换机来代替路由器,而只有局域网与公网互联之间要实现跨地域的网络访问时,才通过专业路由器。三层交换机端口多于路由器。但是三层交换机只有快速以太口和吉比特以太口,不如路由器接口种类丰富。


5)路由器

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

    路由工作在OSI第三层即网络层。这一区别决定了路由和交换机在移动信息的过程中需使用不同的控制信息,所以说两者实现各自功能的方式是不同的。路由器每个接口ip都处于不同网段,端口不单分隔冲突域,也分隔广播域



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

  A类

    0000 0000 - 0111 1111:1-127

    网络数126,127保留回环地址

    每个网络中的主机数:2^24-2

    默认子网掩码:255.0.0.0

    私网地址:10.0.0.0/8


  B类

    1000 0000 - 1011 1111:128-191

    网络数:2^14

    每个网络中的主机数:2^16-2

    默认子网掩码:255.255.0.0

    私网地址:172.16.0.0/16-172.31.0.0/16


  C类

    1100 0000 - 1101 1111 :192-223

    网络数:2^21

    每个网络中的主机数:2^8-2

    默认子网掩码:255.255.255.0

    私网地址:192.168.0.0/24-192.168.255.0/24

    用于局域网使用    


  D类:组播

    1110 0000 - 1110 1111:224-239

    

  E类

    240-255(用于科研)


  子网掩码:IP地址和网络地址进行与运算得出

    用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。

    子网掩码的长度是32位,也可以使用十进制的形式。例如,为二进制形式的子网掩码:1111 1111.1111 1111.1111 1111.0000 0000,采用十进制的形式为:255.255.255.0



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

七层:链路层,物理层,网络层,传输层,会话层,表示层,应用层    

      物理层:提供为建立、维护和拆除物理链路所需要的机械的、电气的、功能的和规程的特性;有关的物理链路上传输非结构的位流以及故障检测指示。

       物理层的媒体包括架空明线,平衡电缆,光纤,无线信道等

       数据链路层:在网络层实体间提供数据发送和接收的功能和过程;提供数据链路的流控

        二层交换机,集线器,网桥

       网络层:控制分组传送系统的操作、路由选择、拥塞控制、网络互连等功能,它的作用是将具体的物理传送对高层透明。

        路由器,三层交换机

       传输层:提供建立、维护和拆除传送连接的功能;选择网络层提供最合适的服务;在系统之间提供可靠的透明的数据传送,提供端到端的错误恢复和流量控制。

       会话层:提供进程之间建立、维护和结束会话连接的功能;提供交互会话的管理功能控制,即一路交互、两路交替和两路同时会话模式。

       表示层:代表应用进程协商数据表示;完成数据转换、格式化和文本压缩。

       应用层:提供各种用户服务

TCP/IP模型 

     四层:网络接口层,网络层,传输层,应用层

    网络接口层,包括用于协作IP数据在已有网络介质上传输的协议。实际上TCP/IP标准并不定义与ISO数据链路层和物理层相对应的功能。相反,它定义像地址解析协议ARP这样的协议,提供TCP/IP协议的数据结构和实际物理硬件之间的接口。

    网络层:网络层解决的是计算机到计算机间的通信问题,它包括三个方面的功能:

    ·处理来自传输层的分组发送请求,收到请求后将分组装入IP数据报,填充报头,选择路径,然后将数据报发往适当的网络接口。

    ·处理数据报文。

    ·处理网络控制报文协议,即处理路径、流量控制、阻塞等。

    对应于OSI七层模型的网络层,本层包含IP协议,RIP协议,负责数据的包装、寻址和路由。同时还包含网间控制报文协议ICMP,用来提供网络诊断信息。

    传输层

    传输层解决的是计算机程序到计算机程序之间的通信问题。对应于OSI七层参考模型的传输层,它提供两种端到端的通信服务。其中TCP协议提供可靠的数据流运输服务,UDP协议提供不可靠的用户数据报服务。

    应用层

    对应于OSI七层参考模型的应用层和表示层,因特网的应用层协议包括Finger/whois/ftp/gopher/http/telnet/smtp/IRC/nntp等


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

 

    ·物理连接

     开启网络服务

    ·配置IP地址,子网掩码,设置网关,DNS服务

    ·然后重启网络服务,加载配置文件

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

    ONBOOT=yes #开机启动

    BOOTPROTO=static/dhcp #设置静态IP或者自动分配

    IPADDR=192.168.1.1

    NETMASK=255.255.255.0

    GATEWAY=192.168.1.254

    service network restart

    再配置DNS域名解析:

    vim /etc/resolv.conf

    nameserver 8.8.8.8

    nameserver 114.114.114.114最多配置3个DNS


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

    第一种)使用命令:ifconfig eth0 192.168.1.1 netmask 255.255.255.0

        临时生效,关机后失效

    第二种 )修改网卡配置文件:vim /etc/sysconfig/network-scripts/ifcfg-eth0 

        然后重启网络服务,永久生效

    第三种)使用图形界面 setup--网络配置,选择相应的选项即可,

        然后重启网络服务,也是永久生效


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

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

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

#!/bin/bash

for i in $(seq 1 254)

do

        ServerIp=172.16.250.$i

        ping -c 1 -w 1 $ServerIp &> /dev/null

        if [ $? -eq 0 ]; then

                echo -e "\033[0;32;1m $ServerIp is online. \033[0m"

        else

                echo -e "\033[0;31;1m $ServerIp is offline. \033[0m"

        fi

done


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

DEVICE=eth0  #网卡设备名称

HWADDR=00:0C:29:D7:35:CB  #网卡物理地址即mac地址

TYPE=Ethernet   #接口类型    以太网 | Bridge 桥接

UUID=35fd902f-4a70-46af-8fc4-edd586fc06c0 #该设备的唯一标识符

ONBOOT=yes    #系统引导时是否自动激活此设备 :yes| no

NM_CONTROLLED=yes    #NM : network manager 此网卡是否接受NM控制

BOOTPROTO=dhcp   #激活此设备时是否使用地址配置协议  选项:dhcp(自动获取)|static(手动配置)|  none(不常用)|bootp(不常用)

IPADDR=配置ip地址

NETMASK=配置子网掩码

GATEWAY=配置网关

DNS1=配置第一个DNS服务器

DNS2=配置第二个DNS服务器


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

配置网络别名:

配置网络别名:

        ifconfig eth0:1  192.168.1.1

        然后新建  eth0:1配置文件

        DEVICE=eth0:1

         BOOTPROTO=static

        IPADDR=192.168.1.1

        NETMASK=255.255.255.0

        GATEWAY=192.168.1.254

        ONBOOT=yes


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

  1)ping

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

  常用选项:

    -c :设置完成要求回应的次数

    -w :waitsecs 在 waitsecs 秒后停止 ping 程序的执行。当试图检测不可达主机时此选项很有用。

    -q :静态输出。在程序启动和结束时只显示摘要行。

    -s :packetsize 指定要发送数据的字节量

  示例:

    ping 192.168.100.1

    ping -w 1 -c 1 192.168.100.1


  2)tracepath,traceroute

    tracepath命令用来追踪连接到目标地址的所经过的路由

    traceroute命令用于追踪数据包在网络上的传输时的全部路径

    常用选项:

      -p<通信端口>  设置UDP传输协议的通信端口

      -w<超时秒数>   设置等待远端主机回报的时间

      -q<nqueries>   设置每一跳的探测包数量。默认是3 

    示例:

      traceroute -w 3 baidu.com

      tracepath www.baidu.com


  3)netstat,ss

  netstat命令用来查看网络状态

  ss命令也是用来查看网络转态,在连接数比较多的时候比netstat命令性能好,参数用法和netstat基本一致

  显示网络连接

    netstat [--tcp|-t] [--udp|-u] [-n] [-a] 

      -t tcp协议

      -u udp协议

      -w raw socket相关

      -l 处于监听状态

      -a 所有状态

      -n 以数字显示ip和端口

      -e 扩展格式

      -p 显示相关进程的pid

  显示路由表

    netstat [-r] [-n]

     -r 显示内核路由表

      -n 数字格式

  显示接口统计数据

    netstat [-i|-I] [iface] [-a]

      netstat -i

      netstat -I iface

  示例:

    netstat -ant

    netstat -antlp

    netstat -ntlp


  4)route

  route命令是用来管理路由

  查看:route -n

  添加:route add

    route add [-net|-host] target [gw] [dev]

    示例:

      route add -host 192.168.100.110 gw 192.168.38.1 dev eth0

      route add -net 192.168.100.0/24 gw 192.168.38.1 dev eth0

    默认路由:

      route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.38.1

      route add default gw 192.168.38.1

  删除:route del

    route del [-net|-host] target [gw] [dev]

    示例:

      route del -host 192.168.100.110

      route del -net 192.168.100.0 netmask 255.255.255.0


  5)host

  host命令用来做DNS查询。如果命令参数是域名,命令会输出关联的IP;如果命令参数是IP,命令则输出关联的域名

  常用选项:

    -i 反向查找

    -a 等同于“-v -t”,显示所有类型,详细信息

    -v 运行时显示详细的处理信息

    -t<类型> 指定类型,包括a、all、mx、ns 

    -4 用于IPv4的查询

    -6 用于IPv6的查询

  示例:

    host www.baidu.com

    host -t ns www.baidu.com


  6)ifconfig

  ifconfig 是一个用来查看、配置、启用或禁用网络接口的工具

    ifconfig [interface]

    示例:

      ifconfig #查看所有已激活网卡的信息

      ifconfig eth0 #查看eth0网卡信息

      ifconfig eth0 192.168.100.100 #配置eth0接口ip地址


  7)ip

  ip是iproute2软件包里面的一个强大的网络配置工具

    ip link set { dev DEVICE | group DEVGROUP } [ { up | down } ]

    示例:

      ip link show #查看所有接口链接信息

      ip link show eth0 #查看eth0接口链接信息

      ip link set dev eth0 up      #up/down 起动/关闭设备

    ip addr {add|del|change|replace} IFADDR dev STRING

    示例:

      ip addr show #查看所有接口ip信息

      ip addr show eth0 #查看eth0接口ip信息

      ip addr add 192.168.100.110 dev eth0 #指定eth0添加一个ip地址

      ip addr del 192.168.100.110 dev eth0 #指定eth0删除ip地址