zoukankan      html  css  js  c++  java
  • 一 欲行网络道,入乡须随俗

    话说历史巨轮滚滚向前,时至今日,已经进入移动互联网时代。

    行之道路,举目望去,无论男女老少,均手捧一个屏幕,手指纵横其上,有手舞足蹈,有黯然神伤,有会心一笑等。

    这个屏幕的终点在哪?如何到达?这就是我们需要追寻的方向,去探索的道路。

    众所周知,在我们人类社会,发展至今日,获得如此的成就,离不开沟通协作,毕竟人力有时尽,唯有众人齐力,方可填海移山。而沟通的基础就是我们的语言、文字,因为只有相同的语言、文字或者是能够读懂的语言、文字才能相互理解,共同协力。

    别看现在的互联网是多么的蓬勃,多么的绚烂,但是它是人类发明的,既然是人类发明的,肯定也就借用了人类的行为准则来创造。

    我们既然踏上了寻访互联网的道路,自然也要明白了解互联网的准则,它就是网络协议。

    在同样的网络协议的基础之下,全球的开发人员,编写基于这个协议的代码,打造着风靡全球的互联网大厦。

    既然我们要探访屏幕的另一边,那就来一次几乎人人都体验过的网购之旅吧。

    说起网购,我们现在通常有两种方式:一是,通过手机的购物APP;二是,通过电脑的浏览器输入对应的购物网址。二者虽然形式上有所不同,但是本质都一样的,使用的相同的网络协议。

    来吧,让我们踏上旅途吧!

    既然是旅途,目的地是购物店。这条路该怎么去呢?

    首先,我们肯定会问身边的人(搜索浏览器自身的缓存、搜索操作系统的缓存及操作系统的本地 Hosts文件),身边的人能够回答,自然是最好的,如果不能回答,就要问当地有权威的人(本地域名服务器)了。

    其次,当地代理人如果知道,就会回答具体地址,如果不知道,就会查阅他的档案簿,能够查询到,也会回答,不过因为是通过档案簿知道的,自然不是代理人直接回答的了。

    再次,当地代理人在他的档案簿也没有查询到,就会直接向总部(根域名服务器)询问,代理人为了维护他的代理地位,会非常负责任的一直查下去,知道查到地址为止,这就是递归查询。

    最后,总部(根域名服务器)收到当地代理人查询请求时,要么直接告知店的具体地址,要么就是告诉当地代理人去询问一级代理(顶级域名服务器),重复刚刚的流程,要么直接告知店的具体地址,要么就是告诉当地代理人去询问二级代理(权威域名服务器),最后当地代理人得到了店的地址,就会告诉我们,这个过程就是迭代查询。

    既然知道了店的地址,我们就按图索骥,寻路而去。

    我们到了店里面,自然是浏览商品或者是已经有了目标商品,可以想象这个庞大的购物商店一线营业员(应用层)都非常智能,只要你找到了自己想要的商品还有数量(HTTP & HTTPS),就会第一时间告知与你。

    我们可以假设购买了一个大件商品,我们自己肯定是运不回去的,下面就交给了商店的运输部门(传输层),而运输部门将物品打包好之后,就会放到运输工具里面。

    这里就会有两种情况,既然是购物,当然我们就希望商品能够安全的送回家里面,而不是损坏更甚至于丢失。购物店自然也知道我们的述求,自然不会把自己的名声毁掉,这时候就会派专人监控商品的运输轨迹,严格保障商品能够安全无误的送到客户的手中(TCP)。

    另外一种情况就是,商家知道了客户的住址,就会发一些促销传单或者手册之类的,只要发出去就行了,肯定不会派专人监督的,因为这样太耗费人力了(UDP)。

    好,咱们接着说运送大件商品的事情,当物品已经装入运输工具之后,就会进入了道路上(网络层),就会根据客户留下的家庭地址为目标进发(IP),自然得严格遵守交通规则。

    这个时候购物店的调度中心,就会判断目标地址是在当地,还是在远方,在当地的话,就会直接送过去,如果在远方的话,就要经过当地交通枢纽(网关),那么怎么才能到达当地交通枢纽呢,就会广而告之(ARP)。

    可以想象当地交通枢纽有两个路口,一个是连接当地的入口(MAC),另一个是连接远方的出口。

    这个时候运输车就会进入交通枢纽连接当地入口的路上(数据链路层),当地交通枢纽(路由器),会根据目标地址来判断接下来改怎么走?(路由表)

    交通枢纽之间是相互连接的,都有连接当地的入口和连接远方的出口。

    在每个对应的交通枢纽的当地,可以直接到达,可是一旦要去远方,就得查看运输车的来的地址(源IP)和去的地址(目标IP)。

    交通枢纽之间是能够往来的,自然知道路线图(路由协议),交通枢纽之间就是区域,当运输车知道了下一个交通枢纽,就得去往这个交通枢纽对应的入口地址,通过了下一个交通枢纽的出口,就会找到下一个交通枢纽的入口,再通过它的出口,一直走到目的地的交通枢纽。

    目的地的交通枢纽在其对应的区域内广而告之,客户的家就会告知家的地址的入口,运输车自然就能到达客户的家里。

    客户发现运输车正是从他指定的入口进来的,查验了运输车的来的地址(源IP)和去的地址(目标IP),都是准确的。

    别忘了,为了保障商品的准确送达,运输车安装了监控系统,这个监控系统会一直报告运输车的轨迹,如果运输车中间出了问题,可以让购物店及时知道,这样可以从容应对。如果在规定的时间内,运输车没有到达,购物店就会再发一次货,为了维持它的品牌,提高用户的购物体验。

    当用户收到货之后,就会予以支付,购物店就会形成一次完整的交易订单。

  • 相关阅读:
    Quartz.net 定式调度任务
    Quartz.net 定时调度CronTrigger时间配置格式说明
    json 数据 添加 删除 排序
    Myeclipse 安装离线adt的方法 ()
    关于C# DataTable 的一些操作
    Android 设置代理(验证用户名和密码)
    js ShowDialogModal 关闭子页面并刷新父页面,保留查询条件
    sql语句中----删除表数据drop、truncate和delete的用法
    SQL数据库增删改查基本语句
    asp.net(C#)利用QRCode生成二维码---.NET菜鸟的成长之路
  • 原文地址:https://www.cnblogs.com/sanyuanempire/p/12980465.html
Copyright © 2011-2022 走看看