路由器是连接多个网络的设备,工作在网络层, 其主要的作用是为数据包选择最佳路径,转发数据包给目的地。 (核心的功能就是转发数据包)
网关,通常路由器也叫做网关设备,带有路由的功能的网络设备都可以做网关,比如路由、三层交换加、防火墙、PC等
路由器的工作原理
路由器有个路由表的概念,它的工作原理是根据目的地址匹配路由表进行转发,一个数据包过来检查目的地址,如果有去目的网络的路由(知道怎么去)就通过相应的接口转发出去,没有(不知道怎么去)则丢弃数据包
路由包括直连路由,静态路由、动态路由、默认(缺省)路由等
- 直连路由,路由器上配合IP之后就存在的路由
- 静态路由,管理员指定
- 默认路由,一种特殊的静态路由
- 动态路由,路由器自动建立的路由
如图,R1和R2都有自己的直连路由,如果A和B要互通的,则
R1必须要知道怎么去主机B的网络,可以添加一条静态路由,去主机B网段(192.168.2.0)段的下一跳是R2的E2(10.0.0.2)
同理,R2必须要知道怎么去主机A的网络,也要添加一个回程路由,去主机A网段(192.168.1.0)段的下一跳是R1的E2(10.0.01)
主机A发包给主机B时的过程是:
- 主机A先检查自己的路由表,如果不知道怎么去主机B的网段,那么数据包转发给网关(路由)设备R1
- R1检查这数据包的目的地址并匹配路由表发现去目标网络的条目下一跳是10.0.0.2,于是数据包给到自己的E2接口出去,因为R1的E2和R2的E2是直连网络,数据包又到了R2的E2
- R2同理,检查自己的路由表发现有目标网络的条目(192.168.2.0是直连网络),于是数据包通过自己的E2接口到达主机B
主机B发给主机A的过程也是同样的
要点:
路由器的核心功能是转发数据,根据目的地址匹配路由表进行转发,有就转发,没有就丢弃
路由转发数据包的时候不会修改源IP地址和目的IIP地址,但是会修改MAC地址