19、Linux-网络基础知识

1.网络的通讯原理

1.实现数据传输的条件
01. 主机之间需要有传输介质(网线 光纤线 wifi)
02. 主机上需要有网卡设备
调制过程:将数字(数字信号)二进制信息转换为高低电压(模拟信号)
解调过程:将高低电压转换为二进制信息
03. 不同主机网卡速率不一致,需要进行协商过程(自动协商)
100Mbps == 100 000kbps == 100 000 000 b 每秒钟 xxns 1 0 bit
A主机 100Mbps 协商方法(木桶原理)
B主机 1Gbps

网络:传递数据信息 bit 1bit=1/8B 100Mb 迅雷下载电影10G == 100/8=12+MB
磁盘:数据信息存储 Byte 1B=8bit
2.如何实现一个网络中多台主机通讯
交换机:实现在一个局域网环境中,实现多台主机可以互联通讯的设备
地址标识:实现多台主机通讯,MAC地址(网卡的身份证号码 物理地址)
特点:全球唯一
PS:如何实现正确的网络通讯,数据的通讯过程一定是有去有回的
利用交换机进行数据通讯时,某些时刻会产生广播信息
问题:交换机容易产生大量广播,影响主机性能

如何实现不同局域网环境中多台主机通讯
路由器:实现不同局域网主机之间的通讯(实现跨网段进行通讯)
地址标识:实现多台主机通讯,IP地址(身份证姓名 逻辑地址)
IP地址:网段地址 + 主机地址 城市省份地址 + 街道房间信息

3.实践操作配置网络设备(了解即可,网络设备就让网络工程师来配置吧,我们只关心Linux的网络)
路由设备:
准备条件:
01. 需要部署安装网络模拟器 思科模拟器
02. 规划网络设备连接图

03. 简单的网络配置命令
enable 将用户模式转换为特权模式
conf t 将特权模式转换为配置模式
interface g0/0 进入到指定接口配置模式
ip address 10.0.1.254 255.255.255.0 配置接口地址
no shutdown 激活网卡
show ip int br 查看IP地址配置信息

04. 路由的几种配置方法以及区别
静态路由信息(手工添加路由表条目信息)
ip route 去往的目标网段信息 去往目标网段掩码信息 去往目标网段下一跳地址
R1(第一个路由器):
ip route 10.0.2.0 255.255.255.0 10.0.12.2
R2:
ip route 10.0.2.0 255.255.255.0 10.0.23.3
ip route 10.0.1.0 255.255.255.0 10.0.12.1
R3:
ip route 10.0.1.0 255.255.255.0 10.0.23.2

动态路由信息(rip(简单) eigrp ospf 运营商is-is bgp)
互相学习的过程
R1:rip路由
router rip (语言)
network 10.0.1.0
network 10.0.12.0
R2:rip路由
router rip (语言)
network 10.0.12.0
network 10.0.23.0
R3:rip路由
router rip (语言)
network 10.0.23.0
network 10.0.2.0

默认路由信息
R1:
ip route 10.0.2.0 255.255.255.0 10.0.12.2
ip route 10.0.3.0 255.255.255.0 10.0.12.2
ip route 10.0.4.0 255.255.255.0 10.0.12.2
默认路由
ip route 0.0.0.0 0.0.0.0 10.0.12.2

路由表中如何有路由信息
01. 自动发现直连路由信息
02. 配置静态路由

2.网络架构设计方法

1.实现数据传输的条件
核心层:
1. 实现和外网运营商线路连接
2. 考虑网络设备冗余能力

汇聚层
1. 实现网络设备连接汇聚
2. 实现网络通讯安全策略控制 -- ACL
3. 考虑网络设备冗余能力

接入层
1. 实现终端设备连接网络(电脑 打印机 电话)

3.网络OSI7层模型(7层模型组成)

作用:定义网络通讯标准规范 ISO国际标准认证组织 ISO9000
思科设备--EIGRP(语言) HW设备---RIP
模型组成:
应用层:应用程序的协议和接口规范 HTTP SSH(远程连接)
表示层:将数据进行转码 加密 压缩
会话层:主要负责建立或终止会话
传输层:确保网络连接通讯过程是可靠的 TCP协议 UDP协议
网络层:确保不同网段主机之间可以传递数据 路由器(3层设备)
数据链路层:确保同一局域网主机之间可以传递数据 交换机(2层设备)
物理层:定义一些物理设备设计标准 网口 网线 光纤 光纤模块

4.网络数据传递过程

数据封装过程
数据 应用层 表示层 会话层
TCP头部信息 (源端口/目标端口3306) +数据 传输层
IP头部信息 (源IP/目标IP) +TCP头部信息 +数据 网络层
MAC头部信息 (源MAC/目标MAC) +IP头部信息 +TCP头部信息 +数据 数据链路层
bit流 101010101 物理层
数据解封装过程
bit流 101010101 物理层
MAC头部信息 (源MAC/目标MAC) +IP头部信息 +TCP头部信息 +数据 数据链路层
IP头部信息 (源IP/目标IP) +TCP头部信息 +数据 网络层
TCP头部信息 (源端口/目标端口3306) +数据 传输层
数据 应用层 表示层 会话层
补充:源端口取值范围
cat /proc/sys/net/ipv4/ip_local_port_range

5.TCP/IP模型

TCP/IP模型结构(OSI7层模型简化版)

两个重要协议:
TCP:传输控制协议 面向连接的协议
QQ:在线发送文件(TCP) 局域网线路传输
优势:数据传输安全可靠
劣势:传输效率低
应用:文件传输 邮件服务 页面网站服务

UDP:用户报文协议 无连接的协议
QQ:离线发送文件 (TCP) A ---互联网--腾讯存储服务器(7天)---互联网---B
优势:传输效率高
劣势:传输数据不可靠
应用:视频播放(帧) 语音通话
补充:TCP报文结构 TCP头部 + data
1bit 多少端口 0 1 2的1次方=2
2bit 多少端口 00 01 10 11 0 1 2 3 2的2次方=4
3bit 多少端口 000 001 010 011 100 101 110 111 0 1 2 3 4 5 6 7 2的3次方=8
16bit 多少端口 2的16次方=65536 1~65535 0
控制位:
syn 请求建立连接控制位 1
ack 连接确认控制位 1
fin 请求断开连接控制位 1
客户端(1万) --- 服务端(1万)(连接的限制--负载过高w)

6.TCP三次握手四次挥手及11种状态转换

1.TCP三次握手过程
客户端 发送请求建立连接数据包 syn=1 seq=x
服务端 发送确认连接数据包 syn=1 ack=1 ack=x+1 seq=y
客户端 发送确认连接数据包 ack=1 seq=x+1 ack=y+1TCP

2.四次挥手过程
客户端 发送请求断开连接数据包 fin=1 ack=1
服务端 发送确认连接数据包 ack=1
服务端 发送确认断开连接数据包 fin=1 ack=1
客户端 发送确认连接数据包 ack=1
3.三次握手对应的5种状态变化
服务端:closed
第一步:创建socket信息 closed -- listen
第二步:接收syn 发送syn和ack listen -- syn_rcvd
第三步:接收ack syn_rcvd -- established
客户端:closed
第一步:发送syn信息(第一次握手过程) closed -- syn_sent
第二步:接收syn/ack 发送ack syn_sent -- established

4.四次挥手对应的6种状态变化
服务端:established
第一步:接收fin信息 发送ack established -- close_wait
第二步:发送fin和ack close_wait -- last_ack
第三步:接收ack last_ack -- closed
客户端:established
第一步:发送fin信息(第一次挥手) established -- fin_wait1
第二步:接收ack信息 fin_wait1 -- fin_wait2
第三步:接收fin和ack,发送ack fin_wait2 -- time_wait (90秒 120秒)
第四步:等待一段时间 time_wait -- closed
特殊情况
fin_wait1 直接接收了fin 和 ack信息 fin_wait1 -- closing


PS:TCP连接状态没有time_wait,出现问题?
使并发连接数会持续升高

7.网络重要协议原理

1.DNS协议原理
实现建立 域名 -- IP
DNS:域名解析系统 名称---IP

解析过程:
01. 现在本地查找域名解析记录(缓存 hosts)
C:\Windows\System32\drivers\etc\hosts
02. 向LDNS服务器发出域名查找请求
03. LDNS服务器向根域名服务器发送请求
04. 根域名服务器会告知顶级域名服务器信息
05. LDNS服务器向顶级域名服务器发送请求
06. 顶级域名服务器会告知二级域名服务器信息
07. LDNS服务器向二级域名服务器发送请求
08. 二级域名服务器直接告知解析记录信息(A记录信息)
09. LDNS接收到解析记录并进行保存,将记录发送给相应主机
10. 主机接收到解析记录并进行保存,使用解析后的地址访问网站服务器

相关命令:
dig www.baidu.com +trace##查看详细的DNS解析过程
host www.baidu.com###查看解析地址###ping也可以
nslookup www.baidu.com###查看解析的ip地址同时可以查看cname
2.ARP协议原理
实现建立 IP --- mac 两台主机直接通讯 多台主机直接通讯

协议原理过程:
01.发送广播信息(发送ARP请求),获取相应主机MAC地址
02.相应主机进行响应(发送ARP响应),完善arp表(IP--mac)
03.减少广播包的产生,可以尽量在局域网中使用单播方式进行通讯

相关命令:
arp -n##查看arp缓存表
arp -d IP###删除某个IP的缓存

8.IP地址概念

IP地址作用:实现主机身份标识,用于网络通讯
IP地址组成:网段地址(省份区域) + 主机地址(街道小区房间)
IP地址表示形式:IP报文结构--地址占用32位

9.IP地址的分类(IPv4 32bit IPv6 128bit)

第一种分类:按照地址范围进行分类
A类 B类 C类 D类 E类 -- C类
第二种分类:按照地址用途进行分类
公网地址:全球唯一 192.168.1.1
私网地址:重复使用(不同局域网可以重复使用)
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)* 系统分配地址
PS:私网地址网段信息不能出现在公网路由器的路由表中
NAT技术:实现私网地址和公网地址的映射 多个公网地址池
第三种分类:按照地址通讯方式分类
单播通讯:单播地址 1 vs 1
广播通讯:广播地址 1 vs n 局域网 所有主机 主机位全为1 广播地址 192.168.20.255
172.16.255.255
主机位全为0 网段地址 192.168.20.0
公式:一个网段中到底有多少个主机
192.168.1.0 C类地址 网段中可以有多少个地址
2的n次方 - 3 == 2的8次方 - 3 = 256 - 3 = 253
n表示网段中有多少个主机位
-3 广播地址 网段地址 网关地址(192.168.1.1 192.168.1.254)
组播通讯:组播地址(D类) 1 vs n 局域网 部分主机

10.子网的划分方法

A B C
172.16.1.0 255.0.0.0 子网掩码
掩码:标识地址类型 179.16.1.1
A: 255.0.0.0 \8
B: 255.255.0.0 \16
C: 255.255.255.0 \24 172.16.0.0\16 公网地址网段
2的16次方 -3 == 65536 -3 = 65533 10台服务器 65523多于
局域网 --- 6万多个主机 -- 广播
6万多台主机需要访问外网 --- 路由器

划分子网原因:

01.避免地址的浪费 避免浪费 100地址网段 100地址网段

02会产生广播风暴 减小广播问题

03路由器负载压力过大 减小路由器负载压力

11.Linux系统路由配置

静态网段路由配置:
centos6:net-tools
route
route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.1.100
route del -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.1.100

centos7:iproute(推荐)
ip route add 192.168.10.0/24 via(经由) 192.168.1.100
ip route del 192.168.10.0/24 via(经由) 192.168.1.100
静态主机路由配置:
centos6:net-tools route add -host 223.5.5.5/32 gw 10.0.0.254
centos7:iproute(推荐)
ip route add 223.5.5.5/32 via 10.0.0.254
静态默认路由:
centos6:net-tools
route add default gw 10.0.0.254
centos7:iproute(推荐)
ip route add default via 10.0.0.254

12.Linux的网卡别名(辅助网卡)

ifconfig eth0:0 10.0.0.200/24 up
ifconfig eth0:0 down
ip addr add 10.0.0.119/24 dev ens33 label eth0:1
ip addr del 10.0.0.119/24 dev ens33 label eth0:1

永久设置别名:cat /etc/sysconfig/network-scripts/ifcfg-ens33:0
NAME=ens33:0
DEVICE=ens33:0
IPADDR=10.0.0.200
PREFIX=24
网卡配置文件说明:
cat /etc/sysconfig/networkscripts/ifcfg-ens33
TYPE=Ethernet #网络类型 互联网(以太网)
BOOTPROTO=none #网卡获取ip方式, dhcp(自动获取),none/static 固定ip地址
ONBOOT=yes #网卡开机的时候(或重启网络的时候)是否自启动
NAME=ens33 #网卡名字
DEVICE=ens33 #设备名称
UUID=b5ac98d2-6350-4aae-bdec-08455218d340 #设备统一识别符
HWADDR=xxxx #Hard Ware Addresss 硬件地址 mac地址
IPADDR=10.0.0.100 #ip地址
PREFIX=24 #子网掩码#NETMASK=255.255.255.0
GATEWAY=10.0.0.2 #默认网关 给可以访问公网网卡设置
DNS1=223.5.5.5 #配置当前系统使用的DNS服务的地址
DNS2=223.6.6.6
PEERDNS=yes # 网卡配置文件中的DNS是否优先于(覆盖) /etc/resolv.conf 中的DNS
IPV6INIT=no # ipv6 功能是否开启
重启单个网卡命令:
ifdown eth0 && ifup eth0
探测端口通不通的命令:
nc -z 10.0.0.100 2234
探测路由的命令
traceroute -I -n www.baidu.com ###windows系统使用tracert -d

原文参考:https://www.buyao007.icu/

posted @ 2022-06-01 23:52  kirin(麒麟)  阅读(295)  评论(0编辑  收藏  举报
Δ