Computer_Networking's_网络核心

计算机之间传输信息都是以报文的形式,那么传输过程信息是如何传递的以及其中遇到了什么问题以及有哪些是传输过程中不可避免的,今天在学习了相关的知识后,有感而发,结合Computer Networking A Top-Down Approachde 的相关讲解和自己体会记录学习的内容。

首先要体到的什么是报文?

报文是一种控制功能也可以包含数据等文件。主要携带了客户端之间交互的信息以及各类协议。

##既然要传输就要了解传输方式:

###分组交换

为了从源端系统向目的端系统发送一个报文,源将长报文划分为众多小的数据块,称之为“分组”。在源和 目的之间,每个分组都通过信息链路和分组交换机传送。根据速度=路程/时间,可以推断传输一个分组的时间=一条链路发送一个L比特的分组/链路的传输速率B。

什么是分组交换机?

分组交换就主要分两类:路由器链路层交换机

路由器和链路层交换机

存储转发传输

多数分组交换机在链路的输入的采用存储转发传输的机制,意思是在未有将全部的分组集合在交换机上的时候,转发信息将会等待,直到所有信息汇集齐全才开始下一步的传输。

分组转发

简单的解释就是学校组织全体学生春游,每个班级安排一个bus,当然只有在全班同学全部进入bus以后确认完毕才会发车,如遇一些突发状况,那就是后面要介绍的例如有人缺席有人走丢之类。

排队时延和分组丢失

因为每一台分组交换机都会与很多路径相连,对于每一条相连的链路,分组交换机都会有一个输出缓存,它用于存储路由器准备发往那条链路的分组。除了存储转发的发送时延,他还要承受输出缓存的排队时延,并且因为缓存空间有限,一个到达的分组有可能在等待传输已满的情况下出现丢失。

类比于上车时候,由于车座有限,且上车门小,每次只能穿越一人,而且当上车人数过多时候,就会发现没有位置可以坐,后上车的只能下车,对于这个班级来说,就是丢失的信息。

转发表和路由选择协议

对于数据,路由器怎么知道信息该向那里传输呢?

其实啊,每一个端系统具有独一无二的IP地址(IP地址在以后细说),当源主机要想目的主机发信息的时候,信息分组,且分组的首部包含了目的IP地址信息,分组在传输的时候就根据IP地址信息就可以找到具体位置。

在此推荐大家去看看有个搞笑的DNF视频“天空之城怎么走”。虽然没有什么联系,不过就是你知道目的,然后在去询问下一站的主要人,然后他会告诉你下一站怎么走,你好比你想吃红烧排骨,你记得你爸爸给你提过这个话题,你就去问他在那里吃的,你爸爸告诉你说你妈妈告诉他是在那条路吃过,你再去问你妈妈,你妈妈又说你姐姐告诉的他那条路的哪个店铺,你再去问你姐姐,你姐姐就告诉你了全部的详细信息。

https://tv.sohu.com/v/dXMvNjMyODY0ODMvNTczMDkxMjUuc2h0bWw=.html

###电路交换

什么是电路交换呢?

其实传统的电话网络就是电路交换的经典例子。端系统在通信会话期间预留了端系统见沿途路径通信的所需资源。而分组交换是不需要的。但是问题也比较明显就好像说你和别人煲电话粥,两个人不说话,电话却占位。第一不够经济,第二占线情况下别人有事也不能再通信。

电路交换

电路中的复用

复用

1.频分复用:主要是把电路中频带划分成几个部分,不同的业务逻辑使用不同的频带宽度。

2.时分复用:主要是把传输的信息按照时间划分,每一次传输都会相应的发送每一个内容,即使这一时间某一端系统没有信息发送,也占用发送的时间带。

由此可见,电路交换在静默期(没有信息)专用电路变得空闲不够经济和效率。

因此我们来对比以下两个交换

简单来讲就好比共享单车,随处放着,想骑就骑。但是如果骑行的人不多,但是共享单车比较多就造成了浪费。而另一个就是严格的公交车,人满了才走。个人以为其实无论好坏,存在即合理。

##时延,丢包和吞吐量

###时延分类:

处理时延

检查分组首部和决定将改分组导向何处所需要的时间就是处理时延的一部份。类比于我们春游时候,上车前会检查你的个人信息正确与否和是否属于这辆车。同时差错检测也是这一时间的一部分,就好比一个人走错了车子,在上车检查时候就会被查到,而被退出。

排队时延

分组在链路上的等待时间。就是大家在上车之前找车的时间,简称在链路上。

传输时延

就好比第一个人上车了,一个车可以乘坐50人,那么第一个人就要等待剩下49个人一一上车,这就是传输。

传播时延

一旦一个比特被推上链路,在源端口和目的端口之间的传输所需要的时间就是传播时延。好了,说白了就是车上路了,在路上行驶的时间不会算到你春游玩的时间吧。

也可以类比于汽车过收费站的场景。建议自己体会。

时延

根据时延的总和,我们就知道了子啊聊天过程中其实信息从发送过去到对方接收到是需要时间的,并且会根据发送的场景来增加发送的时延。就好比你和同教室的人通信,你只要叫一声“你帽子掉了”,就有人回应你,如果在另一个城市,你可能就会连接国内的网络发送信息通信。如果是国际友人呢,你就要通过国际网络的连接发送信息,也就是你知道对方在XX州,信息先去找到所属的县->市->省->国家->国际->国家->省/州->地区进行连接。如果你要和外星球和人通信呢?有一天你去XX星球了,你想起来了你的好朋友小花,你想邀请他一起开视频述说今生前世,你应该怎么连接呢?这样或许市通过卫星->卫星之间的通信了。幻想到此结束。

排队时延和丢包

之前大致提到了排队时延,相应的,因为数据是以分组传输,每一组可能有很多的报文段,同一时间可能一同挤进去分组交换机,但是数据要有先来后到,好比说有10个团队去参加博物馆,每一次只接待一组,当然可能每一组只派出1个人就证明了顺序,然后依次团队进入。虽然10号是第十个,但是为了集体性,就要等待前9组进去去完毕后在和自己的第10组进去。想象一下,这样的排队时延可能就浪费巨大了。还有要说的是满的情况,例如公交车来了,大家都一窝蜂的想着挤上车,或者排队挤上车。但位置是有限的这就会产生一系列的问题,例如丢包。

丢包就是当分组满的情况下没有更多的位置去存放进来的数据,就会把进来的数据丢弃,丢包的比例根据流量的强度而增加。当然根据端到端的原则重传会在此发送这些信息到达目的地。

丢失

###吞吐量

网络传输的重要性能指标。可想而知,现在的网络中,吞吐量的限制基本在于接入网。因为作为商家肯定想着更多的浏览量和数据的更多传出。这里主要提一点的是,吞吐量主要取决于最小的传输速率。类似于短板原理,不管你买的奶茶再大杯,吸管的大小决定了你喝奶茶时候出奶率。挺形象哦。另外还有一点要注意的就是可能一杯奶茶10个人喝,中间一个直径5cm的管道为转接口,每个人含住1cm为直径的吸管。这时候每个人尽力喝,也只会出现0.5cm吸管的效果,因为转接口的直径限制了每个人的出奶率。

吞吐量

感谢您的鼓励.如果喜欢可以送我一包辣条。