网络设备
实现主机与主机之间通讯
1) 实现通讯必须拥有传输介质
2) 实现通讯必须拥有网卡设备
将二进制信息 转换 电信号信息
将电信号信息 转换 二进制信息
3) 实现通讯必须进行协商过程
协商通讯速率(自适应)
1Gbps == 1Gb 每秒钟传输或介绍数据信息
1Gb=1024Mb=1024*1024Kb=1024*1024*1024bit(1 0)
主机A(说的多) -5类100M 6类1G- 主机B(接收少)
数据单位信息
网络传输数据: bit 1b=1/8B 100Mb ==> 100/8=10.5MB
系统存储数据: Byte 1B=8b
传输介质的距离是多少:
网线传输距离: 100m
光纤传输距离: 单模 距离更远 多模 距离更近
交换机(switch)
实现一个网络内部多个主机通讯需求
1) 在进行数据通讯时, 数据信息前面有地址信息
在交换机上使用mac地址作为通讯地址(物理地址 全球唯一)
2) 在进行数据通讯时, 有时需要使用广播方式通讯
路由器(router)
实现不同网络之间通讯需求
1) 在进行数据通讯时, 数据信息前面有地址信息
在路由器上使用IP地址作为通讯地址 (逻辑地址 ?全球唯一?)
192.168.36. 200
上海市 浦东新区张江创智粮仓307
深圳市 xxx区世外桃源C座404
IP地址组成部分= 网络(网段)地址部分+主机地址信息
2) 在进行数据通讯时, 是需要使用路由表进行通讯
路由器上和交换机连接接口, 可以成为网关接口
路由器上和交换机连接接口地址, 可以成为网关地址
路由器初始配置
1) 配置接口地址
int f0/0
ip add 192.168.67.254 255.255.255.0
no shut
int f1/0
ip add 192.168.65.254 255.255.255.0
no shut
R1 (12.0.0.1) --- (12.0.0.2) R2 (23.0.0.2) -- (23.0.0.3) R3
2) 静态路由配置
第一个里程: 所有设备配置接口地址, 开启所有接口
R1
int f0/0
ip add 192.168.67.254 255.255.255.0
no shut
int f0/1
ip add 12.0.0.1 255.255.255.0
no shut
R2
int f0/0
ip add 12.0.0.2 255.255.255.0
no shut
int S2/0
ip add 23.0.0.2 255.255.255.0
no shut
R3
int S2/0
ip add 23.0.0.3 255.255.255.0
no shut
int f0/0
ip add 192.168.65.254 255.255.255.0
no shut
R1: 手工添加路由:
ip route 192.168.65.0 255.255.255.0 12.0.0.2
R2: 手工添加路由:
ip route 192.168.65.0 255.255.255.0 23.0.0.3
ip route 192.168.67.0 255.255.255.0 12.0.0.1
R3: 手工添加路由:
ip route 192.168.67.0 255.255.255.0 23.0.0.2
3) 动态路由配置
相互学习过程 : 实现路由表中路由信息一致
192.168.10.0 (R1) --- (R2) 192.168.30.0
192.168.20.0 192.168.40.0
192.168.30.0 192.168.10.0
192.168.40.0 192.168.20.0
学习语言-- 学习路由路由协议 (RIP-NA EIGRP OSPF-NP IS-IS BGP-IE)
R1:
router rip
network 12.0.0.0
network 192.168.67.0
R2:
router rip
network 12.0.0.0
network 23.0.0.0
R3:
router rip
network 23.0.0.0
network 192.168.65.0
网络架构层次
1) 核心层: 和外网运营商连接层次 实现连接互联网 路由器
2) 汇聚层: 将接入设备数据包进行汇聚 实现通讯管理(访问控制) 三层交换设备
3) 接入层: 和终端设备了解 实现主机之间通讯 二层交换设备
OSI7层模型
模型组成: 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层
应用层: 产生数据信息 服务
表示层: 加密/解密 压缩/解压缩 分段/整合
会话层: 控制会话是否建立/断开
传输层: 保证数据传输可靠性/数据传输高效性
网络层: 实现不同网络(网段)之间可以将数据进行转发 路由器三层设备
链路层: 实现局域网内主机之间通讯 交换机二层设备
物理层: 将数据包信息二进制信息-电信号/光信号
电信号/光信号-二进制信息数据信息
模型作用:
1) 数据传输封装与解封装过程 关注
· 数据封装过程: 客户端
第一步: 产生通讯数据信息 数据信息(物品) PDU(协议数据单元)
第二步: 传输层封装过程 传输头部信息-数据信息(物品)
第三步: 网络层封装过程 网络头部信息-传输头部信息-数据信息(物品)
第四步: 链路层封装过程 链路层头部信息-网络头部信息-传输头部信息-数据信息(物品)
第五步: 物理层封装过程 将数据转为二进制信息 -- 电信号信息
· 数据解封装过程: 服务端
第一步: 物理层解封装过程 将电信号信息 -- 二进制信息
第二步: 链路层解封装过程 链路层头部信息(目标mac地址 源mac地址)
第三步: 网络层解封装过程 网络层头部信息(目标IP地址 源IP地址)
第四步: 传输层解封装过程 传输层头部信息(目标端口号码 源端口号码)
第五步: 应用层 查看到最终数据信息
网络通讯过程 --- 快递物流过程
发送端: 数据信息(物品书) 接收端: 数据信息(物品书)
数据封装(物流包装) 端口信息(传输层头部) IP地址(网络层头部) MAC(链路层头部)
MAC(链路层头部) : 在一个局域网中有作用 指定目标主机信息
IP地址(网络层头部): 识别目标网络信息 指定目标区域访问
端口信息(传输层头部): 识别哪个服务接收信息 指定哪个班级人员接收
2) 数据互联通讯过程 nginx 关注
第一个里程: 发送端(客户端) 产生数据信息
第二个里程: 对数据信息进行封装过程
第三个里程: 进过路由器会拆解数据包, 根据路由表进行路由
第四个里程: 接收端(服务端) 接收数据信息
第五个里程: 对数据信息进行解封装过程
进行数据包回复响应过程
TCP/IP模型: 4层模型
模型组成: 接入层 网络层(互联网层) 传输层(主机到主机层) 应用层
模型作用:
1) 定义各种网络通讯协议信息
2) 应用层: HTTP* FTP NFS* SMTP SNMP(监控) DHCP DNS 协议=服务
DHCP协议 --> 动态主机配置协议 作用: 自动获取IP地址
DHCP协议原理:
第一个里程: 主机向局域网中发送广播包 获取IP地址
第二个里程: 局域网中DHCP服务器 分配IP地址
配置过程:
a 安装软件服务 dhcp软件程序
b 编写配置文件 地址池信息 192.168.36.100 ~ 192.168.36.200
地址掩码信息 255.255.255.0
网关地址信息 192.168.36.254
DNS地址信息 1.2.4.8 223.5.5.5 114.114.114.114 ***
第三个里程: 主机收到DHCP服务分配地址确认数据包发送
第四个里程: 局域网中DHCP服务器 收到确认信息 调整地址池信息
地址池信息 192.168.36.101 ~ 192.168.36.200
第五个里程: 局域网中DHCP服务器 定期发送IP地址使用确认信息
第六个里程: 主机确认地址是否使用
地址在使用中 自动进行续租
地址未使用中 地址分配给其他主机使用
问题: 局域网中没有DHCP服务, 主机可以获得IP地址吗
会, 获得169.xxx, 系统给主机分配地址
传输层: TCP UDP
TCP(Transmission Control Protocol): 传输控制协议
概述说明: 面向连接网络协议
特点说明: 可靠传输协议 传输过程有确认机制
应用场景: 邮件服务 FTP HTTP
UDP(User Datagram Protocol) : 用户报文协议
概述说明: 无连接网络协议
特点说明: 传输效率较高协议 传输过程验证机制
应用场景: DNS解析 语音 视频
预备知识: TCP报文结构
端口: 1 ~ 65535 2*16次方
源端口:
占用1bit 0 1 0 1 2的1次方 n占用多少个bit
占用2bit 00 01 10 11 0 1 2 3 2的2次方
占用3bit 000 001 010 011 0 1 2 3 2的3次方
100 101 110 111 4 5 6 7
占用16bit 2的16次方 65536 0号端口没有被TCP或者UDP协议使用
1 ~ 1024 含有知名服务端口号码 22 23 80 111 110 21 20
目标端口: 访问服务信息
序列号: 标识拆分后数据包序号信息
确认号: 标识下一次需要发送的数据包确认号信息
控制字段: 6个字段 实现不同控制功能 0功能未开启 1功能开启
SYN: 请求建立连接控制字段
ACK: 数据确认控制字段
FIN: 请求断开连接控制字段
TCP三次握手: 谈恋爱过程
第一次握手过程: 客户端发送信息 发送TCP报文信息(控制字段 syn=1 seq=X)
第二次握手过程: 服务端接收信息 发送TCP报文响应(控制字段 syn=1 ack=1 seq=y ack=x+1)
第三次握手过程: 客户端发送信息 发送TCP报文信息(控制字段 ack=1 seq=x+1 ack=y+1)
TCP四次挥手: 离婚过程
第一次挥手过程: 主动方发送信息 发送TCP报文信息(控制字段 fin=1 ack=1)
第二次挥手过程: 被动方发送信息 发送TCP报文信息(控制字段 ack=1)
第三次挥手过程: 被动方发送信息 发送TCP报文信息(控制字段 fin=1 ack=1)
第四次挥手过程: 主动方发送信息 发送TCP报文信息(控制字段 ack=1)
PS: TCP协议可以保证数据可靠传输
1) 拥有ACK确认控制字段: 保证数据包是否被对端接收
2) 拥有SEQ和ACK字段信息: 确认数据包可以进行拆分/有效重组
TCP十一种状态集转换
实现网络通讯要素
1) 满足物理通讯需求
2) 满足逻辑通讯需求
三次握手状态转换
1) 初始状态信息 客户端(closed) 服务端(closed)
2) 准备状态信息 服务端创建socket 服务端(closed-listen)
3) 握手状态信息 客户端发送syn 客户端(closed-syn_sent)
服务端接收syn 服务端(listen-syn_rcvd)
发送ack syn
客户端接收ack syn 客户端(syn_sent-established)
发送ack
服务端接收ack 服务端(syn_rcvd-established)
四次挥手状态转换
1) 初始状态信息 客户端(established) 服务端(established)
2) 挥手状态信息 主动端发送fin 主机端(established --> fin_wait1)
被动端接收fin 被动端(established --> close_wait)
发送ack
主动端接收ack 主动端(fin_wait1 --> fin_wait2)
被动端发送ack fin 被动端(close_wait --> last_ack)
主动端接收ack fin 主动端(fin_wait2 --> time_wait)
发送ack
被动端接收ack 被动端(last_ack --> closed)
主动端等待2MSL 90s 主动端(time_wait --> closed)
DNS协议原理
DNS: 域名解析系统 域名解析IP地址 利用IP地址访问相应服务器设备 实现网络通讯
原理过程: DNS network crond
1) 本地解析过程
DNS缓存: linux bind / window ipconfig/displaydns
本地hosts文件: etc/hosts
2) 递归查询过程 孩子 -- 借钱 -- 父母(LDNS)
询问DNS服务器(LDNS)
阿里: 223.5.5.5 223.6.6.6
电信: 114.114.114.114
谷歌: 8.8.8.8 了解 迭代
3) 迭代查询过程: 人 -- 借钱(10万) -- 父母(LDNS) --> 朋友 30000
--> 同事 30000
--> 领导 40000
a 询问根域名服务器
b 询问顶级域名服务器
c 询问二级域名服务器
域名和IP地址解析关系(A记录)
ARP协议原理
1) 发送ARP请求数据包(广播方式)
2) 接收ARP响应数据包(获得目标mac地址)
3) 实现局域网通讯每台主机需要构建ARP
4) 交换机上需要构建mac表
IP地址
网络部分+主机部分
IP地址由32位二进制组成 每八位二进制数表示地址 称为点分十进制
按照IP地址范围分类:
A类 B类 C类 D类 E类
按照IP地址用途分类:
公网地址: 公网地址全球唯一 公网地址网段信息可以出现在运营商路由表中
私网地址: 私网地址可以重复 私网地址网段信息不可以出现在运营商路由表中
特殊技术NAT技术: 网络地址映射技术
按照IP通讯方式划分:
单播地址: 主机上配置地址
组播地址: D类地址 实现局域网中部分主机通讯
广播地址: 局域网中所有主机可以接收
主机位全为1地址称为广播地址
主机位全为0地址称为网段地址
网络子网划分(VLSM)
公网地址: B类 172.16.0.0 2的16 - 3 =65532 - 10 = 65522
10台服务器 172.16.0.1 .. 172.16.0.10
1) 网段地址浪费
2) 产生大量广播
3) 增加路由压力
大的网络 172.16.0.0 拆分几个小的网络
1) 避免地址浪费
2) 减少广播产生
3) 降低路由压力
如何进行子网划分
PS: 识别网络类型, 使用掩码实现(32位二进制 每8位为一组)
IP地址信息: 172. 16. 0. 0
掩码地址信息: 11111111 11111111 00000000 00000000
A类地址掩码: 255.0.0.0 /8
B类地址掩码: 255.255.0.0 /16
C类地址掩码: 255.255.255.0 /24
子网数量=2的n次方 n子网位数量
企业网络环境配置
企业办公网环境架构: 路由器 交换机 多个主机设备
路由器: (命令行 图形界面)
· 进行路由或者拨号配置
· DHCP服务配置(地址池范围 子网掩码 网关地址 DNS地址)
交换机:
· 网络vlan(虚拟局域网)信息
vlan配置:
1) 创建vlan
2) 进入接口模式
3) 将接口划分到指定vlan中
扩展说明: 划分vlan
接口有两种模式:
access模式接口直接连接主机
trunk模式直接连接交换机或者路由器
· 安全策略配置
配置ACL: 访问控制 == iptables--> filter表
静态ARP配置:
虚拟主机如何访问外网:
第一个注意点: 虚拟主机网络配置(地址 掩码 网关 DNS) ip a
第二个注意点: 虚拟主机网络模式
第三个注意点: 虚拟主机服务状态 service.msc
第四个注意点: 本地windows主机是否可以访问外网
第五个注意点: 本地windows主机防火墙安全软件
虚拟主机如何远程连接:
第一个注意点: 虚拟主机网络配置(xshell 虚拟主机地址)
第二个注意点: 虚拟主机网卡状态(启动 地址是否正确)
第三个注意点: 初始化虚拟网络编辑器
系统路由配置
centos6: route net-tools软件包
静态默认网关配置: route add default gw 10.0.0.254
route del default gw 10.0.0.254
静态网段路由配置: route add -net 223.5.5.0 netmask 255.255.255.0 gw 10.0.0.254
route del -net 223.5.5.0 netmask 255.255.255.0 gw 10.0.0.254
静态主机路由配置: route add -host 223.5.5.5 gw 10.0.0.254
route del -host 223.5.5.5 gw 10.0.0.254
centos7: ip route iproute软件包
静态默认网关配置: ip route add default via 10.0.0.254
静态网段路由配置: ip route add 223.5.5.0/24 via 10.0.0.254
静态主机路由配置: ip route add 223.5.5.5/32 via 10.0.0.254