OSI开放系统互联(ISO)
七层:
应用层(application)
表示层(presentation)
会话层(session)
传输层(transport) 单位:分段 segment 标识应用(port)可靠和不可靠传输
TCP :数据流量 ,通过牺牲延时来达到
体现:
1. 面向连接 三次握手建立 四次握手终结
2. 确认(acknowledge)
分类一:显示确认:专门ack报文来做确认 隐式确认
分类二:累加确认 非累加确认
3.拥塞避免(congestion avoidence):windows滑窗 : 收包有限制,提前告知发送方,丢包会重传
UDP:应用流量 语音流量
网络层(network) 单位:包 /报文 packet,标识设备位置,所在网络范围
IPv4/v6 ARP icmp DHCP Mpls介于2层和5层 IGMP
数据链路层(data link) 单位:桢frame 如何使用链路,封装
物理层(physical) 单位:bitflow 比特流 光电信号
地址格式:IP地址=网络地址+主机地址或网络地址+子网地址+主机地址
TCP/IP参考模型:
应用层:应用层 表示层 会话层
传输层:tcp udp
网络层:IP arp DHCP icmp igmp
互联网接入层:数据链路层 物理层
IPv4编址:32bit 分为网络和主机
1、ip地址表现形式:
1)二进制:全0到全1
2)十进制:点分十进制:0.0.0.0---255.255.255.255 四段 每段8bit
3)十六进制:00 00 00 00 00 - FF FF FF FF
2、ipv4传播方式:
1)单播 unicast ,sip ABC **dip ABC** 点对点效率最高 P2P
单播地址需要进行地址检测(DAD)
2)广播 broadcast sip ABC **dip 广播地址** p2all
分类:
全网广播;255.255.255.255
子网广播:1.255.255.255
3)多播 multicast(组播) sip ABC **dip D** ,所有接收者要加组转发数据 ,p2mp
3、ipv4地址分类
有类 :classfull,分类的依据是看第一个八位
特殊地址:
1、0.0.0.0:未分配地址,
2、255.255.255.255 广播地址
3、loopback 本地环回地址:127.0.0.0/8, 127.0.0.1-----localhost,自己设备,专供自己访问自己(不用经过整个协议栈),永远都不能出现在主机外部的网络中。ping 127.0.0.1来测试本地网络是否正常
4、link-local ,链路本地址:169.254.0.0/16,dhcp获取不了地址,默认分配地址
链路内部互访,访问其他链路需要使用公网地址
PC 169.254.1.1-----------169.254.2.2
常规地址
A class 0xxxxxxx 1-126 network.host.host.host ------大型或超大型网络
主机数量:2的24次方 ,可用主机数量是2^24-2
1.0.0.0----第一个地址,网络号不变照抄,主机位都是0 -----用途:网络号,标识这个网络
1.1.1.1属于1.0.0.0这个网络
1.255.255.255---最后一个地址,网络位不变,主机位都是1----用途:广播地址(子网广播) 凡是1.0.0.0这个网络里的所有主机,都必须接收dip 1.255.255.255的数据包
B class 10xxxxxx,128-191,network.network.host.host----中型网络
主机数量:2的16次方
C class 110xxxxx,192-223,network.network.network.host------小型网络
主机数量:2的8次方
** 以上都是公网单播 **
D class 1110xxxx,224-239,network.group.group.group 每一个地址代表一个组
224.1.1.1 D类地址,组地址,
**以上是组播地址**
案例引用:
sip 1.1.1.1 dip 224.1.1.1-----组播地址
sip 1.1.1.1 dip 192.168.1.1 -----单播流量
sip 1.1.1.1 dip 255.255.255.255----广播流量
sip 1.1.1.1 dip 2.2.2.2
1.0.0.0 2.0.0.0 不在同一个网络中,默认不能互访。
分类二:
- 公网:public
- 私网:private :RFC 1918(IETF|ISO) 可复用
作用:隔离、缓解ipv4地址耗尽
分类三:
- 有类地址
默认类别对应默认的网络范围
A: /8 --------主类 major network 没有子网 - 无类地址 classless inter-domain routing 无类域间路由
有类网络的问题:
- 地址浪费 1.0.0.0
- 效率低
- 安全问题
子网subnet
1.0.0.0 ----主类网络 A类的主类网络
VLSM可变长子网掩码 =>CIDR 无类域间路由
子网掩码30位用于P2P(点对点)链路,还可以配31位
在以太网最少是30位,配31位会报错
supper>汇总>减少路由条目-----提高转发效率
计算:计算公共部分。同一个完整块的连续子网,可以汇总成一条
原则:1.精确 2.汇总条目数尽量少
172.16.12.0/24
172.16.13.0/24
172.16.14.0/24
172.16.15.0/24
最小块的大小为2的2次方=4
||
172.16.12.0/22
IPv4地址获取:
- 静态获取(手工配置)
- 动态获取(bootp/DHCP)
- 借地址
地址划分
-
1.1.1.130/25
跨度:2的7次方
列出所有子网:
1.1.1.128-----网络号
1.1.1.130
1.1.1.255-----广播地址
1.1.1.129-1.1.1.254 -
1.77.148.99/11
跨度:2的5次方
所有子网:
1.64.0.0-------网络号
1.77.148.99
1.95.255.255------广播地址
可用地址:1.64.0.0-1.95.255.254
MAC:Media Access Control 媒介访问控制 作用:编址、寻址
编址:绝对地址(全球唯一):BIA(burn in address)
48bit
组成:
OUI:24bit,orgnization unit identifiter 组织单位标识
其他:24bit,用于分配给NIC(网络接口控制,网卡)
只能在本链路用,不能穿越路由器。
如何判断mac地址是广播组播还是单播
OUI的第一个八位
- IG:第七位 I:individual,唯一,单播-------0; G:group:代表组播或者广播====1 从0开始算的位
广播:全F,只接收。
组播:检查接受加入group的列表。
If,加组
Then 收
Else 不收 - LG:第六位 L:local administrative 本地管理; G:global 全球唯一
把二层头部拆除,把数据递送给三层ARP进行操作。
ARP进程读取ARP的数据
免费ARP:
DAD:duplicate address detection 地址冲突检测
依靠免费ARP来实现
设备接口配置ipv4地址,up之后,发送免费ARP
Ethernet 2 smac R1 dmac ffffffff广播
Sender mac R1
Sender ip 172.16.12.1
Target mac 000000000000-------request
Target ip 172.16.12.1
对方设备收到arp-request ,检查target IP是否与自己IP地址冲突
if 不冲突
Then 不回应
Else 回应ARP reply (冲突)----广播
Sender mac R2
Sender IP 172.16.12.1
Target mac FFFFFFFFFFFFF(48bit)
Target ip 172.16.12.1
地址冲突检测过程:互相发免费的ARP
ping is tool , is a software ,use icmp echo-request packet to test link if it is reached.
ping 3.3.3.3 不发包
ping通原理: ping 172.116.12.2
- 1、查路由表----判断能不能转发
if 有路由
Then 转发
Else 不发 - if 转发 ,进行封装
7->1
Icmp echo-request | sip 172.16.12.1 dip 172.16.12.2 | eth 2 smac R1 dmac ?===封装失败,需要知道Dip 172.16.12.1 display ARP-------三层;路由表中定义了源IP是出接口ip(默认) - 查询ARP的表项
if arp 表项中有dip对应的dmac
then 直接用于数据封装转发
else 创建一个arp entry (条目)--------incomplete不完整
发起ARP请求了流程 ARP request | smac R1 dmac FFFFFFFF广播 Sender IP 172.16.12.1 Sender mac R1
Target IP 172.16.12.2
Target mac 000000000000—request
跟免费ARP request的区别? - 正常ARP,target ip 和 Sender ip不一样
- 免费ARP,target IP和sender ip 一样
R2收到ARP request ,检查target ip是否是我入接口ip地址
if target ip 不是接口IP地址
Then 丢弃/忽略
Else 发起arp reply 流程
ARP reply | smac R2 dmac R1
Sender ip 172.16.12.2
Sender mac R2
Target ip 172.16.12.1
Target mac R1
R1收到arp reply ,把Sender mac 更新arp表象,替换incomplete状态-----这个状态是不会抓到包的,很快
实验
免费ARP的Sender IP address和Target IP address 一样
双方都会发一个免费的ARP
ping172.16.12.2时会发送ARP request R2回复reply 写入表象
R2再pingR1时就不会再发送ARP请求,直接发ICMP request
免费ARP用于地址冲突检测
会一直互相发免费的ARP
ping通原理的拓展:
PC访问www.baidu.com
0、DNS解析 Domain-name service 域名服务器
- 树型结构:
.com .cn .net ----> Baidu.com----->www.baidu.com----web搜索业务;Baike.baidu.com----百度百科
对应ip地址
cmd—>nslookup 可以查看域名,地址
定位到域名,dns服务器会反馈域名所对应的ipv4地址
1、查路由表,180.34.1.170
默认是没有路由,配置默认网关:假设是172.16.12.2
0.0.0.0/0------->172.16.12.2
2、封装:
HTTP | tcp sport 随机高端口 , dtop :80 | 12.1 180.34.1.170 | smac R1 dmac ?
765 4 3
3、ARP表项(流量来自触发)
查询180.34.1.170的网关地址(下一跳:172.16.12.2)的mac
IF有,Then 直接填充转发
Arp request | smac R1 dmac 广播
Sender ip 172.16.12.1
Sender mac R1
Target ip 172.16.12.2 ---------目的IP的下一跳地址
Target mac 000000000000
R2收到ARP request ,检查target ip 是否是接口ip
IF不是,Then 忽略
Else 发起arp reply 流程
Arp reply | smac R2 dmac R1
Sender ip 172.16.12.2
Sender mac R2
Target ip 172.16.12.1
Target mac R1
R1收到以后,更新arp表项 180.34.1.170---- R2的mac
4、转发数据
HTTP | tcp sport 随机高端口 , dtop :80 | 12.1 180.34.1.170 | smac R1 dmac R2 | ===串行化
765 4 3 2层
DIP是真实的,目的mac是我的网关
三层不变,二层封装mac变化。
网络设备管理
Device Network management
分类
分类一
- 本地管理 console (miniUSB)管理设备 使用设备自带console,使用设备自带的console线缆(全反线)去连接console ,波特率9600bps,连接的时候记得修改
终端服务器(终端路由器)
优势:权限比较大,用于设备初始化配置,设备升级
劣势:必须有工程师在本地 - 远程管理,设备接入网络,配置管理ip
Telnet
ssh
优势:不需要到达本地进行
缺点:依赖网络的互联
分类二:
- 带内管理(inband)------中小企业或者SOHO家庭办公或者小型的
管理流量和数据流量跑在同一个网络内 - 带外管理(outboud)--------中大型企业网或者DC或者运营商网络
管理流量和数据业务流量分开在不同的网络中
管理网 会挂一个测试网
管理网和生产网是脱离的,console是带外的,console端口和业务流量是独立的,但远程管理(telnet和ssh)可以是带外可以是带内。
路由器里面除了console以外,再拿出一个以太口千兆(mgmt口)让它去接以太网,剩下的千兆和万兆接口接生产网
可以直接拿U盘烤到flash里面,免去了传输的麻烦
生产网
telnet管理
R1 telnet R2 (172.16.12.2)
现在DC 都是两地三中心 灾备
0、dns解析,如果是域名的话
1、查询路由表,172.16.12.2
2、封装:
Tcp sport 随机高端口 dport 23 | sip 12.1 dip 12.2 | smac R1 dmac ?
ip报文中:
identification和flag ------- 分片fragment
MTU :maximum transport unit 最大传输单元:1500
二层帧头后面的数据最大是1500字节
分片再合并会导致数据传输速率低
现在大型的数据中心(万兆十万兆接口)一般MTU是9000,就是9000字节一个IP包,会等到数据有9000了才会转发,所以会导致**延时**,语音的转发MTU可能会缩小。
当不同设备接口上的MTU设备的参数不一致,会导致延时过高甚至丢包
Path mtu discovery ,路径mtu发现
DF=1不允许分片,R2收到R1的ICMP报文会分片,但是DF=1,R2会通过ICMP的报文报错 ,R1收到后会再发ICMP MTU为1400 ,DF仍为1,
<R1>telnet 172.16.12.2
[R2]user-interface vty 0 4
[R2-ui-vty0-4]authentication-mode password
Please configure the login password (maximum length 16):123
认证:
- 线下密码
- 基于用户的认证
AAA:
Authentication :认证----确定是否是合法用户
认证强度取决于认证元素的多少,认证元素越多,认证越大
Authorization :授权-------区分不通合法客户的不同的权限
路由器的授权:
0、用户级 ==== 默认
1、监控级====display
2、配置级别 ----能sys ,不能dir 进文件系统
3、管理级别 ------能sys 能dir
Accounting: 审计-------保障:记录什么时候做了什么事;记录上线时间,下线时间;记录流量大小
## 配置aaa
[R2]user-interface vty 0 4
[R2-ui-vty0-4]authentication-mode aaa
[R2-aaa]local-user hw password cipher 123 ## 加密的密码
默认0级,变成一级
[R2-aaa]local-user hw privilege level 1 ##会发现telnet连接上后可执行的命令变多了 授权
[R2-aaa]local-user hw privilege level 2 ###配置级别的了
<R1>telnet 172.16.12.2
local-user x1 password cipher 123 ##如果是simple 就是明文
local-user x1 privilege level 2
local-user hw service-type ?##规定只服务于什么
undo local-user x1 ###删除用户x1
super password 用来配置低级别用户切换到高级别用户的认证密码
super password [level user-level] cipher
undo super password [level user-level]
R2本来设置的privilege level是1;
[R2]super password level 2 cipher 123456 ##设置一个二级的临时权限
<R1>telnet 172.16.12.2
<R2>super 2
Password:
Now user privilege is level 2, and only those commands whose level is
equal to or less than this level can be used.
Privilege note: 0-VISIT, 1-MONITOR, 2-SYSTEM, 3-MANAGE
<R2>super 1 ###可以不用密码降低权限
Now user privilege is level 1, and only those commands whose level is
equal to or less than this level can be used.
Privilege note: 0-VISIT, 1-MONITOR, 2-SYSTEM, 3-MANAGE
保存的配置做备份:
在R2上save会会保存在vrpcfg.zip文件中
要想修改,直接:save 文件名.cfg
dis startup 可以查看启动时调用的配置文件是哪个
startup saved-configuration flash:/文件名.cfg ----下次起来就会是你改的这个
FTP有两种:
- 路由器当FTP Server,PC当Client
[R2]int g0/0/1
ip add 192.168.24.2 24
ftp server enable enable
aaa
local-user ftp password cipher 123
local-user ftp service-type ftp ## 专用于ftp
local-user ftp privilege level 3 ###等级设为3
local-user ftp ftp-directory flash: ###家目录
dis this
Client端
本地地址 192.168.24.4 掩码24
- 路由器当Client,PC当FTP Server
frp 172.16.12.2
username : ftp
password : 123
ls
dir
get 230307.cfg ###从FTP上下载
q ###退出后可以看到R1的文件中包含230307.cfg文件了
dir
save r1.cfg ###把这个传到FTP上
ftp 172.168.12.2
[R1-ftp]put flash:/r1.cfg
dir ##展示文件传递的结果