数据库运维
记录DBA学习成长历程

第12章:计算机网络基础

文章目录

1. 运维基础网络学习说明

高级网络工程师:管理城市或者工业园区网络通讯 
交换 路由是什么? 
网络通讯的原理? 
DNS? 
ARP? 
IP地址 192.168.1.1000?
自学地址:https://bbs.hh010.com/

 

2.  什么是网络

实现主机之间通讯交流

3. 主机之间通讯交流

—3.1 两台主机之间通讯交流

1)实现主机之间通讯需要有传输介质
2)实现主机之间通讯需要有网卡设备
   网卡设备作用
     a.可以将二进制信息转换为高低电压信息 调制过程 
     b.可以将高低电压信息转换为二进制信息 解调过程
3)实现主机之间通讯需要有协商过程  
100Mbps==其中ps表示每秒钟传输多少bit(01二进制信息)的数据,就是每秒种传输100M个bit == 100000k个bit == 100000000个bit  
0 一个bit 
1 一个bit   
00 两个bit  
11 两个bit  
网络中传输数据的最小单位bit,1bit=1/8Byte,100M宽带100Mb/8=12.5MB,下载速率接近于10MB,实际有2M  
系统中存储数据的最小单位Byte,1Byte=8bit

—3.2 多台主机之间进行通讯

1)需要利用交换机: 实现局域网内多台主机之间的通讯
2)发数据信息需要有数据包结构
   目标信息+源信息(mac)+数据信息==基本的数据包结构
3)在一个局域网环境中, 利用mac(物理地址)地址标识主机身份信息
   物理地址是全球唯一的, 不能出现重复情况
   利用十六进制信息进行表示 0 1 2 ... 9 A B C D E F 
4)利用交换机进行通讯需要借助广播方式
交换网络缺点: 当交换网络主机数量过多, 会产生广播风暴问题, 导致影响主机性能

—3.3 多个局域网(交换网络)之间如何实现通讯

1)需要利用路由器: 实现局域网之间主机通讯, 并且可以隔离广播信息
2)发数据信息需要有数据包结构
   目标信息+源信息(IP)+数据信息==基本的数据包结构 
3)在多个局域网环境中, 利用IP(逻辑地址)地址标识主机身份信息
   逻辑地址是全球唯一的,不能出现重复情况???
   利用十进制信息进行标识  
4)利用路由器查询路由表信息进行判断
   实现不同局域网之间可以经过路由器通讯, 相同局域网数据经过路由器会进行隔离
5)需要借助路由协议
  a.静态路由协议: 手动在路由表中添加路由条目信息 
    优点: 通讯效率较高
    缺点: 操作配置复杂度较高
  b.动态路由协议: 自动在路由表中生成路由条目信息
    优点: 操作配置简单方便
    缺点: 路由条目学习过程(路由收敛过程)会耗费时间, 造成通讯效率较低
6) 什么是网关: 主机需要将数据发送到其它局域网的必经之路
   当访问外网不通的时候, 可以先对网关地址连接进行测试

—3.4 作业

01. 下载网络模拟器 Cisco Packet Tracer 进行安装 
02. 如何进行静态路由配置
https://www.cnblogs.com/liuding/p/8038659.html
03. 如何进行动态路由配置
https://jingyan.baidu.com/article/ac6a9a5e1493532b653eacb6.html
04. 三次握手 四次挥手 

4. 静态路由实践配置说明

小规模网络 配置通讯效率较高
第一个历程: 进行网络结构规划--主机地址
局域网01 PC1: 192.168.1.10 
局域网02 PC2: 192.168.2.20
局域网03 PC3: 192.168.3.30

第二个历程: 进行网络结构规划--路由器
局域网01 R01: f0/0-192.168.1.254 s2/0-192.168.12.1 
局域网02 R02: f0/0-192.168.2.254 s2/0-192.168.12.2 s3/0-192.168.23.2
局域网03 R03: f0/0-192.168.3.254 s2/0-192.168.23.3
对路由器接口地址进行配置:
网络设备配置中有模式概念: 思科
1) 显示大于号信息: 用户模式 简单查看工作 enable/ctrl+z 切换到特权模式
2) 显示井号信息: 特权模式 复杂查看工作 configure terminal -- conf t 
3) 显示括号config信息: 配置模式 进行设备配置 interface f0/0(int f0/0)
4) 显示括号config-if信息: 接口模式 对接口进行配置
   配置接口地址:
   ip address 192.168.1.254 255.255.255.0
   no shutdown
   思科设备常用查看命令:
   show run --- 检查设备的所有配置信息
   show ip interface brief --- 检查接口配置信息
   show ip route --- 检查路由表信息
--------------------------------------------------
   华为或H3C
   display cu
-----------------------------------------------------
局域网01
Router>enable
Router#conf t
Router(config)#int f0/0
Router(config-if)#ip address 192.168.1.254 255.255.255.0
Router(config-if)#no shutdown
-------------------------------------------
Router>enable
Router#conf t
Router(config)#int s2/0
Router(config-if)#ip address 192.168.12.1 255.255.255.0
Router(config-if)#no shutdown
局域网02
Router>enable
Router#conf t
Router(config)#int f0/0
Router(config-if)#ip address 192.168.2.254 255.255.255.0
Router(config-if)#no shutdown
-------------------------------------------
Router>enable
Router#conf t
Router(config)#int s2/0
Router(config-if)#ip address 192.168.12.2 255.255.255.0
Router(config-if)#no shutdown
-------------------------------------------
Router>enable
Router#conf t
Router(config)#int s3/0
Router(config-if)#ip address 192.168.23.2 255.255.255.0
Router(config-if)#no shutdown
局域网03
Router>enable
Router#show run
Router#conf t
Router(config)#int f0/0
Router(config-if)#ip address 192.168.3.254 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#^Z
Router#show ip interface brief
-------------------------------------------
Router>enable
Router#show run
Router#conf t
Router(config)#int s2/0
Router(config-if)#ip address 192.168.23.3 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#^Z
Router#show ip interface brief

第三个历程: 配置静态路由信息
主机01-主机02网段之间互通
R1: ip route 192.168.2.0 255.255.255.0 192.168.12.2(数据包发送的下一跳)
R2: ip route 192.168.1.0 255.255.255.0 192.168.12.1(数据包发送的下一跳)

主机02-主机03网段之间互通
R2: ip route 192.168.3.0 255.255.255.0 192.168.23.3
R3: ip route 192.168.2.0 255.255.255.0 192.168.23.2

主机01-主机03网段之间互通
R1: ip route 192.168.3.0 255.255.255.0 192.168.12.2
R3: ip route 192.168.1.0 255.255.255.0 192.168.23.2

5. 动态路由实践配置说明

大规模网络 配置以及调整更加灵活
第一个历程: 将静态路由信息进行清除
R1: no ip route 192.168.2.0 255.255.255.0 192.168.12.2
R1: no ip route 192.168.3.0 255.255.255.0 192.168.12.2

R2: no ip route 192.168.1.0 255.255.255.0 192.168.12.1
R2: no ip route 192.168.3.0 255.255.255.0 192.168.23.3

R3: no ip route 192.168.2.0 255.255.255.0 192.168.23.2
R3: no ip route 192.168.1.0 255.255.255.0 192.168.23.2

第二个历程: 配置动态路由--RIP
R1上配置动态路由协议:
router rip
network 192.168.1.0
network 192.168.12.0

R2上配置动态路由协议:
router rip
network 192.168.2.0
network 192.168.12.0
network 192.168.23.0

R3上配置动态路由协议:
router rip
network 192.168.3.0
network 192.168.23.0

6. 静态默认路由实践配置说明

第一个历程: 动态路由信息进行删除
在R1 R2 R3路由器上快速删除动态路由
no router rip

第二个历程: 配置路由协议
R2上配置好路由信息: 运营商管理网络设备
R2: ip route 192.168.1.0 255.255.255.0 192.168.12.1
R2: ip route 192.168.3.0 255.255.255.0 192.168.23.3

R1上配置好静态默认路由: 用户主机或服务器连接路由器
ip route 0.0.0.0 0.0.0.0 192.168.12.2

R3上配置好静态默认路由: 用户主机或服务器连接路由器
ip route 0.0.0.0 0.0.0.0 192.168.23.2

补充: linux系统中查看路由表方式
[root@linux ~]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.0.0.254 0.0.0.0 UG 0 0 0 eth0
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
[root@linux ~]# ip route show
default via 10.0.0.254 dev eth0 
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.201 

7. 网络架构模型说明

—7.1 物理的架构模型(网络拓扑)

划分层次
1)核心层: 和外网进行互联(和运营上对接) 要有冗余能力
2)汇聚层: 对接入数据信息进行汇总 可以对流量进行访问控制 有冗余能力
3)接入层: 和终端设备互联

—7.2 逻辑的架构模型

OSI7层模型:
1)ISO国际标准化组织
2)定义一些标准规范
3)层次模型有什么:由高到低
应用层: 数据--电影1G
表示层: 加密/解密 压缩处理/解压缩  
会话层: 建立 维护会话 ??? A - B
传输层: 分段 重组
网络层: 路由协议 负责将不同网络中的数据进行传输--路由器-3层设备 
数据链路层: 负责将同一局域网中不同主机的数据进行传输--交换机-2层设备
物理层: 定义一些物理连接介质的标准 网线 光纤

8.TCP/UDP协议说明

TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的 可靠的、基于字节流的传输层通信协议
UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是一种无连接的传输层协议

TCP 传输控制协议 面向连接的协议(同步传输) 可靠传输协议 传输效率低 mail
UDP 用户报文协议 无连接协议 (异步传输) 不可靠传输协议 传输效率高 视频(帧) 优酷 爱奇艺

系统中: 
异步传输数据: 类似离线传输 不需要进行确认 
优点: 传输效率较高 
缺点: 安全性不高

同步传输数据: 类似在线传输 需要进行确认
优点: 安全性高
缺点: 传输效率较低

QQ在线传输: TCP A主机 --- B主机 首先局域网之间是否能通讯 其次走互联网传输数据

QQ离线传输: TCP A主机 --- B主机 首先将数据上传到腾讯存储服务器中 腾讯管理服务器判断B主机是否上线 
判断上线成功, 将存储服务器数据进行发送 存储服务器保存数据(7天) 

9. TCP协议中重要原理

—9.1  TCP三次握手过程 -- 完成网络连接建立

——9.1.1 TCP报文结构

a 源端口地址 返回数据包目标端口地址 
b 目标端口地址 要和服务端哪个网络服务建立连接
端口的数值范围: 1-65535 是通过报文结构获知的
根据报文结构 源端口和目标端口各占用16个bit
公式: 2的n次方 n占用了多少比特
占用了1bit 
端口范围: 0 1 2种 2的1次方=2 0-1 
占用了2bit
端口范围: 00(0) 01(1) 10(2) 11(3) 4种 2的2次方=4 0-3 
占用了3bit
端口范围: 000(0) 001(1) 010(2) 011(3) 100(4) 101(5) 110(6) 111(7) 8种 2的3次方=8 0-7
占用了16bit
端口范围: 2的16次方=65536 0-65535 --- 1-65535 
PS: 一般0号端口不被使用

c Sequence Number(序列号)
d Acknowledgement Number(确认号)

——9.1.2 特殊6bit作为报文结构中的控制位

syn(连接) --- 请求建立连接控制字段
ack(确认) --- 表示确认控制字段
fin(断开) --- 请求断开连接控制字段
说明: 控制字段数值置为1表示控制功能开启 默认为0

——9.1.3 三次握手详细过程

第一次握手: 发送TCP数据报文 客户端 -- 服务端
a TCP数据报文中,需要将syn控制字段改为1
b TCP数据报文中,需要将seq序列号信息发出 seq=x
第二次握手: 发送TCP数据报文 服务端 -- 客户端
a TCP数据报文中,需要将ack控制字段改为1
b TCP数据报文中,同时将syn控制字段改为1
c TCP数据报文中,同时将ack确认号信息发出 ack=x+1
d TCP数据报文中,同时将seq序列号信息发出 seq=y
第三次握手: 发送TCP数据报文 客户端 -- 服务端
a TCP数据报文中,需要将ack控制字段改为1 
b TCP数据报文中,同时将ack确认号信息发出 ack=y+1
c TCP数据报文中,同时将seq序列号信息发出 seq=x+1

—9.2  TCP四次挥手过程 -- 完成网络连接断开

第一次挥手: 发送TCP数据报文 客户端 -- 服务端
a TCP数据报文中, 需要将fin控制字段改为1
b TCP数据报文中, 同时将ack控制字段改为1
也包含seq和ack确认号信息
第二次挥手: 发送TCP数据报文 服务端 -- 客户端
a TCP数据报文中, 需要将ack控制字段改为1 
第三次挥手: 发送TCP数据报文 服务端 -- 客户端 
a TCP数据报文中, 需要将ack控制字段改为1 
b TCP数据报文中, 同时将fin控制字段改为1
第四次挥手: 发送TCP数据报文 客户端 -- 服务端
a TCP数据报文中, 需要将ack控制字段改为1

扩展: 如何抓取网络数据包(抓包软件) 
windows: Wireshark
linux: tcpdump命令

10.  TCP11种状态集转换(了解 -- 架构层面)

—10.1 说明

1)以后可以更好排查系统网络问题
2)以后学习网络编程会有帮助

—10.2 TCP三次握手过程: 服务端和客户端状态变化(5种状态变化)

第一历程: 初始状态信息
客户端状态为: closed
服务端状态为: closed

第二历程: 服务端开启相应服务
服务端状态为: closed -- LISTEN

第三历程: 发送建立连接请求(客户端) == 三次握手第一次
客户端发送syn信息
客户端状态为: closed -- syn_sent

第四历程: 接收建立连接请求(服务端) == 三次握手第二次
服务端接受syn信息, 发送确认以及请求建立连接信息(ack syn)
服务端状态为: LISTEN -- syn_rcvd

第五历程: 发送最后确认信息(客户端) == 三次握手第三次
客户端发送ack信息
客户端状态为: syn_sent -- established

第六历程: 接收最后确认信息(服务端) 
服务端接收ack信息
服务端状态为: syn_rcvd -- established
结论: 只有服务端和客户端都统一处于established连接建立状态, 才能正常传输数据信息

—10.3 TCP四次挥手过程: 服务端和客户端状态变化(5种状态变化)

第一个历程: 初始状态信息
客户端状态为: established
服务端状态为: established

第二个历程: 发送断开连接请求(客户端) == 四次挥手第一次
客户端发送fin请求断开连接字段
客户端状态为: established -- fin_wait1

第三个历程: 接收断开连接请求(服务端) == 四次挥手第二次
服务端接受fin请求断开连接字段 发出确认信息(ack=1)
服务端状态为: established -- close_wait

第四个历程: 接收确认断开信息(客户端)
客户端接受服务端发出的确认信息(ack=1)
客户端状态为: fin_wait1 -- fin_wait2

第五个历程: 发送断开连接请求(服务端) == 四次挥手第三次
服务端发送fin请求断开连接字段 同时还会再次发送确认字段
服务端状态为: close_wait -- last_ack

第六个历程: 接收断开连接请求(客户端) 发送最后确认信息 == 四次挥手第四次
客户端接收断开连接请求 同时发送最后确认信息ack=1 
客户端状态为: fin_wait2 -- time_wait (等时间 60s 90s 120s???)

第七个历程: 接收最后确认信息(服务端)
服务端状态为: last_ack -- closed

第八个历程: 等待时间结束 
客户端状态为: time_wait -- closed

—10.4 问题1: 为什么断开过程是四次? 断开过程可以是三次吗

生活中: 物流公司oldboy
PS: OSI7层模型 == 公司组织架构 
四次断开过程
阿里巴巴(马云) --- 物流公司oldboy OSI会话层
主管(终止合作) 主管 --- 询问老板 传输层TCP---会话层
<-- 确认 主管 --- 询问老板 --- 没有纠纷(服务端报文是否发送完毕) -- 确认断开
<-- 断开 主管

三次连接过程
阿里巴巴(马云) --- 物流公司oldboy OSI会话层
主管(建立合作) 主管(listen)
<--确认 连接

—10.5 问题2: 为什么要有time_wait状态

如何保证数据传输可靠性? 利用ack状态信息
1) 避免last_ack状态信息在系统中产生堆积
2) 在time_wait等待状态不停的发送ack信息
3) 等待时间结束, 自动有time_wait---closed

补充:
1) 当客户端fin_wait1状态直接接收到(fin ack信息) 
2) 客户端状态: fin_wait1 -- closing(替换了fin_wait2)
3) 客户端状态: closing(替换了fin_wait2) --- time_wait --- closed

11. 作业

01. tcpdump命令参数和使用方法总结
02. 掌握服务端断开连接的过程
03. 网络两个重要原理(DNS解析原理 ARP访问原理) 
04. IP地址子网划分(交换机 -vlan)
05. 虚拟主机访问外网 以及 虚拟主机和windows主机互访原理
06. 系统路由配置 ***

12. 网络的两个重要原理概念

—12.1  DNS是什么

DNS解析原理: 域名 -- IP对应关系
域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射

—12.2 如何得知域名和IP地址的映射关系

ping www.baidu.com
dig www.wuxingge.org +trace

—12.3 完整解析过程

1) 在本地查找解析记录 (缓存 hosts)
2) 在LDNS服务器上进行查找 --- 递归查找
3) 在根域名服务器查找 --- 迭代查找
在顶级域名服务器查找
在二级域名服务器查找

SSH -- 22 
TELNET -- 23
POP3 -- 110
smtp -- 25 
DNS -- 53
HTTP -- 80 
HTTPS -- 443
远程服务 -- 3389

——12.3.1 ARP访问原理

IP --- mac对应关系
1) 可以用于绘制ARP表和mac表西信息
2) 有效避免在交换网络中通讯产生大量广播

——12.3.2 ARP协议类型

动态类型: 实时(定期)更新arp表和mac表信息 --- 办公网站
静态类型: 手动方式向arp表和mac表中添加信息 --- 机房网络

13.  IP地址详细讲解说明

—13.1  IP报文结构信息

00100010. 00011100. 00110000. 01010000 --- 二进制 转换 十进制
0-255 

—13.2 二进制和十进制如何快速转换

00100110 十进制? 00100000(32)+00000100(4)+00000010(2)=38 求和
176 二进制? 求差运算条件: 必须大于等于相应二进制数的位值

1 0 1 1 0 0 0 0 
128 64 32 16 8 4 2 1

176 - 128 = 48
48 - 32 = 16
16 - 16 = 0

14. IP地址分类说明(IPv6 128)

—14.1 根据IP地址数值范围

A类地址 B类地址 C类地址 D E(预留)
IP地址组成=网络位信息(网段信息)+主机地址
网络信息 主机信息
邮寄包裹== 北京 昌平沙河汇得商厦4层403 收包裹 
上海 浦东新区创智粮仓3层304
深圳 
网络信息不能随意改动
主机信息可以随意变化

—14.2  根据IP地址用途划分(避免IP地址枯竭)

私网地址: 可以重复利用 身份证: 110xxx 私网地址信息不能出现在公网路由器的路由表中 
公网地址: 不可以重复使用 护照: 全球唯一
10.0.0.0/8 (10.0.0.0 到 10.255.255.255)
172.16.0.0/16 (172.16.0.0 到 172.31.255.255)
192.168.0.0/24 (192.168.0.0 到 192.168.255.255)
169.254.0.0/16 (169.254.0.0 到 169.254.255.255)*
当客户端无法通过DHCP获得IP地址信息时,系统会给网卡自动分配一个169.254网段的地址信息
NAT技术: 实现公网地址和私网地址映射 实现端口映射

一个网段中可以有多少个主机
192.168.12.0 网段 有多少主机: 2的n次方 - 3 == 2的8次方 - 3 = 256 - 2 - 1 = 253
n 表示可以使用的主机位 c类地址可以有几个主机位 == 8个
-3 去掉广播地址 去掉网段地址 去掉网关地址信息

15. 作业

利用VLSM(可变长子网掩码)技术可以调整主机位数量
 虚拟主机访问外网原理 windows主机和虚拟主机互访原理
系统路由配置方法
01. 熟悉DNS解析过程 进行画图复述
02. 熟悉ARP协议原理 进行画图复述
03. 调整系统模板机(克隆)

赞(1)
MySQL学习笔记 » 第12章:计算机网络基础