用寄快递模拟数据在网络中的传送过程,发送一个ip数据报到接受这个ip数据报经历的过程

发送一个ip数据报到接受这个ip数据报经历的过程

好比寄一个快递的过程

这个包裹一共有三层,
这个包裹的最里面是数据,数据
第二层写着目的ip地址和源ip地址,即收件人和发件人的姓名
第三层也就是最外面那层写的是源MAC和目的MAC地址,即本快递服务站的后门门牌号,和下一个快递服务站的前门门牌号(这里假设快递服务站接收快递只在前门接收,发送快递只在后门,且前门和后门的门牌号不一样)

所以本服务站从前门接收到上一个站传来的包裹后,我必须把包裹的最外层拆掉,查看第二层的内容,即查看收件人和发件人分别是谁,然后决定下一站应该发给哪个服务服务站,每个快递服务站手上都有一份姓氏地区分布表,这个表上记录了要到达某姓氏地区(网络段)下一站的服务站名字和前门门牌号,所以本服务站在查看收发件人
的名字之后(事实上我只看收件人的姓氏,根本不管他叫啥),对照手上这份姓氏地区分布表,找到下一站的服务站名字和前门门牌号之后,就重新打包,在第三层写上本站的后门门牌号(起始站)和下一站的前门门牌号,然后交给快递员发送出去,快递员也不用管这个包裹的收发件人是谁,他只负责把这个包裹送到包裹最外层写的目的门牌号那里就行了,然后周而复始,循环往复,下一站的快递服务站收到我发送的包裹后,必须拆掉最外层,因为最外层几乎啥也没写,仅凭那些数据是无法判断出接下来应该发给哪个服务站的,它必须拆掉最外层,看到第二层的收发件人的名字,根据他们姓氏然后对照姓氏地区表决定接下来包裹的去向,找到后又重新包上第三层,写上第N+1站的后门门牌号,第N+2站的前门门牌号,从后门交给快递员,一直重复这种过程,直到最后那个快递服务站

最后这个服务站拆开最外层后,发现收件人和自己同姓,所以他就知道收件人和他在同一个地区,就不用再包第三层包装了,只要找到对应的收件人交给他即可,
但是如果这个姓氏地区比较大,分了好几个交换机连接,也就是选了几个分区区长,所以这个站长就把包裹交给对应的分区区长,由分区区长转交给收件人,所以同一个姓氏,假设同一个姓氏的

ip地址一直是在包裹的第二层,对快递员来说是永远看不到这个信息的,也就是数据链路层永远不可见ip数据报的ip地址

地址解析协议ARP

前面所提到的姓氏地区表实际上存放了两种数据,一是前面所提到的到达某姓氏地区(网络段)下一站的服务站名字和前门门牌号,另一个就是本姓氏地区的所有人的门牌号,由于人员的流动和个人改名字的特殊爱好所以这份表的内容信息必须动态更新

每个人为了社交都必须和外界有一定的交流,所以每个人都会自动去搜集其他人的名字和对应的门牌号,方便日后通信,也会自动搜集本站的快递服务站的名字和门牌号,方便以后对外交流(动态路由),如果需要区长这个管理人员来给你添加arp表信息的话就叫静态路由

上一篇:Selenium模拟登陆百度贴吧


下一篇:正向代理VS反向代理 总结