• 计算机网络和Internet之核心网络


    1.网状的路由器

    路由器的链接组成了网络的核心。

    任何一个路由器,或者某条线路挂掉,但是网络还是通的,这是internet的一个特性。

    data到底是怎么传输的?

    1)circuit switching专有线路,就像电话一样,每一条都有一个线路。

    2)packet-switching封包机制:就是data分成一个一个的包送资料。

    1.1 circuit switching

    首先要做一个end to end,通过资源的分配,把他们连接起来。

    这个线路要经过路由器,所以路由器的带宽会影响传输的速度。

    在每一段link上面,都保留频宽,就会有一个专属频宽的意思。

    专属的资源,无法共享。就算这条线路没有被使用,其他传输的请求也无法获取这条线路。

    但是它必须有一个建连线的动作。

    2种方法来实现这个模式:

    1)时间来分割

    2)频率来分割

    其实就是资源的划分,空间或者时间。

    之前微信和移动闹得那点事,就说占用频宽的事情,具体可以百度下。

    1.2 packet-switching

    把资料切成一个一个的封包,然后在资料使用的时候,使用网络所有的link,全速传输。

    这样呢,User A & User B就是 share 网络资源。所以说,他要做resource 竞争。

    但是路由器的带宽总是有限的,相对与大量的网路请求,往往会有拥挤的问题。

    封包就放入路由器的队列。

    路由器就是先存储,然后在转送。

    转送的时候是无序的,也就是A & B的封包是随机排列的,每一个封包都需要竞争资源。

    而且User A & User B发送data的时机是不确定的,所以可以更充分的利用网络的带宽。

    封包先收起来,然后看看要放到哪里去,然后在放到那个Queue里面。

    1.2.1 2种模式的对比

    假设说有一个link,带宽是1M/s

    假设有N个User,要送资料,送的单位是100K

    它不是alway on,它想送的时间只有10%

    所以如果是circuit switching,你只能分割给10个user,但是你只有10%的时间在用,剩下的

    时间都是浪费的。

    如果是packet-switching,如果有35个User,在同一时刻超过10个User的几率,小于0.004

    所以它可以认为支持35个user同时使用。

    packet-switching适用的场合,

    1)bursty data 大量的,但是短暂的data。既然都是bursty,可以把发送时间错开,这样就最好了。适合封包的发送方式。

    如果多个User同一时刻,都爆发data,路由器可以把它们Queue起来,等到网络空闲的时候,在发送它们。

    当然也有可能end端的data过多,超过峰值,那可能就会掉封包。所以它可以建多个连接来减少这个概率。

    但是bursty data会造成 封包的delay & loss

    所以说需要一个更好的protocol来提供可靠的传输机制,TCP

    2)怎么提供跟circuit类似的功能?

    希望做audio/video  这种应用。需要5M的频宽,但是可能只能给到5K,应为internet是需要竞争的,所以它的频宽不保证。

    只有通过协议的方式,这个难度很高,目前位置还是一个open problem.

    1.2.2 store & forward

    假设从one end端有资料要送,有2个路由器。

    每段的频宽是R

    封包的长度是L

    假设L = 7.5M

    R = 1.5M

    所以送一个封包要5s的时间,L/R送一个封包的时间。

    每一段都要送5秒,它是送一段,然后store在路由器,然后在store,这样就是

    delay = N *L/R

    N就是线路的个数。

    如果我们把7.5M 切成一个个pice。比如是5000份。每一个封包只有1.5K,所以送一个封包的时间变成1ms

    它可以使用pipelining的方式,

    我送第一个封包,1ms。

    送第二个封包的时候,下一段,可以送第一个封包

    所以就是每段网络都在发送data,而不是等待的概念。

    所以我要花5002ms,就可以收完了。

    所以说封包不要太大,让他可以pipeling

    但是每个封包都有一段头,所以不是切的越小越好。

    1.2.3 path 选择

    在传输data的时候要经过不同的路由器,而且有很多路径,要怎么选?

    路径选择的算法。路由器的连接的情况,一直在变,比如拥挤或者被挖断了,怎么办?

    可以选择路由器最少的路径,但是不见得是最快的,比如有无线路由器的路径。

    1)每个封包都需要,带对方的地址,这就是IP,就像一封信一样,一定要一个收件人的地址。

    2)在一个连接的过程种,封包传递的路径可能会变,就像开车,不认路,所以每开一段,都要问。

    3)virtual circuit network:给每个封包加上一个tag,每一个路由器看到这个tag,就知道往哪里去。

    因为要去固定的路径,所以一段需要建连线的时间。路由器就需要控制每一个call的状态。就是蓝色tag,要往哪里去,都有

    明确的路径。

    总结:

    整个通讯网路分为2大块,

    专有网络和封包机制

    专有网络:FDM & TDM

    封包:带有IP地址的封包,有路由器来送。路由器之间会交换它们的信息。

    封包一进来,路由器会建表,路由器会定期和不定期的沟通。

    希望在packet-switching的机制下,走固定路线,就是VCs

  • 相关阅读:
    偏函数 匿名函数 高阶函数 map filter reduce
    函数
    Python的字符串格式化
    集合
    列表 元组 字典
    字符串
    数字
    Python基础-杂项
    Java 和C/C++的“语法”上的差异!
    MySQL基础原创笔记(一)
  • 原文地址:https://www.cnblogs.com/deman/p/5722342.html
Copyright © 2020-2023  润新知