标题: 数据是如何在互联网上传输的 [打印本页]

作者: liuyang    时间: 2012-5-31 02:22
标题: 数据是如何在互联网上传输的
        在互联网上,有很多的路由器,我们可以把它看做“邮局”,数据就是通过这些“邮局”进行传输的。

        事实上,我们发送的数据或者接受到得数据并不像真正的邮包那样一块邮寄的,而是分成很多很多的小邮包,我们称之为数据包。每个数据包上面都印有收件人和发件人的“邮编”、“地址”,此外还有数据包的大小等信息,这样,数据包不管到了哪个邮局,哪个邮递员手中,都可以很容易地进行辨别和投递。这样做最大的好处就是降低了因为传输失败造成从头再来的浪费,就像你需要抄写一篇文章,要求你不允许出现任何错误,一旦抄错就必须重写,这时你可以把文章分开很多页来抄写,只需要把抄错的重新抄写就行了,然后把它们粘接起来,就完成了任务。

        互联网传输丢包的情况很多,丢掉的包发件人会重新传输,直到成功为止。发件人是如何直到丢包的呢?这就像是甲给乙发信息:“请回信息”,如果乙一直不不回复,甲将继续发送,直到乙回复或者甲的主人主动放弃为止。

        下面简要描述一下数据传输的步骤:

    分包。发送端的电脑根据tcp/ip协议,将需要传送的数据进行分包,数据包不是一次性分好才发送的,而是边分包边发送。这就像拉面和刀削面的区别,拉面是拉好一次性下锅的,刀削面是一根一根下锅的;
    网关。数据包的第一站就是网关,网关就像附近的邮所,你的任何邮件都是由这里收发的;
    邮递。邮递的“递”很形象,它不是由专人负责到底送达的,而是由很多邮局进行传递的,这些邮局甚至不属于同一家公司,他们之间如何结算邮费的我们不用关心。数据包邮递的路线也不是固定的,比如:有时候它是从濮阳-郑州-石家庄-北京,有时候是濮阳-济南-上海-北京。如何查询到达目的地有多少邮局呢?用这个指令:tracert 目的地ip或者域名,如:tracert www.51hei.com 、tarcert 202.202.200.200等;
    反馈。根据tcp/ip协议,收件人收到的每一个数据包都要反馈跟发件人,告知他已经收到,不然发件人将继续发送此包;
    合成。所有的数据包都到达的时候,收件人将合成所有的数据包,形成真正的数据,合成的过程就像拼图,每个包上都标记有顺序,不会搞错。

        以上过程看似复杂,实际上都是在瞬间完成的,网速为2M的传输带宽,一秒钟将传输高达上千个数据包。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1