网络传输案例
一个简单的网络拓扑:主机0&主机1————交换机————路由器0————路由器1————主机2
- 主机ip配置需要配置主机ip地址,子网掩码和默认网关。ip地址就是这台主机的地址,子网掩码是一个网段,代表该主机在哪一个网络当中,默认网关是告诉该主机访问别的网络应该找哪个路由器接口将数据包转发出去(即一个网络的出口)。
- 每一个路由器都有一个路由表,路由表的作用是存储转发,其中路由器左右两个接口是连接两个不同的网段,是默认存储在路由表中的。存储形式如下:连接的网络——路由器端口(将数据包通过这个接口转发到目的网络)。
- 数据的传输是遵循ICMP协议的,是双向连通的(知道怎么到,也要知道怎么回来)。你发数据给目的ip地址,对方也需要返回确认信息给你。所以可以使用静态路由设置,告诉对方你的网段,将数据转发到哪个路由器端口(路由器该端口ip地址)。ICMP应答类型:0是正常应答,8是对方的请求包返回的应答,3代表传输出现了错误。
- 若主机0想ping主机2(需要知道主机2的网络):
(首先在同网络查看ARP有无目的ip地址,有则将IP地址转换成MAC地址进行转发,找到该网络的出口进行转发)由于两个主机是不同的网络,则应先设置主机0的默认网关(路由器0右端口:该网络出口),然后数据包传到路由器0处。- 此时路由器0并不知道主机2的目的网络在哪里,所以此时应该在路由器0添加一条静态路由(通过路由器1左端点转发到主机2所在网络)
- 于是,路由器0将发送信息数据包转发到了路由器1,路由器1查看其路由表,发现目的网络通过其右端点可转发到达。
- 此时数据包到达了主机2的所在网络,在该网络内通过查看数据表内目的ip地址查到到了主机2的MAC地址,并将数据包发送给了主机2。但此时主机2是不知道如何应答的,主机2收到的是主机0的发送数据包,而主机2并不知道主机0的网络在哪。
- 因为主机2接收到的是另一个网络的信息了,所以此时要给主机2配置默认网关(路由器1右端点ip地址),告诉他怎么走出主机2所在网络。于是返回确认信息的数据包从主机2发送到了路由器1。
- 返回确认数据包里有目的网络(源地址和目的地址此时已相反),而路由器1刚刚也配置了到目的网络的静态路由,所以此时路由器1将数据表发送给了路由器0。而目的路由刚好在路由器0的一端(路由器两端为默认路由,自动添加到路由表中),所以不需要配置静态路由。
- 于是返回确认信息数据表回到了主机0的网络,于是查看本网络的ARP协议找到了主机0的ip地址,ARP表上有主机0的MAC地址,最终经历九九八十一难返回确认数据表到了主机0。全剧终。
网友评论