TCP/IP--路由选择
学习目标
- IP是如何转发及其工作原理?
- 什么是核心路由器、内部路由器和外部路由器
- 路由器的工作原理?
什么是路由器?
专业解释:路由器像一台具有两块或多块网络适配器的计算机。
通俗来讲: 路由器是用来共享网络的,可以实现多台电脑使用上网,无线路由器还可以实现无线上网。
路由器功能
1.路由:收集网络拓扑信息并动态形成路由表
2.转发:根据路由表转发IP数据包
3.隔离广播域
4.将不同网段上的设备进行互通
5.子网间速率适配
6.指定访问规则
路由器的工作原理
局域网内的主机可以通过交换机来实现相互通信。
不同局域网之间的主机要想相互通信,可以通过路由器来实现。
路由器工作在网络层,隔离了广播域,并可以作为每个局域网的网关,发现到达目的网络的最优路径,最终实现报文在不同网络间的转发。
多宿主计算机充当路由器如下图:
什么是路由表?
路由表的用途在于把数据传递到正确的本地网络。
当数据到达本地网络之后,网络访问协议(FTP,DHCP等)就会知道它的目的地。
简单的路由表
- 执行命令: netstat -rn
U: 该路由可以使用。
G: 该路由是到一个网关,如果目的地是直连相连。
H: 该路由是到一个主机,也就是目的地是一个主机地址。
实验
在主机1上配置一个条路由表,网关指向另外一台同网段的主机2,目的地为192.168.0.0/24 网段,在主机2上抓包,是否能抓到主机1发出ICMP包。
- 执行命令:ip route add 192.168.0.0/24 via 192.168.10.60 dev enp0s8
- 路由表配置成功,让我们试试路由功能是否生效
- 在主机1:
- 在主机2:
复杂的网络中路由
- 路由器的端口超过两个
- 路由器连接起来的网络还分别于其他网络连接。
IP转发
- 一台主机准备发送一个IP数据报,它查看自己的路由表
- 如果数据报不能在本地网络上发送,主机查看本地路由表寻找与目的地址相关联的路由器的IP地址。路由器的IP地址被ARP协议解析为物理地址。
- 数据报和路由器的物理地址一起被传递给网络层。
- 路由器查看数据报的IP地址,如果这个地址匹配路由器自己的IP地址,就表示数据是发给路由器本身的,否则,路由器查看自己的路由表,否则,就把数据报发送到另外一台路由器。
选路原理
1.搜索匹配的主机地址
2.搜索匹配的网络地址
3.搜索默认表项(默认路由表)
直接路由与间接路由
-
直接路由:所有子网都连接到一个路由器上
-
间接路由:
-
网段1没有连接到网络3,而且在没有帮助的情况下也不能发现网段3就称为间接路由。
外部路由器
外部路由器在自治网络之间交换的路由信息
协议
外部路由器使用的协议是边界网关协议(BGP)
作用
使用内部和外部路由选择协议的主要原因在于因特网如此庞大。不可能为因特网上的所有网络保留路由选择表,并在不同路由器中到处传递信息。自治系统的好处在于,可以用一条路由选择信息表示一大组网络,并与其他外部路由器交换该条信息。该方案允许因特网扩展到很大。
内部路由器
自治网络内部共享路由信息的路由器被称为内部网关。
协议
内部网关协议(IGP), 包括路由信息协议(RIP), 开放最短路径优先(OSPF)
核心路由器
核心路由器使用的路由协议包括网关到网关协议(GGP)
总结:
路由器的介绍和工作原理,以及IP转发原理,路由表查看和配置方法,直接路由和间接路由的介绍。
在IP转发中涉及到iptables的理解和使用,iptables算是比较重要的一个知识点,后续还会加上学习之后的实践操作和一些总结和心得。
疑问点
什么是自治网络?
本文来自博客园,作者:烟熏柿子学编程,转载请注明原文链接:https://www.cnblogs.com/aaron-948/p/16391541.html