IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> HCIA回顾 -> 正文阅读

[网络协议]HCIA回顾

HCIA回顾

OSI 模型:

  • 应用层:人机交互的接口(物理硬件的API接口,连接应用程序,将电脑上的软件、手机APP所产生的数据,通过这些API接口交给计算机硬件处理)
  • 表示层:将逻辑语言转换成二进制语言(将应用层接收到的数据,进行二进制的转换)对QQ、ssl等即时性强的进行加解密;
  • 会话层在控制层面区分流量,防止数据间产生干扰,针对产生的每一种数据,定义(建立)一条会话的虚链接(建立链接、维持链接、终止链接)
  • 传输层:区分不同的流量
    • 通过端口号区分流量;

      • 端口号范围0-65535
      • 端口号分类:
        • 静态端口号(著名端口号):1-1023
        • 动态端口号:1024-65535
    • 定义数据的传输方式

      • 可靠传输(TCP—传输控制协议

        • 序列号32个二进制,发送数据的顺序

        • 确认号32个二进制,确认数据时使用

        • 面向连接的可靠的传输协议

          • 可靠:有可靠机制,保证数据传输到对方
          • 面向连接:传输数据前,通过协商保证双方链路通信,以及数据的正常发送(TCP三次握手:第二个包对第一个包进行确认,第三个对第二个确认,前两个都是显式确认,第三个包是隐式确认)
        • 通过确认和重传机制保证可靠性

      • 不可靠传输(UDP–用户数据报协议

        • 非面向连接的不可靠的传输协议
        • 没有ACK号,没有序列号

TCP/IP模型:

应用层:对应应用层、表示层、会话层

端到端层(主机到主机层):对应传输层

互联网层:对应网络层

网络接口层:对应数据链路层和物理层


OSI与TCP/IP模型的区别:

  1. OSI模型数据封装必须具有完整的封装;TCP/IP支持跨层封装;

    1. DHCP(完整):

      EⅡIPUDPDHCP
      二层三层四层
      以太网网络层传输层
    2. OSPF(跨层):

      L2IPOSPF
      二层三层
    3. ARP(跨层):

      EⅡARP
      二层
  2. OSI一般用于理论研究;

    TCP/IP用于工业生产;

  3. OSI支持多种网络层协议;

    TCP/IP仅支持IP协议栈(IPV4、IPV6)


ARP:地址解析协议

正向ARP:知道对端的IP地址,请求对端MAC地址;

反向ARP:知道对端的MAC地址,请求对端IP地址;

逆向ARP:帧中继网络中使用;

无故ARP:地址冲突检测;

代理ARP:

? 代理ARP的工作过程如下:

? PC1和PC2虽然属于不同的广播域,但它们处于同一网段中,因此PC1会向PC2发出ARP请求广播包,请求获得PC2的MAC地址。由于路 由器不会转发广播包,因此ARP请求只能到达路由器,不能到达PC2。

? 当在路由器上启用ARP代理后,路由器会查看ARP请求,发现IP地址172.16.20.100属于它连接的另一个网络,因此路由器用自己的接口 MAC地址代替PC2的MAC地址,向PC1发送了一个ARP应答。

? PC1收到ARP应答后,会认为PC2的MAC地址就是00-00-0c-94-36-ab,不会感知到ARP代理的存在。

? 在接下来的数据通信中,PC1先将数据发送给路由器,由路由器转发给PC2。

img

img


IPV4数据包结构:
在这里插入图片描述
在这里插入图片描述
img

IP头部大小默认是20个字节(options和padding一般是空的,如果不为空,则大于20个字节)

  • 版本(Version):占4位,指IP协议的版本(IPV4/IPV6)。

  • 首部长度(IHL):占4位,可表示的最大十进制数值是15。请注意,这个字段所表示数的单位是32位字长(1个32位字长是4字节),因此,当IP的首部长度为1111时(即十进制的15),首部长度就达到60字节。

  • 区分服务(Type of Service):占8位,用来获得更好的服务。这个字段在旧标准中叫做服务类型,用来标记流量,可以用于QoS;

    • IP优先级标记方法(IPP)

      12345678

      使用前3位用来标记流量,则有8种优先级(000/001/010/011/100/101/110/111),对应的优先级分别为0-7,其中0为普通流量,7为优先级最高的流量,不允许出现,所以可以用来标记的优先级为1-6;优先级为1为快速转发、2为快速覆盖转发、3为立即转发、4为火速转发、5为火速覆盖转发、6为闪速转发;

    • 区分服务代码点(DSCP)

      12345678

      使用前六位来标记流量,则有0-63共64个优先级可用,最后两位为ECN位(显示拥塞位),用于QoS,如果网络拥塞,他会将ECN位置1,来缓解网络拥塞

    • PHB

      12345678

      前三位为转发优先级(CS转发),4-5位为丢弃优先级;

  • 总长度(Total Length):指首部和数据之和的长度,单位为字节。总长度字段为16位,因此数据报的最大长度为2^16-1=65535字节。

  • 标识(Identification):占16位。IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。但这个“标识”并不是序号,因为IP是无连接服务,数据报不存在按序接收的问题。当数据报由于长度超过网络的MTU而必须分片时,这个标识字段的值就被复制到所有的数据报的标识字段中。相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。

  • 标志(flag):占3位,但只有2位有意义。

    • R保留位
    • 标志字段中间的一位记为DF(Don’t Fragment),意思是“不能分片”。只有当DF=0时才允许分片。DF=0是一种策略,并不是说没有分片的DF一定为1;
    • 标志字段中的最低位记为MF(More Fragment)。MF=1即表示后面“还有分片”的数据报。MF=0表示这已是若干数据报片中的最后一个。
  • 片偏移(Fragment Offset):占13位。片偏移指出:较长的分组在分片后,某片在原分组中的相对位置。也就是说,相对用户数据字段的起点,该片从何处开始。片偏移以8个字节为偏移单位。这就是说,除了最后一个分片,每个分片的长度一定是8字节(64位)的整数倍。

  • 生存时间(Time to Live):占8位,生存时间字段常用的的英文缩写是TTL;路由器在转发数据报之前就把TTL值减1.若TTL值减少到零,就丢弃这个数据报,不再转发。数据报在网络上经过的路由器的最大数值是255.若把TTL的初始值设为1,就表示这个数据报只能在本局域网中传送。

  • 协议(Protocol):占8位,协议字段指出此数据报携带的数据是使用何种协议,以便使目的主机的IP层知道应将数据部分上交给哪个处理过程。

    • EⅡIPTCPTelnet
      234
      类型字段(Type)协议号端口号
      0X0800(上层使用IPV4)、0X86DD(IPV6)、0X8847(IPV4组播)、0X8848(IPV6组播)、0X8100(802.1Q/DOT1Q)描述上层使用协议例如TCP(6)、UDP(17)、OSPF(89)等服务接入点
  • 首部校验和(Header Checksum):占16位。这个字段只检验数据报的首部完整性,但不包括数据部分。这是因为数据报每经过一个路由器,路由器都要重新计算一下首部检验和(一些字段,如生存时间、标志、片偏移等都可能发生变化)。不检验数据部分可减少计算的工作量。

  • 源地址(Source Address):占32位

  • 目标地址(Destination Address):占32位

  • 可选项(Options):

    • 严格路由:将选路的IP地址列出,转发时必须严格按照指定接口IP地址转发;
    • 松散路由:只要经过选路中的IP地址即可,过程中经过其他路由器也无所谓;
    • 时间戳:把中间经过的时间也记录下来;
    • 记录路由:将访问过程往返经过的所有接口IP地址记录下来;
  • 填充项(Padding):在Options中有数据后,必须将改行填充够32比特或者32比特的倍数;


控制层面和数据层面区分

  1. 控制层面:路由条目的加表;

控制层面就是各种协议工作的层面。它的作用是通过控制和管理各种网络协议的运行,使得路由器/交换机能够对整个网络的设备、链路和运行的协议有一个准确的了解,并在网络发生变化时也能及时感知并调整。控制层面为数据层面转发数据提供了各种必要的信息。控制层面占用的主要是软件资源,它消耗CPU。

控制层面:控制信息流。Rip的报文、OSPF的LSA传递。

  1. 数据层面:按照路由条目转发数据包;
    1. 与操作:查表时,会将该地址与表中所有掩码进行与操作(上下全为1时为1),得到的地址与掩码前的地址完全匹配(一致),表示可以转发该路由;
    2. 最长匹配:有多条路由匹配时,选择掩码最长的那个;
    3. 递归查找:在路由表中,没有出接口,只有下一跳的情况下,以下一跳为目标再次进行与操作和最长匹配,最终找到本路由器的出接口进行转发;

数据层面是针对数据发送来说的。控制层面构建了路由表等数据发送的必要信息,数据层面根据这些信息来发送数据。网络设备中,对数据的各种具体的处理、转发过程都属于数据层面的范畴。数据层面主要占用的是硬件资源

数据层面:数据流。ICMP的ping包。

  1. 举例

假设有4台路由器A—B—C—D,其中A是数据发送者、D是接收者。A要发数据给D,首先要知道D在哪儿。D会把自己的路由信息先通过路由选择协议发给C,再传递给B,最后传递到A,即路由信息的流向是D—C—B—A,这就是控制层面,因为该层面传递的是路由信息,而路由信息属于控制信息,所以叫控制层面。当A—D的路由建立起来后,A就把生产流量通过A—B—C—D这个流向传递给D,这就是数据层面,因为该层面传递的是生产数据,是用户想要发送的数据,

所以叫数据层面。一般来说,控制层面和数据层面的方向相反。

典型的ospf计算cost是在控制层面的入接口累加,rip在控制层面的出接口累加。


浮动静态路由:

在这里插入图片描述

上边的静态路由优先级为60,下边的串线优先级为61,配置浮动静态路由后,上边的一个接口down后,并不会切换到下边的串线,原因是MA网络一个接口下可能会连接一台交换机,连接着多个接口,一个接口的Down并不会使得路由切换,但是如果上边串线优先级为60,下边为61,一个串口dowm,路由会立即切换,原因是串线是点对点的,一个接口Down会导致另一边的接口停止发送并且删除静态路由条目,使得路由切换;但是我们一般会使高速链路做主,低速链路做备份,所以这里我们使用BFD

[R1]bfd

R1]bfd 1 bind peer-ip 10.1.1.2 source-ip 10.1.1.1
[R1-bfd-session-1]discriminator local 1
[R1-bfd-session-1]discriminator remote 2
[R1-bfd-session-1]commit

[R2]bfd

[R2]bfd 1 bind peer-ip 10.1.1.1 source-ip 10.1.1.2
[R2-bfd-session-1]discriminator local 2
[R2-bfd-session-1]discriminator remote 1
[R2-bfd-session-1]commit

[R1]dis bfd session all

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RFw2uQ4k-1647342827941)(C:\Users\秦扬帆\AppData\Roaming\Typora\typora-user-images\image-20220302162715267.png)]

[R1]ip route-static 2.2.2.0 255.255.255.0 10.1.1.2 track bfd-session 1

[R1]ip route-static 2.2.2.0 255.255.255.0 20.1.1.2 preference 61


永久静态路由:

一般的静态路由在一个接口Down后,会从将该静态从路由表中删除,为了防止从其他途径学习到该路由影响到其他的选路(例如边界路由器指向ISP的静态)永久静态路由哪怕一个接口Down也不会将其从路由表中删除,而是指向NOLL 0口 ;

[R1]ip route-static 2.2.2.0 255.255.255.0 20.1.1.2 permanent


动态路由协议:

动态路由协议的分类

  • 按照使用范围分类:IGP、BGP (AS—自治系统)
  • 按照协议的算法特点进行分类:距离矢量型(传递路由信息)、链路状态型(既要传递路由信息又要传递拓扑信息)
  • 按照是否携带网络掩码进行分类:有类别路由协议(不携带网络掩码–A、B、C类);无类别路由协议(携带网络掩码)

RIP:路由信息协议

适用范围:IGP

协议算法特点:距离矢量型(DV)、贝尔曼福特算法

是否携带网络掩码:RIP V1不携带、RIP V2携带

RIP NG:支持IPV6

协议数据包的封装:基于UDP封装,使用端口号520

RIP协议描述:路由器通过周期性发送消息数据包来传递路由信息(Request 请求/Response 响应)周期时间30S,支持路由认证(安全性),支持路由手工汇总

RIP携带路由信息的报文:Response基于UDP封装;一条RIP更新报文最多包含25条路由信息,若启用路由认证,则最多传递24条路由信息。

异步更新机制:

路由器周期更新完成后,在下一次周期更新之前会运行一个随机算法,随机出一个在00.15之间的一个随机值,用这个随机出的值,乘周期更新时间代表下次周期更新时间的提前值,最小为0*30=0,最大为0.15*30=4.5,所以周期更新时间为25.530S之间;

水平分割机制:

通过一个接口接收到的路由不能通过该接口再转发出去;

毒性逆转水平分割机制:

当一条路由不可达的时候,会发送一条度量值为16的毒化路由,收到该毒化路由的用户会立即删除该路由并且扩散该毒化路由,随后打破水平分割,将该度量值为16的毒化路由转发回去

RIP计时器机制:

思科:update更新—30S invalid无效—180S holddown抑制—180S flush刷新—240S

抑制:路由表中一条路由连续180S没有收到消息后置于无效状态,当又收到一条度量值比无效路由度量值大的路由,则该路由会被抑制加表,抑制时间为180S,但是其实最大抑制时间为60S,因为路由240S刷新一次,无效路由刷新;

华为:更新—30S 无效—180S 垃圾回收—120S

RIP支持触发更新,并且默认开启(华为中默认开启,思科默认关闭)

无效路由:

在思科中,一条路由连续180S没有收到数据,会被置位无效路由(可能死亡的路由),但是不会从路由表中删除,依然能够转发数据;

在华为中,连续180S没有收到数据的路由会移入不活动路由表,此时不能转发数据;额外的120S后该路由会被彻底删除;

**触发更新:**网络结构稳定的情况下不发送数据,只有在网络结构发生变化的情况下,才会发送更新数据;

华为中触发更新+周期更新;思科开启触发更新后不再周期更新;


  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-03-16 22:56:30  更:2022-03-16 22:57:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:23:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码