计算机网络核心-数据交换

1 概述

计算机网络的核心即数据交换。通过数据交换将数据从源主机发送到目的主机。

2 为什么需要数据交换

如果不是数据交换的方式,而是每两台主机直接连接,则会产生N^2链路问题。

即,假设有N台主机,两两间建立连接,则链路总数为 (N-1)+(N-2)+...+1=(N-1)+1(N-1)/2=N (N-1)/2。等差数列求和。

每台主机都需要与网络上所有的主机都要建立(N-1)个连接。

所以就有了交换设备。每台主机与交换设备直连。每台主机只要一个连接。

但是如果网络上所有的主机都连在一个交换设备上,交换设备的压力会很大。所以就有了多个交换设备互连形成了交换网络。

所以最后的形式就是各主机通过交换网络进行数据交换。

3 数据交换的类型

电路交换

报文交换

分组交换

4 电路交换

最典型的电路交换用例:电话网络

电路交换的步骤:

1 拨号,建立连接

2 通信

3 释放连接

电路交换的特点,独占资源。(通过多路复用技术共享物理链路)

5 多路复用

为啥可以多路复用?

因为很多情况下,一个物理链路的通信能力远远大于一路通信的需求。因此多个通信可以共用同一物理链路。

怎么做到多路复用的?

多路复用将资源(链路/网络资源)划分为资源片。

将资源片分配给各路呼叫(通信)。

每路呼叫独占分配到的资源片进行通信。

因为资源片是独占的,所以会存在资源片闲置的情况。

典型的多路复用方法有哪些?

频分多路复用FDM-频率-电视信号

时分多路复用TDM-时间帧-每个时间帧又分为多个时隙-每个用户占用一个时隙-时隙是周期出现的-用户只有在时隙才能发送数据

波分多路复用WDM

码分多路复用CDM-蜂窝网络、卫星网络(有点复杂。什么码、正交...这里不展开了)

6 报文转发

将数据作为一个整体进行转发。

7 分组转发

特点:

1.将数据分成多个数据包然后进行转发。

2.需要报文拆分和重组。

3.产生额外开销。(但很小可以忽略,而且只在源主机进行拆分,然后只在目的主机进行重组)

ps:在每个数据包的头部会添加头部信息。

分组转发的多路复用:

假设两个源主机A、B,用通一个交换设备进行分组转发。A和B首先将报文拆成多个数据包,每个数据包占用交换设备的部分带宽。

分组转发的多路复用是占用同一交换设备的带宽,也称为统计多路复用。

8 报文交换对比分组交换

报文交换将整个文件进行发送,增加了中间交换设备缓存的要求。

分组交换将数据拆分多个数据包后,在链路(中间的交换设备)中,可以并行发送多个分组(15s,5.002ms)。分组交换的时间比报文交换时间短。而且中间交换设备的缓存也不需要太大,至少能接收一个数据包即可。

相关推荐
编程之路,妙趣横生11 小时前
Tcp Socket
计算机网络·tcp
编程之路,妙趣横生13 小时前
Udp Socket
计算机网络·udp
阿米亚波3 天前
【EVE-NG 实战】防火墙基础(VLAN · VRRP · NAT · ACL · 静态路由)
运维·网络·笔记·网络协议·计算机网络·网络安全·运维开发
liulilittle4 天前
Exhaustive drift-fix simulation V2 — KCC on shared-bottleneck wired path.
开发语言·网络·python·tcp/ip·计算机网络·信息与通信·通信
2401_868534785 天前
案例介绍-小型网络规划及搭
python·计算机网络
2401_868534786 天前
系统分析师案例分析题常考知识点
python·计算机网络
从零开始的代码生活_7 天前
Linux epoll 多路转接详解
linux·运维·网络·后端·tcp/ip·计算机网络·php
liulilittle8 天前
KCC 拥塞控制算法缺陷修复记录(26/07/05)
网络·tcp/ip·计算机网络·c·信息与通信·tcp·通信
liulilittle8 天前
KCC 边界缺陷深度分析:六问题根源与解决方案
网络·网络协议·tcp/ip·计算机网络·信息与通信·ip·通信
Thomas.Chan8 天前
数据中心动环监控系统架构详解
运维·网络·计算机网络·其他·系统架构·数据中心