Linux 网络管理

==============================================================================

概述:


==============================================================================

第一篇:计算机网络基础



计算机网络协议,以太网,MAC地址

 1.计算机网络协议

计算机网络通信协议

  • TCP/IP:协议栈(使用中的模型)

  • OSI(开放系统互联基本参考模型):学习中的模型,ISO(国际标准化组织)定义的模型

附图:

Linux 网络管理(一)_路由器

Linux 网络管理(一)_IP协议_02

各层之间的相关协议和单位:

协议:

  • 互联网层:IP协议

  • 传输层:TCP(面向连接),UDP(面向无连接) 协议

  • 应用层:http,https,ftp,ldap...

单位:

  • 数据线路层:以太网帧(MTU最大传输单元1500字节);

  • 互联网层:IP报文 

附图:

Linux 网络管理(一)_计算机网络_03

 2.通信子网与资源子网

功能:

  • 从计算机网络各组成部分的功能来看,各部分主要完成两种功能:即网络通信资源共享;

通信子网(内核实现)

  • 计算机网络中实现网络通信功能的设备及软件的集合称为网络的通信子网;

  组成有:

  • 中继器;

  • 集线器;

  • 交换机;

  • 通讯线缆;

  • 路由器,等各种网关硬件设备;

资源子网(用户空间实现)

  • 把网络中实现资源共享功能的设备及软件的集合称为资源子网。 

组成有:

  • 用户计算机(工作站);

  • 网络存储设备;

  • 网络终端;

  • 服务器等。

 3.以太网(Ethernet)和令牌环网(Token-ring network)

以太网概念:

  • 以太网指的是基带局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术,并以10M/S的速率运行在多种类型的电缆上。

网卡

  • 网卡虽然有多种,不过有一个共同点就是每块网卡都拥有唯一的ID号,也叫做MAC地址(48位)MAC地址被记录在网卡上的ROM中,就像我们每个人的遗传基因DNA一样,即使在全世界也绝不会重复;

网卡的功能:

  • 一是将计算机的数据进行封装,并通过网线将数据发送到网络上

  • 二是接收网络上传过来的数据,并发到计算机中。

附图:

Linux 网络管理(一)_路由器_04

令牌环网:

  • 令牌环网,常用于IBM系统中,有一种专门的帧称为“令牌”,在环路上持续地传输来确定一个结点何时可以发送包。

 3.MAC地址

定义及功能:

  • MAC(Media Access Control)地址,意译为媒体访问控制,或称为物理地址硬件地址用来定义网络设备的位置;

  • 在OSI模型中,第三层网络层负责 IP地址,第二层数据链路层则负责 MAC地址。因此一个主机会有一个MAC地址,而每个网络位置会有一个专属于它的IP地址。

  • MAC地址是用来实现本地通信的,如果要跨网络通信,就要使用IP地址;

  • MAC地址是网卡决定的,是固定的。

附图:

    结构:

Linux 网络管理(一)_路由器_05

Linux 网络管理(一)_IP协议_06

网络设备

 1.Hub集线器:

Hub集线器

  • Hub:多端口中继器

  • Hub并不记忆该信息包是由哪个MAC地址发出,哪个MAC地址在Hub的哪个端口;

  • Hub的特点: 共享带宽,半双工通信,泛洪(flood)

附图:

   工作原理图:


Linux 网络管理(一)_互联网_07

 2.网桥

网桥(bridge):MAC地址表

  • 静态指定:

  • 动态学习:根据原地址学习

交换式以太网的优势:

  • 扩展了网络带宽;

  • 分割了网络冲突域,使网络冲突被限制在最小的范围内;

  • 交换机作为更加智能的交换设备,能够提供更多用户所要求的功能:优先级、虚拟网、远程检测……

工作原理:

  • 以太网桥监听数据帧中源MAC地址,学习MAC,建立MAC表;

  • 对于未知MAC地址,网桥将转发到除接收该帧的端口之外的所有端口;

  • 当网桥接到一个数据帧时,如果该帧的目的位于接收端口所在网段上,它就过滤掉该数据帧;如果目的MAC地址在位于另外一个端口,网桥就将该帧转发到该端口;

  • 当网桥接到广播帧时候,它立即转发到除接收端口之外的所有其他端口。

附图:

Linux 网络管理(一)_IP协议_08

 3.交换机

交换机(switch):多端口的网桥

  • 交换机工作于OSI参考模型的第二层,即数据链路层,交换机内部的CPU会在每个端口成功连接时,通过将MAC地址和端口对应,形成一张MAC表。在今后的通讯中,发往该MAC地址的数据包将仅送往其对应的端口,而不是所有的端口。因此,交换机可用于划分数据链路层广播,即冲突域;但它不能划分网络层广播,即广播域(路由器可以)

附图:

Linux 网络管理(一)_路由器_09


Hub和交换机比较

  • 集线器属于OSI的第一层物理层设备,而网桥属于OSI的第二层数据链路层设备;

  • 从工作方式来看,集线器是一种广播模式,所有端口在一个冲突域里面。网桥的可以通过端口隔离冲突;

  • Hub是所有共享总线和共享带宽。网桥每个端口占一个带宽。

附图:

Linux 网络管理(一)_路由器_10

 4.路由器

概念:

  • 所谓路由,即信息传输路径的选择。当我们使用路由器将不同网络连接起来后,路由器可以在不同网络间选择最佳的信息传输路径,从而使信息更快地传输到目的地。事实上,我们访问的互联网就是通过众多的路由器将世界各地的不同网络互联起来的,路由器在互联网中选择路径并转发信息,使世界各地的网络可以共享网络资源。

附图:

Linux 网络管理(一)_计算机网络_11

路由表

  • 静态指定;

  • 动态学习(rip2,ospf);

为了实现路由,路由器需要做下列事情:

  • 分隔广播域

  • 选择路由表中到达目标最好的路径;

  • 维护和检查路由信息;

  • 链接广域网;

路由:

  • 把一个数据包从一个设备发送到不同网络里的另一个设备上去。这些工作依靠路由器来完成。路由器只关心网络的状态和决定网络中的最佳路径。路由的实现依靠路由器中的路由表来完成。

路由条目:

目标地址 经由 下一跳(nexthop)也就是网关来实现;

目标地址的类别(精度越高,优先级越高):

  • 主机路由:目标是一个主机;

  • 网络路由:目标是一个网络;

  • 默认路由(0.0.0.0/0.0.0.0):目标是非本地的所有网络,通常默认路由的下一跳为主机上某块网卡的网关地址。

注意:

  • 下一跳路由接口的地址必须与本地主机的某个地址在同一网络中;

 5.VLAN

VLAN:虚拟局域网

功能:

  • 分隔广播域、安全、灵活管理;

VLAN = 广播域= 逻辑网络(Subnet)

附图:

Linux 网络管理(一)_路由器_12

IP地址

 1.定义和功能:

作用:

  • 在网络中,为了实现不同计算机之间的通信,每台计算机都必须有一个唯一的地址。就像日常生活中的家庭住址一样,我们可以通过一个人的家庭住址找到他的家。当然,在网络中要找到一台计算机,进而和它通信,也需要借助一个地址,这个地址就是IP地址,IP地址是唯一标识一台主机的地址

定义和功能:

  • 它们可唯一标识IP 网络中的每台设备;

  • 每台主机(计算机、网络设备、外围设备)必须具有唯一的地址。

IP地址由两部分组成:

网络 ID:

  • 标识网络;

  • 每个网段分配一个网络ID

主机 ID:

  • 标识单个主机;

  • 由组织分配给各设备;

IP地址分类:

IPv4:

  • 32位,可以表示2^32个地址;

IPv6:

  • 128位,可以表示2^128个地址。

 2.子网掩码:

作用

  • 用于与IP地址按位进行“与”运算,从而取出其网络地址。

与运算:

  • 1与任何数相与都的任何数,0与任何数相与都得0

示例:

  • 1.3.2.1/255.0.0.0=1.0.0.0(网络号)

  • 1.3.2.1/255.255.0.0=1.3.0.0(网络号)

划分子网和超网:

子网掩码可以写成全格式的,也可以写成用1的个数表示的方式:

如:

  • A类IP的子网掩码:255.0.0.0=/8

  • B类IP的子网掩码:255.255.0.0=/16

  • C类IP的子网掩码:255.255.255.0=/24 

 2.IPv4地址

地址格式:

  • IP地址是一个32位二进制数,用于标识网络中的一台计算机

  • 表示格式:8bits.8bits.8bits.8bits

  • 每个8位二进制表示的范围为:0~255,所以IPv4地址表示的范围为:0.0.0.0~255.255.255.255

IP地址通常以两种方式表示:二进制数和十进制数

  • 二进制数表示:在计算机内部,IP地址用32位二进制数表示,每8位为一段,共4段

  • 十进制数:为了方便使用,通常将每段转换为十进制数。

附图:

Linux 网络管理(一)_计算机网络_13

IP地址规定:

  • 网络号不能以127开头,第一字节不能全为 0 ,也不能全为1;

  • 主机号不能全为0,也不能全为1。

IP地址分类:

   由于IP地址是有限资源,为了更好的管理和使用IP地址,INTERNIC(国际互联网络信息中心)根据网络规模的大小将IP地址分为5类(ABCDE)如图:

      (注:蓝色为固定不变的,如,A类地址中 第一位0固定不变,后7位可以随意变化)

Linux 网络管理(一)_IP协议_14

A类地址:第一段为网络号,后三段为主机号

  • 范  围: 1.0.0.0~126.0.0.00 000 0001~0 111 1110)

  • 网络数(网段):2^7-2=126(去掉全0和127的两个地址)

  • 每个网络中的主机数:2^24-2(去掉全0和全1的两个地址)

  • 默认子网掩码:255.0.0.0/8

  • 私网地址:10.0.0.0

B类地址:前两段为网络号,后两段为主机号

  • 范 围:128.0.0.0~191.254.0.0 10 00 0000 0000 0000~10 11 1111 1111 1110)

  • 网络数(网段):2^14

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

  • 默认子网掩码:255.255.0.0/16

  • 私网地址:172.16.0.0-172.31.0.0

C类地址:前三段为网络号,后一段为主机号

  • 范 围:192.0.0.0~223.255.254.0

              (110 0 0000 0000 0000 0000 0000~110 1 1111 1111 1111 1111 1110)

  • 网络数(网段):2^21

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

  • 默认子网掩码:255.255.255.0/24

  • 私网地址:192.168.0.0-192.168.255.0

D类地址:组播

  • 1110 0000 -1110 1111: 224-239

E类地址:科研

  • 240-255

总结规律如下:

  • 一个网段的主机数=2^主机位数-2

  • 主机位数=32-网络ID位数

总结

进程地址

  • socket(套接字地址):IP:PORT

三种通信的地址:

MAC地址:

  • 本地通信(任何互联网通信都要转化成本地通信才能够实现)范围:本地局域网;

IP地址:

  • 界定通信主机,源主机和目标主机;范围:全球互联网

Pott(端口)

  • 界定通信进程;范围:本地主机

通信实质:

  • 互联网通信起始实现的是多段接力的本地通信,IP地址只是标识网络地址,即源主机是谁,目标主机是谁,帮你选出一条路来;

  • 真正通信的是,某一主机上的某一个端口和另外一个主机上的某一个端口进行通信,最终要转换成多MAC地址,或本地事物的交互。在通信子网中完成。

通信方式

 1.跨网络之间主机的通信

方式:

  • TCP/IP协议,路由(精度越高,优先级越高),还需要网关;

  • 任何非本地通信都只能交由路由器来路由实现。

附图:
Linux 网络管理(一)_IP协议_15

TCP的三次握手

Linux 网络管理(一)_路由器_16

数据封装解封装的过程

Linux 网络管理(一)_计算机网络_17

数据封装

Linux 网络管理(一)_互联网_18


数据解封装

Linux 网络管理(一)_计算机网络_19

 2.本地主机之间的网络通信:

方式:

  • 本地通信也会首先用到IP地址,通过计算之后发现目标IP和源IP在同一个网络中;

ARP(地址解析)协议:是通过广播实现的

  • 地址解析协议,即ARP(Address Resolution Protocol)是根据IP地址获取物理地址的一个TCP/IP协议主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间(ttl生存周期),下次请求时直接查询ARP缓存以节约资源。

附图:

Linux 网络管理(一)_IP协议_20

 3.总结:

总结:

  • 不管是跨网络通信还是本地主机之间的通信,首先都会使用目标IP地址和源IP地址的子网掩码进行计算来确定网络地址;

  • 如果目标网络地址和源网络地址是在同一网段中,则为本地主机之间的通信,然后通过APR地址解析(广播)来获得同网段中目标地址IP所对应的MAC地址,然后进行封装源MAC和目标MAC的帧,实现本地通信;

  • 如果目标地址和源地址不在同一网段中,则为跨网络主机之间的通信,这时就要通过TCP/IP协议,路由器(网关)来路由实现。

 第二篇:Linux网络属性配置




Linux中配置网络相关设置

 1.将Linux主机接入到网络中,需要配置网络相关设置

一般包括如下内容:

主机名:

IP/NETMASK:(IP地址和子网掩码)

  • 判断网络地址,可以实现本地通信;

路由(网关Getway):

  • 跨网络通信

DNS服务器地址:

作用:

  • 实现基于主机名的通信;

百度百科:

  • DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。

包括三类:

  • 主DNS服务器地址;

  • 备用DNS服务器地址;

  • 第三备用DNS服务器地址

 2.网络配置方式

静态指定:

  • 一般服务器的地址是静态指定;

命令:

ifcfg家族:

  • ifconfig:配置IP,NETMASK

  • route:路由;

  • netstat:状态及统计数据查看;

iproute2家族

  • ip OBJECT

  • addr:地址和掩码;

  • link:接口;

  • route:路由;

  • ss:状态及统计数据查看  

CentOS 7:nm家族

  • nmcli:命令行工具

  • nmtul:text window 工具

GUI方式:

  • 图形用户界面;

TUI方式:通过文本命令的方式执行程序,而不是通过图形界面窗口的按钮。

  • CentOS 6:在命令行输入 setup 命令,选择Network Configurations;

  • CentOS 7:使用 nmtui 命令,可以编辑链接,启用/禁用、更改主机名。

动态分配 :

  • 依赖于本地网络中有DHCP服务;

  • DHCP(动态主机配置协议)

Linux 网络管理(一)_路由器_21

 3.配置文件

配置文件:

  • 会永久有效,但不会立即生效,需要强制通知内核重读文件;

RedHat及相关发行版

  • /etc/sysconfig/network-scripts/ifcfg-NETCARO_NAME(网卡名) 

DNS服务器指定

  • 配置文件:/etc/resolv.conf

本地主机名配置

  • hostname 命令:(临时生效,永久生效要写入配置文件中)

         配置文件:/etc/sysconfig/network

  • CentOS 7:hostnamectl  命令

网络接口命名方式及设置网卡别名

 1.网络接口命名方式

传统命名:

  • 以太网:ethx[0,...),例如:eth0,eth1...

  • PPP网络:pppX,[0,...]例如:ppp0,ppp1...

可预测命名方案(CentOS):

   持多种不同的命名机制:Fimrware,拓扑结构;

  • 如果Firmware或者BIOS为主板上集成的设备提供的索引信息可用,则根据此索引进行命名,如:eth1,eth3...

  • 如果Firmware或者BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,如ens1,ens2...

  • 如果硬件接口的物理位置信息可用,则根据此信息命名,如enp2s0...

  • 如果用户显示定义,也可根据MAC地址命名,例如:enx122161ab2e10...

  • 上述均不可用,则使用传统方式命名;

命名格式的组成:

  • en:entherent

  • wl:wlan

  • ww:wwan 

名称类型:

  • o<index>:集成设备的设备索引号;

  • s<slot>:扩展槽的索引;

  • x<MAC>:基于MAC地址的命名;

  • p<bus>s<slot>:基于总线及槽的拓扑结构进行命名;