• 协议类型(总结为主,非详细)


    目录

    封装类协议

    链路层

    局域网:以太网

    广域网:PPP,HDLC,帧中继

    帧中继(FR)

    HDLC(High Level Data Link Control,高级数据链路控制)

    PPP协议

    网络层(IP)

    IPv4报文格式

    IPv6报文格式

    传输层(TCP/UDP)

    TCP/UDP端口号

    TCP序列号

    TCP三次握手建立连接

    TCP的4次握手

    TCP的滑动窗口机制

    动态路由协议

    RIP(Routing Information Protocol,路由信息协议)

    OSPF(Open Shortest Path First,开放式最短路径优先协议)

    BGP (Border Gateway Protocol,边界网关协议)


    封装类协议

    链路层

    局域网:以太网

    以太网帧格式

    •目的地址,源地址指的是MAC地址

    •数据字段的MTU(最大传输单元):1500

    补充:

    100M以太网 

    1000M以太网

    广域网:PPP,HDLC,帧中继
    帧中继(FR)

    •帧中继在第二层建立虚链路,提供虚链路服务,本地标识DLCI

    •基于分组交换的透明传输,可提供面向连接的服务

    •只做检错和拥塞控制,没有流控和重传机制,开销很少

    •既可以按需要提供带宽,也可以应对突发的数据传输(CIR承诺速率  EIR:扩展速率

    帧长可变,,长度可达1600-4096字节,可以承载各种局域网的数据帧

    •可以达到很高的速率,2-45Mbps

    •不适合对延迟敏感的应用(语音、视频)

    •数据的丢失依赖于运营商对虚电路的配置

    •不保障可靠的提交

    FR的分组交换方式为虚电路方式,其余两者为ATM和X.25,这里不做细致讲解,可以看这篇:

    http://t.csdnimg.cn/3BCM4

    HDLC(High Level Data Link Control,高级数据链路控制)

    是一种面向位(比特)的数据链路层控制协议
    通常使用CRC-16、CRC-32校验,帧边界“01111110”

    HDLC三种类型帧:
    •信息帧(I帧)用于传送用户数据;
    •监控帧 (S帧)用来差错控制和流量控制;
    •无编号帧(U 帧)用于提供对链路的建立、拆除以及多种控制功能。

    例题: 

    答案:C

    解析

    REJ用于后退N帧ARQ流控方案,SREJ帧用于选择重发ARQ流控方案

    当发送站发送了编号为0,1,2,3,4的5帧时,收到了对方应答帧REJ3,此时发送站应从编号为3的帧重新发送后续的帧:3,4,5;若收到对方应答为SREJ3,则重新发送编号为3的帧,以及后续5,6帧,即3,5,6

    PPP协议

    PPP协议是一种点到点(一根链路两端只有两个接口)链路层协议,主要用于在全双工同异步链路上进行点到点的数据传输。
    PPP既支持同步传输又支持异步传输,而X.25、FR(Frame Relay)等数据链路层协议仅支持同步传输,SLIP仅支持异步传输。

    PPP协议具有很好的扩展性,例如,当需要在以太网链路上承载PPP协议时,PPP可以扩展为PPPoE。

    •PPP提供了LCP(Link Control Protocol)协议,用于各种链路层参数的协商。

    PPP提供了各种NCP(Network Control Protocol)协议(如IPCP、IPXCP),用于各网络层参数的协商,更好地支持了网络层协议。

    PPP提供了认证协议:CHAP(Challenge-Handshake Authentication Protocol)、PAP(Password Authentication Protocol),更好的保证了网络的安全性。

    无重传机制,网络开销小,速度快。

    PPP的报文格式

    1、Flag域:标识一个物理帧的起始和结束,该字节为二进制序列01111110(0X7E);

    2、Address 域:字节固定为11111111 (0XFF),是一个广播地址;

    3、Control 域:默认为00000011(0X03),表明为无序号帧;

    4、Protocol字段:用来说明PPP所封装的协议报文类型;

    典型的字段值有:0XC021代表LCP报文,0XC023代表PAP报文,0XC223代表CHAP报文。如果协议字段被设为0XC021,则说明通信双方正通过LCP报文进行PPP链路的协商和建立:

    5、information字段:包含协议字段中指定协议的数据包。

    •Code字段,主要是用来标识LCP数据报文的类型。

    典型的报文类型

    配置信息报文(Configure Packets: 0x01)

    配置成功信息报文(Configure-Ack: 0X02)

    终止请求报文(Terminate-Request:0X05)。

    •Identifier域为1个字节,用来匹配请求和响应。

    •数据字段的默认最大长度(不包括协议字段)称为最大接收单元MRU(Maximum Receive Unit),MRU的缺省值为1500字节。


    6、帧校验序列(FCS):是个16位的校验和,用于检查PPP帧的完整性。

    PPP链路建立状态机

    Dead阶段:也称为物理层不可用阶段。当通信双方的两端检测到物理线路激活时,就会从Dead阶段迁移至Establish阶段,即链路建立阶段。

    Establish阶段:PPP链路进行LCP参数协商。协商内容包括最大接收单元MRU、认证方式、魔术字(Magic Number)等选项。LCP参数协商成功后会进入Opened状态,表示底层链路已经建立。

    Authenticate阶段:多数情况下,链路两端的设备是需要经过认证阶段(Authenticate)后才能够进入到网络层协议阶段。PPP链路在缺省情况下是不要求进行认证的。如果要求认证,则在链路建立阶段必须指定认证协议。认证方式是在链路建立阶段双方进行协商的。如果在这个阶段再次收到了Configure-Request报文,则又会返回到链路建立阶段。

    Network阶段:PPP链路进行NCP协商。通过NCP协商来选择和配置一个网络层协议并进行网络层参数协商。只有相应的网络层协议协商成功后,该网络层协议才可以通过这条PPP链路发送报文。如果在这个阶段收到了Configure-Request报文,也会返回到链路建立阶段。NCP协商成功后,PPP链路将保持通信状态。

    PPP运行过程中,可以随时中断连接,例如物理链路断开、认证失败、超时定时器时间、管理员通过配置关闭连接等动作都可能导致链路进入Terminate阶段

    在Terminate阶段,如果所有的资源都被释放,通信双方将回到Dead阶段,直到通信双方重新建立PPP连接。

    更加详细的知识点可以看:

    10张图带你搞懂数据链路层PPP点到点协议 - 知乎 (zhihu.com)

    网络层(IP)

    IPv4报文格式

    例题

    为了控制IP数据报在网络中无限转发,在IPV4数据报首部中设置了 (27)字段
    A标识符    B.首部长度    C生存期     D.总长度

    答案:C

    IP数据报的分段和重装配要用到报文头部的报文ID.数据长度、段偏置值和M标志4个字段,其中(23)的作用是指示每一分段在原报文中的位置,若某个段是原报文的最后一个分段,其(24)值为“0”(23)A段偏置值    B.M标志   C.报文ID    D.数据长度
    (24)A段偏置值    B.M标志   C.报文ID    D.数据长度

    答案:A,B

    P数据报首部中IHL(Internet首部长度)字段的最小值为(65)
    A.5 B.20  C.32  D.128
    答案 A
    解析:

    首部长度占4位,单位为4字节,可表示最小值是5,最大值为15;

    最小为5,即5x32bit=160bit=20字节

    最大为15,表示15x32bit=480bit=60字节

    IPv6报文格式

    传输层(TCP/UDP)

    TCP/UDP端口号

    TCP序列号

    TCP三次握手建立连接

    TCP的4次握手

     

    TCP的滑动窗口机制

    例题:

    若主机采用以太网接入Internet,TCP段格式中,数据字段最大长度为 (24)字节
    A.20
    B.1460
    C.1500
    D.65535

    答案:B

    解析:TCP报头20个字节,IP报头20个字节

    补充:

    UDP头部是8个字节

    TCP头部是8个字节

    IP头部是20~60字节

    FTP 21控制端口,20数据端口

    SNMP 161 162

    OSPF封装在IP中

    RIP封装在UDP的520中

    BGP封装在TCP中

    动态路由协议

    动态路由协议的分类

    RIP(Routing Information Protocol,路由信息协议)

    •距离天量路由协议

    •计算跳数: 最大15跳,16跳不可达,一般用于小型网络

    •几个时钟:30s周期性更新路由表、180s无更新表示不存在、240s删除路由表

    •支持等价负载均衡和链路冗余,使用UDP的520端口

    RIPv1和RIPv2的区别

    距离矢量路由协议

    使用距离矢量路由协议的路由器并不了解网络的拓扑,该路由器只知道
    •自身与目的网络之间的距离
    •应该往哪个方向或哪个接口转发数据包

    距离矢量路由选择协议的特点

    •周期性地更新(广播)整张路由表 

    •RIP以条数作为度量值,虽然简单,但事实不科学,例如

    •RIP路由表

    •路由优先级

    RIP的防环机制

    •最大跳数:当一个路由条目发送出去会自加1跳,跳数最大为16跳,意味着不可达
    •水平分割:一条路由信息不会发送给信息的来源
    •反向毒化的水平分割: 把从邻居学习到的路由信息设为16跳,再发送给那个邻居
    •抑制定时器和触发更新也可以防止环路

    RIP协议总结
    •RIP (Routing Information Protocols,路由信息协议)
    •应用较早、使用较为普遍的内部网关协议
    •适用于小型网络,是典型的距离矢量路由协议
    •RIP基于UDP,端口520
    •华为设备上路由优先级为100

    OSPF(Open Shortest Path First,开放式最短路径优先协议)

    •OSPF是一种链路状态路由协议,在RFC 2328中描述

    •Open意味着公有,任何厂商都能支撑OSPF,目前业内使用最广泛的IGP

    •在华为设备上,OSPF协议优先级Internal 10,External 150;

    •路由器之间交互的是链路状态信息,而不是直接交互路由

    •每台OSPF路由器都知晓网络拓扑结构,采用SPF算法(迪杰斯特拉算法)计算达到目的地的最短路径

    •支持VLSM,支持手工路由汇总

    OSPF的基本特点

    •适应范围广:支持各种规模的网络
    •快速收敛:在网络的拓扑结构发生变化后立即发送更新报文,使这一变化在自治系统中同步

    •无自环:使用SPF最短路径树算法进行路由计算,不会产生环路
    •区域划分:允许网络被划分成区域来管理,链路状态数据库仅需和区域内其他路由器保持一致。减小对路由器内存和CPU的消耗。同时区域间传送的路由信息减小,降低网络带宽占用。

    Router ID

    •Router ldentifier,路由器标示符,用于在一个OSPF域中唯一地标识一台路由器,每台运行OSPF的路由器具备Router-ID。
    •相同OSPF域内,禁止出现两台路由器有相同RouterlD
    •OSPF Router-ID可以通过手工配置的方式,或使用自动获取的方式。

    自动选取的机制是:若路由器存在loopback接口,则选最大的loopback接口IP地址,若无,则选活跃的物理接口中IP地址最大的作为RouterlD(实际项目手工配置)。
    Router-ID值遵循稳定第一的原则,不会抢占。如果需要更新RouterlD:
            •重配地址: Undoip address
            •重启进程: Reset ospf process

    OSPF Cost

    •OSPF使用Cost“开销”作为路由度量值。
    •OSPF接口cost=100M/接口带宽,其中100M为OSPF参考带宽(reference-bandwidth),可修改。
    •每一个激活OSPF的接口都有一个cost值。
    •一条OSPF路由的cost由该路由从起源一路到达本地的所有入接口cost值的总和

    OSPF区域概念

     •所有非骨干区域必须与骨干区域直连(OSPF的骨干区域是0

     

    OSPF路由器角色

    OSPF总结

    •OSPF(Open Shortest Path First,开放式最短路径优先协议)内部网关协议,链路状态路由议,通过连通性、距离、时延、带宽等状态计算最佳路径,采用Dijkstra算法(也叫SPF算法) 

    •Area 0.0.0.0或者Area 0来表示,不是区域1

    •点对点网络上每10秒发送一次hello,在NBMA网络每30秒发送一次,Deadtime为hello时间4倍

    OSPF系统内几个特殊组播地址:
    •224.0.0.1---在本地子网的所有主机
    •224.0.0.2----在本地子网的所有路由器
    •2240.0.5----运行OSPF协议的路由器
    •224.0.0.6----0SPF指定/备用指定路由器DR/BDR
    •目标地址224.0.0.5指所有路由器,用于发现建立邻居、还用于选出区域内的指定路由器DR和备份指定路由器BDR(DR/BDR组播地址是224.0.0.6)。 

    注:RIPv2也是组播更新:224.0.0.9

    BGP (Border Gateway Protocol,边界网关协议)

    •外部网关协议,用于不同自治系统ABGP寻找最佳路由。
    •通过TCP179端口建立连接。支持VLSM和CIDR,是一种路径矢量协议(RIP是距离矢量协议)。目前最新版本是BGP4而BGP4+支持IPV6。
    •Open建立邻居关系,Keepalive周期性探测邻居存活。每一个自治系统要选择至少一个路由器作为该自治系统的“BGP发言人”。支持增量更新,支持认证。可靠传输,防止环路。自治通信策略选路。支持无类、支持聚合。

    BGP的四种报文

  • 相关阅读:
    为什么要分库分表?
    二建考生速看 拿到二级建造师证书后该如何进行注册?
    论文笔记:Spatial-Temporal Large Language Model for Traffic Prediction
    关于磁盘空间不够,导致报错 springboot内置tomcat相关的临时目录无法创建等问题,如何自定义配置 tomcat 缓存文件路径
    零碎改动(ES6+)
    微前端:quankun
    如何写得一手优雅规范的SpringBoot 接口?
    js 判断是 Android 设备还是苹果设备?
    【JAVA高级】——初识JDBC中DAO数据访问对象
    TVP 专家谈腾讯云 Cloud Studio:开启云端开发新篇章
  • 原文地址:https://blog.csdn.net/weixin_69884785/article/details/133459448