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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 暑期项目特训学习 -> 正文阅读

[网络协议]暑期项目特训学习

一,何为BGP

边界网关协议BGP(Border Gateway Protocol)是一种实现自治系统AS(Autonomous System)之间的路由协议。

1,特性

  • 类型:BGP协议是一种外部网关协议。

  • 路由算法:路径-矢量,避免了环路的发生
    其路由信息携带了所经过的所有AS路径列表,接收路由信息的BGP路由器可以知道该信息是否源于自己的AS,若源于,则抛弃此条路由,这样就解决了环路问题。

  • 传递协议:TCP(目的端口号179)

  • 支持CIDR和路由聚合
    可以将一些连续的子网聚成较大的子网,从而控制路由表增长,降低路由查找复杂度

  • 只发送增量路由更新
    与邻居建立关系时,BGP路由器会将自己的全部路由信息告诉邻居,此后若路由表发生变化,则只将增量部分告诉邻居

  • 路径选择:较好,非最佳

  • 交换节点:和本结点相邻的路由器

2,常用术语

  • BGP发言者(BGP Speaker):接收、产生、发送BGP消息的路由器

  • RID(Router ID):32位比特无符号整数,用于在一个AS中唯一标识一台路由器。RID可以是手动配置或路由协议自动选择。

  • BGP对等体(BGP Peer):相互交换信息的BGP发言者。亦称BGP邻居。可分为IBGP对等体和EBGP对等体。

  • EBGP对等体
    处于不同AS的BGP对等体称为EBGP对等体,通常情况EBGP对等体是物理上直连
    BGP Speaker从EBGP Peer获得的路由会向其除了原EBGP Peer以外的BGP Peer发布(以防止环路)

  • IBGP对等体
    处于同一个AS下的BGP Peer,其间物理直连或TCP可达。
    BGP Speaker从其IBGP Peer获得的路由不会想起IBGP Peer转发(以防止环路)
    为防止路由黑洞,从IBGP Peer获得的路由是否发送给其EBGP Peer与BGP是否同步有关

  • IBGP全连接
    直接没看懂

TCP的可靠传输机制和滑动窗口机制可以确保承载与TCP之上的BGP可以可靠传递大量路由。但是TCP链接是点到点的单播方式来进行报文传输的,因此BGP链接只能是基于点到点的链接。同时BGP是一种距离矢量路由协议,为了防止产生路由环路,协议规定BGP发言者从IBGP对等体获得的路由不能向其他的IBGP对等体发布。这样,在运行了BGP协议的AS内,为了确保所有BGP路由器的路由信息向,则需要使所有的IBGP路由器保持全连接。

3,BGP消息种类

  • Open消息:TCP连接后的首条消息,用于建立BGP Peer之间的链接关系。
  • Keepalive消息:周期性的向BGP Peer发出消息,以保持链接有效性。或用于对收到的Open消息作出回应。
  • Update消息:BGP Peer间交换的关于路由增删的消息
  • Notification消息:用于错误通知,发送之后会关闭链接回到idie状态
  • Route-refresh消息:是要求对等体重新发送指定地址族的路有消息

4,BGP协议状态机的状态

状态间的转换描述的是BGP对等体关系的建立过程

  • Idle状态(空闲状态):初始状态,不接受任何BGP连接,等待Start事件发生。若有Start事件发生则系统开启ConnectRetry定时器,向邻居发起TCP连接,状态转换为Connect
  • Connect状态(连接状态):系统在该状态会等待TCP连接建立完成
    TCP状态为Established,则拆除ConnectRetry定时器,并发送OPEN消息,将状态变为Opensent状态
    TCP连接失败则重置ConnectRetry定时器,并发送OPEN消息,将状态变为Active
    ConnectRetry timer expired(重传定时器)超时,则重新连接,扔处于Connect状态
  • Active状态(活跃状态):在Active状态系统会响应ConnectRetry timer expired事件,重新进行TCP连接,同时重置ConnectRetry定时器,变为Connect状态;
  • Opensent状态(OPEN消息已发送):此状态表明系统已经发出Open消息,在等待BGP邻居发给自己的OPEN消息
    如果收到BGP邻居发来的OPEN消息,并且没有错误的话,则转向Openconfirm状态,同时将HoldTime定时器的值置为协商值,发送Keepalive消息并置Keepalive定时器
    如果有错误则发送Notification消息并断开链接
  • Openconfirm状态(OPEN消息确认):状态表明系统已经发出Keepalive消息,并等待BGP邻居的Keepalive消息。
    如果收到邻居的Keepalive消息则转向Established状态并重置HoldTime定时器;
    如果KeepAlive定时器超时则重置并发送KeepAlive消息;
    如果收到Notification消息,则断开链接。
  • Established状态(链接建立)该状态下可以发送Update消息交换路由信息
    如果KeepAlive定时器超时则重置KeepAlive定时器并发送KeepAlive消息
    如果收到KeepAlive消息则重置HoldTime定时器:
    如果检测到错误或者收到Notification消息则断开链接。

5,BGP路由属性

①分类

  • 公认必遵属性:ORIGIN、AS-PATH、NEXT_HOP
  • 公认可选属性:LOCAL_PREF、ATOMIC_AGGREGATE
  • 可选传递属性:COMMUNITY、AGGREGATOR
  • 可选费传递属性:MED、CLUSTER_LIST、ORIGINATOR_ID

②AS-PASH属性

用于选择路由
AS-PASH属性用于标识路由经过的AS路径
当一个路由器收到两条相同目的地的路由,它将选择AS路径最短的路由。
该属性用于防环,当一台路由器收到一条BGP路由,会查看路由的AS-path属性,如果发现有自己的AS号码,就会丢弃这条路由。

③NEXT_HOP属性

标识去往目的路由下一跳AS的路由器的IP地址
分四种情况:

  • BGP发言者把自己产生的路由发给所有邻居时,将把该路由信息的下一跳属性设置为自己与对端链接的接口地址
  • BGP发言者把从EGP邻居得到的路由发给IBGP邻居时,不改变该路由信息的下一跳属性
  • BGP 发言者把接收到的路由发送给 EBGP 对等体时,将把该路由信息的下一跳属性设置为自己与对端连接的接口地址
  • 对于可以多路访问的网络(如以太网或帧中继),如果通告路由器和源路由器的接口处于同一网段,则BGP会向邻居路由通告路由的实际的来源

④ORIGIN属性

用于选择路由

符号意义
i通过network生成的路由
通过import-route生成的BGP路由
e从EGP协议中引入到BGP协议中的路由

优先级:BGP发言者选用路由的顺序
优先级:i>e>?

⑤LOCAL_PREF属性

用于选择路由
用于在一个AS内有多个出口的情况下,IBGP邻居选择离开本AS时的最佳路由,它表明BGP路由器的优先级。
LOCAL_PREF 属性仅在IBGP 对等体之间交换,不通告给其他AS。
OCAL_PREF 的属性值仅仅会影响离开该AS的流量,不会影响进入该AS的流量。
当BGP的路由器通过不同的IBGP对等体得到目的地址相同但下一跳不同的多条路由时,将优先选择LOCAL_PREF属性值较高的路由。

⑥MED属性

MED也称为多出口鉴别器,它是一个4字节的整数,取值范围为0~4294967295.缺省情况下,MED的值为0,但通过命令 default med value 可对其进行修改。
值越小越优先。
MED只会影响相邻两个AS,收到MED属性的AS不会把此属性再继续传递给别的AS。

⑦BGP协议对路由的处理流程

BGP发言者从对等接收到BGP路由后,其基本的操作过程为:
接收路由过滤与属性设置——>路由聚合——>路由优选——>路由安装——>发布策略——>发布路由属性与属性设置

  • 路由聚合:若需要,BGP Peer将对路由表进行聚合,一次减少路由表规模
  • BGP将对接收到的路由进行优选,只选择最佳路由给自己使用,并将其安装到路由表
  • 发布路由属性与属性设置之后,路由被发布给BGP对等体

⑧BGP的路由优选

一般来说,BGP计算路由优先级的规则如下:
丢弃下一跳不可达的路由。
优选Preference_Value值最高的路由(私有属性,仅本地有效)。
优选本地优先级(Local_Preference)最高的路由。
优选手动聚合>自动聚合>network>import>从对等体学到的。
优选AS_Path短的路由。
起源类型IGP>EGP>Incomplete。
对于来自同一AS的路由,优选MED值小的。
优选从EBGP学来的路由(EBGP>IBGP)。
优选AS内部IGP的Metric最小的路由。
优选Cluster_List最短的路由。
优选Orginator_ID最小的路由。
优选Router_ID最小的路由器发布的路由。
优选具有较小IP地址的邻居学来的路由。

二,何为AS

用于选择路由
自洽系统AS(autonomous system)
1,一组共享相似路由策略并在单一管理域(如一个组织机构)内运行的路由器的集合。
2,每个自洽系统有唯一的AS编号,由IANA分配
3,自治系统的编号范围是1-65535,1-65411是注册的Internet编号,65412-65535是专用网络编号
4,各自分配的IP地址被标清楚属于哪个AS号码,在全球互联网上,假如一封email从一个a IP地址发往另外一个b IP地址,这封email必须要知道a IP地址属于的AS号码A到b IP地址属于的AS号码 B如何走,然后就沿着这条路到达目的IP地址。

.这个编号是由因特网授权的管理机构IANA分配的。它的基本思想就是希望通过不同的编号来区分不同的自治系统。这样.当网络管理员不希望自己的通信数据通过某个自治系统时,这种编号方式就十分有用了。例如.该网络管理员的网络完全可以访问某个自治系统.但由于它可能是由竞争对手在管理,或是缺乏足够的安全机制,因此.可能要回避它。
通过采用路由协议和自治系统编号,路由器就可以确定彼此问的路径和路由信息的交换方法。

IANA:互联网数字分配机构

三,何为路由

  • 路由:路由器从一个接口上接收数据包,并转发到另一个地址的过程。
    包括决定最佳路径和数据交换(通过网络传输信息)两个过程。
    路由发生在OSI网络参考模型的第三层即网络层。

  • 路由方式:数据交换方式。即让数据包根据一定路径传输的方式。路由根据路由表——存储到各个目的地的最佳路径的表,来找到路径传输方式。

  • 路由器:路由器用于将网络进行互联,是网络传输的交通枢纽,具备路由和转发功能。
    在TCP/IP协议中称路由器位网关。
    路由器通过转发数据包来实现网络互联。
    通常插两张网卡
    网卡一,连接广域网的WAN口,IP地址由上一级网络分配
    另一张网卡LAN,连接局域网,IP地址可以自己配置

  • 转发:在内部进行输入端的数据包转送到合适的输出端

  • 路由协议:
    路由协议
    按照工作区域,将路由协议分为IGP(内部网关协议)和EGP(外部网关协议),EGP的一个应用实例是BGP

  • 路由前缀

四,网络拓扑

1,什么是拓扑

把实体抽象位点,连接实体的路抽象位线,从而以图的方式来表示点和线之间的关系
在计算机网络中,把计算机,终端、通信处理机等抽象为点,连接这些舌部的通信线路抽象为线,将这些点线构成的拓扑称为网络拓扑

2,常见网络拓扑结构

①总线型

在这里插入图片描述
特点:结构简单灵活,非常便于扩充;可靠性高,网络响应速度快;设备量少、价格低、安装使用方便;共享资源能力强,极便于广播式工作即一个结点发送所有结点都可接收。

②星型

在这里插入图片描述
星型拓扑常应用于局域网中。
特点::网络结构简单,便于管理、集中控制, 组网容易;网络延迟时间短,误码率低,网络共享能力较差,通信线路利用率不高,中央节点负担过重,可同时连双绞线、同轴电缆及光纤等多种媒介。

扩展星型拓扑:
在这里插入图片描述

③环型

在这里插入图片描述
特点:信息在网络中沿固定方向流动,两个结点间仅有唯一的通路,大大简化了路径选择的控制;某个结点发生故障时,可以自动旁路,可靠性较高;由于信息是串行穿过多个结点环路接口,当结点过多时,影响传输效率,使网络响应时间变长。但当网络确定时,其延时固定,实时性强;由于环路封闭故扩充不方便。

④网状

在这里插入图片描述
节点之间的连接是任意的,每个节点都有多条线路与其他节点相连,这样使得节点之间存在多条路径可选
网状拓扑可以充分、合理的使用网络资源,并且具有可靠性高的优点。这个优点是以高投资和高复杂的管理为代价

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-07-15 16:36:12  更:2021-07-15 16:36:16 
 
开发: 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/27 17:58:09-

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