1. 什么是因特网

1. 构成描述

网络(network):由若干结点和连接这些结点的链路组成

结点:计算设备,又称为主机(host)端系统(end system),如pc,手机,服务器等

链路:通信链路(communication link),分为有线链路和无线链路,如光纤、铜缆、无线电等

分组/包(packet):是网络中数据传输的基本单位

交换机(switch):将若干个计算机连成一个网络

路由器(router):将若干个小网络连成一个大网络(路由器实际上是交换机的一种)

路径(route/path):一个分组所经历的一系列通信链路和交换机

类比:将分组比作将载着货物的卡车,那么高速公路,国道和快速路就是不同传输性能的通信链路,发货地和收货地就是端系统,小型中转站就是交换机,大型中转站就是路由器

互连网(internet):由若干网络和连接这些结点网络的路由器组成,即网络的网络

因特网/互联网(Internet):世界范围的互连网

区别:互连网是一个通用名词,泛指一切网络互连形成的网络,而因特网是一个专有名词,特指遵循TCP/IP协议且覆盖全球的一个特殊互连网

IP地址:端系统必须拥有一个独立的IP地址才可以实现网络通信

因特网服务提供商(Internet Service Provider,ISP):端系统通过ISP获得IP地址的使用权并接入因特网,而每个ISP自身就是一个由多台交换机和多段通信链路组成的网络

协议(protocol):控制因特网中信息的接收和发送

因特网工程任务组(Internet Engineering Task Force,IETF):制定因特网协议和标准的组织

请求评论(Request For Comment,RFC):是IETF发布的标准文档,

类比:端系统的IP地址就是上述货物的寄货地址和收货地址,ISP就是顺丰、中通、圆通等快递公司,IETF就是政府,RFC就是政府发布的有关快递运输的白皮书,协议就是其中的规章制度

1.2 服务描述

分布式应用(distributed application):应用程序需要多个独立的端系统共同工作,通过网络实现通信和协作,从而实现某种目标或提供特定服务

例子:实时道路交通信息提醒、视频会议、多人游戏等

套接字接口(socket interface):规定了运行在一个端系统上的应用程序请求因特网向运行在另一个端系统上的应用程序交付数据的方式

类比:将数据比作信,信需要标注好姓名、地址、邮票和邮政编码等才能投入到信箱,这些就相当于套接字接口,因特网相当于邮局,实现信的传递

1.3 协议

报文(message):是网络中交换与传输的数据单元

协议的内容:定义了在两个或多个通信实体之间交换的报文的格式和顺序,以及报文发送和/或接受一条报文或其它事件所采取的动作

  1. 传输控制协议(Transmission Control Protocol,TCP):规定了在网络通信中如何确保数据传输的可靠性和顺序性
  2. 互联网协议(Internet Protocol,IP):规定了在互联网上如何寻址和路由数据包
  3. 超文本传输协议(Hypertext Transfer Protocol,HTTP):规定了在Web浏览器和Web服务器之间如何传输和交换超文本文档
  4. 简单邮件传输协议(Simple Mail Transfer Protocol,SMTP):规定了在网络上如何传输电子邮件

2. 网络边缘

2.1 端(end)

端系统:位于因特网的边缘,包括桌面计算机(PC,MAC、Linux设备),服务器(存储和发布Web页面或电子邮件),移动计算机(手机、平板)

源(source)是发送端;目的地(destination)是接收端

主机:容纳应用程序,分为客户机和服务器

区别处理器操作系统硬件标准
PC基于Intel或AMD的x86处理器Windows、LinuxIBM PC硬件标准
MAC基于ARM的M系列处理器macOS苹果自家设计的硬件标准

客户机(client):一般指的是桌面计算机,移动计算机等比较简单的机器

服务器(server):一般指的是专门用于提供服务或资源的计算机系统,通常具备更强大的硬件配置和特定的软件设置

2.2 接入网

接入网(access network):将端系统连接到边缘路由器的网络

边缘路由器(edge router):端系统到任何其它远程系统的路径上的第一台路由器

家庭接入

  • 数字用户线(Digital Subscriber Line,DSL):家庭通过本地电话线接入的本地电话公司处获得因特网接入

  • 电缆(cable):家庭通过本地电视线接入的本地电视公司处获得因特网接入

  • 光纤到户(Fiber To The Home,FTTH):直接将光纤连接到家庭

  • 无线宽带:数据以无线方式从供应商基站发送到家庭中的调制解调器

公司/学校接入

  • 以太网(Ethernet):是一种有线的局域网技术,使用物理连接将设备连接到局域网

  • 无线保真(Wireless Fidelity,WiFi):是一种无线的局域网技术,使用无线信号将设备连接到局域网

广域接入

  • 蜂窝网(Cellular Network):通过无线信号将移动设备连接到分布在全国各地的移动网络提供商的基站,从而接入因特网(3G,4G,5G)

  • 无线广域网(Wireless Wide Area Network,WWAN):使用卫星、WiFi或专用的长距离无线连接来提供广域的互联网接入服务

为什么叫蜂窝网?在数学计算中有这样两个结论:六边形是唯一能够使每个单元都紧密排列在一起,不留任何空隙,而且能够最大化每个单元面积的多边形;以相同半径的圆形覆盖平面,当圆心处于周围各六边形的正中心时,所用圆的数量最少。由于电磁波随着距离的增加而逐渐衰弱,为了让信号能够覆盖的范围足够广同时节约建设基站的成本,因此基站覆盖范围是呈六边形分布的,在每个六边形的中心设有一个基站,形成的网络覆盖在一起,形状酷似蜂窝,故被称作蜂窝网络。

传输媒介

类型媒介适用范围
双绞铜线两根绝缘铜线缠绕在一起局域网、电话线
同轴电缆内外导体、内外绝缘层局域网、电视线
光纤玻璃或塑料纤维长距离传输、互联网主干网、数据中心连接
陆地无线电信道无线电波蜂窝网、蓝牙、WiFi、广播电视
卫星无线电信道地球轨道卫星全球范围的通信、卫星电话、卫星电视、GPS

3. 网络核心

3.1 分组交换(packet switching)

报文与分组:端系统之间彼此交换报文,长报文被划分为较小的数据块,即分组

分组交换机:在源和目的地之间,每个分组都通过通信链路分组交换机传送,分组交换机都具有输出缓存

存储转发存储(store-end-forward transmission):交换机必须从输入链路接受到整个分组才能向输出链路传输该分组

转发时延(forwarding delay):需转发的分组的最后一比特进入交换机到该分组第一比特离开交换机的时间间隔

排队时延(queuing delay):若分组已经到达,但此时分组交换机正在传输另一个分组,则该分组需要在输出缓存中排队等待

丢包/分组丢失:输出缓存的大小是有限的,如果输出缓存已满,则已到达的分组或正在排队的分组会被丢弃

转发表(forwarding table):将目的地的IP地址映射为输出链路

路由选择协议:用于自动设置转发表,选择最佳路径来转发数据包

3.2 电路交换(circuit switching)

电路(circuit):通信的两端会建立一个专用的、固定的、稳定的物理路径,预留通信所需要的资源(带宽、缓存等)

频分复用(Frequency Division Multiplexing,FDM):将可用的频率带宽分割成若干个较窄的子频带,并将不同的信号分别分配到这些子频带上进行传输

时分复用(Time Division Multiplexing,TDM):将传输介质的时间分成若干个时隙,不同的信号依次占用这些时隙进行传输

优势:电路交换确保通信过程中能够保持稳定的传输性能,因此常用于电话等质量和实时性要求较高的环境

局限性:建立电路连接是复杂的,开销很大;在静默期会造成资源的浪费

3.3 网络的网络

互联网内容提供商(Internet Content Provider,ICP):互联网上发布和分发内容(网站、应用、游戏)的实体,如谷歌、阿里、百度等

互联网服务提供商(Internet Service Provider,ISP):向用户提供互联网连接和相关服务的公司或组织

  • 第一层ISP:全球性的骨干ISP,如AT&T WorldNet、IBM全球网、MCI、Netcom、UUNet、PSINet等

  • 区域ISP:覆盖特定地理区域的较大型ISP,如电信、移动、联通等

  • 本地/接入ISP:最终向用户提供互联网接入的较小型ISP

互联网交换中心(Internet Exchange Point,IXP):用于ISP间交换互联网流量的物理设施,减少了数据传输的成本和延迟,提高了数据传输的效率和稳定性

4. 分组交换网的传输分析

4.1 时延类型

节点时延d~nodal~ = d~proc~ + d~queue~ + d~trans~ + d~prop~

类型定义量级
处理时延processing分组在交换机进行处理所花费的时间,如查询分组首部、进行链路映射、检查比特级别差错微秒或更低
排队时延queuing分组在输出队列等待转发的时间毫秒到微秒
传输时延transmission分组发射到链路所需要的时间毫秒到微秒
传播时延propagation分组在物理介质中传播的时间取决于物理媒介

区分传输和传播:传输是分组从路由器推出,取决于分组大小和链路传输速率;传播是分组在介质中传播,取决于两端的距离和介质类型。相当于传输是车经过收费站的速度,而传播是车在高速的行驶速度

流量强度(traffic intensity):La/R,L是分组大小,a是到达速率,R是传输速率

排队时延:取决于流量强度,流量强度越接近1,排队时延越大

流量工程中的金科玉律:流量强度不能大于1,否则排队时延会接近无限大

丢包:到达的分组发现队列已满,则会被路由器丢弃(drop),造成分组丢失(lost)

节点的性质不只由时延来度量,还由丢包率来度量

4.2 端到端时延

端到端时延d~end-end~ = N × (d~proc~ + d~trans~ + d~prop~):N条链路,N-1台路由器,d~trans~ = L/R,L是分组大小,R是传输速率

假设网络无堵塞,则排队时延是微不足道的

4.3 吞吐量

瞬时吞吐量(instantaneous throughout):在当前时刻接收到文件的速率

平均吞吐量(average throughout):接收到 F 比特用了 T 秒,则平均吞吐量为F/T

瓶颈链路(bottleneck link):在计算机网络中传输速度最慢的那一部分链路,它限制了整个网络的性能
- 对于吞吐量为R1,R2,……,Rn的n链路网络,则吞吐量为min{R1,R2,……,Rn}
- 如果多个传输共享一条链路,则吞吐量会被平分R/n

5. 协议层次和服务模型

5.1 协议分层(layer)

协议栈(protocol stack):一组按栈层次组织的网络协议,每层负责不同的功能,从而确保数据在网络中的正确传输

分层(自顶向下)功能例子信息分组
应用层负责网络应用程序间的数据交换,提供了用户直接互动的接口HTTP(Web页面)、SMTP(电子邮件)和FTP(文件)报文(message)
运输层负责端到端的通信,确保数据完整可靠地传输TCP(可靠的,有连接的)和UDP(不可靠的,无连接的)报文段(segment)
网络层负责数据的路由和转发,确定数据从源到目的地的路径网际协议IP数据报(datagram)
链路层负责数据在网络间节点间的传输以太网、WiFi、PPP和DOCSIS帧(frame)
物理层负责数据在实际物理媒介的传播双绞铜线、同轴电缆比特流(bit stream)

5.2 封装(encapsulation)

封装:在每一层协议中,将上一层的数据加上自己的控制信息进行封装,形成新的数据单元

  • 首部(header):控制信息,提供了必要的元数据

  • 有效载荷(payload):实际要传输的数据内容,承载了来自上一层的数据

5.3 网络攻击

  1. 恶意软件(malware):通过网络传播的有害程序
  • 病毒(virus):附着在合法程序或文件上进行破坏
  • 蠕虫(worm):利用网络漏洞来自我复制并自动扩散
  • 木马(Trojan Horse):伪装成合法软件来欺骗用户安装
  • 间谍软件(spyware):秘密监控用户活动,收集敏感信息
  • 僵尸网络(botnet):由大量被感染的计算机组成的网络,这些计算机被攻击者控制并用来执行各种恶意活动,如发起分布式拒绝服务攻击(DDoS)、发送垃圾邮件或盗取信息
  • 自我复制(self-replicating):恶意软件通常能够自动创建其自身的副本,并传播到其他系统或网络中,从而能够指数式的快速扩散
  1. 拒绝服务攻击(Deniel-of-Service,DoS):让互联网设施和服务不能被合法用户使用
  • 弱点攻击:利用计算机系统或软件中的漏洞和缺陷进行攻击
  • 宽带洪泛:发送大量分组占用目标网络的带宽,导致网络拥堵或服务中断
  • 连接洪泛:创建大量半开或全开的网络连接请求,耗尽服务器资源,导致正常的连接请求无法得到处理
  1. 分组嗅探(Packet Sniffing):监控和捕获网络上传输的数据包,常用于网络分析,但也可以用于窃取数据

  2. IP哄骗(IP Spoofing):伪造源IP地址,使其看起来像是来自合法的来源,从而绕过安全措施进行恶意操作