网络通讯条件
1) 实现网络通讯必须有传输介质
2) 必须拥有网卡设备
作用1 : 将计算机可以识别二进制信息 转换为传输介质可以识别数据信息
作用2 : 将传输介质上的数据信息进行转换 转换为计算机可以识别二进制信息
3) 通讯速率协商过程
1Gbps == 每秒种传输 1G bit(01)数据包 1G*1024*1024*1024 1073741824
byte == 8bit
bit == 1/8byte
151MB == 151*8= 1208Mb 1000Mbps 约等于 1s
网络常见硬件设备
交换机
作用
实现一个局域网内部之间多台主机的通讯
通讯方式
会采用广播方式进行通讯
地址识别
交换机主要识别MAC地址信息
MAC地址
物理地址, 每个网卡上都拥有的地址, 全球唯一
通讯过程
有效通讯过程必须是有去有回
CSMA/CD
载波监听多路访问技术, 避免广播数据信息产生冲突
路由器
作用说明
实现不同局域网之间网络通讯
通讯方式
识别不同网络信息, 实现通讯
地址识别
路由器主要识别IP地址信息
192.168.10.200
192.168.10 | .200
网络编号(局域网信息) 主机信息(局域网中主机信息)
可以让路由设备识别
通讯过程
路由器通过路由表实现通讯
路由表中的信息 == GPS 地图信息
目标网段信息(不能随意改动)
连接网段主机地址信息可以随意改动
必须具有网关地址信息, 网关(海关)作用: 实现不同网络之间通讯必经之路
配置方法
1) 设备连接配置方法
方式一 : 利用网线连接配置
将网线连接到设备管理接口上(192.168.70.1), 修改本地主机网卡地址(192.168.70.2)
利用浏览器打卡配置页面进行配置
方式二 : 利用console连接配置
配置远程软件为串行接口模式(波特率 9600) --- 连接 --- 命令行配置
2) 设备初始化管理配置
第一步 : 拒绝向导配置
第二步 : 修改主机名称
模式选择:
名称信息> 用户模式 简单查看操作 enable(en)
名称信息# 特权模式 查看详细信息 configure terminal(conf t)
名称信息(config)# 配置模式 接口配置/路由配置
3) 接口地址配置
int f0/0
ip address 192.168.10.1 255.255.255.0
no shut
确认查看 :
show ip route
路由协议
等价于通讯过程中语言, 路由器与路由器之间沟通语言
协议分类
1 )静态路由协议: 手工配置 (配置复杂度较高)
语法信息: ip route 目标网络信息 掩码信息 --- 去往目标网络下一跳接口地址
R1路由器上配置:
ip route 192.168.20.0 255.255.255.0 12.0.0.2
R2路由器上配置:
ip route 192.168.20.0 255.255.255.0 23.0.0.3
ip route 192.168.10.0 255.255.255.0 12.0.0.1
R3路由器上配置:
ip route 192.168.10.0 255.255.255.0 23.0.0.2
2)动态路由协议: 互相学习 (配置简单方便)
配置方法:
开启指定动态路由协议: RIP OSPF
RIP路由协议配置:
特点: 小规范网络环境可以使用, 采用互相告知过程
·路由器上开启路由RIP协议
router rip
· 路由器上宣告直连路由信息
network 本地路由器上直连路由
3)直连路由协议: 自动获取直连网络信息
4)静态默认路由信息
ip route 0.0.0.0 255.255.255.0 12.0.0.2
扩展: 网络工程师
01. 不同路由协议优先级别
http://www.doc88.com/p-6991157777547.html
02. 相同路由协议, 路径不同如何选路方式
OSPF选路原则: cost数值进行选路
RIP 选路原则: 管理距离
BGP 选路原则: 度量值 metric
网络拓扑搭建思路
虚拟主机上网拓扑
虚拟主机(虚拟网卡) --> 虚拟交换机 ---> 虚拟网关 ---> 路由 ---> 物理网卡 --- ....
核心层
路由器
作用 : 实现局域网主机可以访问互联网
汇聚层
交换机(三层交换机---有路由功能设备)
作用 : 将所有数据流量进行汇聚, 对流量进行管理
实现不同企业内部局域网之间通讯
接收层
交换机(二层交换机)
作用: 接入终端设备
网络层次结构模型
OSI7层模型:
抽象概念知识
模型作用:
制定通讯标准或者规范
层次结构:
物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 (低到高)
·应用层: 产生传输发送数据信息 (服务)
·表示层: 分段处理/组合过程(1500字节) 编码/解码 加密/解密
·会话层: 控制会话是否建立或者终止
·传输层: 控制会话通讯可靠性(TCP)或者高效性(UDP)
·网络层: 控制数据信息可以从一个网络到达其他不同网络中 三层设备==具有路由功能设备, 路由协议规范标准 OSPF
·链路层: 控制一个网络内部数据传递 ---- 二层设备==具有交换功能设备
·物理层: 利用传输介质控制数据传输 网线 光纤
通讯要求:
数据完整封装过程
PDU(数据) --> 段(目标或源端口) --> 包(目标或源IP地址) --> 帧(目标或源mac地址)---> bit(比特流) --> 网卡转换为(光信号或电信号)
数据解封装过程
网卡转换为(二进制bit信息) --> 识别帧信息 --> 识别包信息 --> 端信息 --> 数据信息
TCP/IP模型(DOD参考模型)
模型作用 :
定义不同协议, 实现网络通讯需求
层次结构 :
接入层 互联网层 主机到主机层 应用层
· 应用层
telnet(远程连接-23) FTP(文件传输-20 21 主动模式/被动模式) TFTP(简单文件传输)
HTTP(超文本传输协议-80) SMTP(邮件传输协议-25) NFS(网络文件系统--数据共享)
DHCP(动态主机配置协议---自动获取IP地址)
· 传输层: TCP UDP
TCP: 传输控制协议 面向连接网络协议
优点 : 数据传输可靠性高
缺点 : 数据通讯效率较低
应用 : 文件传输 邮件传输 网站页面数据传输
10M --> 2M 5个数据包 10秒
A 主机 -数据-> B主机 1秒
<确认- 1秒
-数据-> 2秒
UDP: 用户报文协议 无连接网络协议
优点 : 数据通讯效率较高
缺点 : 数据安全性无法保证
应用 : DNS解析服务 视频数据传输 语言数据传输
10M --> 2M 5个数据包 5秒
A 主机 -数据-> B主机
-数据->
-数据->
-数据->
TCP三次握手过程
准备知识
TCP报文结构 如何封装数据
控制字段
对网络通讯有控制管理作用 0-关闭 1-开启
syn
请求建立连接控制字段
fin
请求断开连接控制字段
ack
传输数据确认控制字段
总结
第一次握手:
发送请求连接控制字段syn , 请求建立连接 (客户端 --- 服务端)
根据数据包编号发送数据 seq=x
第二次握手:
发送确认控制字段ack 和 请求连接控制字段 syn (服务端 --- 客户端)
根据数据包编号进行确认 ack=x+1
根据数据包编号发送数据 seq=y
第三次握手:
发送确认控制字段ack (客户端 --- 服务端)
根据数据包编号进行确认 ack=y+1
根据数据包编号发送数据 seq=x+1
序列号: 传输数据编号, 便于重组数据
确认号: 确认下一次发送数据包编号
=================================================================
端口号范围: 1 ~ 65535
占用了1个bit(二进制数字 0 1) 2的n次方 n表示占用了多少个bit
0 0 两个端口 范围 0 ~ 1 2的1次方=2 0 ~ 1
1 1
占用了2个bit
00 0 四个端口 范围 0 ~ 3 2的2次方=4 0 ~ 3
01 1
10 2
11 3
占用了3个bit
000 0 八个端口 范围 0 ~ 7 2的3次方=8 0 ~ 7
001 1
010 2
011 3
100 4
101 5
110 6
111 7
占用了16个bit 2的16次方=65536 1 ~ 65535
=================================================================
TCP四次挥手过程
总结
第一次挥手:
发送请求断开控制字段fin 和 确认控制字段 (客户端 --- 服务端)
第二次挥手:
发送确认控制字段ack (服务端 --- 客户端)
第三次挥手:
发送请求断开控制字段fin 和 确认控制字段 (服务端 --- 客户端)
第四次握手:
发送确认控制字段ack (客户端 --- 服务端)
问题
1)为什么挥手是四次挥手, 建立是三次握手?
答案: 因为挥手时, 需要有数据传输确认阶段
2)有没有可能挥手时三次挥手?
答案: 有, 省略第二次挥手过程
补充: 实现系统发送邮件功能
linux系统 — 邮件服务器建立关系( 163邮箱 ) — 其他人发送邮件
第一步:
进行设置 --- 开启smtp服务功能 --- 生成一个授权码
第二步 : linux系统配置发送邮件功能
vim /etc/mail.rc
set from=邮箱地址@163.com
set smtp=smtp.163.com
set smtp-auth-user=邮箱账号
set smtp-auth-password=登录邮箱密码 smtp-auth=login
实例配置
set from=17778058507@163.com
set smtp=smtp.163.com
set smtp-auth-user=17778058507@163.com
set smtp-auth-password=oldboy123
补充: DHCP协议获取IP地址原理
1. 主机开启DHCP功能
2. 主机会想交换网络中发送DHCP请求数据包(广播方式发送)
3. DHCP服务器接受到请求数据包, 进行数据包响应
4. 主机接收到响应包配置地址信息, 并回复dhcp确认数据包
5. DHCP服务器接收到确认数据包, 会调整IP地址池信息 192.168.20.1 ~ 192.168.20.200
6. DHCP服务器根据地址租期信息, 确认地址是否继续使用, 若地址不在使用, 可将地址回收用于分配给其他主机使用
TCP十一种状态集
企业中状态集应用:
高并发网络场景,系统网络优化
十一种状态集说明:
三次握手: 5种状态变化
客户端初始状态: closed
服务端初始状态: closed--->listen
第一次握手: 发送syn信息 客户端 --- 服务端
客户端状态: closed ---> syn_sent
第二次握手: 发送syn ack信息 服务端 --- 客户端
服务端状态: listen ---> syn_rcvd
第三次握手:发送ack信息 客户端 --- 服务端
客户端状态:syn_sent ---> established
服务端状态:syn_rcvd ---> established
四次挥手: 6种状态变化
客户端初始状态: established
服务端初始状态: established
正常情况:
第一次挥手: 发送fin ack信息 客户端 --- 服务端
客户端状态:established ---> fin_wait1
第二次挥手:发送ack信息 服务端 --- 客户端
服务端状态:established ---> close_wait
客户端状态:fin_wait1 ---> fin_wait2
第三次挥手:发送fin ack信息 服务端 --- 客户端
服务端状态:close_wait ---> last_ack
第四次挥手:发送ack信息 客户端 --- 服务端
客户端状态:fin_wait2 ---> time_wait ---> closed
服务端状态:last_ack ---> closed
特殊情况:
第一次挥手: 发送fin ack信息 客户端 --- 服务端
客户端状态:established ---> fin_wait1
第二次挥手:发送fin ack信息 服务端 --- 客户端
客户端状态:fin_wait1 ---> closing
服务端状态:close_wait ---> last_ack
第四次挥手:发送ack信息 客户端 --- 服务端
客户端状态:closing ---> time_wait ---> closed
服务端状态:last_ack ---> closed
补充: 统计服务连接数量
netstat -an|grep -w "^tcp"|awk -F "[: ]+" '$5~/22/&&$NF~/ESTABLISHED/{i++}END{print i}'
网络重要原理
DNS域名解析原理:
已知域名信息 获得 IP地址
DNS:domian name system让使用这个访问网站服务器时,利用名称访问,不用在使用IP地址访问 --- 域名解析服务
解析过程:(三个过程)
第一个过程: 本地域名解析过程
①:查看DNS缓存记录信息
②:查看本地hosts文件
第二个过程: 递归域名解析过程
查看LDNS服务器中是否有解析记录
第三个过程: 迭代域名解析过程
①:向根域名服务器进行询问
②:向顶级域名服务器进行询问
③:向二级域名服务器进行询问
④:LDNS服务器获取二级域名响应A记录信息,进行保存
⑤:将结果发送给主机
ARP地址解析原理:已知IP地址 获得 MAC地址
ARP解析原理作用:
01. 利用ARP可以发送请求数据包, 获得响应主机MAC地址, 从而实现数据封装过程
02. 减少交换网络中广播包产生
ARP解析过程:
第一个历程:发送ARP广播包,获得主机mac地址
第二个历程:所有主机会受到广播包,完善ARP表信息
第三个历程:利用获得mac地址,封装数据包实现数据通讯
补充:
交换机在连接上主机之后,会发送hello包,获得主机的mac地址
构建交换机mac地址表,方便转发数据信息
企业网络搭建步骤
核心层设备: 路由器设备
配置信息:
1)配置路由信息
a 拨号配置 页面配置(账号信息/密码信息)
b 路由配置 静态路由(获取下一跳信息) ?动态路由:RIP OSPF BGP?
2)配置DHCP功能
a 搭建DHCP服务器
b 配置DHCP功能
配置IP网段地址池 192.168.10.1 ~ 192.168.10.200
配置IP地址掩码 255.255.255.0
配置IP地址网关 192.168.10.254
配置DNS地址信息 223.5.5.5
3)配置单臂路由功能: 一个公司内部,不同局域网之间通讯
汇聚层设备: 三层交换机
1)配置vlan功能
2)配置访问控制功能 ACL (访问控制列表) === iptables
根据访问目标地址 或者 端口信息进行控制管理
拒绝访问 124.236.40.3
接入层设备: 二层交换机(傻瓜交换机)
注意避免出现连接环路
网络IP地址说明
IPv4
基本组成由32bit组成,根据占用bit位可以得知, IP地址总数量 4294967296
地址书写:将32bit划分为4组,每8位为一组,利用二进制进行表示
11001100.00110011.11110000.00001111 二进制信息
204 51 240 15 十进制信息
地址分类:
1)按照IP地址使用范围 (A类地址 B类地址 C类地址 D类地址 E类地址)
192.168.10.x --- C类地址 x == 0 ~ x == 255
2)按照IP地址用途划分 (公网地址 私网地址)
公网地址: 全球唯一/可以出现在互联网的路由表中
私网地址: 重复使用/不能出现在互联网的路由表中 (需要借助NAT 地址转换技术 实现地址/端口映射)
3)按照IP地址通讯方式
单播地址: 网卡上配置的地址
组播地址: 实现一组设备通讯(D类地址) 高可用服务
广播地址: 实现一个网段内主机进行通讯
主机位全为1的地址 192.168.20.x -- C地址 广播地址 192.168.20.255
主机位全为0的地址 192.168.20.x -- C地址 网络地址 192.168.20.0
注:枯竭问题,有效规划IP地址使用
IP地址子网划分:
172.16.0.0 B类地址
不划分子网问题: 划分子网
1)造成地址浪费 避免地址资源浪费
2)造成主机性能下降 提升主机网络性能
3)造成路由性能下降 提升路由转发效率
如何划分子网:
掩码信息:
IP地址信息: 172. 16. 0. 0
掩码地址信息:11111111. 11111111 00000000 00000000
255 255 0 0
192.168.10.0 c类 --- 划分出四个子网?
求出:
每个子网网络地址信息
每个子网掩码地址信息
每个子网地址范围信息
子网数量 = 2的n次方 n 借用了多少个主机位生成子网位
子网位2位:
第一个子网: 192.168.10 . 00 000000
子网网络地址信息:192.168.10.0
子网网络掩码信息:255.255.255.192
子网网络地址范围:192.168.10.1 ~ 192.168.10.62
第二个子网: 192.168.10 . 01 000000
子网网络地址信息:192.168.10.64
子网网络掩码信息:255.255.255.192
子网网络地址范围:192.168.10.65 ~ 192.168.10.126
第三个子网: 192.168.10 . 10 000000
子网网络地址信息:192.168.10.128
子网网络掩码信息:255.255.255.192
子网网络地址范围:192.168.10.129 ~ 192.168.10.190
第四个子网: 192.168.10 . 11 000000
子网网络地址信息:192.168.10.192
子网网络掩码信息:255.255.255.192
子网网络地址范围:192.168.10.193 ~ 192.168.10.254
IPv6
基本组成由128bit组成,根据占用bit位可以得知,IP地址总数量 340282366920938463463374607431768211456
每一组: 0011 1100 0100 0110 二进制数
3 12 4 6 十进制数
3 C 4 6 十六进制
192.0.2.100 --- IPv6 0:0:0:0:0:0:192.0.2.100 --> 0:0:0:0:0:0:c000:0264
1100 0000 0000 0000 : 0000 0010 0110 0100
c 0 0 0 0 2 6 4
虚拟主机上网原理
保证虚拟主机上网:(NAT)
1) 虚拟网卡地址必须正确 (10.0.0.x 掩码 网关信息)
2) 虚拟软件虚拟网络配置 (虚拟编辑配置 网关配置 虚拟网络服务)
3) 物理网卡是否配置正确
4) 物理网络设备配置有关
保证远程连接虚拟主机:
1) 虚拟主机网络地址配置
2) 虚拟网卡地址是否正确
3) 网络安全服务是否关闭 (windows防火墙 linux防火墙)
4) 虚拟软件服务是否开启
系统路由配置
centos6
静态默认路由配置:
route add default gw 10.0.0.254
静态网段路由配置:
route add -net 39.156.66.0 netmask 255.255.255.0 gw 10.0.0.254
静态主机路由配置:
route add -host 223.5.5.5 gw 10.0.0.254
centos7
静态默认路由配置:
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 via 10.0.0.254