目录
[1.2、 网络边缘](#1.2、 网络边缘)
1.1、什么是因特网
描述因特网可以从两个方面进行描述:①描述因特网的具体构成 ②根据为分布式应用提供的联网基础设施来描述
①描述因特网的具体构成
因特网是世界范围的计算机网络【计算机网络:计算机网络是指将多台计算机连接起来,使它们能够互相通信和共享资源的系统。这些计算机可以通过有线或无线方式连接,通过设备和协议,如路由器、交换机和网络协议,彼此之间传输数据、信息和资源。计算机网络的目的是为了实现数据的传输和共享,让人们能够远程访问信息、共享文件、通信交流等。】
所有的互联在因特网上的这些设备被称之为主机 或端系统
以下这张图描述了,因特网中连接的一些终端部件
端系统通过通信链路 【传输过程中的不同的物理媒介,包括有同轴电缆、铜线、光纤和无线电频谱,传输速率的单位为比特每秒bit/s 或 bps】和分组交换机【最显著的两种就是:路由器和交换机】连到了一起
分组:就是对ip进行分组,在传输过程中根据ip传输到不同的组中一般交换机是使用在接入网的,而路由器是使用在核心网
在对5G进行学习的过程中已经接触到了整个网络是分成的:接入网、承载网、核心网,三大部分
这个就是5G网络搭建中的光传输网络(OTN:Optical Transmission Network),它有着分光和合光,以及光信号的放大
因特网服务提供商(Internet Service Provider)ISP: 端系统就是通过它们接入的因特网,例如公式的ISP、大学的ISP【也就是校园网】,各种公共场所提供的WIFI接入的ISP,以及只能手机的蜂窝数据ISP【也就是无线基站】各种ISP为端系统提供了各种不同类型的网络接入,包括如线缆调制解调器或DSL那样的住宅宽带接入、高速局域网接入和移动局域网接入
②根据为分布式应用提供的联网基础设施来描述
分布式应用程序:包括传统应用:电子邮件、web冲浪等,新型的应用:及时通讯、云的音乐流、电影和电视流、在线社交网络、视频会议、多人游戏等等
现在讨论运行在一个端系统上的应用如何才能指令因特网向运行在另一个端系统上的软件发送数据呢?
与因特网相连的端系统提供了一个套接字接口(socket interface),该接口规定了运行在一个端系统上的程序请求因特网基础设施向另一个端系统上特定目的地程序交付数据的方式,
套接字(Socket)**就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。**一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口 这两个内容会在第二章中细讲
网络协议
协议:定义了在两个或多个通信实体之间交换的报文的格式和顺序,以及报文发出和接收一条报文或其他事件所采取的行动
1.2、 网络边缘
接入网:是指将端系统物理连接到边缘路由器 的网络,是端系统到任何其他远端系统路径的第一台路由器
接入网
1、家庭接入:DSL、电缆、FTTH、拨号和卫星
DSL(Digital Subscriber Line)数字用户线【俗称电话线,使用双绞线】和电缆:从提供本地电话接入的本地电话公司处获得DSL因特网接入,因此用户的本地电话公司就是它的ISP(因特网服务提供商)
电脑传输的是数字信号,而电话线传输的是模拟信号,此时就需要使用DSL调制解调器将数字信号转化成模拟信号,好便于在电话线上传输,然后通过电话提供商的DSLAM(数字用户线路接入多路复用器),将模拟信号转化成为数字信号
因为电话线同时承载着数据和传统的电话信号,他们使用不同的频率进行编码(也就是采用了频分复用的技术):
-
高速下行信道:位于50kHz到1MHz频段
-
中速上行信道:位于4kHz到50kHz频段
-
普通的双向电话信道: 位于0到4kHz
电缆因特网接入:上述的DSL利用了电话公司现有的电话基础设施(也就是双绞线),而电缆因特网是利用了有线电视公司现有的有线电视基础设施,从后面的线缆中可以看出,有线电视一般使用到了光纤和同轴电缆,所以也称之为混合光纤同轴(Hybrid Fiber Coax,HFC)系统,其中电缆调制解调器端接口系统(Cable Modem Termination System,CMTS)将下行家庭中的电缆调制解调器发送的模拟信号转化成为数字信号,
电缆调制解调器将HFC网络划分为下行和上行两个信道,因为是分组下行,共享链路,所以如果同时有多个用户进行下载,每个用户的实际下载速率将会低于电缆总计的下行速率
光纤到户(Fiber To The Home,FTTH):有两种分布方案:①每个用户一根光纤;②一组用户共享条光纤,到了接近位置每个用户才分一根光纤
第二种方案有两种竞争性的光纤分布体系结构:
1、主动光纤网络(Active Optical Network,AON)
2、被动光纤网络(Passive Optical Network,PON)
主动光纤网络(AON,Active Optical Network)和被动光纤网络(PON,Passive Optical Network)是两种常见的光纤传输网络架构。
-
主动光纤网络(AON):
-
AON使用光纤链路中的电子设备来激活、调节和放大信号,以便信号能够在光纤中传输。
-
这种架构通常涉及光纤中的主动设备,如光放大器、光开关和光转发器等,这些设备需要电力支持来增强信号或进行信号处理。
-
AON架构支持更高的带宽、更长的传输距离和更灵活的网络控制,但相对来说成本较高。
-
-
被动光纤网络(PON):
-
PON是一种更节能和经济的光纤网络结构,它采用 passively split 的方式,在光纤链路上使用被动的分光器(Splitter)来分配光信号。
-
这种结构中,光信号在传输过程中不需要主动的电子设备来进行调节和放大,而是依靠被动的分光器来分配信号到不同的用户。
-
PON架构中的光纤链路可以同时连接多个用户,但信号的分配是 passively split 的,因此信号会随着分配到的用户数量而减弱。
-
两种架构都有各自的优势和适用场景。AON提供更高的灵活性和控制,适用于对带宽和传输距离要求较高的场景。而PON则更适合于对成本和节能有较高要求的应用,尤其是大规模的访问网络(例如,用于提供宽带接入的网络)。
AON在第六章讨论,下图是PON的网络架构
ONT(Optical Network Terminator):光纤网络端接器,一边连接光纤分配器,一边连接家庭路由器
OLT(Optical Line Terminator):光纤线路端接器,进行光信号和电信号之间的转换
在一些地区无法提供DSL、电缆和FTTH,能够使用卫星链路与互联网相连
2、企业接入(和家庭接入):以太网和WiFi
其中pc端使用双绞铜线与一台以太网交换机相连,具体技术会在第6章中讨论
基于IEEE 802.11技术的无线LAN接入,俗称为WiFi,具体技术会在第7章讨论
3、广域无线接入:3G和LTE
具体技术可以参照第7章和之前学的移动通信网络
物理媒介
在次之前我们补充一个,线缆的分类图:
1.3、网络核心
图中画粗线的网络,由分组交换机和链路构成的网状网络,就是网络核心
而数据通过网络核心的两种基本方法:分组交换和电路交换
分组交换:
两个端系统进行报文的传递,源会将报文进行划分成较小的数据块,称为分组,每一个组通过通信链路和分组交换机(主要包括路由器和链路层交换机)进行传输,多数的分组交换机在链路的输入端使用存储转发传输机制,也就是分组交换机要将接收到的分组先进行存储,在接收完所有的分组,在进行转发
分组交换技术的优势:
分组交换作为网络通信的一种方式,具有多方面的优势:
-
灵活性和效率: 分组交换允许数据流动态地分割成小的数据包进行传输,提高了网络的带宽利用率。它允许多个数据流同时通过网络,并且能够快速适应不同传输需求。
-
弹性和鲁棒性: 分组交换网络具有很强的鲁棒性,因为它允许数据在传输过程中选择不同的路径,从而避免网络中的瓶颈和故障点,提高了网络的稳定性。
-
传输效率: 数据包能够独立地在网络中传输,不需要按照顺序传输,这提高了传输效率。即使数据包到达的顺序可能不同,也不会影响数据的正确性,从而提高了网络的吞吐量。
-
灵活的网络连接: 分组交换允许不同类型的设备和网络连接在同一个网络上进行通信,因此在异构网络环境中非常有用,比如在将不同技术和协议的网络连接到一起时。
-
全球性的通信: 分组交换是构建互联网的基础,允许全球范围内的数据传输和通信,使得用户可以方便地进行跨越地域和国家的通信和信息交流。
-
动态路由选择: 在分组交换网络中,路由选择是动态的,根据网络的状况实时地选择最佳路径,因此能够更好地适应网络拓扑变化和流量变化。
综上所述,分组交换通过对数据进行分割和独立传输,提高了网络资源的利用率、数据传输的效率和网络的灵活性,是现代网络通信中常用的一种技术。
劣势:
虽然分组交换在许多方面具有优势,但也存在一些劣势:
-
不适合实时性要求高的应用: 在某些情况下,特别是对于实时性要求非常高的应用(如语音或视频通话),由于分组交换网络的特性,数据包在传输过程中可能会经历不同的路径和延迟,这可能导致不稳定的延迟,影响用户体验。
-
拥塞可能性: 当网络流量突然增加时,分组交换网络可能会面临拥塞的问题。如果网络中的某些部分无法处理大量的数据流,可能导致数据丢失或延迟增加。
-
安全性和隐私问题: 分组交换网络中的数据包可以被拦截和截取,这可能带来安全和隐私方面的风险。尤其是在公共网络(比如互联网)上,数据包的安全性需要特别关注。
-
数据包顺序问题: 分组交换网络中,数据包的到达顺序可能不确定,因为它们可能沿着不同路径传输。这可能需要在接收端进行重新排序或重组,增加了一些处理复杂性。
-
网络管理复杂性: 在大型的分组交换网络中,需要良好的网络管理和维护,以确保网络的稳定性和安全性。这可能需要高昂的成本和复杂的管理流程。
-
有限的QoS(服务质量)控制: 分组交换网络中的QoS控制相对有限,难以对不同类型的流量进行精确的管理和调整。
总的来说,尽管分组交换在许多方面带来了重大的进步和优势,但在特定的应用场景下,仍然可能存在一些挑战和限制,需要综合考虑网络需求和限制来选择合适的网络架构和技术。
与之很相近交换技术是分段技术,唯一的区别就是分段技术不需要在分组交换机上进行存储,接收到一个分组后,就进行转发
排队时延和分组丢失:
1、排队时延:一台分组交换机有多条链路进行相连,每条相连的链路具有一个输出缓存(也称之为输出队列)它是用于存储即将发出那条链路的分组,如果一个分组到到达了一条正在忙于其他分组的链路,将会进行缓存等待,因而产生了排队时延
2、分组丢失:因为分组交换机的缓存空间大小是有限的,所以在网络拥堵的情况下将会出现分组丢包的情况
转发表和路由选择协议:
转发表就不多说了,就是一张记录了目的地址的IP和转发的端口或者是下一跳的表
路由选择协议用于确定数据包在网络中传输时的路径选择,常见的路由选择协议有:
-
内部网关协议(Interior Gateway Protocols,IGP):
-
RIP(Routing Information Protocol): RIP是一种基于距离向量的IGP,使用跳数作为路由选择的度量标准。
-
OSPF(Open Shortest Path First): OSPF是一种链路状态路由协议,通过链路状态数据库(LSDB)计算最短路径。
-
IS-IS(Intermediate System to Intermediate System): IS-IS也是一种链路状态路由协议,常用于大型ISP网络。
-
-
外部网关协议(Exterior Gateway Protocols,EGP):
- BGP(Border Gateway Protocol): BGP是一种路径矢量协议,用于在不同的自治系统(AS)之间进行路由选择。
这些协议在不同的网络环境中使用,选择路由的方式和度量标准有所不同。IGP通常用于单个自治系统内部的路由选择,而EGP则用于不同自治系统之间的路由选择。选择合适的路由选择协议取决于网络规模、复杂性以及对路由控制和性能的需求。
之前也学过RIP协议后续对这一块进行补充
电路交换:
电路交换设计通信建立之前,通过建立一个物理路径(或称电路)来连接通信的两端
端到端的连接获得链路总传输容量的1/4
电路交换网络的复用:
频分复用:
链路的频谱由所有跨越链路创建的所有连接共享,在连接期间每条连接专用一个频段。这个频段的宽度叫做带宽
时分复用:
时间被划分成固定时间的帧,每个帧划分固定数量的时隙;
一条电路的传输速率等于帧速率乘以一个时隙中的比特数量。例如每秒传输8000个帧,每个时隙由8比特组成,则每条电路的传输速率为64kbps
考虑从主机A到主机 B经一个电路交换网络发送一个640000 比特的文件需要多长时间。假如在该网络中所有链路使用具有 24 时隙的 TDM,比特速率为 1.536Mbps。同时假定在主机A能够开始传输该文件之前,需要500ms 创建一条端到端电路。它需要多长时间才能发送该文件?每条链路具有的传输速率是 1.536Mbps/24 = 64kbps,因此传输该文件需要 (640kb)/(64kbps)=10s。这个10s
这里需要注意的是比特速率指的是整个通讯链路上的传输速率,通常表示为每秒传输的比特数
每条链路的传输速率是指每条链路上的传输速率,由于使用了 TDM(时间分割多路复用),24 个时隙共享了总比特速率,因此每条链路的传输速率为 1.536 Mbps / 24 = 64 kbps。 这里的“链路”指的是 TDM(时间分割多路复用)中的时间时隙
网络的网络:
网络的网络通常指的是一个拥有多个子网络或子网的大型网络,其中包含了多个较小的网络
前面我们讲过端系统通过一个接入ISP与因特网相连,ISP提供能有线接入和无线接入,接入的ISP自身必须要互联,通过创建网络的网络可以进行实现
网络结构1:用单一的全球ISP互联其他所有的ISP
1.4、分组交换网中的时延、丢包和吞入量
分组交换网中的时延概述
一个分组从源到目的地,经过节点(路由器和交换机)都会经受以下的几种时延
处理时延:检查分组的首部和决定将该组导向何处需要的时间,还有其他因素,比如检查比特级别的差错所需要的时间
排队时延:在导向的出口处,有分组进行传输或有分组进行排队,就需要等待
传输时延:从首个分组到最后一个分组从节点处传输出来所需要耗费的时间,传输时延=分组的长度/链路的传输速率
传播时延:值该分组从源到端中的链路上传播需要花费的时间,传播的速率取决于改链路的物理媒介,传播时延=两台路由器之间的距离/传播速率
排队时延和丢包
排队时延:
丢包:
端到端的时延
假设源主机与目的主机之间有N-1个路由器,我们假设该网络是无拥堵的(也就是当前的排队时延时微乎其微的),每台路由器的处理时延是d,传输时延时e,传播时延时p,那么端到端的时延=N(d+e+p)
计算机网络中的吞吐量
一台主机A与另一台主机B进行P2P的文件共享,在任何时间瞬间主机B接收到该文件速率就是瞬间吞吐量 ,可以理解成我们下载东西时的一个时间点的下载速率,而平均吞吐量指的是平均时间接收的比特数量
下面涉及到一个瓶颈链路的概念:
在网络传输过程中每段链路的传输速率是不一样的,最终的传输速率取决于其中最小的传输速率,也就是最终的用户吞吐量会取决于它
举个栗子
除了传输速率低的链路会成为瓶颈链路之外,还有一些所高流量传输的高速率链路也可能会成为瓶颈链路
1.5、协议层次及其服务模型
分层的体系结构
协议分层
各层的所有协议被称为协议栈,因特网的协议栈由5层组成:物理层、链路层、网络层、运输层、应用层
我们之前也学过一部分,知道一个下层的协议报文是通过上一层的协议报文封装而来的,而下层提供的上层的功能,就显示在下层报文的首部,所以这里我结合报文的头部来分析每一层的功能
(1)、应用层
应用层是网络应用程序及他们的应用协议存留的地方,包括有很多协议,例如:HTTP (提供了Web文档的请求和传输)、SMTP (它提供了电子邮件报文的传输)、FTP (它提供了两个端系统之间的文件传输)、DNS (用于将域名转换为与之对应的IP地址。DNS允许用户通过易记的域名访问互联网资源,而无需记住IP地址)、SSH (提供了对网络服务的安全访问,允许远程登录和执行命令,同时加密数据传输)、DHCP(用于自动分配IP地址、子网掩码、默认网关等网络配置信息给连接到网络上的设备)等等
一个端系统中的应用使用协议与另一个端系统中的应用程序交换信息分组,我们将这些信息分组称之为报文
这里我们举例HTTP协议的报文结构:
(2)、传输层
因特网的传输层是在应用程序端点之间传输应用层报文,有两种协议TCP和UDP
从上面可以看出TCP的都不明显比UDP的首部更为复杂,原因是TCP更加注重安全与可靠,而UDP根注重传输速度,但是不管以何种实现方式实现服务,对上层的基本服务是必须有的,也就是源端口、目的端口具体的报文分析在后面会进行讲解
我们把传输层的分组称之为报文段
(3)、网络层
网络层负责在不同计算机网络之间进行数据包 转发和路由选择,数据包的分组称之为数据报
常见协议包括:
-
IP(Internet Protocol):IP协议是因特网的基础协议,负责在全球范围内定位和路由数据包。IPv4是目前广泛使用的版本,而IPv6则是其升级版本,提供更大的地址空间和其他改进。
-
ICMP(Internet Control Message Protocol):ICMP用于在IP网络上发送错误消息和操作消息。它通常用于网络故障排除、网络诊断和报告错误。
-
ARP(Address Resolution Protocol):ARP协议用于将IP地址转换为MAC地址。当在局域网内发送数据时,需要知道目标IP地址对应的MAC地址,ARP协议就是用于解析这种映射关系的。
-
RARP(Reverse Address Resolution Protocol):RARP是ARP的反向形式,用于将MAC地址解析为IP地址。
-
IPsec(IP Security):IPsec是一组协议,用于提供网络层安全性,包括数据加密、认证和数据完整性验证。
-
OSPF(Open Shortest Path First):OSPF是一种用于路由选择的动态路由协议,可在IP网络中提供更有效的数据传输路径。
-
BGP(Border Gateway Protocol):BGP是一种主要用于互联网核心路由器之间交换路由信息的协议。
-
IGMP(Internet Group Management Protocol):IGMP用于IP多播通信中的组管理,允许主机加入或离开多播组。
这些协议在网络层中发挥不同的作用,有些是用于数据传输和路由选择,有些是用于网络安全、故障排除和通信管理。网络层的协议是构建互联网和其他计算机网络的基础。
(4)、链路层
链路层协议是计算机网络中的一种协议,负责定义在物理介质上如何传输数据帧(Frame)
数据链路层协议通常处理的内容包括:
-
帧的封装和解封装:将网络层的数据包封装成帧,以便在物理介质上传输,并在接收端解封装恢复成数据包。
-
介质访问控制(MAC):确定在共享介质(如以太网)上如何访问传输介质,以避免冲突和碰撞。
-
错误检测与纠正:检测和纠正传输过程中可能出现的错误,确保数据的可靠性。
-
流量控制:管理数据的流向和传输速率,以避免过载或丢失数据。
常见的链路层协议包括以太网(Ethernet)、无线局域网协议(Wi-Fi)、点对点协议(PPP)、高级数据链路控制协议(HDLC)、点对点隧道协议(PPTP、L2TP)等。每种协议有不同的特点和适用范围,例如以太网通常用于局域网,而PPP则常用于拨号连接或广域网中。
(5)、物理层
链路层是将整个帧从一个网络元素移动到临近的网络元素,而物理层的任务是将该帧中的一个个比特从一个节点移动到下一个节点
OSI模型
因特网协议栈并不是唯一的协议栈