网路模型(补充)

网络层
ip报文头部

防止占用带宽,TTL:最大225,8比特,8位二进制
ip分片 MTU(最大传输单元,在以太网中,MTU值为46-1500字节),针对数据大于1500切分
标识字符(Identification):作用相当于序号,假设给第一个分片的报文序号为x,则后续每个报文+1。
标志位(Flags):3bit ;DF代表该报文是否被分片,0代表分片,1代表不分片; MF代表该报文是否为最后一片报文,0代表最后一片,1代表后面还有报文。
片偏移
表示了一个相对位置,单位为8字节
传输层:
端口号 :
作用-- 标识不同进程
静态端口:1- 1023--固定给网络上常见的某个协议使用
telnet-23 ftp-20/21 http-80 https-443 dns-53 dhcp-67/68
动态端口:1024-65535--某些协议自动随机生成的端口
TCP协议---传输控制协议
是一种面向连接的可靠传输协议

可靠性机制:
确认机制:每接收到一个数据段,都要进行一次确认。
重传机制:当一个数据段中的某一个包丢失,发出者会重新发送这个报文。
排序机制:传输一个数据段,被分为多个报文后,从不同路径传输,最终到达目的地的顺序会被打乱,所以需要重新排序,依靠TCP首部中的序列号字段。
流控机制:(滑动窗口机制):调节窗口大小对流量进行控制。
窗口大小:指无需等待确认就可以连续发送数据的最大量。
TCP分段:用来代替IP分片
MSS(最大传输段)=MTU-IP头部-TCP头部
经过TCP分段后的数据在传输过程中不允许进行ip分片
PMTU(路径MTU发现)
面向连接
三次握手

1.客户端发起一个数据包给服务器,数据包内有序列号(因为第一个发送的,随机的,假设x),还有SYN的标志位(当SYN标志位等于1时,证明我这个报文表达的意义就是我想要和你建立连接),SYN这个数据包可以理解为建立请求的数据包。
2.服务器会回复客户端,确认已经收到前面发送的连接建立请求,服务端随机生成一个序列号seq,假设为y,确认序列号ackeq为x+1,(确认序列号的值等于上一个报文的序列号+数据部分的大小),此时没有数据,建立连接的通道,并且ACK=1(表明ackeq有意义);TCP是一个双向连接的过程,服务器想要和客户端建立连接,此时seq=y,SYN,ackeq=x+1(防止丢了,再发送确认),ACK=1,这个报文是上面的补充,仅仅加了SYN
3.客户端给服务器建立连接请求进行一个回复确认,此时客户端发送的数据里seq=x+1(因为服务器发送的确认序列号等于x+1),ACKeq=y+1(因为服务器发来的是y客户端希望接收到的是y的下一个包);ACK=1;
四次挥手

第一次挥手:客户端向服务器端发送断开 TCP 连接请求的FIN=1报文,在报文中随机生成一个序列号 SEQ=x,表示要断开 TCP 连接。
第二次挥手:当服务器端收到客户端发来的断开 TCP 连接的请求后,回复发送标志位ACK=1报文,表示已经收到断开请求。回复时,随机生成一个序列号 SEQ=y。由于回复的是客户端发来的请求,所以在客户端请求序列号 SEQ=x的基础上加 1,得到确认序列号ACK=x+1。
第三次挥手:服务器端在回复完客户端的 TCP 断开请求后,不会马上进行 TCP 连接的断开。服务器端会先确认断开前,所有传输到客户端的数据是否已经传输完毕。确认数据传输完毕后才进行断开,向客户端发送FIN=1报文。再次随机生成一个序列号 SEQ=z。由于还是对客户端发来的 TCP 断开请求序列号 SEQ=x 进行回复,因此确认序列号ACK依然为 x+1
第四次挥手:客户端收到服务器发来的 TCP 断开连接数据包后将进行回复,表示收到断开 TCP 连接数据包。向服务器发送标志位ACK=1 报文,生成一个序列号 SEQ=x+1。由于回复的是服务器,所以确认序列号ACK字段的值在服务器发来断开 TCP 连接请求序列号 SEQ=z 的基础上加 1,得到ACK=z+1
UDP协议--数据报协议
是一种非面向连接的不可靠传输协议

TCP与UDP区别
TCP
协议是面向连接,而
UDP
是面向无连接
TCP
协议可靠的,
UDP
是尽力而为
TCP
具备流控和拥塞控制,而
UDP
没有
TCP
可以分段
TCP
消耗资源多,速度慢;
UDP
消耗资源少,速度快
VSLM--可变长子网掩码技术--子网划分
无类分址
实现方法:通过从主机位借位到网络位的方式来延长子网掩码,达到将一个大网络划分为多个小网络;
借出的位称为子网位,决定了能够划分出多少个网络的个数。
CIDR--无类域间路由
作用:将小的网络汇聚成大的网络
汇总方式:
取相同位,去不同位
汇总要求:母网相同;掩码一致。

ICMP解析
用来在网络设备间传递各种差错、控制、查询等信息,对于收集各种网络信息、诊断和排除各种网
络故障
抓包实践
ping----
检测网络连通性
常用参数(网络设备)
-a
(
-S
) 指定
ping
包中的源
IP
地址,如果不指定源
IP
地址,则采用出接口的
IP
地址作为报文源
IP
-c
(
-n/-t
) 指定发送报文次数,缺省情况下是五次
-h
指定
TTL
值,缺省为
255
tracert---
用于逐跳检测追踪报文的转发路径

VRP通用路由平台
用户视图<Huawei>,系统视图[Huawei] ,其他视图
<Huawei>system-view //
从用户视图进入系统视图
[123456]sysname HCIA //更改设备名称
<HCIA>clock datetime 12:30:00 2000-01-01 //更改时间
<HCIA>clock timezone XIAN add 04:00:00 //
更改时区
display//查看
[HCIA]display clock //查看时间
[HCIA]display version //查看版本
display ip interface brief//查看路由器端口配置

[Huawei]display current-configuration //
查看当前所有配置
display this //
查看当前视图下的操作
quit //
退回上一视图
<HCIA>save //
保存配置
<HCIA>reboot //
重启设备
Telnet:
telnet
是基于
TCP
协议的,端口号
23

命令级别
参观级(
0
)、监控级(
1
)、配置级(
2
)和管理级(
3
以上)
用户等级:
0-15
DHCP---动态主机配置协议
手工配置网络参数问题
对于普通用户而言,这些网络参数是知识盲区,导致配置错误,网络无法正常访问
对于网络管理员而言,工作量较大,对
IP
地址进行合理规划
对于每个员工的
IP
地址,
IP
地址利用率太低
基本知识点
C/S架构:响应速度快
基于UDP,67/68(68用于客户端,67用于服务端)
报文类型
八种
DHCP discover
:客户端用于寻找
DHCP
服务器
DHCP offer
:
DHCP
服务器回复客户端的
DISCOVER
报文,该报文携带了网络参数
DHCP request
:客户端请求配置确认或续租
DHCP ack
:服务器对
request
确认
DHCP nak
:服务器对
request
拒绝
DHCP release
:客户端请求释放地址
DHCP decline
:客户端用于检测
IP
地址冲突后,发送给服务器的
DHCP inform
:当客户端获取
IP
报文后,使用此报文获取其他配置信息

1、客户端广播发送DHCP Discover报文,用于发现当前网络中的DHCP服务器
2、服务端单播发送DHCP Offer报文,携带即将分配给客户端的IP地址
3、客户端广播发送DHCP Request报文,向服务器请求使用该IP地址
4、服务器单播发送DHCP Ack报文,告知客户端允许使用该IP地址
DHCP租期
租期更新计时器
华为24小时
租期到达一半(12小时)
pc发送一个DHCP request报文,是单播发送。
若服务器回复ACK报文,则租期更新计时器刷新
若服务器回复NAK报文,PC等待下一个更新周期
租期重绑定计时器
当租期到达87.5%(21小时),此时PC进行第二次续租
PC发DHCP request,使用广播
如果收到ACK报文,则刷新各类计时器,并绑定新的服务器
如果收到NAK报文,则PC必须立刻停止使用现在使用的IP地址,然后重新申请IP地址
租期失效计时器
PC在租期内正常到期,服务器没有回复,PC才停止使用该IP地址,并发送DHCP releaes报
文。
PC重新进入
DHCP
工作流程,发送
DHCP discover
报文申请
IP
地址
PC
主动放弃使用分配的
IP
地址,此时发送
DHCP releaes
报文。
地址池
全局地址池:为所有连接到服务器的PC提供地址
接口地址池:为连接到该接口的PC提供地址

接口的优先级高于全集。
配置


lease 租期
静态路由
查看路由表
[r1]display ip routing-table
路由项
目的地址/掩码 出接口 下一跳
Protocol:协议,代表有直连、静态、动态
直连>静态>动态
Preference:优先级(AD值) 优先级小的更优
Cost:开销值(度量值) 约小约优
假设,目的
IP
为
X
;某一个路由项为
Z/Y
;如果
X
与
Y
做
“
与
”
运算后,得出结果为
Z
;则说明该
IP
与该路
由项匹配
若匹配上一条路由项,则按照该路由项指示进行转发
若匹配上多条路由项,则按照
“
最长掩码匹配规则
”
进行选择
路由的来源:
设备自动发现---直连路由
手工配置
---->
静态路由
通过动态协议算法计算得出
---->
动态路由
直连路由:
直连路由产生的条件
接口双
UP
必须具备
IP
地址
路由的优先级:


CRT远程连接

静态路由配置

配置命令

路由环路
当两个路由器上的路由表内,分别存在一条到达同一网段且目标下一跳是另外一台路由器时,
将形成环路。
占用大量带宽,影响正常数据包转发
损耗路由器资源,当路由器资源消耗过大时,设备会宕机
解决方式
---TTL
静态路由扩展配置
等价路由(负载均衡):
当路由器访问同一个目标网段时,具备多条开销相等的路径时,可以让流量拆分后延多条路径
进行传输,达到叠加带宽的效果,减少单条链路数据传输压力。
形成等价路由的条件----来源相同(同一种路由协议发现的)、开销相同的路由。目标相同,优先级相同,开销相同,下一跳不同
环回接口:

手工汇总:
当路由器需要配置多条路由项时,可以选择将其进行子网汇总,减少路由表项数量,降低
CPU
运算负载,提高转发效率。
如果想要让
R5
访问
R6
的三个环回,需要手工写出三个静态路由
但是该三条静态路由的下一跳相同,所以可以进行路由汇总,使用
CIDR
技术,最终得到一个
192.168.0.0/22
下一跳为
R6
的路由项。
路由黑洞:
在手工汇总时,可能会包含一些网络中实际不存在的网段,造成流量有去无回的现象,浪费了;
汇总得出
192.168.0.0/22
的路由项,但是该路由项包含了
192.168.0.0/24
网段,而该网段在
网络中实际不存在。
缺省路由(默认路由):
一条不限定目标的路由。
[r5]ip route-static 0.0.0.0 0 23.1.1.2
因为缺省路由代表所有网段,所以会跟任何路由流量进行匹配,但是又由于最长掩码匹配规
则,所以只有当路由表中没有其他路由项匹配流量时,才会选择缺省路由。
空接口防环:缺省和黑洞相遇成环,在存在黑洞的路由器上配置一条通往汇总网段的空接口路由
1
、每台路由器上仅存在一条缺省路由,且根据最长匹配原则,缺省路由只有在其余所有路由均未匹 配上时才匹配
空接口防环
解决方法:
在存在黑洞的路由器上配置一条通往汇总网段的空接口路由。
[r6]ip route-static 192.168.0.0 21 NULL 0
[r6]display ip routing-table protocol static //
查看静态路由表
浮动静态路由:
通过修改优先级,来对路由项进行备份
两台路由器通过两条链路相连,带宽分别为千兆和十兆,已知千兆带宽完全可以满足正常的网络通
讯,而十兆不满足,此时,就可将十兆链路作为备份链路,当千兆链路出现故障时,启用备份链
路,确保网络不会完全断开。
[r1]ip route-static 192.168.2.0 255.255.255.0 23.1.1.6 preference 70
[r1]ip route-static 192.168.2.0 255.255.255.0 23.1.1.2
动态路由:
自治系统:
AS:
由单一的机构或者组织所管理的一些列IP网络设备的集合。
AS的管理:
每一个AS区域都有一个编号(ASN)
IANA----互联网数字分配机构
ASN由16位二进制组成,1-65535
AS通讯
AS内部使用相同路由协议--内部网关协议(IGP)
AS之间使用专有路由协议-----边界网关协议(BGP)
动态路由分类
按照范围分
IGP---内部网关协议
RIP、OSPF
、
isis
、
eigrp
EGP----外部网关协议
BGP
IGP
协议按照协议特点分类
距离矢量型---DV------
共享路由表
RIP
EIGRP
链路状态型---LS-------
共享拓扑
OSPF
ISIS
IGP
协议按照是否携带真实掩码分类
有类别路由协议
不传递真实网络掩码(RIPv1)
无类别路由协议
传递真实网路掩码
RIP---路由信息协议
基本概念
版本
RIPv1---IPv4
RIPv2---IPv4
RIPng---IPv6
RIP是一个标准的DV型协议----距离矢量型-----共享路由表
基于 UDP分装,端口号520
RIP
存在一个保活机制,周期更新机制
----30s
发送一次应答报文
RIP
度量值
根据跳数计算
最大跳数为
15
;当跳数
=16
时则认为该路由项不可达。
开销值计算方式
数据包中传递的开销值
====
本地的开销值
+1
RIP的数据包
request
包
----
请求报文
只有在启动
RIP
进程后会使用
希望尽快获取邻居的路由信息
response
包
----
应答报文
携带了具体的路由信息
用来回答请求报文的
rip工作原理
初始化
RIP
在初始化时,会从每一个参与工作的接口上发送
请求数据包
。该请求数据包会向所有的
RIP
路由器请求一份完整的路由表。
该请求通过广播形式(组播形式)发送
接收请求
RIP
路由器在接收到请求数据包后,会使用
应答数据包
回复,且该数据包包含了本地
所有的路
由信息
。
接收到响应数据包
路由器接收并处理该数据包
将接受到的数据包内容与自己本地路由表进行对比,然后进行添加、删除、修改等操作。
常规路由更新
当收敛完成后,路由器会以
30s
为周期,发送应答报。
邻居路由器收到应答报文后,会设置
180s
的超时时间,如果
180s
内没有收到邻居发来的应答
报文,路由器会认为邻居出现问题,并将下一跳设置为
16
。
触发路由更新
当某个路由开销值发生改变时,路由器只发送与改变有关的路由,不会发送完整的路由表。
rip计时器
更新计时器
每台启动了RIP协议的路由器,都有一个属于自己的更新计时器
30S
当更新计时器为0时,则向周围发送响应报文
为什么要进行周期更新
UDP是不可靠的
RIP路由传递过程中需要可靠机制
RIP本身也没有可靠性机制
无效计时器
每台路由器上的每一个RIP
路由项都有一个无效计时器。
180S-----一般是更新计时器的六倍
每条路由条目被更新时,计时器刷新为180S
当计时器为0
时,则认为该路由项无效。会将开销值设置为
16
,并向外传输(告诉其他路由
器,这个网段不可达)
垃圾收集计时器
当一个路由项变为无效路由项时,虽然
cost
值会被设置为
16
,但是路由项本身并不会被
立刻
删除,而是会启动垃圾收集计时器,在这个计时器倒计时为0
前,该路由器周期更新时仍然会
携带该无效路由项。
一旦该计时器为0
,则删除该路由项(包括之前与之对应的无效计时器,垃圾收集计时器)。
120s-----更新计时器的四倍
注意:垃圾收集计时器为0
前的某一时刻,该路由项被更新,则该路由项可以正常加表使用,
cost值恢复,删除垃圾收集计时器,恢复无效计时器。
RIPv1和RIPv2的区别
更新方式
RIPv1使用广播
RIPv2使用组播更新,
224.0.0.9
更新时是否携带掩码
RIPv1不携带真实掩码
RIPv2携带真实掩码
RIPv2支持手工认证
RIP环路问题

触发更新
当某一个路由器中的路由项发生改变时,不需要等待下一次周期更新到来,就可以直接将发生 改变的路由项发送。 不能完全避免环路产生
水平分割(华为默认开启)
从此口进不从此口出。
毒性逆转
从此口进从此口出,但是cost
设置为
16.
水平分割和毒性逆转机制,原理相同,但是做法不同,故只能选择其中一个与触发更新搭配防环。 若水平分割和毒性逆转机制同时开启,则按照毒性逆转执行
问题:
能不能光使用水平分割或毒性逆转机制,不使用触发更新?
触发更新可以加快路由的收敛速度
最大跳数
rip 基本配置

RIPv1
配置:
[r1]rip 1 //
启动
RIP
进程,且配置进程号为
1
,进程号仅具有本地意义
[r1-rip-1]version 1 //
选择版本
[r1-rip-1]network 12.0.0.0 //
宣告,宣告时选择主类宣告
[r1-rip-1]network 1.0.0.0
宣告:
要求:需要宣告所有的直连接口,并且宣告主类
目的:激活接口(只有激活的接口才能收发
RIP
的报文)、发布路由(只有激活接口的对应网段信息才能发
布)
RIPv2
配置:
[r1]rip 1
[r1-rip-1]version 2
[r1-rip-1]undo summary //
关闭自动汇总,如果不关闭,宣告的属于同一个主类的路由会自动汇总
后发送
[r1-rip-1]network 1.0.0.0
[r1-rip-1]network 12.0.0.0