首先我们来了解以下几个基本概念:
1、转发:表示的是为分组选择路径的过程
2、IP转发:其传统称法是IP路由选择(IP routing),IP转发它是为要发送的数据报选择路径。
3、分组:(大多数计算机网络都不能连续地传送任意长的数据,所以实际上网络系统把数据分割成小块,然后逐块地发送,这种小块就称作分组(packet)。也有些书籍把分组定义为网络层的协议数据单元)
4、分组转发(forwarding):是指在互联网络中路由器转发IP分组的物理传输过程与数据报转发机制。根据分组的目的Ip地址与源Ip地址是否属于同一个子网可分为直接转发和间接转发。
5、数据报:数据报是通过网络传输的数据的基本单元,包含一个报头(header)和数据本身,其中报头描述了数据的目的地以及和其它数据之间的关系
6、IP数据报:是TCP/IP协议定义的一个在网络上传输的包
IP数据报转发算法 or 路由器转发分组的过程
1、路由器从接收到的数据报中抽取目的IP地址D,并计算地址D的网络前缀N
2、接着,路由器检查路由表,如果表中含有D的一个特定路由,则把数据报发送到表中指定的下一跳,然后退出。否则,转步骤3
3、路由器检查N是否与路由器的任何一个直接相连的网络地址匹配,如果是的话,则通过该网络把数据报交付给目的站D。否则,转步骤4
4、路由器检查路由表,看表中是否包含一个针对网络N的路由,如果有的话,则数据报发送到表中致命的下一跳。否则,转步骤5
5、路由器检查路由表,看表中是否包含一个默认的路由,如果有的话,则把数据报发送到表中指明的默认路由器。否则,转步骤6
6、路由器将发出一个转发错误