计算机网络的功能特性
首先我们抛出一个问题:计算机网络如何在两个端用户之间提供访问通信?
对于上述问题,我们可以简单的用下面这种文字链式的方式来进行回答
应用–>编码器–>传输介质–>编码器–>应用
上面是大概的轮廓,现在我们来详细讲讲通信之间的具体方式
传输数据必备的前提
1 2 3 4 5 6 7
| 1.众所周知,计算机之间的通信是通过电信号去通信的,那么问题来了,电信号是如何传播的。在当前社会其实是有两种方式的,一种是通过地面的有形介质,也就是深埋在地底的各种线路,一种是无形的介质,也就是卫星。 2.其次我们假设一种情况,一匹马从北京到上海马不停蹄,是不是会累死?电信号其实本质也是这样,电信号在传播的时候其实是会有一定的损失的,如果距离过远,损失会更大,因此我们需要我们的“驿站”,也就是途中的部分转发节点 3.不知道大家小时候知不知道“猫”,小时候如果要上网,那必须使用的方式是拨号上网。其实那是在和电话线使用同一个传输的通道,而猫的作用就是将我们电脑的数字信号转成模拟信号,以达到让电脑的数据可以通过电话的通道去进行传输。
ps:数字信号和模拟信号的区别 模拟信号是连续的,不停的,是一段电压 数字信号则是通过0和1的数字串所构成的数字流来传输的、
|
数据传输的特点
1 2
| 数据传输其实是有一个很明显的特点的,打个比方,我们在打电话的时候,很明显数据应该是持续的,毕竟沟通嘛,不可能你隔一段时间说一句那个隔一段时间说一句,但是数据传输不一样。他其实是一个数据包一个数据包传输,并且每一个数据包之间的传输会有一定的间隔。 综合上述特点,我们可以考虑到计算机之间的通信我们需要有一个比较合理的架构,毕竟世界上不止有两台计算机在通信,是非常多的计算机在进行通信。但是很多计算机其实是用的同一个信道。所以如何去规划这些数据包的传输是一件很有学问的事情
|
数据包的传输规划
1 2 3 4 5 6 7 8
| 针对数字信号的传输,设计者是设计了两种方案去解决这个问题 1.报文交换 2.分组交换(现在常用)
上述两种听名字很高大上,实际上是非常简单的一个概念,报文交换就是将所有的数据一并进行传输,分组交换则是将一整组的数据进行拆分,拆成小的部分进行传输。 至于两者之间的优劣可以去看这个博客:https://blog.csdn.net/suxiaorui/article/details/87099192个人觉得是讲解的比较简单详细的。 这里说个结论,分组交换要优于报文交换。因为将数据进行拆分以后,你可以通过多个路线去进行传输,理论上是可以达到类似并行的效果的,并且个人觉得,这样做可以减少丢包带来的损失,就算丢了其中一部分包,你也只需要传输丢失的一部分包即可,不需要进行全部重传的操作。
|
多路复用
1 2
| 多路复用简单的说就是让多个计算机使用同一条通信的信道,这就是多路复用。 多路复用+分组交换是现在最常用的一种传输数据的手段
|

多路复用图示详解
分组交换所需要的必备条件(分组的控制信息)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| 为了满足上述的功能条件,有下面三点是必须做到的 1.差错控制 2.寻址功能 3.仲裁过程 首先我们来谈谈差错控制,差错控制简单的说就是如何去校验你传输过来的数据是否正确?是否中途被人调过包获少包,你需要有这个校验功能 寻址功能就是我们如何确定要给谁去传这个包?也就是类似的邮件寄件地址 仲裁过程就是在多个计算机同时发包,那么谁先谁后?
对于上述的功能,我们有个统一的名称(数据链路控制功能) Data Link Control
上述几点是最重要的,但是除了上述几点,我们还需要考虑下面几点 网络通信量过多了如何?如何确定计算机网络之间的通信已经结束? 对于上述这两个问题也有一定的功能区解决 流量控制以及拥塞控制是去解决第一个问题的。 对于第二个问题则是牵扯到tcp中四次握手三次挥手的概念
|