计算机网络概述

网络边缘和核心

边缘

  • 边缘节点:靠近用户侧,负责“接入”。
  • 核心节点:位于网络中心,负责“高速转发”。

边缘节点数量庞大,直接面对用户

核心节点是网络的骨干层,是网络的心脏,负责处理海量数据的超高速转发和互联。

网络核心主要就是负责数据交换switch。

接入网络可以通过有线或者无限。

常见的通信模式

核心

数据怎么样通过网络传输?

电路交换

:为每个呼叫预留一条转悠线路:如电话网

image.png

这个线路是独享的,打电话不说话也是收钱的。通信的性能是有保障的。因为双方的带宽是独享的。

电话的网络都是电路交换网络。但是不适合计算机使用。通信之前需要建立通道。

那么这里的分片是怎么分的呢?

  • 频分多路复用:交换节点,频分多路复用可以在一个频率上

一根电缆的可用频率范围是 0~100 MHz:

用户 A 使用 0~20 MHz,用户 B 使用 20~40 MHz,用户 C 使用 40~60 MHz

三个人的信号同时传输,但因为占用不同频率,所以不会互相干扰。

  • 时分多路复用:节点之间不同时间传输不同的数据。每个时间片给不同的人用。
  • 波分多路复用:光线有不同的波段,每个用户使用不同的波段。光纤就常用波分。

但是计算机之间的通信有突发性,如果使用线路交换,则浪费的时间片较多。即使这个呼叫没有数据传递,其所占用的片也不能够被别的呼叫使用。我们还需要维护每一个片之间的映射关系。当管理映射的节点被毁坏会产生巨大的损失。

分组交换

  • 将要传送的数据分成一个个单位
  • 将分组从一个路由器传到响领的路由器hop,一段段最终从源传到目标端
  • 每段:采用链路的最大传输能力。

网络以分组为单位存储转发。为什么要存储下来再转发呢?

比如A和B要传输10个G的数据,那么这段时间所有内容都是A发给B的,那A就会直接独享整个带宽,直到数据发送完毕。因此要将每个数据分组。

为什么必须存? 因为线路是共享的。如果瞬间有100个包涌向同一个出口,出口只有1条线。如果不存,后面的包就会直接“撞车”丢失。存储,就是为了让数据包在“堵车”时能有个缓冲区排队,这样线路始终能被填满,利用率从电话网的~30%提升到了接近100%。

线路交换,每个节点要耽误一个bit的时间(收到发送这个bit),分组交换要耽误整个分组的存储时间(检查数据包,然后看目标地址才能发送)此外还要耽误一个排队的时间。发送和接受需要的耗时是相同的(发送对另一方来说是接受)。

但是好处是网络是共享的,按需使用。如果到达速率>链路的输出速率。分组将会排队,等待传输,如果路由器缓存用完了,分组将会被丢弃。

在网络交换存在突发性的情况下分组交换能支撑更多的主机。不用的时候其他人用。

网络核心关键功能主要是俩个

  1. 路由:决定分组采用的源到 目标的路径
  2. 转发:将分组从路由器的输入链路转发到输出链路

核心思想类似时分多路复用,但是分组交换划分时间片的方式是不固定。这种多路复用方式叫做统计多路复用。但是过渡使用会造成网络拥塞分组延时和丢失。

分组交换根据有没有连接分为俩种方式。数据报是有连接的,虚电路是无连接的。

数据报网络:源主机发给目标主机的分组携带了完整地址。这种方式被称为数据报。交换节点之间不需要维护主机之间通信的状态。但是由于路由表可能产生改变,因此每次数据交付的路径可能是不同的。

虚电路(virtual circuit):在交换节点之间建立一条虚拟的线路,每个分组按照虚电路号来进行存储转发。

接入网络和物理媒体

接入方式

modem:调制解调器。运营商希望接入更多的用户。要把所有的光缆铺到每个家庭门口投入十分巨大。

但是最开始每家每户都有电话线。这个电话线是4Khz的带宽,语音的带宽通常很窄。但是我们要通过光猫把电话信号调为网络信号。我们可以通过调整频率相位等方式在载波信号上面传输上网的数据。然后运营商那边就可以解调数据。带宽通常是6kbps。此外打电话的时候就不能上网了。

DSL:另外的一种方式也是使用调制解调的方式。还是用电话线。0-4khz用于语音通讯。4k以上,一部分用于上行,一部分用于下行。DSL的高频信号在铜线上衰减极快。离电信机房(或街边的光交接箱)越近,能用的频率就越高,带宽就越大;如果超过3-5公里,高频信号几乎衰减殆尽,速度就会直线下降。但是上下行带宽是不对称的,仍然采用调制和解调来进行。这样就可以电话的时候上网了这就是ADSL。

有线电视公司也有类似的方式。通过同轴电缆广播给电视数据,但是这个广播信号是单向的。有线电视信号线缆双向改造。FDM:在不同频段传输不同信道的数据,数字电视盒上网数据。(现在很多用户已经不订购有线电视了,听过光纤到户)

线缆网络:非对称。线缆和光纤网络将家庭用户接入到ISP。哥哥用户共享到线缆头端的接入网络。与DSL不同,DSL每个用户一个专用线路接到CO(central office)

我们可以通过光猫接入到各种不同的运营商。

家用路由器是将路由器跟无线AP组合在一起了,企业路由是路由,AP是AP。

功能交换(Switch)路由(Router)
连接对象同一个网络里的设备不同网络
看什么地址MAC地址IP地址
作用找设备找网络路径
例子电脑连打印机家庭网络连互联网

无线接入网络:可以通过wifi或者广域无线接入(4g,5g)。

物理媒体

物理链路:在每个传输-接受对,跨越一种物理媒体。

引导型媒体:信号沿着固体媒介被引导。同轴电缆,光纤,双绞线。

非导引型媒体:无线电

双绞线:俩根绝缘的铜线。5类:100MBPS ethernet gbps以太网。6类:10GBPS。

同轴电缆:俩跟同心的铜导线。

光缆:光脉冲,每个脉冲表示一个bit。点到点高速传输。100GBPS。低误码率:在俩个中继器之间可以有很长的距离,不收电磁噪声的干扰。

光纤 ≈ 电线里的铜芯
光缆 ≈ 包了绝缘层、护套、保护结构的完整电缆

多模光纤能够让不同光的传播路径同时在光线中传输的光纤。用于断句路高速数据通信。单模光纤适合长距离。光纤是非常优秀的通信介质。因为它是全反射的,不向外泄漏信号。

主流运营商的骨干链路都是采用光缆传输的。

无线电路是在开放空间的,受环境影响,干扰性强。现在除了wifi还有li-fi,3g,4g,5g。还有卫星通信(数百毫秒的延迟)。

internetr结构和ISP

端系统通过接入ISP(internet service providers)连接到互联网。

这个接入可以是在住宅,公司大学。接入ISP响应的必须是互联的。

如果我们俩俩连接所有网络那么需要进行N方个连接。这种方式是不可扩展的。将每个接入ISP连接到全局ISP。

image.png

竞争:如果全局的ISP是可行的业务,那么会有利可图,因此一定会有竞争者。

合作:通过ISP之间的合作可以完成业务的扩展,肯定会有互联,对等互联的结算关系。

image.png

此外每个区域还有小ISP,然后通过大ISP接入全球范围内的通信。一些内容提供商,不满足于ISP的资费,可能部署专网,把不同的数据中心连接在一起。ISP提供商出于成本,无法提供非常高质量的网络。对于谷歌这种公司,就有这样的需求,需要减少线路的跳数。

image.png

在网络的最新一些为数不多的充分连接的大范围网络

image.png

层级核心特点主要客户知名实例
Tier 1 (一级)互联网的骨架。拥有全球性骨干网络,通过不付费的对等互联与同级网络交换流量,理论上能抵达互联网上任意一个IP地址。主要为下级ISP提供网络连接,不直接面向普通消费者AT&T, Verizon, NTT, Lumen, GTT, Tata Communications 等。
Tier 2 (二级)区域性网络。通常覆盖一个国家或地区。需要通过向 Tier 1 ISP 购买IP转接服务来访问全球互联网。终端用户、企业、以及更小型的Tier 3 ISP。Cogent, Qwest, Savvis 等(有时也会与部分Tier 1网络对等)。
Tier 3 (三级)本地接入网络。规模最小,通常只为特定城市或社区的最终用户提供“最后一公里”的互联网接入服务。家庭、小型企业等个人和商业用户。通常为本地运营商,数量众多。

POP:高层ISP面向客户的网络接入点,设计费用结算。一个低层ISP接入多个高层ISP。

对等接入:2个ISP对等连接,不涉及费用结算

IXP:多个对等ISP互联互通之处,不涉及费用结算。

ICP:自己部署专用网络,同时和各级ISP连接。

分组延迟丢失和吞吐量

分组延迟

分组需要等待排到队头才能被传输。这会产生延迟。除此之外还有传播延迟。

太长的分组队列是没意义的。比如几个T的队列,等待消息发送出去之后,如果需要过几个小时,用户可能就不在了。

  1. 节点处理延时:检查分组首部,决定将分组导向何处。
  2. 排队延时:再输出链路上等待传播的时间。依赖于路由器的拥塞程度。
  3. 传输延迟:R=链路带宽bps。L=分组长度(bits)。将分组发送到链路上的时间=L/R。
  4. 传播延迟:物理链路的长度。在媒体上的传播速度约等于2x10^8m/s

总延迟等于上面四者相加。每一跳都要耽误以上四点延迟。

信道容量就是在信道中传播的信号总量。

a=分组到达队列的平均速率

流量强度La/R.当流量强度大于1.比特到达队列速率超过该队列的输出速率,平均排队延迟趋向于无穷大。

ICMP(Internet Control Message Protocol,互联网控制报文协议)不负责传输也有数据。当路由器或主机发现网络通讯有问题时,可以通过ICMP告诉对方发送了什么。ICMP不是TCP、UDP。没有端口号,最常见的ping命令用的就是icmp协议。

吞吐量:在源端盒目标端之间的速率。数据量/时间单位。吞吐量存在木桶效应。

协议层次和服务模型

网络是一个非常复杂的大型系统。我们可以通过分层的方式解决这个问题。每一层向上提供服务。

本层协议是为了更好的向上层提供服务。在实现本层协议的时候,直接使用了下层协议提供的功能。

服务service:底层实体向上层实体提供它们之间的通信能力。

  • 服务用户(service user)
  • 服务提供者(service provider)
  • 原语(primitive):上层使用下层服务的形式,高层使用底层提供的服务,以及底层向高层提供服务都是通过服务访问原语来进行交互的。
  • 服务访问点(SAP service access point)上层使用下层提供的服务通过层间的接口-地点。套接字就是SAP, 上层可能有多个进行socket的应用程序,需要区分数据包分发给哪个应用程序。

面向连接的服务:俩个通信实体为通信而建立的一种结合。面向链接的通信过程:建立链接,通信,拆除连接。适合对于大数据块传输。

无连接服务:俩个对等实体在通信前不需要建立一个连接,公布预留资源;不需要通信双方都是活跃的。特点是不可卡片、可能重复、可能失序。

image.png

分层实现结构清晰,便于标示网络组件,以及描述其相互关系。但是封层导致低效。但是一般认为好处要比坏处多。

  1. 应用层:为人类用户或者其他应用进程提供网络应用程序,http,SMTP,HTTP,DNS
  2. 传输层:主机之间的数据传输,在网络层提供的端到端通信基础上,细分为进程到进程,将不可靠的通信变成可靠的通信。TCP,UDP。进程到进程的传输。
  3. 网络层:为数据包从源到目的选择路由。主机主机之间的通信。端到端通信,不可靠。IP,路由协议。传输单位是分组。
  4. 链路层:相邻网络节点之间低数据传输。2个相领节点通信,PPP协议。区分帧开头和结束,传输以帧为单位的数据。
  5. 物理层:在线路上传送BIT。把数据变成物理信号,接收端还原为数据。

希昂对于OSI模型,少了表示层,会话层。TCP中让应用程序自己进行这来个操作。

image.png

每次交换设备都要进行一次解封装和再封装。

各层的协议数据单元是不同的。

  • 应用层:报文(message)
  • 传输层:报文段(segment):TCP段,UDP数据包
  • 网络层:分组packet(如果无连接方式:数据报 datagram)
  • 数据链路层:帧(freame)
  • 物理层:位(bit)

历史

1960年计算机网络 使用线路交换。线路建立时间过长。独享方式占用通信资源,不适合突发性很强的计算机之间的通信。

1961-1972年:早期分组交换。最早时候每个节点都是交换节点,数据源,目标节点。

1972年-1980年专用网络和互联。

ISO标准被提出,但是效率非常低。

cerf and kahn 互联网原则:定义了今天的internet体系结构。

  • 极简,自治
  • 尽力而为(best effort)服务模型
  • 无状态路由器
  • 分布控制
  • 1983年TCP/IP部署,标记日。NCP划分成俩个层次TCP/IP,从而出现UDP。
  • 1982:smtp e-mail协议定义
  • 1983年:DNS定义,完成域名到IP转换。
  • 1985年FTP协议定义
  • 1988年TCP拥塞控制

1985年:ISO、OSI提出,,时机不对且过于繁琐。

互联网的特性就是赢者通吃。

1990年-2000年商业化 web,新的应用。2001网络泡沫,使得一些好公司沉淀下来。谷歌、微软、苹果、思科。

2205年-现在

50亿主机:包括手机平板宽带接入设备快速部署。电子商务,网络社交。

Last modification:August 17, 2026
如果觉得我的文章对你有用,请随意赞赏