‘网’事随风

一.网络基础

1.有什么用?

1.1 打破地域上数据传输的限制;

1.2 提高数据传输效率。

2.是什么?

通过通信链路和协议将多台计算机或设备连接起来,实现资源共享和信息交换的系统。

信息传输,接收,共享的虚拟平台,把信息联系在一起,实现资源共享。

由若干节点和连接这些节点的链路组成。

3.信息传输前提

3.1 通过物理介质将计算机连接在一起;

3.2 通信过程中必须使用统一的通讯协议。

二.互联网通讯协议

国际标准:OSI七层(应、表、会、传、网、数、物)

写程序:OSI五层(应、传、网、数、物)---->应用层(包含表、会)

1.物理层

通过物理设备实现数据转成电信号传输。

设备:网线,光纤等。

封装结果:比特。

2.数据链路层

提供节点到节点(如主机到交换机)的可靠数据传输,处理物理地址(MAC地址),进行错误检测。

设备:交换机,网桥。

封装结果:帧。

注意:

1)电信号分组标准方式:

一组数据称为一个数据帧,数据帧分为head和data 两部分;

head:

源地址:MAC地址;(6字节)

目标地址:MAC地址;(6字节)

数据类型:(6字节)

data:存放网络层整体数据

2)一主机一网卡一MAC地址------>你真的懂唯一的定义吗?

3)以太网通信采用的是广播方式。

------>什么是广播?

一台设备(源地址)向网络中的所有其他设备同时发送(数据包),只有(目标地址)会接受执行,其他设备会丢弃。

3.网络层

负责逻辑寻址(如IP地址)和路径选择(路由),实现不同网络之间的通信。

设备:网关/路由

封装结果:包。

注意:

1)数据包分成head+data

head:发送者/源地址,接收者/目标地址,地址为IP地址;

data:存放传输层数据。

2)判断两台主机是否在同意广播域(IP地址划分)

IPV4地址=ip/子网掩码;

两个地址广播域一样,则处在同一区域。------>如何判断?(适用IPV4)

判断方法:对两个IP分别与子网掩码做按位与运算,结果相同则在同一子网。

示例:

计算机1与2通信,1必须拿到2的IP地址

1)处在同一局域网:

本地电脑根据数据包检查目标IP为本地局域网;

直接通过交换机广播MAC寻址,将数据包转发过去。

2)不同局域网:

本地根据数据包检查目标IP如果不为本地局域网,则尝试获取网关MAC;

本地封装数据转发给交换机,交换机拆解后发现目标是网关MAC,送往网关设备;

网关收到数据包后,拆解至第二层后发现请求目标是网关本机MAC;

网关继续拆解至三层,发现目标地址不为网关本机;

网关重新封装数据报,将源地址替换为网关的WAN地址,目标地址不变;

路由器根据自身路由表信息将数据包发出去,直至到目标网关。

4.传输层

提供端到端(进程到进程)的可靠或不可靠数据传输。

封装结果:段。

网络层:区分子网,数据链路层:找到主机,如何区分数据是哪个进程?

------>通过端口(应用程序与网卡关联的编号)范围(系统0-1023,其他:0-65535)

注意:

head:源端口,目标端口,协议(TCP/UDP);

data:应用层整体数据。

5.应用层

面向用户,提供网络服务接口。

常见协议:HTTP、HTTPS、FTP、SMTP、DNS、Telnet、SNMP。

6.封装与解封装

封装(Encapsulation),从应用层开始,在原始数据上添加该层的头部(有时还有尾部)信息。

接收端执行相反操作(解封装):从物理层开始,逐层剥离头部(和尾部),直到将原始数据交付给目标应用程序。

三.TCP协议

戳这里------>https://blog.csdn.net/Bert_Field/article/details/151899230?spm=1001.2014.3001.5501 <------

补充:

客户端需与服务段建立连接,服务段与客户端也需建立连接,双向通路是虚拟链路;

虚拟链路:由于每次通信都需拿到IP和端口号,每次都需查找,建立好虚拟通路,下次两台主机就可直传数据。

1.三次握手

由于建立连接时未传输数据,第二次确认和第三次请求可以合并为一次。

补充:

seq(序号)与ack(确认号):为了实现可靠传输,通信双方需确认发送的数据包对方收到,如果没收到,则重发。

2.四次挥手

看到这,你会不会问:为什么这次的第二步和第三步不能合并?(如果有天我们不在一起,你会不会问为什么?)

------>第二步服务端回复确认,但不是立马确认,因为数据可能没传输完。

3.转换状态

3.1三次握手

3.2四次挥手

注意:

当客户端收到服务段FIN包,理想状态下可直接关闭,但是但是:

网络是不稳定的,可能服务端发送的数据包比FIN包还晚到;

若客户端回复的ACK包丢失,服务段会一直处于LAST_ACK状态,若客户端没有关闭,服务段还会重传FIN包,客户端继续确认......

客户端如果ACK后立即关闭连接,会导致数据不完整、也可能造成服务器端无法释放连接。所以需等待2个报文生存最大时长,确保网络中没有任何遗留报文,再关闭连接;

------>补充:为什么是2个报文?

如果丢包存在,在1MSL时间内即可触发重传,而2MSL足矣(一次丢包概率是百分之一,连续两次万分之一)

3.3 UDP协议

依旧:(再回首恍然依旧......)

戳这里------>https://blog.csdn.net/Bert_Field/article/details/151899230?spm=1001.2014.3001.5501 <------

不需要先建立连接,仅需获取IP+port,发送完毕也无需服务器回复ACK

四.网卡绑定

1.有什么用?

1.1实现网络冗余,避免单点故障;

1.2实现负载均衡,提升网络传输能力

1.3两种模式

1)0:balance-rr负载轮询:两网卡(各100MB)可聚合为(200MB)。

2)1:active-backup高可用:两网卡若一条断线,另外线路自动顶替。

2.配置round-robin

2.1eth32网卡配置

[root@node ~]# cp ifcfg-ens32 ifcfg-ens32-bak

[root@node network-scripts]# nmcli con down ccd7892c-552b-4f64-bf95-0e0311315455 &&nmcli con up 152beb06-47c5-c5e8-95a9-385590654382

2.2eth33网卡配置

2.3bond网卡配置

[root@node network-scripts]# nmcli con reload

2.4bond状态检查

2.5网卡删除

[root@node ~]# nmcli con up ens32

3.配置active-backup

3.1eth0网卡配置

3.2eth1网卡配置

3.3bond网卡配置

------补充------bond获取MAC地址有两种方式:

1)从第一个活跃网卡获取MAC地址,其余网卡的MAC地址都使用该地址;

2)适用fail_over_mac参数,bond1适用当前活跃网卡的mac地址,地址随活跃网卡的转换而变。

fail_over_mac参数虚拟机必配,物理机可不配。

3.4状态检查

------拓展------修改配置文件两种方式:

1)nmcli con modify+nmcli con down &&nmcli con up(nmcli仅仅修改保存了配置,激活更改需重新连接)

2)vim+nmcli con reload +nmcli con down &&nmcli con up

3.5bond故障模拟

断开活跃网卡eth1,再次检查发现eth1变为活跃网卡。

尝试ping,一切正常

五.网关/路由

1.什么是路由?

数据包从源主机发送到目标主机过程中,选择最佳路径的过程。(LAN接口收包,转发到WAN接口)

例:你在公司(局域网)要寄快递(发数据)到外地(互联网),你不会自己送,而是交给前台(网关),前台再交给快递公司(路由器)。

你家的 Wi-Fi 路由器,一边连着你的手机/电脑(局域网),一边连着运营商的网络(广域网),它负责把你的上网请求“路由”到互联网。

2.有什么用?

确定最佳路径;

通过网络传输信息。

实现不同地域的主机互联互通。

3.有哪些种类?

3.1主机路由

指明到某台主机应该如何走;destination精确到某一台主机。

3.2网络路由

指明到某类网络应该如何走;destination精确到某一网段主机。

3.3默认路由

匹配不到主机路由和默认路由,走默认路由。

3.4永久路由

route添加的路由为临时,永久生效需在/etc/sysconfig/network-scripts目录下创建route-xxx的网卡名称,添加路由条目。

4.路由配置实践

一台Linux主机能被当成路由前提:

1)至少有两块网卡连接两个不同的桥段;

2)开启路由转发功能/proc/sys/net/ipv4/ip_forward;

3)在Linux主机添加网关指向该服务器。

4.1v1配置
4.1.1eth0配置

4.1.2eth1配置

------注意------1.1.1.1被占用,更换为1.1.1.10

4.1.3网关状态

4.2v2配置
4.2.1eth0配置

4.2.2eth1配置

4.2.3网关状态

4.3v3配置
4.1.1eth0配置

4.1.2eth1配置

4.1.3网关状态

4.4v4配置
4.1.1eth0配置

4.1.2eth1配置

4.1.3网关状态

4.5实践

1)1.1.1.10如何与2.2.2.2进行互通?

数据包只能送到1.1.1.2,而无法送达2.2.2.2,需要添加一条去往2.2.2.0/24网段的路由,从eth1接口发出。

2)1.1.1.10如何与2.2.2.3互通?

数据包只能至vmnet2交换机,将去往2.2.2.0/24网段的数据包交给1.1.1.2主机转发至2.2.2.3主机;v2上有去往2.2.2.0/24网段路由,开启转发。

[root@v2 ~]# echo "1" > /proc/sys/net/ipv4/ip_forward [root@v2 ~]# sysctl -p

[root@v3 ~]# route add -net 1.1.1.0/24 gw 2.2.2.2

3)1.1.1.10如何与3.3.3.3互通?

数据包只能至vmnet2交换机,在v1主机将去往3.3.3.0/24网段的数据包交给1.1.1.2,转发至3.3.3.3主机;

[root@v1 ~]# route add -net 3.3.3.0/24 gw 1.1.1.2

在v2添加至3.3.3.0/24网段的路由,开启转发功能,否则数据包无法转发会被丢弃;

[root@v2 ~]# route add -net 3.3.3.0/24 eth1

数据包至v3主机后,送回还需要在v3主机添加去往1.1.1.0/24网段的数据包由2.2.2.2主机转发。

------补充------

转发功能:核心作用是让该虚拟机能够作为路由器或网关,在不同网络之间转发数据包。本例中为了能在两个网络间传递流量,但两个网络不直接连通,v2充当中间虚拟机(路由)则需开启转发功能。

4)1.1.1.10如何与3.3.3.4互通?

数据包只能从vmnet2交换机至vmnet3,在v1主机上将去往3.3.3.0/24网段的数据交给1.1.1.2转发至3.3.3.4;

[root@v1 ~]# route add -net 3.3.3.0/24 gw 1.1.1.2

在v2开启转发功能,添加3.3.3.0/24网段的路由,由2.2.2.3转发至3.3.3.4;

[root@v2 ~]# route add -net 3.3.3.0/24 gw 2.2.2.3

在v3开启转发功能;

[root@v3 ~]# echo "1" > /proc/sys/net/ipv4/ip_forward [root@v3 ~]# sysctl -p

v4将数据包送回还需要在v4主机添加至1.1.1.0/24网段的数据包由3.3.3.3主机转发。

------最后的最后------如何与4.4.4.4互通?

[root@v2 ~]# route add -net 4.4.4.0/24 gw 2.2.2.3

[root@v3 ~]# route add -net 4.4.4.0/24 eth1

至此:1.1.1.10联通4.4.4.4。

所有路由如下:

5)如何优化?

以v1为例,除了第一个路由条目外,其他路由条目都需要由1.1.1.2转发,故配置默认路由。

1>恢复至最初路由;

2>配置默认路由

[root@v1 ~]# route add default gw 1.1.1.2

其他机器自行优化,祝你顺利。(实在配不出来文末附后续......^.^)------但建议自己个尝试!!!!

附录:

无法连接到官方镜像源

2024年6月30日起,CentOS 7 正式停止维护,官方镜像源已关闭,因此 mirrorlist.centos.org 不再提供服务。

1.备份原有repo文件

2.下载新的 CentOS-Base.repo

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

or

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

3.清理缓存并重建


修改主机名:hostnamectl set-hostname xx +bash

接后续:

v2:

[root@v4 ~]# route add -net 2.2.2.0/24 gw 3.3.3.3

v3:

v4:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

my一阁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值