计算机网络之路由器

路由器简介

Network(网络层):
	网络层负责对子网间的数据包进行路由选择。
	此外,网络层还可以实现拥塞控制、网际互连等功能。
	对应的连接设备:路由器。


路由器(router)是互联网的枢纽,是连接英特网中各局域网、广域网的设备:
	它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送数据。
	作用在OSI模型的第三层(网络层),提供了 路由 与 转发 两种重要机制


路由:
	收集网络拓扑信息并动态形成路由表

	路由器控制层面的工作,决定数据包从来源端到目的端所经过的路由路径
	(host到host至今的最佳传输路径)

转发:
	根据转发表(FIB)转发IP数据包

	路由器数据层面的工作,将路由器输入端的数据包移送至适当的路由器输出端(在路由器内部进行)


路由器实际上起到的作用是完成不同段之间网络的互联。

交换机与路由器的区别

交换机:
	工作于数据链路层,能识别 MAC 地址,根据 MAC 地址转发链路层数据帧。
	具有自学机制来维护 IP 地址与 MAC 地址的映射。

路由器:
	位于网络层,能识别 IP 地址并根据 IP 地址转发分组。
	维护着路由表,根据路由表选择最佳路线。

IP分段原理

TCP/IP V4 协议网络的分段原理:

	TCP/IP协议给网络中的每一个主机都会分配一个IP地址,它包含两部分信息:
		网络地址和主机地址。


	TCP/IP协议中的IP地址将网络地址和主机地址包装在一个32位的域里( TCP/IP V4),分为四类:

    	a、  1-126,A类
			网络地址1个字节,主机地址3个字节。
    	b、  128-192,B类
			网络地址2个字节,主机地址2个字节。
    	c、  192-223,C类
			网络地址3个字节,主机地址1个字节。
    	d、  0,127,224-255
			保留不用。

    子网掩码指出地址中哪些部分是网络地址,哪些是主机地址。
	在子网掩码中,二进制1表示网络地址位,二进制0表示主机地址位。传统的各类地址的子网掩码为:
    
		a、 A类:255.0.0.0
    	b、 B类:255.255.0.0
    	c、 C类:255.255.255.0

IP分组交换

分组:
	将数据拆分成很多小的部分,分别对这些数据加一些额外的标记(包头包尾),然后再发送出去,
	收到的一方会将收到的不同部分的数据拆包(去掉包头包尾),然后将数据拼凑在一起,得到的就是完整的数据。
	应用程序拿到这个数据你就可以使用数据了。


ip分组交换技术的核心设备就是路由器。


基本原理:

	第一步:将数据分成很多的份,每份就是一个分组

	第二步:路由器实现网间的分组数据的交换,让数据从一个网段到另一个网段,最终通过目标ip找到目的计算机

		互联网的中心是一堆的路由器,因此源计算机将这些分组数据甩给路由器,路由器会甩给下一站路由器,
		直到通过目标Ip的比对,找到目标计算机。

	第三步:目标计算收到所有的分组数据后,将数据拼凑在一起,就得到了完整的数据。


路由器的关键作用就是,实现分组数据在不同网段间的交换。

数据包分片(IP分组交换的体现)

分片是分组交换的思想体现,也是IP协议解决的两个主要问题之一。

在IP协议中的分片算法主要解决不同物理网络最大传输单元(MTU)的不同造成的传输问题。


IP分片是网络上传输IP报文的一种技术手段:
	IP协议在传输数据包时,将数据报文分为若干分片进行传输,并在目标系统中进行重组。这一过程称为分片(fragmentation)。


IP分片原理:

	IP数据包首部里,16位标识唯一记录了一个IP包的ID,具有同一个ID的IP分片将会重新组装。
	13位片偏移则记录了某IP片相对整个包的位置。
	这两个表中间的3位标志则标志着该分片后面是否还有新的分片。

	这三个标志就组成了IP分片的所有信息,接受方就可以利用这些信息对IP数据进行重新组织。

IP数据包首部

数据包分片

路由原理

当IP子网中的一台主机发送IP分组数据给同一IP子网的另一台主机时,它将直接把IP分组数据送到网络上,对方就能收到。

送给不同IP子网上的主机时,它要选择一个能到达目的子网上的路由器,把IP分组数据送给该路由器,
由路由器负责把IP分组送到目的地。

如果没有找到这样的路由器,主机就把IP分组送给一个称为 “缺省网关(default gateway)”的路由器上。
“缺省网关”是每台主机上的一个配置参数,它是接在同一个网络上的某个路由器端口的IP地址。 

网关:
	访问路由器的IP,其他的电脑必须和网关一个IP段才能访问路由器。

路由选择方式

典型的路由选择方式有两种:
	静态路由和动态路由。 


静态路由是由网络管理员手工配置的路由信息。:
	除非网络管理员干预,否则静态路由不会发生变化。
	由于静态路由不能对网络的改变作出反映,一般用于网络规模不大、拓扑结构固定的网络中。

	静态路由的优点是简单、高效、可靠。在所有的路由中,静态路由优先级最高。
	当动态路由与静态路由发生冲突时,以静态路由为准。 


动态路由是网络中的路由器之间相互通信,传递路由信息,利用收到的路由信息更新路由器表的过程:
	它能实时地适应网络结构的变化。

	动态路由机制的运作依赖路由器的两个基本功能:
		对路由表的维护;
		路由器之间适时的路由信息交换。

	动态路由适用于网络规模大、网络拓扑复杂的网络。

	当然,各种动态路由协议会不同程度地占用网络带宽和CPU资源。

路由表和转发表

每个路由器中都有一个路由表和FIB(Forward Information Base)表:
	路由表用来决策路由。
	FIB用来转发分组。


路由表:
	这里个表都用来保存路由信息,路由表通常由路由协议和路由管理模块维护,
	包括更多的信息(IP地址/IP子网、下一跳、路由度量、超时间等);

路由表中路由有三类:
(1)链路层协议发现的路由(即是直连路由)
(2)静态路由。
(3)动态路由协议发现的路由。


转发表(FIB):
	是基于路由生成的,路由器实际转发时使用转发表(只包括IP地址/IP子网和下一跳/出接口)。
	转发表中每条转发项都指明:
		分组到某个网段或者某个主机应该通过路由器的某个物理接口发送,
		然后就可以到达该路径的下一个路由器,
		或者不再经过别的路由器而传送到直接相连的网络中的目的主机。

	高性能路由器转发表通常都用硬件来实现,有利于高速查找。

路由器结构

路由器工作流程

原文地址:https://www.cnblogs.com/loveer/p/11719628.html