OSI七层模型:

  • 物理层:比特流传输
  • 数据链路层:提供介质访问和链路管理
  • 网络层:提供路由和寻址功能
  • 传输层:建立主机端到端连接
  • 会话层:建立维护和管理会话
  • 表示层:处理数据格式,数据加密等
  • 应用层:提供应用程序间的访问

物理层:不管通过什么样的介质,将信息的二进制传输到另外一个节点,这个过程就是物理层
数据链路层:将物理层传输过来的二进制信息进行翻译,翻译的结果被称为数据帧。以太网传输的是二进制,以太网卡都会内置芯片,用来处理最初的112个二进制,前48位是目的MAC地址,后48位是发送者的MAC地址,最后16位是数据包的类型,0x0800是ipv4,0x80dd是ipv6。
网络层:路由和寻址,当主机从网卡中获得后续数据是ipv4时,就以ipv4的内容去理解数据包 protocol,17udp,6tcp
传输层:端到端连接,当计算机现在确定这个数据包就是给我的之后就要判断这个数据是什么业务。需要注意的内容端口号:从1-65535默认情况都是关闭的 当有程序需要网络通信的时候,端口就会被打开。

DHCP:

动态主机设置协议,是一个局域网的网络协议,使用udp协议工作。主要有两个用途:用于内部网或者网络运营服务商自动配置网络。
DHCP运行过程:
DHCP客户端在局域网中发布DHCPdiscover包,用于发现DHCP服务器
DHCP服务器接受到DIScover包,回应客户端Offer包,用于告诉我能提供ip地址
DHCP客户端收到offer包后,发出request包请求ip地址
DHCP服务器发送ACK包,确认信息。

DHCP服务器给设备提供的内容如下:
ip地址
子网掩码
网关地址
dns服务器地址
租约时间

DNS域名系统

DNS是一台从域名到ip的映射系统,最开始的是一个host文件,但是随着计算机网络的体系越来越庞大,这个host文件的管理和更新变得困难,于是便出现了dns域名解析服务器,用来帮助域名和ip的映射。

NAT地址转换(NETWORK ADDRESS TRANSLATION)

NAT是为了让私网IP地址也能与互联网通信,它就是内网中的一个网关,帮大家请求互联网的数据。NAT地址转换技术能将数据包中的IP地址进行更换。
1. 浏览器缓存
2. 系统缓存,查找hosts文件
3. 路由器缓存————————以上三步均为DNS客户端的缓存!!
4. ISP DNS缓存
5. 根域名服务器
6. 顶级域名服务器
7. 主机名服务器
8. 保存结果至缓存
DNS查询类型
本地解析:过以前查询获得的缓存信息就地应答查询
递归查询:DNS服务器代表请求客户机联系其他DNS服务器,以完全解析,返回给客户机
迭代查询:客户机自己不断请求DNS服务来解析名称,典型的DNS服务器之间的交互

域名解析记录:
A:记录地址,返回的域名所指向IP地址
NS:域名服务器,返回保存下一级域名信息的服务器地址。该记录只能设置为域名,不能设置为IP地址
MX:邮箱记录,返回接收电子邮箱的服务器地址
CNAME:规范名称记录,返回另一个域名,即当前查询的域名是另一个域名的跳转
PTR:逆查域名,只用于IP地址查询域名
dig -x dig [a ns mx ] 查询指定的记录类型
扩展:
TXT:用来做SPF(反垃圾邮箱)
AAAA:用来指定主机名(或域名)对应的IPv6记录。
SRV:记录哪台计算机提供哪个服务。格式:服务 名字、点、协议的类型。
显性URL:从一个地址301重定向另一个地址的时候。
隐性URL:类似显性URL、区别在于隐形URL不会 改 变地址中的域名。

http://c.biancheng.net/view/6457.html

静态NAT:为每个内部的地址指定一个公网ip地址

PAT(端口地址转换):
在数据通信的时候只是需要一个端口号用于接受和发送数据,而一个ip地址可以有65535个端口号,所以将端口号轮流分配给内网设备即可

端口映射:
NAT会导致只能内网主动访问外网,而外网却没办法访问内网。例如我内网提供的服务,外网访问不到
端口映射可以将公网ip的端口地址对应到内网某个ip的端口地址,从而让内网的设备也可以对外发布服务。
端口映射可以让内网多个ip地址共用一个公网ip可以节约很多成本。

动态路由协议:

通过在路由器上设置动态路由协议,使得路由器之间能够交互用户路由计算的信息,从而使路由器动态学到网络中的路由。

管理距离:

不同的路由协议会有不同的管理距离,一般是值越小,优先级越高,当从不同的路由协议中学到相同的路由时,会选择优先级较高的。ospf是110 Rip是120.

Rip

距离矢量路由协议

是典型的距离矢量路由协议,实用于小型网络,最大为15跳16跳即为不可达。RIP是基于udp的,端口号为520。
使用该协议的路由器并不知道网络拓扑图,它只知道自身与目的网络之间的距离,应该往那个接口发数据包。路由器在收敛前无法正常工作。

Rip解决环路问题的机制

定义最大跳数
水平分割:从一个接口进来的数据包,不会再从这个接口出去
毒性 路由:当某个网段发生故障时,会在路由表中将此路由条目设置为16跳
毒性逆转:抑制计时器
触发更新:拓扑发生变更时,立即更新路由表,不需要等待更新计时器超时。

总结:

OSPF

开放最短路径优先,是一种链路状态路由协议,无路由循环,属于IGP(内部网络协议)
OSPF的报文封装
OSPF协议包直接封装于,协议号89
OSPF使用的组播地址:所有OSPF路由器—224.0.0.5,DR和BDR—224.0.0.6
OSPF的管理距离为110

路由重发步:

是可以将不同的自治系统他们之间的路由进行交换
从一种协议到另外一种 协议

OSPF的三张表:

邻居表,链路状态数据库,路由表
邻居表中的路由满足以下条件:

  • 都运行OSPF协议
  • 两台路由器直接相连
  • 在同一自治系统
  • hello/dead时间一致
  • 区域ID一致
  • 认证密码一致
  • MTP值一致
  • 网络类型一致
  • 链路两端接口掩码一致

OSPF名词

Neighbor-Id:邻居的ID,一般为最大的环回接口的值。它在一个OSPF域中唯一标识一台路由器
pri:优先级,可以调整优先级的值来指定DR与BDR
state:邻居的状态,有DR和BDR。DR是为了减少多路访问中的邻接关系,和LSA泛洪。BDR提供备份。区域内的所有路由器都要和DR和BDR建立邻居关系
选举规则:

  • 优先级(为0不能参加DR选举)
  • Router-ID(越大越好)
  • 非抢占式的
  • DR是基于接口的,不能说是某台路由器是DR或BDR

deadtime:死亡时间,一般10秒内会收到hello包并更新时间,超过40s没有收到Hello包则说明邻居die掉了

邻居建立的过程:

  • Down:路由器还未开始运行OSPF协议
  • init:路由器收到对方发过来的hello包,但是包中没有自己的Router-id
  • two-way:收到Hello包,并且包中有自己的Routerid。表示双方已经建立了通信关系,并且会在此过程等待40s,以保证所有的OSPF路由器都交换了Hello包,然后选举Router-ID最大的为DR。
  • ex-start:路由器发送空的DBD数据报文,并且选举由谁来主导这个过程,一般是Router-ID较大的
  • ex-change:路由器交换DBD,从节点率先发给主节点,比对哪些LSA是自己没有的
  • loading:发送邻居需求的LSA,并接受发送的LSA,并且回复ACK
  • full:完成并建立

OSPF数据包类型

  • hello包:用来建立和维护邻居关系的数据包
  • DBD:链路状态数据库描述信息
  • LSR:链路状态请求,向邻居请求自己没有的信息
  • LSU:链路状态更新的信息,可以包含一条或多条
  • ACK:表示已经收到了

OSPF多区域

为什么会有多区域,肯定是因为单区域出现了什么问题,或者是有什么局限性

单区域的问题:

  • 收到的LSA通告很多,路由器的负载太大
  • 内部动荡会引起完全SPF计算
  • 资源消耗过多,LSDB太庞大,设备的性能下降,影响转发效率
  • 每台路由器需要维护的表越来越大,单区域无法完成路由汇总

多区域的特点:

  • 多区域提高了网络的可拓展性,能够组建大规模网络
  • 减少了LSA泛洪的范围,有效把拓扑变化控制在区域内,达到网络优化的目的
  • 在区域边界可以做路由汇总,减小了路由表

区域:

骨干区域(区域号为0)
非骨干区域(区域号为其他)

非骨干区域必须和骨干区域相连

OSPF路由器角色

  • ABR:区域边界路由器,是OSPF域内区域与区域之间连接的路由器,因此它一边必须连骨干,另一边必须是非骨干,负责各个区域内的路由传输
  • ASBR:是连接两个不同协议域的路由器,AS边界路由器,负责将OSPF以外的路由器引入

虚链路和隧道:是解决非骨干区域不能和骨干区域直接相连的问题,它将所连的非骨干区域化作一条虚链路。仿佛是直接与骨干区域相连

LSA

Link-State-Advertisement链路状态广播,是链路状态协议使用的一个分组,它包括有关邻居和通道成本的信息。LSA被路由器接受用来维护自己的路由表

image.png

  • lind id:链路id可以理解为目的地
  • adv Router:链路来自哪一个路由器
  • Age:计时器
  • Seq:序列号,初始化为0x80000001,没收到一此数据包更新一次会加1
  • Checksum:校验和

学习LSA主要学习:1.由谁产生 2.泛洪范围 3.包含的内容

主要学习以下6种LSA类型

  • 类型1:路由器LSA

由路由器针对它所在的区域产生LSA,只在本区域内泛洪,不能跨过ABR。内容包括区域内部与路由器直连的链路信息

  • 类型2:网络LSA

由DR产生,只在本区域内泛洪,不允许跨过ABR,包含transnet网络信息,已经在本区域中连接的所有路由器以及子网掩码,以及这个MA所属的路由器。

通过LSA1和LSA2在区域内泛洪,可以使区域内每个路由器的LSDB达到同步,计算生成标识为o的路由,解决区域内上网的问题。

  • 类型3:网络汇总LSA

由ABR生成,将区域内的type1和type2类型的LSA收集起来,以路由子网的形式扩散出去。type3的链路状态id是目的网络地址。如果一台ABR路由器在它本身相连的区域内有多条路径可以到达目的地,那么它会将代价最小的一条路由发到骨干区域。ABR收到其他ABR传来的type3 LSA后重新生成新的type3LSA并将Advertising router)改为自己并且在整个ospf系统内泛洪。

  • 类型4:ASBR汇总LSA、

ASBR summary LSA 由ABR产生,用于描述ABR能够到达的ASBR它的链路状态,链路状态id为目标ASBR的RID

  • 类型5:AS外部LSA

Autonomous System External LSA,由ASBR生成用于描述OSPF自治系统外的目标网段信息,链路状态id是目的地址的IP网络号。外部路由通过重发布,将路由通过LSA5类型传入OSPF自治系统内
OE2 开销=外部开销
OE1 开销=外部开销+内部开销

四类告诉你如何到达ASBR 由ABR产生
五类告诉你如何到达外面 由ASBR产生

  • 类型7:NSSA外部LSA not so stub area

在NSSA中ASBR针对外部网络产生类似于LSA5的LSA类型7,链路id是外部网络地址,LSA类型7只能在NSSA区域中洪范,到达NSSA区域ABR后,NSSA ABR将其转换为LSA类型5外部路由,传播到骨干区域,从而传播到整个OSPF域,可以用ON2 也可以用ON1表示。

总结:

特殊区域:

  • Stub Area

随着5类LSA进入OSPF区域,OSPF Database会变得庞大,同时路由表的外部地址也会增大,这会占用路由器的大量资源,解决这个问题的办法是,OSPF区域内的路由器不再添加外部路由,而是将ABR作为默认网关。这种方式我们把它叫做Stub Area

  • Totally Stub Area

有时候不学习外部路由,仅是OSPF内部路由器形成的路由表也很庞大,这个时候只学习本区域内的路由。只学习本区域内的路由,以及有一条指向ABR的默认路由

  • NSSA Area

当我们把它配成末梢区域时,有时候想加入一些外部路由,这时候NSSA允许通过7类LSA将外部路由引入本区域,不会自动注入默认路由,不会学习外部路由,会学习其他区域的路由,可以学习ASBR注入的路由。

  • Totally NSSA Area

不会学习外部路由,不会学习其他区域的路由,可以学习ASBR注入的路由,会自动注入默认路由。

总结:

BGP协议

BGP是外部网关协议,用来解决AS之间的通信问题。与之对应的是IGP是内部网关协议。
AS:autonomous system 自治系统,AS是由IANA负责划分,中国电信163AS号,4134,CN2AS号:4809,网通AS号:9929
也就是说,BGP的作用范围是AS划分AS号的范围,是一个特别广的范围。

  • 边界网关路由协议(路径矢量)
  • 主要作用是在AS之间传递路由信息
  • 目前有4个版本,V1,V2,V3,V4
  • 为什么需要BGP,因为EGP能承载的路由只有几千条,而BGP能承载上万条路由,支持VPN,策略能力强,可以实现路由决策与数据控制
  • BGP使用TCP为传输层协议,TCP端口号为179
  • BGP路由器建立了TCP连接,这些路由器称为BGP对等体,也叫BGP邻居:EBGP,IBGP
  • 对等体之间交换整个路由表
  • BPG路由器只发送增量更新或者触发更新(不会周期性更新)
  • 具有丰富的路径属性
  • BGP通告成千上万条路由,可采用TCP滑动窗口机制,停止并等待发送前,可以发送65576个字节

IBGP和EBGP邻居指的是,IBGP邻居是同一个AS自治系统内的邻居。EBGP邻居是不同自治系统中建立的邻居关系。

水平分割原则:

  • 在AS内部IBGP邻居没有防环能力,为了防止环路出现,BGP路由器不会将从IBGP邻居学习到的路由通告给其他IBGP邻居
  • 由于水平分割原则,在AS内部,需要保证全互联

BGP路由黑洞解决:

在部署好BGP路由后,由于AS内部的路由器没有相关的路由条目,则不同区域内的路由不能相互Ping通,因此产生了路由黑洞问题。

  • 重发布BGP路由进入IGP
  • 全互联
  • 路由反射器

    1. 指定一台路由器作为路由反射器<br /> 其他路由器都与路由器反射器建立IBGP邻居<br /> 当其他路由器有路由更新时告诉反射路由器,反射路由器会将消息告诉给其他IBGP邻居。