我们在学习Linux操作系统时,不需要对网络有过于深入的理解。但是对于Linux操作系统基本的网络配置和计算机网络的基础知识,应该有所了解和学习。下面我们对这些知识进行探讨和学习。
一、网络参数的配置
这里我们以centos7为例。在centos7中,我们首先要保证NetWorkManager服务保持开启并激活,该服务是一个动态网络的控制器和配置系统。使用命令systemctl status NetWorkManager可以查看他的状态,使用命令systemctl status network可以查看他的子管理程序状态。
其次我们要知道centos7的网卡接口存放在/etc/sysconfig/network-scripts文件夹下,该文件夹下存放着各个网卡的配置文件。一般来说我们对ifcfg-ens33文件进行修改和操作,这样我们也需要对该配置文件的内容有所了解。
ONBOOT=yes 是否开机启动该设备
BOOTPROTO 手动(none/static)还是自动(dhcp)
IPADDR=192.168.33.135 手动指定地址
NETMASK=255.255.255.0 指定子网掩码
GETEWAY=192.168.33.2 网关也叫默认路由(路由器地址)
DNS1=192.168.33.2 指定域名解析
其他的内容是ipv6信息,网卡信息等内容,不是特别重要。在明白网卡配置文件的含义后,我们可以按照要求来修改,修改完成后重启网络服务,查看网卡信息,我们会发现网卡配置已经按照我们的要求修改完成了。
二、OSI和TCP/IP协议
OSI和TCP/IP是网络中非常重要的两个协议族,其中TCP/IP更是我们实际使用的协议,对这两个协议进行学习,才能对Linux操作系统的网络管理有更清晰的认识。
我们主要讲一下TCP/IP协议中各层的数据单元和传输过程中对数据的封装与解封装。
信息从接收到产生,会有许多变化,为了便于交流,通信模型对不同层的信息进行加工,并进行统一的命名,这就是我们说的数据单元(DU)。
应用层数据:AP DU应用协议数据单元 用户产生的原始数据
传输层数据:segment DU 分段数据
网络层数据:packet DU 包数据
数据链路层数据:frame DU 帧数据
物理层数据:bit DU 比特数据
信息从一台计算机产生,经过TCP/IP模型加工,发送给另一台计算机。我们将这个通信过程称为封装(发送)和解封装(接收)。
封装:数据要通过网络进行传输,在发送端要从高层一层一层的向下传送,如果一个主机要传送数据到别的数据,要把数据装到一个特殊协议的报头中,这个过程叫封装。
将封装的数据,发给接收者,再从低到高依次解封装。同层之间功能相同,下层为上层服务。
1、应用层将用户信息转换为数据,以便在网络上传输
2、传输层将数据分为网络段,并在发送方和接收方之间建立一条可靠的连接
3、网络层将数据段转换为数据包,并在报头放上逻辑地址,这样每个数据包都能在网络上进行传输
4、数据链路层将数据包或者数据报转为为帧,以便于在本地网络上传输。在本地网段上
使用MAC地址唯一的标识主机
5、物理层将帧转换为比特流,并采用数字编码和时钟方案
解封装的过程与封装类似,只是从低层到高层。
三、实际操作
我们还需要掌握网络配置的实际操作,
一是搭建局域网
局域网的搭建主要是基于数据链路层的,我们需要掌握交换机的原理;如何对局域网进行划分(VLAN;以及通过TRUNK技术将两个交换机连接的主机通过VLAN进行划分。
二是通过路由器将不同的局域网进行连接
通过路由器我们能实现跨网络的通信。这主要是基于网络层的,其主要目的是为了分割广播域和寻址。
我们需要掌握路由器(网关)的工作原理;将两个网络通过路由器直连方式进行通信;将三个网络通过路由器的非直连方式进行通信。非直连需要我们手动添加路由表,而直连则是自动生成的路由表。
掌握以上知识,我们就基本能够完成大多数的Linux网络方面的运维工作了。