网络通讯条件
1) 需要具有传输介质
2) 需要具有网卡设备
将系统可以识别二进制信息转换为网线可以承载的电信号信息
将网线可以承载电信号信息转换为修通可以识别二进制信息
3) 需要通讯速率协商
1Gbps=1Gbit 1G*1024*1024*1024 bit(111111101010101010101010)
1b=1/8B 1B=8b
100Mb=100/8=10MB
交换机: 实现一个网络内部多个主机通讯需求
识别地址: MAC地址信息 物理地址(不能改变 全球唯一) 采用16进制方式编写
通讯方式: 采用广播方式进行通讯
PS: 如果想实现完整通讯过程, 数据传输必须是有去有回
路由器: 实现不同网络之间多个主机通讯需求
识别地址: IP地址信息 逻辑地址(可以改变 全球唯一?) 采用10进制方式编写
IP地址组成: 网络地址信息 + 主机地址信息
192.168.10 . 10
网络位 主机位
通讯方式: 借助路由表(地图)进行数据传输
核心层: 实现和外网进行对接 防火墙设备/路由器设备
汇聚层: 实现数据流量汇聚(管理控制/流量控制) 交换机设备(三层)
接入层: 实现与终端设备相连 交换机设备(二层)
数据 --> 传输层头部 + 数据 ---> 网络层头部 + 传输层头部 + 数据 ---> 数据链路层头 网络层头部 + 传输层头部 + 数据 ---> bit流信息
· telnet协议 可以实现远程连接/远程端口访问测试 协议端口号 23
· FTP协议 可以实现文件传输 协议端口号 20 21 (主动模式/被动模式)
· SNMP协议 简单网络管理协议(进行监控网络设备状态) 协议端口号 161
· HTTP协议 超文本传输协议(获取网站代码信息) 协议端口号 80
· SMTP协议 简单邮件传输协议(实现发送邮件) 协议端口号 25
· NFS协议 网络文件系统协议(数据网络共享存储)
· DHCP协议 动态主机配置协议(自动获取IP地址)
DHCP协议原理
1) 主机接入局域网中, 向局域网中发送DHCP请求包(广播方式发送)
2) DHCP服务器会给主机分配一个IP地址
3) 主机接收到IP地址, 进行确认
4) DHCP服务器接收到确认会将地址池信息进行调整,排除已经分发的地址
5) DHCP会向主机询问是否继续使用地址信息
6) 回收到期IP地址, 便于重新分配
TCP: 传输控制协议(面向连接网络协议)
优势: 保证数据传输可靠性
劣势: 传输效率较低
应用: 文件传输 邮件传输 网站访问
UDP: 用户报文协议(无连接网络协议)
优势: 保证数据传输效率
劣势: 数据传输可靠性无法保证
应用: DNS解析 视频流 语音信息
端口号信息: 端口范围: 1~65535 2的16次方个bit=65536
控制字段: 0 - 控制字段功能关闭 1 - 控制字段功能开启
syn: 请求建立连接控制字段
fin: 请求断开连接控制字段
ack: 确认数据包控制字段
客户端 --> 服务端 发送数据三次握手建立
第一次握手: 客户端 ---> 服务端 发送数据包
发送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报文信息: 控制fin=1 请求断开连接
第二次挥手: 服务端 ---> 客户端 发送数据包
发送TCP报文信息: 控制ack=1 服务端知道客户端想断开连接了,对接收数据包进行确认
第三次挥手: 服务端 ---> 客户端 发送数据包
发送TCP报文信息: 控制fin=1 ack=1 请求断开连接 并对接收数据包再次确认可以断开连接了
第四次握手: 客户端 ---> 服务端 发送数据包
发送TCP报文信息: 控制ack=1 接收数据包确认信息
逻辑链路断开, 数据传输终止
概念说明: DNS 域名解析系统, 让访问网站人员更加方便记录网站地址信息
解析过程:
1) 本地解析过程: 查找缓存记录 ipconfig/displaydns 查找本地hosts解析文件
2) 递归解析过程: 向LDNS服务器发送查询解析记录请求
3) 迭代解析过程: 根域名服务器全球13台 ---> 顶级域名服务器 ---> 二级域名服务器 (A记录) ---> LDNS服务器 ---> 主机
作用说明: 提高数据传输效率/交换网络中广播产生
解析过程:
1) 交换机获取所有主机mac信息 构建完整mac地址表
2) 主机利用arp请求包(广播)获得对端主机mac地址信息
构建ARP表, 进行数据有效封装
3) 构建ARP表可以采用相互学习方式进行构建
疑问: ARP类型 动态类型 静态类型
动态类型: 解决网络中主机经常发生变更请求
问题: 产生ARP广播大量
静态类型: 解决网络中主机永久不变请求(网络安全性/有效阻止广播产生)
问题: 配置复杂度较高
IPv4地址数量: 2的32次方=42亿
组成形式: 采用32位二进制数表示, 将每8位为一组, 划分成了4组
分类:
· 按照地址使用范围: A类地址 B类地址 C类地址 D类地址 E类地址
A 1.0.0.0 到 126.0.0.0 (0.0.0.0 和127.0.0.0保留)
B 128.0.0.0 到 191.254.0.0 (128.0.0.0和191.255.0.0保留)
C 192.0.1.0 到 223.255.254.0 (192.0.0.0和223.255.255.0保留)
D 224.0.0.0 到 239.255.255.255 用于多点广播 (组播地址)
E 240.0.0.0 到 255.255.255.254 保留(255.255.255.255用于广播)
A类地址特点: 前一组8位二进制数 为网络位 后三组8位二进制数为主机位
0NNNNNNN. 0.0.0 1.0.0.0 ~ 126.0.0.0 特殊: 127.0.0.1 回环测试地址
B类地址特点: 前两组8位二进制数 为网络位 后两组8位二进制数为主机位
128.0.0.0 ~ 191.254.0.0
C类地址特点: 前三组8位二进制数 为网络位 后一组8位二进制数为主机位
192.0.1.0 到 223.255.254.0
· 按照地址用途分类: 公网地址 私网地址
公网地址: 全球唯一不能重复 公网地址网段信息可以出现在互联网路由表中
私网地址: 可以重复使用 私网地址网段信息不能出现在互联网路由表中
利用私网地址进行网络通讯时, 需要借助NAT技术(网络地址转换技术)
· 按照地址通讯方式: 单播地址 组播地址 广播地址
单播地址: 网卡上可以配置地址
组播地址: D类地址 高可用服务(解决单点故障)
广播地址: 主机位全为1地址
C类地址 192.168.10.0 --- 192.168.10. 11111111 192.168.10.255
主机位全为0地址 网络地址或者网段地址
C类地址 192.168.10.0
获取一个网络地址中可以配置IP地址数量 = 2的n次方 - 3
n 有多少主机位可用
-3 去掉广播地址 网络地址 网关地址
192.168.10.0 8个主机位 2的8次方-3=253
172.16.0.0 16个主机位 2的16次方-3=65533
1) 避免产生广播风暴问题, 影响局域网中每台主机性能
2) 避免地址浪费问题
3) 避免造成路由器压力增加
网段组成:网络地址,可用IP,广播地址
子网数=2^n,其中n为子网部分位数,例:/26,n=26-24
主机数(可用IP)=2^N-2,其中N为主机部分位数:N=32-26
例:
掩码概念: 表示网络位 和 主机位 ,掩码是/几,就取前几位作为IP的网络位
A类似 NNNNNNNN HHHHHHHH HHHHHHHH HHHHHHHH
11111111 00000000 00000000 00000000 255.0.0.0 /8
B类似 NNNNNNNN NNNNNNNN HHHHHHHH HHHHHHHH
11111111 11111111 00000000 00000000 255.255.0.0 /16
C类似 NNNNNNNN NNNNNNNN NNNNNNNN HHHHHHHH
11111111 11111111 11111111 00000000 255.255.255.0 /24
例如直接分配C类地址只能分配254个主机号,满足不了需求,直接分配B类地址又会造成地址空间浪费。于是提出了子网划分的概念。
子网划分通过借用IP地址的主机位,充当子网地址,从左开始,从第一个主机位开始借,借位必须是连续的不能跳跃,从而将原网络划分为若干子网。
随着子网的数目增加,每个子网中的可用主机数逐渐减少。
IP地址被分为:网络位、子网为、主机位
例:172.16.0.0/16 进行子网划分
从第一个主机位开始借
可以分为
172.16.0.0
172.16.128.0
这两个子网
当子网位为0时,网络地址为172.16.0.0 ------ 172.16.00000000.00000000
当子网位为1时,网络地址为172.16.128.0 ------ 172.16.10000000.00000000(二进制转换成十进制结果就是128)
子网掩码从/16变成了/17
0,127,128,255不取,取0,128代表网段,取127,255是广播
所以可取的地址范围为 172.16.0.1-172.16.127.254
另外一个为 172.16.128.1-172.16.255.254
数量: 2的128次方=给地球上每一粒沙子配置地址
组成形式: 采用128位二进制数据组成 将每16位为一组, 划分成了8组
xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
2001:10AF:XXXX
分类方式:
IPv4 转换 IPv6地址
192.0.2.100 ---> 0000:0000:0000:0000:0000:0000:192.0.2.100
0000:0000:0000:0000:0000:0000:C000:0264
1100 0000 0000 0000 0000 0010 0110 0100
C 0 0 0 0 2 6 4
C000 0264
简写形式:
2001:0DB8:010F:0001:0000:0000:0000:0D0C
每组地址 0 开头可以省略:2001:DB8:10F:1:0:0:0:D0C
每组连续多个 0 可以用一个 0 表示
连续多组 0 信息可以用双冒号表示 2001:DB8:10F:1::D0C
1) 掌握企业网络拓扑 路由器 --- 三层交换 --- 二层交换
2) 掌握企业设备配置
路由器配置:
1) 路由接口地址配置
外部接口配置: 公网地址 拨号配置
2) 路由协议配置 (静态路由 动态路由 OSPF BGP)
3) 配置DHCP功能
交换机配置:
1) 配置vlan功能 配置trunk功能 配置单臂路由
2) 配置ACL访问控制列表 iptables firewalld
3) 配置mac地址绑定
虚拟主机上网原理:
虚拟主机(虚拟网卡vmnet8) --- 虚拟交换机 --- 虚拟路由器(10.0.0.254) --- 物理网卡(NAT转换) --- 交换机 --- 路由器
1) 虚拟主机网络配置 (地址配置)
2) 虚拟主机网卡选择
3) 虚拟路由网关配置
4) 物理主机网卡配置
5) 虚拟软件服务配置 services.msc --- vmware服务
虚拟主机远程连接:
windows xshell --- 虚拟网卡(vmnet8) --- 虚拟交换机 --- (虚拟网卡vmnet8)虚拟主机
1) windows主机虚拟网卡是否配置正确 并启动
2) 虚拟主机网络配置
3) 虚拟主机网络服务
4) 虚拟主机防火墙是否关闭
route [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
add : 添加一条路由规则
del : 删除一条路由规则
-net : 目的地址是一个网络
-host : 目的地址是一个主机
target : 目的网络或主机
netmask : 目的地址的网络掩码
gw : 路由数据包通过的网关
临时生效,重启系统或者重启网卡后失效
· 添加默认网关
centos6
route add default gw 10.0.0.254
route del default gw 10.0.0.254
centos7
ip route add default via 10.0.0.254
ip route del default via 10.0.0.254
· 静态网段路由配置
centos6
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
centos7
ip route add 223.5.5.0/24 via 10.0.0.254
ip route del 223.5.5.0/24 via 10.0.0.254
· 静态主机路由配置
centos6
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 add 223.5.5.5/32 via 10.0.0.254
ip route del 223.5.5.5/32 via 10.0.0.254
永久生效
方法一:
vi /etc/rc.local
将路由条目添加到末尾
route add -net 192.168.10.0/24 dev eth0
route add -net 192.168.20.0/24 gw 192.168.20.254
dev : 为路由指定的网口
方法二:
vi /etc/sysconfig/static-routes
(没有就创建一个)
将路由条目添加到末尾
any net 0.0.0.0 gw 192.168.20.1
any net 192.168.3.0/24 gw 192.168.3.1
any net 192.168.30.10 netmask 255.255.255.0 gw 192.168.30.1
CentOS7
创建文件route-网卡名称
配置文件中的路由出口信息,必须与此文件名编号一致
vim /etc/sysconfig/network-scripts/route-eth0
(eth0网络接口)
192.168.10.0/24 via X.X.X.X dev eth0
表示通过网关X.X.X.X,访问192.168.10.0网络
systemctl network.service restart
重启网络服务生效