10.1.1、 集线器(hub)工作在第一层(即物理层),它没有智能处理能力,对它来说,数据只是电流而已,当一个端口的电流传到集线器中时,它只是简单地将电流传送到其他端口,至于其他端口连接的计算机接收不接收这些数据,它就不管了,每次发送时都会广播。

10.1.2、交换机(Switch又名交换式集线器)工作在第二层(即数据链路层),它要比集线器智能一些,对它来说,网络上的数据就是MAC地址的集合,它能分辨出帧中的源MAC地址和目的MAC地址,因此可以在任意两个端口间建立联系,但是交换机并不懂得IP地址,只知道MAC地址,交换机只能缩小冲突域,而不能缩小广播域 ,现在的交换机分为:二层交换机,三层交换机或是更高层的交换机。三层交换机同样可以有路由的功能,而且比低端路由器的转发速率更快。虽然第三层以上交换机具有VLAN功能,也可以分割广播域,但是各子广播域之间是不能通信交流的,它们之间的交流仍然需要路由器。

10.1.3、路由器(Router)工作在第三层(即网络层),它比交换机还要“聪明”一些,它能理解数据中的IP地址,如果它接收到一个数据包,就检查其中的IP地址,如果目标地址是本地网络的就不理会,如果是其他网络的,就将数据包转发出本地网络,路由器可以隔离广播域,广播报文不能通过路由器继续进行广播。

10.2.1、OSI模型。1物理介质:物理层,物理层协议、2链路层:数据帧,链接层协议、3网络层:数据包,IP协议、4传输层:端口用于标记进程  (TCP,UDP、并且是用套接字Socket: IP:port)、5应用层:标记资源。

10.2.2、IPV4私有地址A类一个:10.0.0.0~10.255.255.255、B类16个:172.16.0.0~172.31.255.255、C类256个:192.168.0.0~192.168.255.255、公有地址IP:从0.0.0.0 – 127.255.255.255、B类IP:从128.0.0.0 – 191.255.255.255、C类IP:从192.0.0.0 -223.255.255.255、全0:网络地址、全1:广播地址

10.3.1、配置IP用户空间工具:ifconfig (net-tools), ip (iproute2)在centos7上ifconfig已经不再使用,网络设备配置文件:/etc/sysconfig/ network-scripts/,ifup启用接口、ifdown关闭接口、配置主机名/etc/sysconfig/network。

10.3.2、配置ip:可以用ifconfig配置例如:(ifconfig eth0 192.168.18.23 netmask 255.255.255.0或者用短格式 ifocnfig eth0 192.168.18.23/24)配置文件字段说明(DEVICE设备文件、BOOTPROTO{bootp|dhcp|static|none}、NM_CONTROLLED={yes|no}: 是否接受NetworkManager服务脚本来配置此设备centos6上有此选项一般设置no、ONBOOT={yes|no}: 是否在开机自动激活此接口、TYPE{Ethernet|Bridge}: 网络接口类型、IPADDR地址、NETMASK子网掩码、GATEWAY网关、USERCTL={yes|no}: 是否允许普通用控制此接口、PEERDNS={yes|no}: 不接受DHCP服务器指派的DNS服务器地址)

10.3.3、配置路由route显示路由信息(-n数字格式显示、add 和del相关参数(-net:目标为网络、-host:目标为主机、gw:gateway(网关) 的简写,后面接设备名称 eth0 等,如果-net 0.0.0.0表示默认路由目标为任意地址)举例:route add -net 192.168.20.0/24  gw 192.168.10.1)删除路由举例:route del 192.168.20.0。

10.3.4、route表字段说明(Destination:目标网络或目标主机、Gateway:如果该字段为0.0.0.0表示本地网络无需网关、Genmask:子网掩码、 Flags:(U表示生效,G表示网关可以把数据通过网关送到指定网络中,H表示主机路由无需指定子网掩码32举例:route add -host 192.168.20.33  gw 192.168.10.1) Metric:优先级 Ref:Use Iface),想路由信息永久有效需在/etc/sysconfig/network-script/下添加route-eth0,有2种格式添加路由表(第一方式举例:192.168.20.0 via 192.168.10.1,第二种方式每三行一个条目:ADDESS0=192.168.20.0、NETMASK0=255.255.255.0、GATEWAY0=192.168.10.1)

10.3.5、DNS服务器地址(本地解析: /etc/hosts,配置文件中设定DNS服务器 /etc/resolv.conf),配置开机是否自动运行# chkconfig servername on|off,查看哪些服务开机自动运行:chkconfig --list、

10.4.1、一个网卡配置多个ip例如:ifconfig eth0:0 192.168.146.129,可以添加配置文件ifcfg-eth0:0(必须使用静态ip,DEVICE=、BOOTPROTO={static|none}、IPADDR=、NETMASK=、ONBOOT=、USERCTL=)还可以用system-config-network-tui配置网络接口

10.4.2、ping因特网包探索器Packet Internet Groper:-c指定发送多少报文个数,-W等待响应超时时间。traceroute获取从当前主机到达目标主机所经过的所有网关,mtr相当于ping和traceroute、netstat显示网络状态(-t显示tcp协议、-u显示udp协议、-l显示连接状态、-p显示进程号、-n以数字方式显示、-a显示全部、-r显示路由表)ethtool显示网络接口设备属性-S显示设备接口的统计数据

10.4.3、ip (link 管理接口,show显示管理接口状态例如:ip link show,set设定网络接口{up | down}启动或关闭接口例如 ip link set eth0 up)(addr 管理协议地址:显示或清除 {show | flush}例如:ip addr show eth0,添加或删除{add | del}例如:ip addr add 192.168.30.4/24 dev eth0、删除ip addr del 192.168.30.4/24 dev eth0),(route路由管理:{show | list | flush}例如:ip route list,{add | del}例如:ip route add 192.168.20.0/24 via 192.168.18.1 dev eth1)

10.4.4、ss类似netstat(-t显示tcp进程信息、-u显示udp进程信息、-n以数字方式显示、-p显示pid、-l监听的、-a所有进程、-e扩展信息、-m套接字相关的内存使用信息)

作业:
1、扫描公司内的所有主机;在线的,使用绿色显示;不在线,使用红色显示;最后分别显示:在线和不在线各有多少主机;

OnlineCounter=0
OfflineCounter=0
for((i=1;i<256;i++));do
    if  ping -c 1 -w 1 192.168.18.$i &> /dev/null ;then
        let OnlineCounter++
        echo -e "\033[32m 192.168.18.$i \033[0m"
    else
        let OfflineCounter++
        echo -e "\033[31m 192.168.18.$i \033[0m" 
    fi
done
echo "Online counter: $OnlineCounter and Offline Counter: $OfflineCounter"



2、提示用户输入一个IP地址;如果用户输入的地址不正确,则提醒其重新输入直到正确为止;如果正确,则添加至eth0上的辅助地址;得出正确的掩码;

read -p "plese inport ip address:" ipaddress
        while [ $ipaddress != "" > /dev/null ];do
              if `echo "$ipaddress" | grep -E "\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-3][0-9])(\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){2}\.([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-4])" > /dev/null`;then
               munber=`echo "$ipaddress" | cut -d. -f1`
               mask=0
              if [ $munber -lt 128 ];then
                   mask=8
              elif [ $munber -lt 192 -a $munber -gt 127 ];then
                   mask=16
              else
                   mask=24
              fi
              ifconfig eth0:1 $ipaddress/$mask
              exit 0
            else
                read -p "you inport ipaddress error plese Input again: " ipaddress
             fi
       done

课外任务:nmap, ncat, tcpdump