一.计算机
计算机的功能性计算
应用层:人机交互的接口,自然语言
--->
编码
----->
机器语言
表示层:进一步将编码
--->
二进制语言
介质访问控制层:控制物理层(硬件),二进制转换为电流发放给物理层
物理层:电流的输入输出,
CPU
计算
OSI
OSI/RM --- 开放式系统互联参考模型 --- ISO --- 国际标准化组织 --- 1979年
OSI核心思想 -- 分层
应用层 --- 提供各种应用服务,人机交互的接口,将抽象语言转换成编码
表示层 --- 将编码转换成二进制
会话层 --- 维持网络应用和网络服务器之间的会话连接
传输层 --- 实现端到端的传输 --- 应用到应用之间的传输 --- 端口号 --- 16位二进制 --- 0 -
65535(其中0保留)所以,端口号的真实取值范围为 1 - 65535。其中1 - 1023知名端口号。
telnet---23ftp----20/21http----80https----443dns---53dhcp---67/68
网络层 --- 通过IP地址进行逻辑寻址。 --- IPV4地址由32位二进制构成,分为网络位和主机
位。网络位相同,则代表在同一个广播域内,属于同一个网段;网络位不同,则代表在不同的
网段。
获取目标IP地址的方法:1,如果直接知道对方IP地址,则可以直接使用IP地址访问。2,通过域名访问服务器3,通过应用程序来进行访问4,通过广播获取
数据链路层 --- 控制物理层,将二进制转换成电信号。在以太网中,可以使用MAC地址来进
行物理寻址。 --- MAC地址由48位二进制构成 --- 1,全球唯一;2,格式统一
获取目标MAC地址方式 --- ARP --- 地址解析协议 --- 通过一种地址获取另一种地址正向ARP --- 通过IP地址获取MAC地址工作原理 --- 首先,主机通过广播的形式发送ARP请求,通过IP地址请求MAC地址。因为是广播帧,所以,广播域内所有设备都会收到请求报文。设备收到后,会先将数据包中的源IP地址和源MAC地址的对应关系记录在本地的 ARP缓存表 中。之后,再看请求的IP地址。如果是本地的IP地址,则将回复ARP应答报文。如果不是,则将直接丢弃数据包。之后再发送信息之前,先查看ARP缓存表,如果存在记录,则直接按照记录转发;如果不存在,则再发送ARP请求。反向ARP --- 通过MAC地址获取IP地址免费ARP --- 按照正向ARP的工作原理,只不过请求的IP地址是自己本地的IP地址。1,自我介绍;2,检测地址冲突
物理层 --- 传输或处理电信号
TCP/IP模型 --- TCP/IP协议簇
TCP/IP四层模型 --- TCP/IP标准模型
TCP/IP五层模型 --- TCP/IP对等模型
封装 --- 解封装
应用层
传输层 --- 端口号 --- TCP,UDP
网络层 --- IP地址 --- IP
数据链路层 --- 以太网中需要封装MAC地址 --- 以太网协议
物理层
![](https://img-blog.csdnimg.cn/35f97d159fa245ec9fcec70063cab927.png)
PDU --- 协议数据单元
L1PDUL2PDU…L7PDU
应用层 --- 报文
传输层 --- 段
网络层 --- 包
数据链路层 --- 帧
物理层 --- 比特流
OSI参考模型不支持跨层封装,而TCP/IP可以跨层封装。 --- 跨层封装的好处,可以提高转发效
率
1,跨四层封装 --- 一般应用在直连的路由器之间。 --- OSPF协议就是一个跨四层封装的协
议,他的协议号为89
![](https://img-blog.csdnimg.cn/42b241e314734fd89e7a992aa66bf0d7.png)
2,跨三四层封装 --- 一般出现在直连的交换设备之间 --- STP
注: SOF --- 帧首定界符
抓包截图
DSAP --- 指明目标的上层协议类型SSAP --- 知名数据帧源上层协议类型Control --- 可以实现数据的分片和重组
二.实验
1.电脑获取IP地址
(1). 手工配置
(2).通过DHCP协议自动获取
DHCP --- 动态主机配置协议 --- C/S1,客户端 --- 服务器 --- DHCP-Discover报文传输层 --- UDP --- SPORT:68 DPORT:67网络层 --- IP --- SIP:0.0.0.0 DIP:255.255.255.255数据链路层 --- 以太网协议 --- SM:自己的MAC DM:全F
交换机的转发原理 :数据来到交换机上,交换机先查看数据帧中的源MAC地址,之后将源MAC地址和进入的接口号的对应关系记录在本地的 MAC地址表 中,之后,再看目标MAC地址,根据目标MAC地址查看MAC地址表,如果表中存在记录,则直接按照记录实现单播;如果没有记录,则将泛洪 --- 除了进入的接口外,剩余所有接口都发送。
交换机在遇见三种帧时必然泛洪:1,广播帧(目标MAC地址是广播地址的数据帧)2,组播帧(目标MAC地址是组播MAC地址的数据帧)3,未知单播帧(目标MAC地址是单播MAC地址的数据帧)
路由器收到这个数据帧后,先看二层,一看是广播帧,所以,解二层封装,将解开后的数据包发送给IP模块进行处理。IP模块需要先看目标IP地址,一看是受限广播地址,则解三层封装,因为协议字段为17,则交给UDP模块进行处理。之后依靠数据段中的目标端口号 --- 67判断,交给对应的DHCP服务进行进一步处理。
服务器 --- 客户端 --- DHCP-offer报文 --- 单播/广播传输层 --- UDP --- SPORT:67 DPORT:68网络层 --- IP --- SIP:68.85.2.1 DIP:68.85.2.101数据链路层 --- 以太网协议 --- SM:服务器的MAC地址 DM:客户端的MAC地址客户端 --- 服务器 --- DHCP-Request --- 广播 --- 这个数据包一定是以广播形式发送的,因为一方面它需要告诉获取IP地址的服务器,请求该IP地址;另一方面,需要告诉剩余没有获取IP地址的服务器,可以释放该地址。服务器 --- 客户端 --- DHCP-ACK --- 单播/广播
2.在浏览器中输入谷歌服务器的URL --- 资源定位符
因为输入的内容中包含谷歌的域名信息,但是,访问服务器需要获取对方的IP地址信息,所以,需要使用DNS服务进行地址解析
DNS请求报文传输层 --- UDP --- SPORT:随机 DPORT:53 --- 递归查询网络层 --- IP --- SIP:68.85.2.101 DIP:68.87.71.226数据链路层 --- 以太网协议 --- SM:自己MAC DM:网关的MAC地址
ARP --- 首先,主机通过广播的形式发送ARP请求,通过IP地址请求MAC地址。因为是广播帧,所以,广播域内所有设备都会收到请求报文。设备收到后,会先将数据包中的源IP地址和源MAC地址的对应关系记录在本地的 ARP缓存表 中。之后,再看请求的IP地址。如果是本地的IP地址,则将回复ARP应答报文。如果不是,则将直接丢弃数据包。之后再发送信息之前,先查看ARP缓存表,如果存在记录,则直接按照记录转发;如果不存在,则再发送ARP请求。
路由器的转发原理:数据来到路由器上,路由器会基于目标IP地址查看本地路由表,如果本地路由表中存在记录,则无条件按照路由条目转发;如果没有记录,则将丢弃该数据包。
DNS服务器收到请求报文后,将先在本地缓存中查找记录,如果有,则直接返回;如果没有,则将向根服务器发送迭代查询。(迭代查询使用TCP协议封装传输层。)
3,通过HTTP协议获取谷歌服务器的网页信息。
因为,HTTP协议传输层使用的是TCP协议,所以,需要先建立点到点的连接,也就是TCP的三次握手。建立连接之后,将发送HTTP的请求报文。客户端会发送GET包请求网页信息,之后,服务器会回复HTTP的应答报文,其中将携带网页信息。
三.网络类型
网络类型 --- 指根据数据链路层所运行的协议及规则进行划分的。
P2P --- 点到点网络MA --- 多点接入型网络BMA --- 广播型多点接入网络NBMA --- 非广播型多点接入网络
以太网协议的特点 --- 需要通过MAC地址对设备进行区分和标定。
以太网协议之所以需要通过MAC地址对设备进行区分和标定,主要是因为利用以太网所构建的二层网络可以包含两个或两个以上接口,每个以太网接口都可以通过交互以太网帧的形式来进行二层通信。所以,以太网属于BMA网络
如果一个网络中,
只能
包含两台设备,就不需要通过地址进行区分,这样的网络我们就称为点
到点网络。
点到点网络带宽T1 -- 1.544MbpsE1 -- 2.048Mbps
频分 --- 所谓频分,就是传输介质上可以同时发送不同频段的电流而互不干扰。实现数据的并行发送。
HDLC --- 高级数据链路控制协议
标准的HDLC --- ISO组织在SDLC的基础上改进所颁布的符合工业标准的HDLC。非标的HDLC --- 各大厂商在标准的HDLC的基础上改进而来。(思科设备组件的串线网络默认使用的协议为HDLC协议,华为设备组建的串线网络默认使用的协议是PPP协议。)
PPP --- 点到点协议
1,兼容性强2,可移植性强 --- PPPoE3,可以进行认证和授权
PPP协议和TCP协议类似,在正式传输数据之前,也需要建立PPP会话
1,链路建立阶段 --- LCP建立 --- 链路控制协议2,认证阶段 --- 可选项3,网络层协议协商阶段 --- NCP协商 --- 网络控制协议 --- 一堆协议的集合,具体使用哪一个取决于网络层选择的协议类型,如果网络层使用IP协议,则需要使用对应的IPCP协议来协商。PPP协议包含多个附属协议,也可以理解为成员协议。
![](https://img-blog.csdnimg.cn/29891a38bc1d496f8c014884eb07ace5.png)
F -- flag --- 类似于以太网中的前导符 --- 01111110A -- Address --- 11111111C -- Control --- 00000011
![](https://img-blog.csdnimg.cn/a0f411d05bf74962ada447574793f147.png)
PPP会话建立过程
1,链路建立阶段 --- LCP建立 --- 就是通过LCP协议协商链路相关参数,之后根据协商好
的参数建立链路。
MRU --- PPP帧中数据部分所允许携带的最大长度(字节),默认值1500.因为第二阶段认证阶段是可选项,所以是否需要认证以及认证方式,需要在LCP建立阶段完成协商。
![](https://img-blog.csdnimg.cn/91005e8a4f1949f5af44920bbddf2eb5.png)
2,认证阶段 --- PPP在认证时需要调用AAA来进行认证(注:PPP中的认证可以是单向认证,也可以是双向认证)
PAP --- 密码认证协议 --- 被认证方将用户名和密码信息以明文的形式发送给认证方,对方回复ACK则代表认证成功,回复NAK则代表不成功。
![](https://img-blog.csdnimg.cn/fa23a883d5394cea916c356f764641f9.png)
CHAP --- 挑战握手协议 --- 通过比对摘要值的方式进行认证
注:摘要值 --- HASH算法(散列函数) --- 可以将任意长度的输入转换成固定长度的输出1,相同输入,相同输出2,不可逆性3,雪崩效应MD5是HASH算法的一种 --- 可以将任意长度的输入,转换成128位的输出。
![](https://img-blog.csdnimg.cn/dfbb1bf12f4b440587d854151cb90c2a.png)
3,网络层协议协商阶段 --- NCP协商 --- IPCP
协商的参数:1,IP地址;2,IP报文的压缩格式
GRE与MGRE
GRE --- 通用路由封装
GRE技术,也就是tunnel,实际上是一种最简单的VPN技术,属于点到点网络类型,逻辑的再互联网环境中打通一条隧道,通过在原有封装的基础上在公网IP封装之前再添加一层GRE封装和tunnel私网地址封装,公网只识别公网部分IP的转发,到达私网路由器时,识别私网封装,实现跨公网传递私网路由信息的目的
GRE配置
1,创建隧道接口[r1]interface Tunnel 0/0/02,给隧道接口配置IP地址[r1-Tunnel0/0/0]ip address 192.168.3.1 243,定义封装类型[r1-Tunnel0/0/0]tunnel-protocol gre4,定义封装内容[r1-Tunnel0/0/0]source 12.0.0.1[r1-Tunnel0/0/0]destination 23.0.0.2
MGRE
MGRE技术全称为多点GRE技术,是基于GRE技术的升级版,GRE技术的弊端很明显,就是只能再两个点之间建立tunnel,如果有多个局域网需要建立自己的通信环境,那么就需要建立多个全互联形式的tunnel隧道,这样就会造成管理上的不方便和资源的占用,因此产生了MGRE技术。
NHRP协议 --- 下一跳解析协议 --- NHS(下一跳解析服务器) --- 需要在私网中选出一个出口物理IP地址不会发生变化的设备成为NHS,之后剩余的分支都需要知道中心的隧道IP地址和物理接口IP地址,之后,NHRP要求,所有分支需要将自己物理接口和隧道接口的映射关系发送给NHS,之后,如果分支出接口的IP地址发生变化,则需要将最新的映射关系发送给中心。之后,中心发送消息,只需要依靠记录表搭建隧道即可。当然分支和分支之间,需要通信,可以先找中心下载映射表,之后,在根据映射关系搭建隧道,进行通信。 ---- HUBSPOKE架构。
MGRE配置
中心配置
1,创建隧道接口[r1]interface Tunnel 0/0/02,给隧道接口配置IP地址[r1-Tunnel0/0/0]ip address 192.168.3.1 243,定义封装类型[r1-Tunnel0/0/0]tunnel-protocol gre p2mp4,定义封装内容[r1-Tunnel0/0/0]source 15.0.0.1 (中心的出接口IP是固定的,方便分支寻找)[r1-Tunnel0/0/0]nhrp network-id 100 --- 创建ID为100的NHRP域分支配置1,创建隧道接口[r1]interface Tunnel 0/0/02,给隧道接口配置IP地址[r1-Tunnel0/0/0]ip address 192.168.3.2 243,定义封装类型[r1-Tunnel0/0/0]tunnel-protocol gre p2mp4,定义封装内容[r2-Tunnel0/0/0]source GigabitEthernet 0/0/1(分支的出接口IP是可变的,是向中心汇报的,所以绑定接口即可)[r2-Tunnel0/0/0]nhrp network-id 100[r2-Tunnel0/0/0]nhrp entry 192.168.5.1(中心隧道接口的IP地址) 15.0.0.1(中心物理接口的IP地址) register --- 找中心注册信息[r1]display nhrp peer all --- 查看NHRP邻居上报的信息
MGRE环境在逻辑拓扑上是一个多点接入的网络,但是,在数据收发时,依然是走的是点到点的隧道,所以,这样的网络中是不支持广播行为,所以,可以将它理解为是一种NBMA的网络。
MGRE环境下运行RIP遇到的问题:
1,只有中心获取到路由信息,分支没有获取到解决方案 --- 中心开启伪广播[r1-Tunnel0/0/0]nhrp entry multicast dynamic2,分支只学习到了中心的路由信息,而没有其他分支的路由信息原因 --- RIP的水平分割解决方案 --- 关闭水平分割[r1-Tunnel0/0/0]undo rip split-horizon