一、OSI网络七层模型
应用层 抽象语言 键入和输出
表示层 将数据转化为电脑可识别语言
会话层 寻找、建立、保持、断开会话关系
传输层 提供端口号、数据分段 TCP/UDP
网络层 Internet 协议--IP
数据链路层 将数据可靠地传输到相邻节点的目标机
物理层 通过传输介质(光信号、电信号)为数据链路层服务
二、IPV4地址,点分十进制表示
1.IP地址可划分为ABCDE5类
A: 1-126 单播地址 如1.0.0.0 子网掩码 255.0.0.0
B :128-191 单播地址 如172.16.0.0 子网掩码 255.255.0.0
C: 192-223 单播地址 如192.168.1.0 子网掩码 255.255.255.0
D :224-239 组播地址 如255.255.255.255/224.0.0.9
E :240-255 用于科研
特殊IP地址
主机位全0:192.168.1.0 24 该IP表示为网络段,不能用于单播地址
主机位全1:192.168.1.255 24 该IP为广播地址,不能配置为一个设备的IP地址
32位全1 :255.255.255.255 该ip位路由广播地址
32位全0 :0.0.0.0 在DHCP协议中表示无效地址 在缺省路由中表示所有地址
127.0.0.1 :本地系统自带,用于测试本地TCP/UDP是否正常工作
169.254.0.0/16:终端在多次广播自动获取ip地址失败后,本地自动生成的临时ip地址,主机位随机产生,可以用临时单广播域通讯;
2.VLSM 可变长子网掩码 -- 子网划分
通过延长子网掩码的长度,起到从原来的主机位借位到网络位;实现将一个网络号切分为多个;
3.CIDR 无类域间路由 -- 取相同位,去不同位; 将多个网络号逻辑的合成一个;
子网汇总 -- 汇总后,汇总网段的掩码长于主类
超网-- 汇总后,汇总网段的掩码短于主类掩码
三、交换机
1.交换机的作用:
- 提供端口密度(继承了HUB的作用)
- 基于数据识别再转发,实现了理论上的无限传输距离
- 基于数据识别、存储再转发,解决了冲突问题
- 基于MAC地址识别、记录、查询,实现了单播通讯;
2.交换机的工作原理: 数据电流进入交换机后,交换机先将其识别为二层二进制;之后识别数据帧中的源mac地址,记录到本地的MAC地址表中;之后再关注数据帧中的目标MAC地址,再查询本地MAC表中是否有其记录,若存在记录,仅基于记录的接口唯一转发(单播); 若没有记录将进行洪泛;
四、UDP/TCP传输协议
1.UDP用户数据协议---非面向连接的不可靠传输协议
仅完成数据的传输工作

UDP报头内容:
源端口号:本地应用程序发出流量的端口
目标端口号:对端应用程序接受流量的端口
UDP总长:UDP长度与UDP数据的长度和
校验和:检查UDP传输过程中是否有错误,有则丢弃
2.TCP传输控制协议---面向连接的可靠传输协议
在完成传输层的基本工作之上,还需要进一步的保障传输的可靠性
面向连接:通过TCP的三次握手建立端到端的虚链路;
可靠传输:4种可靠机制 -- 确认、重传、排序、流控

3.TCP传输协议的工作过程(三次握手、四次挥手):

1:准备建立连接。客户端发送连接请求报文段,将 SYN 位置为 1,Sequence Number 为 x;然后,客户端进入 SYN_SEND 状态,等待服务器的确认;
2:服务器收到 SYN 报文段。服务器收到客户端的 SYN 报文段,需要对这个 SYN 报文段进行确认,设置 Acknowledgment Number 为x+1(Sequence Number+1);同时,自己自己还要发送 SYN 请求信息,将 SYN 位置为 1,Sequence Number 为y;服务器端将上述所有信息放到一个报文段(即 SYN+ACK 报文段)中,一并发送给客户端,此时服务器进入 SYN_RECV 状态;
3:客户端收到服务器的 SYN+ACK 报文段。然后将 Acknowledgment Number设置为 y+1,向服务器发送 ACK 报文段,这个报文段发送完毕以后,客户端和服务器端都进入 ESTABLISHED 状态,完成 TCP 三次握手。

1:主机 1(可以使客户端,也可以是服务器端),设置 Sequence Number和 Acknowledgment Number,向主机 2 发送一个 FIN 报文段;此时,主机 1 进入 FIN_WAIT_1 状态;这表示主机 1 没有数据要发送给主机 2 了;
2:主机 2 收到了主机 1 发送的 FIN 报文段,向主机 1 回一个 ACK 报文段,Acknowledgment Number 为 Sequence Number 加 1;主机 1 进入 FIN_WAIT_2 状态;主机 2 告诉主机 1,我“同意”你的关闭请求;
3:主机 2 向主机 1 发送 FIN 报文段,请求关闭连接,同时主机 2 进入 LAST_ACK 状态;
4:主机 1 收到主机 2 发送的 FIN 报文段,向主机 2 发送 ACK 报文段,然后主机 1 进入 TIME_WAIT 状态;主机 2 收到主机 1 的 ACK 报文段以后,就关闭连接;此时,主机 1 等待 2MSL 后依然没有收到回复,则证明 Server 端已正常关闭,主机 1 关闭连接了。
五、DNS服务器工作过程
当用户在浏览器输入一个URL时,浏览器会先检查自己的缓存,如果有这个域名,就与其映射的IP地址建立连接,解析完成; 如果没有这个域名,会检查本地操作系统的缓存,如果有这个域名,就与其映射的IP地址建立连接解析完成; 如果本地操作系统的缓存没有这个域名,则检查本地域名服务器的缓存,如果有这个域名,就与其映射的IP地址建立连接; 如果本地域名服务器没有这个域名,则请求根服务器,根服务器会返回一个负责该区域的主服务器的IP,连接这个主域名服务器,如果有这个域名就与其映射的IP建立连接; 如果没有这个域名,则递归请求下一域名服务器,直到找到这个域名; 域名服务器返回该域名的IP地址给本地域名服务器,本地域名服务器缓存域名及其映射的IP地址 ,通过IP地址和WEB服务器建立连接展示网站内容。
六、路由器
1.路由器的作用:互联、选路;
2.路由器的工作原理:
当数据包进入路由器后,先查看目标IP地址;然后查询本地的路由表,若表中存在记录,将无条件按照记录转发;若没有记录,将丢弃该流量;
默认仅存在直连路由;
3.静态路由
静态协议的优缺点:
缺点:1、中大型网络配置量过大;2、不能基于拓扑的变化而实时的变化;
优点:1、不会额外暂用物理资源;2、安全问题3、计算路径问题;
静态路由的写法:
[Huawei]ip route-static 192.168.1.0 255.255.255.0 192.168.2.1
192.168.1.0 255.255.255.0=192.168.1.0 24 该ip网段位路由位置网段
192.168.2.1为该网段进入位置网段的下一跳流量入口
4.动态路由及协议
动态路由协议优缺点:
优点:1、可以基于拓扑的变化而实时变化;2、配置量小
缺点:1、占用额外资源;2没有安全保障;3、占用带宽
【1】RIP距离矢量协议
1:IPV4地址中存在V1/V2两个版本;基于UDP520端口工作;使用跳数作为度量;更新方式:30s周期更新、触发更新
周期更新--保活 取代确认 优先级100;支持等开销负载均衡;
V1和V2的区别:
V1有类别协议,不携带子网掩码,不能区分子网划分和汇总;V1广播更新--255.255.255.255
V2无类别协议,携带子网掩码,进行VLSM和子网汇总,不支持超网;V2组播更新--224.0.0.9;V2支持手工认证;
2:破环机制
水平分割:从此口进入的流量不可以再从此口出,单向传递
最大跳数:限制RIP协议工作范围,最大跳数不能超过15
触发更新:当有一条网段消失时,RIP协议报文中设置该网段跳数为16,告知其他路由该网段不可达
抑制计时器:如果在抑制计时器超时还能接受到该消息,那么这时路由器就认为这条消息是真的,否则该网段为不可达;
3.配置命令
v1
[r1]rip 启动时可以定义进程号;默认为进程1; 仅具有本地意义
[r1-rip-1]version 1 选择版本1;
宣告:1、激活--被选中接口可以收发rip的信息 2、共享路由--被选中接口的网段可以共享给本地的所有邻居;
[r1-rip-1]network 1.0.0.0
[r1-rip-1]network 12.0.0.0
RIP只能宣告主类
v2
[r1]rip 启动时可以定义进程号;默认为进程1; 仅具有本地意义
[r1-rip-1]version 2 选择版本2;
宣告:1、激活--被选中接口可以收发rip的信息 2、共享路由--被选中接口的网段可以共享给本地的所有邻居;
[r1-rip-1]network 1.0.0.0
[r1-rip-1]network 12.0.0.0
手工汇总:在更新源路由器上,所有更新发出的接口上配置
[r1]int g0/0/1
[r1-GigabitEthernet0/0/1]rip summary-address 1.1.0.0 255.255.252.0
手工认证
邻居间收发的RIP消息中进行身份核实口令添加;同时华为在接口开启认证后,所有rip的信息将被加密传输
[r1]interface g0/0/1
[r1-GigabitEthernet0/0/1]rip authentication-mode md5 usual cipher 123456
两两直连的邻居间,认证口令和模式必须完全一致;
邻居间收发的RIP消息中进行身份核实口令添加;同时华为在接口开启认证后,所有rip的信息将被加密传输;
沉默接口
[r1]interface g0/0/1
[r1-GigabitEthernet0/0/1]rip authentication-mode md5 usual cipher 123456
两两直连的邻居间,认证口令和模式必须完全一致;
缺省路由
在边界路由器上定义缺省源头信息后,将向内网发布缺省路由;之后内部路由器将自动生成缺省路由指向边界路由器方向; 边界路由器指向ISP的缺省路由,依然需要手写;
[r3]rip
[r3-rip-1]default-route originate
加快收敛
适当的修改计时器,可以加快协议的收敛速度;修改时,全网所有运行rip的设备建议一致;维持原有倍数关系;且不易修改的过小;
[r1]rip 1
[r1-rip-1]timers rip 30 180 300 抑制计时器不修改
【2】OSPF开放式最短路径优先协议
无类别链路状态igp协议;周期更新(30min)+触发更新;链路状态协议的更新量随着网络范围的扩展指数性的上升
1.OSPF的五种数据包
HELLO:用于发现邻居,关系建立;携带RID,周期保活 10S
DBD:数据库描述包;本地数据库目录
LSR:链路状态请求
LSU:链路状态更新
LSACK:链路状态确定
Lsa -链路状态,具体一条一条路由信息或拓扑信息;但它不是一个包,是被lsu数据包来携带;
2.OSPF7个状态机
down:没有发现邻居时;一旦收到HELLO包进入下一个状态
init:收到HELLO包,存储于本地RID
2-way:邻居关系建立的标志
exstart:不带有目录的DBD包,进行主从关系的选举,解决共享目录的无序性
exchange:携带目录的DBD包,共享本地数据库信息
loading:查看邻居DBD包对比本地路由目录,基于本地未知的lsa进行查询;使用lsr 向对端查询,对端使用lsu来传输这些lsa信息,本地收到后需要lsack来进去确认;
full:邻接关系建立完成,意味着数据库同步;
3.OFPS的工作过程

启动配置完成后,邻居间开始收发hello包;hello包中将携带本地及本地所有已知邻居的rid;之后生成邻居表;邻居间需要关注是否可以成为邻接的条件;若不能建立为邻接,将保持为邻居关系,仅hello包周期保活即可;
若可以建立邻接关系;将使用DBD进行本地数据库目录的对比;之后基于对比的结果,使用LSR/LSU/LSack来获取本地未知的LSA信息;使邻接关系间数据库(lsdb)完成同步(一致),生成数据库表;之后本地基于lsdb,使用spf算法,生成有向图—>最短路径树——>计算本地到达所有未知网段的最短路径,将其加载到本地路由表中;收敛完成;收敛完成后,邻居和邻接关系间均hello每10s保活;每30min一次邻接关系间周期数据库比对,保障一致;
4.配置命令
[r1]ospf 1 router-id 1.1.1.1 启动时可以定义进程号、RID,默认进程1;
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
[r1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255
ospf在宣告时,需要使用反掩码,来匹配宣告的地址范围
宣告的作用:1、可以收发ospf的信息; 2、被选中接口的拓扑信息可以共享给邻接;3、划分区域
干涉选举:DR优先级最大,BDR次大 -- 切记ospf的选举是非抢占性的;故在修改完优先级后,需要所有路由器重启OSPF进程;
[r1]interface GigabitEthernet 0/0/0
[r1-GigabitEthernet0/0/0]ospf dr-priority 3
<r1>reset ospf process
Warning: The OSPF process will be reset. Continue? [Y/N]:y
DR优先级修改为最大,BDR次大;其他设备修改为0;无需重启进程
区域汇总 --- OSPF协议不支持接口汇总;只能在ABR上将a区域拓扑计算所得路由,共享给B区域时进行汇总;
[r2]ospf 1
[r2-ospf-1]area 0
[r2-ospf-1-area-0.0.0.0]abr-summary 1.1.0.0 255.252.0.0
被动接口(沉默接口)--仅接收不发送路由协议信息;用于连接用户终端的接口,不得用于连接邻居路由器的接口,否则无法建立邻居关系;
[r1]ospf 1
[r1-ospf-1]silent-interface GigabitEthernet 0/0/0
手工认证 -- 接口认证 在直连邻居或邻接的接口上配置,保障更新的安全
[r1-GigabitEthernet0/0/1]ospf authentication-mode md5 1 cipher 123456
模式、编号、密码要求邻居间一致
缺省路由 --- 边界路由器上配置后,将自动向内网下放一条缺省路由,之后内网设备将自动生成缺省路由指向边界
[r4]ospf 1
[r4-ospf-1]default-route-advertise always
七、ACL访问控制列表
作用:1、访问控制 --- 在路由器流量进或出的接口上,匹配流量产生动作---允许、拒绝
2、定义感兴趣流量 --- 抓取流量,之后给到其他的策略,让其他策略进行工作;
匹配规则:
至上而下逐一匹配,上条匹配按上条执行,不再查看下条;cisco系默认末尾隐含拒绝所有;华为系末尾隐含允许所有;
分类:
标准 --- 仅关注数据包中的源ip地址
扩展 --- 关注数据包中的源、目标ip地址,目标端口号或协议号配置命令:
标准 --- 由于标准ACL仅关注数据包中的源ip地址;
故调用时必须尽量的靠近目标;
避免对其他流量访问的误删;
编号2000-2999 为标准列表编号,一个编号为一张表;
[r2]acl 2000
[r2-acl-basic-2000]rule deny source 192.168.1.3 0.0.0.0
[r2-acl-basic-2000]rule deny source 192.168.0.0 0.0.255.255
[r2-acl-basic-2000]rule deny source any
ACL定义完成后,必须在接口上调用方可执行;调用时一定注意方向;一个接口的一个方向上只能调用一张表;
[r2]interface GigabitEthernet 0/0/1
[r2-GigabitEthernet0/0/1]traffic-filter ?
inbound Apply ACL to the inbound direction of the interface
outbound Apply ACL to the outbound direction of the interface
[r2-GigabitEthernet0/0/1]traffic-filter outbound acl 2001
【2】扩展列表配置 --由于扩展ACL 源、目ip地址均关注,故调用时尽量靠近源;尽早处理流量;
[r1]acl 3000 扩展列表编号 3000-3999
[r1-acl-adv-3000]rule deny ip source 192.168.1.3 0.0.0.0 destination 192.168.3.2 0.0.0.0
Telnet -- 远程登录 明文(不加密) 基于tcp,目标端口23;
条件:1、被登录设备与登录设备网络可达
2、被登录设备进行了telnet服务配置
[r1]aaa
[r1-aaa]local-user zhuyuefu privilege level 15 password cipher 123456
[r1-aaa]local-user zhuyuefu service-type telnet
创建名为zhuyuefu的账号,权限最大,密码123456;该账号仅用于telnet 远程登录
[r1]user-interface vty 0 4
[r1-ui-vty0-4]authentication-mode aaa 在vty线上开启认证
[r1]acl 3001
[r1-acl-adv-3001]rule deny tcp source 192.168.1.10 0 destination 192.168.1.1 0 destination-port eq 23
拒绝192.168.1.10 对192.168.1.1 访问时,传输层协议为tcp,且目标端口号为23;
[r1-acl-adv-3002]rule deny icmp source 192.168.1.10 0 destination 192.168.1.1 0
仅拒绝192.168.1.10 对192.168.1.1的ICMP访问
八、NAT
IPV4地址中,存在私有与公有IP地址的区别:
公有:具有全球唯一性,可以在互联网通讯,需要付费使用
私有:具有本地唯一性,不能在互联网通讯,无需付费使用
私有ip地址:
10.0.0.0/8 172.16.0.0/16-172.31.0.0/16 192.168.0.0/24-192.168.255.0/24
NAT网络地址转换: 边界路由器上--连接外网的公有ip地址所在接口配置
边界路由器上,对进、出的流量进入源或目标ip地址的修改;
一对一 一对多 对多对 端口映射
一对多:多个私有ip地址对应同一个公有ip地址 PAT端口地址转换
先使用ACL定义可以被转换的私有ip地址范围
[r2]acl 2000
[r2-acl-basic-2000]rule permit source 192.168.0.0 0.0.255.255
[r2]int g0/0/2 公网所在接口;acl2000列表中关注的私有ip地址,通过该接口转出时,其源ip地址修改为该接口公有ip
[r2-GigabitEthernet0/0/2]nat outbound 2000
一对一的配置:
连接公网的接口配置
[r2-GigabitEthernet0/0/2]nat static global 12.1.1.3 inside 192.168.1.10
端口映射:
[r2-GigabitEthernet0/0/2]nat server protocol tcp global current-interface 80 inside 192.168.1.10 80
Warning:The port 80 is well-known port. If you continue it may cause function failure.
Are you sure to continue?[Y/N]:y
外部访问该接口ip-12.1.1.1且目标端口号为80时,将被修改为192.168.1.10目标端口80;
[r2-GigabitEthernet0/0/2]nat server protocol tcp global current-interface 8888 inside 192.168.1.20 80
外部访问该物理接口ip-12.1.1.1 且目标端口为8888时,将被修改为192.168.1.20 目标端口80;
多对多配置:
[r1]nat address-group 1 12.1.1.3 12.1.1.10 先定义公有ip地址范围
[r1]acl 2000 再定义私有ip地址的范围
[r1-acl-basic-2000]rule permit source 172.16.0.0 0.0.255.255
最后在连接公网的接口上配置多对多
[r1-GigabitEthernet0/0/1]nat outbound 2000 address-group 1