Linux网络基础知识汇总

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux网络基础知识汇总相关的知识,希望对你有一定的参考价值。

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

         网桥:即桥接器,是连接两个局域网的一种存储/转发设备,它能将一个大的LAN分割为多个网段,或将两个以上的LAN互联为

 一个逻辑LAN,使LAN上的所有用户都可访问服务器。它工作在数据链路层。

         集线器:即Hub.主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。

集线器工作在局域网(LAN)环境,像网卡一样,应用于OSI参考模型第一层,因此又被称为物理层设备。

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

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

传统交换技术是在OSI网络标准模型第二层--数据链路层进行操作的,而三层交换技术是在网络模型中的第三层实现了数据包的高速转发,既可实现网络路由功能,又可根据不同网络状况做到最优网络性能。

         路由器:是一种计算机网络设备,它能将数据包通过一个个网络传送至目的地(选择数据的传输路径),这个过程称为路由。路由器就是连接两个以上各别网络的设备,路由工作在OSI模型的第三层——即网络层。

 

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

         分为 ABCDE五类

         A类:0.0.0.0——127.255.255.255    第一段为网络号,后三段为主机号。网络标识第一位二进制为0

                   网络号:0 0000000 - 0 111 11111-127

                   网络数:0不用,127作为保留地址,有2^7-2=126个网络数;

                   主机数:每个网络允许的主机数:2^24-2=16777216台主机数。全0为网络地址,全1为广播地址.

                   默认子网掩码为255.0.0.0/8用于与IP地址按位进行“与”运算,从而取出其网络地址;

                   私有地址为:10.0.0.0——10.255.255.255

         B类:128.0.0.0——191.255.255.255  前两段为网络号,后两段为主机号。网络标识前两位二进制必须为10

                   网络号:10 000000 - 10 11 1111128.0-191.255

                   网络数:2^14=16384个网络数

                   主机数:每个网络允许的主机数:2^16-2=65524台主机数。全0为网络地址,全1为广播地址.

                   默认子网掩码:255.255.0.0/16

                   私有地址为:172.16.0.0——172.31.255.255

         C类:192.0.0.0——223.255.255.255  前三段为网络号,最后一段为主机号  网络标识前三位必须为110

                   网络号:110 00000 - 110 1 1111192.0.0-223.255.255

                   网络数:2^21=2097152个网络数

                   主机数:每个网络允许的主机数:2^8-2=254台主机。全0为网络地址,全1为广播地址.

                   默认子网掩码:255.255.255.0/24

                   私有地址为:192.168.0.0——192.168.255.255

         D类:组播地址,多播地址

                   224.0.0.0——239.255.255.255   网络标识前四位必须为1110

         E类:实验,保留地址240——255      网络标识前五位必须为11110

        

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

OSI模型分为七层:

         1.物理层:主要定义物理设备标准,如网线接口类型,光纤接口类型等。

它的主要作用是传输比特流。这一层的数据叫做比特。

         2.数据链路层:主要将从物理层接收的数据进行MAC地址封装与解封装。

该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。

这一层,数据的单位称为帧,frame。这一层主要设备是二层交换机。

         3.网络层:主要将从下层接收到的数据进行IP地址封装与解封装。

负责对子网间的数据包进行路由选择,网络层还可以实现拥塞控制、网际互连等功能。

网络层协议的代表包括:IPIPXRIPOSPFARPRARPICMPIGMP

这一层,数据单位称为数据包,packet.这一层的设备是路由器。

         4.传输层:传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。

此外,传输层还要处理端到端的差错控制和流量控制问题。

传输层协议代表包括:TCPUDPSPX

这一层,数据单位称为数据段,segment.

         5.会话层:管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。

会话层还利用在数据中插入校验点来实现数据的同步。

         6.表示层:对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。

表示层的数据转换包括数据的加密、压缩、格式转换等。

         7.应用层:应用层为操作系统或网络应用程序提供访问网络服务的接口。

应用层协议的代表包括:TelnetFTPHTTPSNMP

 

TCP/IP模型分为四层

         1.网络接入层:对应OSI中的物理层与数据链路层。

它负责监视数据在主机和网络之间的交换。

事实上,TCP/IP本身并未定义该层的协议,而由参与互连的各网络使用自己的物理层和数据链路层协议,然后与TCP/IP的网络接入层进行连接。

         2.网际互联层:对应OSI中的网络层。

主要解决主机到主机的通信问题。它所包含的协议设计数据包在整个网络上的逻辑传输。

注重重新赋予主机一个IP地址来完成对主机的寻址,它还负责数据包在多种网络中的路由。

该层有四个主要协议:网际协议(IP)、地址解析协议(ARP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)。

         3.传输层:对应OSI中传输层。

为应用层实体提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性。

该层定义了两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP).

         4.应用层:对应OSI中的高层,为用户提供所需要的各种服务,例如:FTPTelnetDNSSMTP.

 

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

需要对IP/NETMASK 进行配置,对路由进行配置,对DNS服务器进行配置。

可以直接vim编辑配置文件进行配置:

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

 

[[email protected] tmp]# vim/etc/sysconfig/network-scripts/ifcfg-eth0

 

DEVICE=eth0

HWADDR=00:0C:29:5C:C6:04

TYPE=Ethernet

UUID=8b5904a3-c235-4e35-9a98-d02a67118e59

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

IPADDR=192.168.158.130

NETMASK=255.255.255.0

GATEWAY=192.168.158.1

DNS1=8.8.8.8

~                 

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

         a.使用ifconfig命令,立即临时生效

                   ifconfig命令:接口及地址查看和管理

                   #ifconfig -a:显示所有接口,包括inactive状态的接口

                   ifconfiginterface [aftype] options | address ...

                                               #ifconfig  IFACE  IP/MASK [up|down]

                                               #ifconfig  IFACE  IP netmask  NETMASK

         b.使用ip命令,立即临时生效

                   ipaddress add - add new protocol address

                    ip addr { add | del } IFADDR dev STRING [labelLABEL]

                            ip  addr add  IFADDR  dev IFACE

                                     [labelNAME]:为额外添加的地址指明接口别名;

                                     [broadcastADDRESS]:广播地址;会根据IPNETMASK自动计算得到;

                                     [scopeSCOPE_VALUE]

                                               global:全局可用;

                                               link:接口可用;

                                              host:仅本机可用;

         c.修改配置文件,使其永久有效

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

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

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

         ping命令:    

                   sendICMP ECHO_REQUEST to network hosts

                   ICMPInternetControl Message Protocol            

                   ping  [OPTION] destination

                            -c#:发送的ping包个数;

                            -w#ping命令超时时长;

                            -W#:一次ping操作中,等待对方响应的超时时长;

                            -s#:指明ping包报文大小;

        

 

 

 

脚本如下:

         #!/bin/bash

         #

         for((i=1;i<255;i++));do

                   ipaddr="172.16.250.${i}"

                   if ping -c 1 -w 1 ${ipaddr}&> /dev/null;then

                            echo -e"\033[32m${ipaddr}\033[0m"

                   else

                            echo -e"\033[31m${ipaddr}\033[0m"

                   fi

         done

         另注:

         echo显示带颜色,需要使用参数-e

                   格式如下:

                   echo-e "\033[字背景颜色;文字颜色m字符串\033[0m"

                   echo-e "\033[30m 黑色字 \033[0m"

                            例如:echo -e"\033[31m 红色字 \033[0m"

                                       echo -e "\033[32m 绿色字\033[0m"

                                       echo -e "\033[33m 黄色字\033[0m"

                                       echo -e "\033[34m 蓝色字\033[0m"

                                       echo -e "\033[35m 紫色字\033[0m"

                                       echo -e "\033[36m 天蓝字\033[0m"

                                       echo -e "\033[37m 白色字\033[0m"

                                       echo -e "\033[40;37m 黑底白字\033[0m"

                                      echo -e "\033[41;37m 红底白字 \033[0m"

                                       echo -e "\033[42;37m 绿底白字\033[0m"

                                       echo -e "\033[43;37m 黄底白字\033[0m"

                                  echo -e "\033[44;37m 蓝底白字\033[0m"

                                       echo -e "\033[45;37m 紫底白字\033[0m"

                                       echo -e "\033[46;37m 天蓝底白字\033[0m"

                                       echo -e "\033[47;30m 白底黑字\033[0m"

                       控制选项说明

                                               \33[0m关闭所有属性

                                               \33[1m设置高亮度

                                               \33[4m下划线

                                               \33[5m闪烁

                                               \33[7m反显

                                               \33[8m消隐

                                               \33[30m-- \33[37m 设置前景色

                                               \33[40m-- \33[47m 设置背景色

                                               \33[nA光标上移n

                                               \33[nB光标下移n

                                               \33[nC光标右移n

                                               \33[nD光标左移n

                                               \33[y;xH设置光标位置

                                               \33[2J清屏

                                               \33[K清除从光标到行尾的内容

                                               \33[s保存光标位置

                                               \33[u恢复光标位置

                                               \33[?25l隐藏光标

                                               \33[?25h显示光标

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

         配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE通过大量参数来定义接口的属性;

         其可通过vim等文本编辑器直接修改,也可以使用专用的命令的进行修改(CentOS 6system-config-network (setup)CentOS 7: nmtui

                   ifcfg-IFACE配置文件参数:

                            DEVICE:此配置文件对应的设备的名称;

                            ONBOOT:在系统引导过程中,是否激活此接口;

                            UUID:此设备的惟一标识;

                            IPV6INIT:是否初始化IPv6

                            BOOTPROTO:激活此接口时使用什么协议来配置接口属性,常用的有dhcpbootpstaticnone

                            TYPE:接口类型,常见的有Ethernet, Bridge

                            DNS1:第一DNS服务器指向;

                            DNS2:备用DNS服务器指向;

                            DOMAINDNS搜索域;

                            IPADDR IP地址;

                            NETMASK:子网掩码;CentOS 7支持使用PREFIX以长度方式指明子网掩码;

                            GATEWAY:默认网关;

                            USERCTL:是否允许普通用户控制此设备;

                            PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向覆盖本地手动指定的DNS服务器指向;默认为允许;

                            HWADDR:设备的MAC地址;

                                    

                            NM_CONTROLLED:是否使用NetworkManager服务来控制接口;

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

                            ipaddr之外,

                            ipaddr { add | del } IFADDR dev STRING

                   比如:     ip addr add 192.168.1.250/24 dev eth0

                            ifconfig或配置文件都可以;

                  

                   (1)ifconfig  IFACE_LABEL  IPADDR/NETMASK

                  

                            IFACE_LABEL eth0:0,eth0:1, ...

                           

                   (2)为别名添加配置文件;

                            DEVICE=IFACE_LABEL

                            BOOTPROTO:网上别名不支持动态获取地址;

                                     static,none

 

  

本文出自 “11290766” 博客,请务必保留此出处http://rylan.blog.51cto.com/11290766/1917912

以上是关于Linux网络基础知识汇总的主要内容,如果未能解决你的问题,请参考以下文章

Linux云计算体系-目录汇总-目录入口

Linux学习命令汇总十——linux网络管理及配置和网络检测工具

三万字,100题!Linux知识汇总!

Linux入门的基础知识点汇总,有这篇就够了

linux 常用命令汇总(面向面试)

Linux性能分析工具汇总合集