通常把与因特网相连的计算机和其它设备称为端系统。网络边缘指的就是这些与因特网相连的设备,包括了桌面计算机(Windows、Mac、Linux等桌面PC)、服务器(Web 服务器、Email 服务器等)、移动计算机(智能手机、平板电脑等)。
端系统也称为主机,因为他们可以运行应用程序。
住户通常从提供本地电话接入的本地电话公司处获得 DSL 因特网接入。因此,当使用 DSL 时,用户的本地电话公司也是它的 ISP。
每个用户的 DSL 调制解调器使用现有的电话线(即双绞铜线)与位于电话公司本地中心局(CO)中的数字用户线接入复用器(DSLAM)交换数据。
在用户一侧,一个分配器把到达家庭的数据信号和电话信号分隔开,并将数据信号转发给 DSL 调制解调器。在电话公司一侧,本地中心局中,DSLAM 把数据和电话信号隔开,并将数据送往因特网。
家庭电话线同时承载了数据和传统的电话信号,它们使用不同的频率进行编码:
这种单根 DSL 线路具有类似于 3 根独立线路一样的技术是采用的频分复用技术。
DSL 标准定义的多个传输速率:
[ITU 1999]
:上行 1.8Mbps,下行12Mbps。[ITU 2006]
:上行 15Mbps,下行 55Mbps。电缆接入利用了有线电视公司现有的有线电视基础设施。住宅从提供有线电视的公司获得了电缆接入。
光缆将电缆头端连接到地区枢纽,从这里使用传统的同轴电缆到达各家各户。每个地区枢纽通常支持 500~5000 个家庭。因为这个系统中应用到了光纤和同轴电缆,因此也称为混合光纤同轴(HFC)系统。
电缆条调制解调器是个外部设备,通过一个以太网端口连接到家庭PC。
从本地中心局直接到家庭提供了一条光纤路径。
从本地中心局提供一条光纤路径直接到家庭的方案如下:
以太网目前是公司、大学和家庭网络中最为流行的接入技术。
使用以太网接入,用户通常以 100Mbps 或 1Gbps 速率接入以太网交换机,而服务器可能具有 1Gbps 甚至 10Gbps 的接入速率。
手机启用流量可以接入互联网,因为这些设备应用了与蜂窝移动电话相同的无线基础设施,通过蜂窝网提供商运营的基站来发送和接收分组。
物理链路(也称路径):连接每个“发送端-接收端”对之间的物理媒介。
引导型媒介:信号沿着固定媒介传播,如同轴电缆、光纤、双绞线。
非引导型媒介:电波在空气或外层空间中传播,例如无线局域网或数字卫星频道中。
双绞线:两根绝缘铜导线以规则的螺旋状排列着。
同轴电缆:两根同轴的铜导线。
光纤:光脉冲,每个脉冲表示一个比特。
点到点的高速传输:10Gbs ~ 100Gbps 传输速率。
低误码率:不受电磁干扰,长达 100km 的光缆信号衰减极低,并且很难窃听。
陆地无线电信道,可分三类:
一类:运行在很短距离(如 1米或 2米);二类:运行在局域网,通常跨越百米内;三类:运行在广域网,跨越数万米。
卫星无线电信道:略略略。
在各种网络应用中,端系统彼此交换报文。为了源端系统向目的端系统发送一个报文,源将长报文划分为较小的数据块,称之为分组。在源和目的地之间,每个分组都通过通信链路和分组交换机传送。(交换机主要有两类:路由器和链路层交换机)
分组以等于该链路最大传送速率的速度传输通过通信链路。因此,若某源系统或分组交换机经过一条链路发送一个 L 比特长度的分组,链路的传输速率为 R 比特/秒,则传输该分组的时间为 L/R 秒。
存储转发传输是指在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。
如图所示,我们要将分组从 source 发送到 destination,首先发送分组1,分组1的部分数据到达路由器时,路由器会先存储这一部分数据,直到分组1的所有比特都被路由器全部接收为止,最后路由器向 destination 发送数据。
只发送分组1,从源开始发送分组到目的地收到整个分组所经过的时间,如图:
源从 0 时刻开始传输比特,在 L/R 时刻路由器接收完来着源的所有比特,并且此时开始向目的地传输比特,在 2L/R 时刻目的地接收完所有来着路由器的比特。
发生所有分组的时间:
每台分组交换机有多条链路与之相连。对于每条相连的链路,该分组交换机具有一个输出缓存(也称为输出队列)。
若想要分组到达某条相关链路,但发现该链路忙于传输其它分组,因此要发送给分组需要先在该链路的输出队列中先存储起来,等待该链路的其它分组传输完毕。
若输出队列以及满了,那么后来到达该链路的分组会发生丢失,也就是常说的丢包,丢的可能是后来的那个分组,也可能是队列中的分组。
路由器可以将某条链路上得到的分组发送到与之相连的其它链路上,但如何链路有很多,到达目的地的链路选择也就有多条可选,那么怎么选择最合理,路由器又如何知道选择哪条可以到达目的地呢?这个就是靠路由器中的转发表。而转发表的形成便是依靠路由选择协议。
在电路交换网络中,在端系统间通信会话期间,预留了端系统间沿路径通信所需要的资源(缓存,链路传输速率)。如果两端系统需要通信,则必须要在发送方和接收方之间建立一条连接。此时该连接上的路由器将会维护连接状态,以防别的端系统占用。这建立的链路称为电路。这条电路上预留着通信需要的资源。
既然已经为“发送方-接收方”之间预留了带宽,则发送方能够以确保的恒定速率向接收方传送数据。
如果建立了电路,但却不使用,这就会浪费所预留的资源,因为这些资源是该电路独享的,无法共享,因此其它端系统也无法使用,从而造成浪费。(典型站着茅坑不拉shi)。
频分多路复用:将基带信号调制到不同频率的载波上,将载波带宽(物理信道带宽)划分为多个不同频带的子信道,使多个子信道并行在一路信道上传输形成多路复用。
时分多路复用:将时间划分为周期循环的等长小段,每个时段/时隙/时间片就是一个子信道。
每个时隙都有一个序列号,所有用户轮流按照时隙占用信道(既然是轮流,那就不是并行占用信道)。
若轮到某个时隙,但这个时隙并不需要发送数据或接收数据,那么此时信道利用率为零,时分是以周期循环发生的,每次都以轮流的方式使各个时隙占用信道,因此即使某个时隙无需要使用信道,但时间片最终还是会轮到它,即便它不用。这便是时分多路复用信道利用率低的原因。
ISP 是互联网服务提供商,负责提供端系统接入因特网的服务。
Access net 是需要接入网的端系统。如果要保证各个端系统之间都能相互通信,那么就必须将所有端系统连接起来。一个最简单粗暴的方法是做全连接,如下图所示。
我们可以让端系统接入一个单一全局的 ISP,这样就可以实现各个端系统之间的通信了。
如果建设 ISP 有利可图,那么就会出现竞争者,即会出现多个 ISP。
但这样只是实现了各个 ISP 名下所连接的端系统通信,而不能跨越 ISP 通信,如 ISP A 的某个用户不能与 ISP B 的某个用户通信,但连接 ISP A 的所有端系统之间可以通信。因此 ISP 之间也必须要互联。下图是以 Peering link 的方式进行互联。
ISP 互联也可以通过 IXP 进行连接。
到后来,业务开始细分,出现了更细(指范围更小)的区域 ISP。
内容提供商网络(Internet Content Providers, ICP),指的是公司或组织自己构建自己的网络,将它们的服务、内容更加靠近用户,向用户提供更好的服务,减少自己的运营支出。
ICP 的例子有 Google、Microsoft、Akamai、百度。它们也需要接入网,因此也必须接入 ISP,既然要接入 ISP,那就必须要向服务提供商支付一定的费用,金额的巨额的,因此为了减少自己的运营支出,就需要自己构建自己的网络。
最终形成现在的网络结构:
假设分组采用存储转发方式传输。
一旦一个比特被发射上链路,则该比特需要向路由器 B 传播。
从该链路的起点到路由器 B 传播所需要的时间就是传播时延。
传播速率取决于该链路的物理媒介,其速率范围是 2 × 1 0 8 − − 3 × 1 0 8 m / s 2 \times 10^8 -- 3 \times 10^8 \ m/s 2×108−−3×108 m/s。
传播时延 = d/s
d 是 路由器 A 和路由器 B 之间的距离。
s 是 该链路的传播速率。
R 为链路带宽
L 为分组长度
a 为分组到达队列的平均速率(单位:分组/秒,即 pkt/s)
流量强度 = La/R
若 > 1,则比特到达队列的平均速率超过该队列传输出去的速率。(设计系统时流量强度绝对不能大于 1)
若趋近于 1,则延时变得很大。
若约等于 0,则平均队列延时很小。
若队列满了,会导致后发送过来的包丢失,即丢包。
吞吐量: M i n R 1 , R 2 , . . . , R n Min{R_1, R_2, ..., R_n} MinR1,R2,...,Rn,其中 R 是链路上的速率。
以乘坐飞机的具体流程来描述计算机网络的五层结构
假设你现在需要带着行李乘坐飞机去别的城市,过程如下:
在机场准备乘坐飞机:
可以发现,每层都需要借助下一层的服务,也就是说第 N 层是第 N+1 层的服务。实现第 N 层服务需要使用第 N-1 层所提供的服务。
到达目的地机场:
乘坐飞机的过程相当于封装消息,到达目的地离开飞机的过程相当于解除封装,继而得到具体的报文信息。
Tips:五层因特网协议栈中,第五层是应用层,第一层是物理层。
服务(Service):底层实体向上层实体提供它们之间的通信能能力。
原语(Primitive):上层使用下层服务的形式,高层使用底层提供的服务,以及底层向高层提供服务都是通过服务访问原语来进行交互的 —— 形式。
补充 ChatGPT:原语(Primitive)是指一组可供操作系统或网络协议栈调用的基本函数或操作。原语通常由底层网络协议栈实现,用于完成特定的功能或操作。它们通常提供了一组简单的操作,如发送和接收数据包、建立和终止连接等。
原语是计算机网络中实现协议的重要基础,它们可以用于网络协议栈的实现,使得上层协议可以通过调用原语来完成网络通信过程中所需要的各种操作。
服务访问点 SAP(Service Access Point):服务访问点,简称SAP,实际就是逻辑接口,是一个层次系统的上下层之间进行通信的接口,N层的SAP就是N+1层可以访问N层服务的地方。
服务与协议的区别:
服务与协议的关系:
路由器和链路层交换机以多层次的方式组织它们的网络硬件和软件,它们实现了部分协议栈。
在源发送一个报文,应用层把报文 M 传递给运输层,运输层加上自己的头部 Ht,将封装好的 [Ht,M] 报文段传递给网络层,网络层也加上自己的头部信息 Hn,将封装好的数据报传递给链路层,同理封装得到链路层的帧。接下来经过链路层交换机,进行解封装后再封装,接着到路由器,一样解封装后再封装,最终传递到目标机,进行最后一次的解封装后得到最终的报文信息。