概述
计算机网络(Computer networking)是一个将众多分散的、自治的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。
基本概念

计算机网络(简称网络):由若干结点(node)和连接这些结点的链路(link)组成。
- 结点:计算机、集线器(Hub)、交换机(Switch)、路由器(Router)等
- 链路:有线链路(网线)、无线链路(WIFI)

集线器、交换机用于连接同一网络内的不同结点;路由器用于连接不同的网络
普通民用领域已很少用集线器(集线器连接的结点存在冲突问题),家庭、公司、学校通常用交换机组建内部网络
路由器可以把两个或多个计算机网络互相连接起来,形成规模更大的计算机网络,也可称为“互连网”,路由器工作在网络层,可使用任意协议通信。
家用路由器 = 路由器+交换机+其他功能
互联网(因特网, Internet)由各大ISP(Internet Service Provider,即互联网服务提供商,如中国电信/移动/联通)和国际机构组建的,覆盖全球范围的互连网(internet),把全球范围的计算机网络连接起来,必须使用TCP/IP协议通信。

互联网是开放的,只要按时交网费,就可接入。但接入的路由器通常不会直连运营商路由器,中间会经过更复杂的链路连接。
组成

从组成部分看
一个完整的计算机网络主要由硬件、软件、协议三大部分组成:
- 硬件:主要由主机(也称端系统)、通信链路(如双绞线、光纤)、交换设备(如路由器、交换机)和通信处理机(如网卡)等组成
- 软件:主要包括各种实现资源共享的软件和方便用户使用的各种工具软件
- 协议:计算机网络的核心,协议规定了网络传输数据时所遵循的规范

从工作方式看
计算机网络可分为边缘部分和核心部分:
- 边缘部分:由所有直接连接到因特网上、供用户直接使用的主机组成,用来进行通信和资源共享
- 核心部分:由大量的网络和连接这些网络的路由器组成,它为边缘部分提供连通性和交换服务

从逻辑功能看
从功能组成上看,计算机网络由通信子网和资源子网组成:
- 通信子网:由各种传输介质、通信设备和相应的网络协议组成,它使网络具有数据传输、交换、控制和存储的能力,实现联网计算机之间的数据通信。
- 资源子网:实现资源共享功能的设备及其软件的集合,向网络用户提供共享其他计算机上的硬件资源、软件资源和数据资源的服务。

功能

计算机网络主要有以下五大功能:
- 数据通信:计算机网络最基本和最重要的功能,用来实现联网计算机之间各种信息的传输,并将分散在不同地理位置的计算机联系起来,进行统一的调配、控制和管理
- 资源共享:可以是软件共享、数据共享,也可以是硬件共享。它使计算机网络中的资源互通有无、分工协作,从而极大地提高硬件资源、软件资源和数据资源的利用率
- 分布式处理:当计算机网络中的某个计算机系统负荷过重时,可以将其处理的某个复杂任务分配给网络中的其他计算机系统,从而利用空闲计算机资源以提高整个系统的利用率。
- 提高可靠性:计算机网络中的各台计算机可以通过网络互为替代机
- 负载均衡:将工作任务均衡地分配给计算机网络中的各台计算机。
分类

按分布范围
- 广域网(WAN):也称远程网,因特网核心部分,提供长距离通信,运送主机所发送的数据,覆盖范围直径通常为几十千米到几千千米,(省、国、洲),交换
- 城域网(MAN):因大多数采用以太网技术,常并入局域网范畴考虑,覆盖范围通常为几千米到几十千米(街区、城市)
- 局域网(LAN):以太网技术,局域网一般用微机或工作站通过高速链路相连,在计算机配置的数量上没有太多限制,覆盖范围直径通常为几十米到几千米(学校、企业、家庭),广播
- 个人局域网(PAN、WPAN):在个人工作的地方将消费电子设备(平板、智能手机等)用无线技术连接起来的网络,覆盖范围直径通常为几米(家庭、个人)

注:如今的局域网几乎都是采用“以太网技术”实现,因此“以太网”几乎成了“局域网”的代名词。
交换机可以用于连接局域网内的各个节点,使用的交换机是以太网交换机。(普遍使用的交换机也多指以太网交换机)
局域网通过路由器接入广域网,路由器背面wan口用于与广域网相连,LAN口用于连接局域网内部的设备
个域网PAN的典型样例有小米的智能家居系统,网关 + 智能家居组成个域网
按传输技术
- 点对点网络:数据只会从发送方点对点发到接收方,精准送达,如路由器转发的数据分组、一对一私信
- 广播式网络:当一台计算机发送数据分组时,广播范围内所有计算机都会收到该分组,并通过检查分组的目的地址决定是否接收该分组,如所有无线网络都是广播式、@某人的群消息
按拓扑结构
-
总线形结构:数据广播式传输,存在总线争用问题
- 典型代表:集线器连接的设备(物理上星型拓扑,逻辑上总线型拓扑)
-
环形结构:数据广播式传输;通过令牌解决总线争用问题,令牌顺环形依次传递,拿到令牌者可使用总线
- 典型代表:令牌环网(流行于2000年以前的局域网技术),在以太网技术采用集线器时较为流行,在以太网技术采用交换机后,逐渐退出历史舞台
-
星形结构:由中央设备实现数据的点对点传输;不存在总线争用问题
- 典型代表:以太网交换机连接的设备
-
网状结构:数据通过各中间节点逐一存储转发,属于点到点传输
- 典型代表:由众多路由器构建的广域网

除网状结构外,其他三种拓扑结构常见于局域网
按使用者
- 公用网:向公众开放的网络。如:办宽带、交手机话费即可使用的互联网
- 专用网:仅供某个组织内部使用的网络。如:政府、军队、电力、银行的内部网络
按交换技术
交换技术是指各台主机之间、各通信设备之间或主机与通信设备之间为交换信息所采用的数据格式和交换装置的方式,按交换技术可以分为以下几类:
- 电路交换网络:在源结点和目的结点之间建立一条专门的通路用于传送数据,包括建立连接、数据传输、断开连接三个阶段
- 报文交换网络:用户数据加上源地址、目的地址、校验码等辅助信息,然后封装成报文。整个报文传送到相邻结点,全部存储后,查找转发表,再转发给下一结点,重复这一过程直到到达目的结点
- 分组交换网络:将数据分成较短的固定长度的数据块,在每个数据块中加上源地址、目的地址等辅助信息组成分组(包),以存储转发方式传输
按传输介质
- 有线网络:网线、光纤
- 无线网络:5G、WiFi、卫星
蓝牙和zigbee技术都是无线通信技术,相对于WiFi而言会更加省电
性能指标


考研重点,常考:时延、速率、带宽
速率
速率,是指连接到计算机网络上的主机在数字信道上传送数据的速率,也称数据传输速率、数据率、比特率。单位比特 / 秒(b/s)、bit/s、bps

信道(Channel):表示向某一方向传送信息的通道(信道≠通信线路)一条通信线路在逻辑上往往对应一条发送信道和一条接收信道
带宽
带宽,表示网络的通信线路所能传送数据的能力,是数字信道所能传送的最高数据传输速率

吞吐量
吞吐量,指单位时间内通过某个网络(或信道、接口)的数据量,受带宽限制、受复杂的网络负载情况影响

家庭内网络的吞吐量等于所有设备的吞吐量之和
时延
时延,也称延迟或迟延,指数据(一个报文或分组)从网络(或链路)的一端传送到另一端所需要的总时间,总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延

流程:

时延带宽积
时延带宽积,是指发送端发送的第一个比特即将到达终点时,发送端已经发出的比特的数量,也称为以比特为单位的链路长度

往返时延 RTT
RTT,指从发送端发出一个短分组到发送端收到来自接收端的确认,总共经历的时延

信道利用率
信道利用率,指某一个信道有百分之多少的时间是有数据通过的

网络利用率等于网络中所有的信道利用率加权平均
体系结构
计算机网络体系结构,简称网络体系结构,是分层结构,是计算机网络中的层次、各层的协议及层间接口的集合,它从功能上描述计算机网络结构,是计算机网络及其所应完成的功能的精确定义。
体系结构是抽象的,而实现是具体的,是真正在运行的计算机硬件和软件
分层结构
两个系统中实体间的通信是一个很复杂的过程,为了降低协议设计和调试过程的复杂性,也为了便于对网络进行研究、实现和维护,促进标准化工作,通常对计算机网络的体系结构以分层的方式进行建模。

分层的基本原则:
- 各层之间相互独立,每层只实现一种相对独立的功能
- 每层之间界面自然清晰,易于理解,相互交流尽可能少
- 结构上可分割开。每层都采用最合适的技术来实现
- 保持下层对上层的独立性,上层单向使用下层提供的服务
- 整个分层结构应该能促进标准化工作
各层之间高内聚,低耦合
注意:
- 分层时,应考虑层次的清晰程度与运行效率间的折中、层次数量的折中
- 层次越多,有些功能在不同层中难免重复出现,产生额外的开销,导致整体运行效率越低
- 层次越少,每层的协议越复杂
- 第 n 层的实体不仅要使用第n-1层的服务来实现自身定义的功能,还需要向第n+1层提供本层的服务,该服务是第n层及其下面各层提供的服务总和
- 仅仅在相邻层间有接口,且所提供服务的具体实现细节对上一层完全屏蔽
- 两台主机通信时,对等层在逻辑上有一条直接信道,表现为不经过下层就把信息传送到对方
专用术语
实体、协议、服务来自OSI参考模型,适用于TCP/IP参考模型、原理参考模型
实体
实体是指任何可发送或接收信息的硬件或软件进程,第n层中的活动元素称为n层实体。对等实体是指通信双方相同层次中的实体。

网卡是可以发送或接收信息的硬件,它包括物理层和数据链路层,因此通信双方的网卡互为对等实体
数据单位
每一层都有自己传送的数据单位PDU,其名称、大小、含义也各不相同,PDU = PCI + SDU
- PDU协议数据单元:对等层次之间传送的数据单位
- SDU服务数据单元:为完成用户所要求的功能而应传送的数据,同一系统内层与层之间交换的数据包
- PCI协议控制信息:控制协议操作的信息
协议
协议是指为进行网络中的数据交换而建立的规则、标准或约定,明确规定了所交换的数据的格式及有关的同步问题,控制两个(或多个)对等实体之间的通信。【水平】
协议由以下三部分组成:
- 语法:规定传输数据的格式
- 语义:规定所要完成的功能
- 同步:规定各种操作的顺序

在协议的控制下,两个对等实体在水平方向的逻辑通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。实体看得见下层提供的服务,但并不知道实现该服务的具体协议,即下层的协议对上层的实体是透明的。
接口
接口是同一结点内相邻两层间交换信息的连接点,是一个系统内部的规定。
每层只能为紧邻的层次之间定义接口,不能跨层定义接口
同一结点相邻两层的实体通过服务访问点SAP(逻辑接口)进行交互
在同一系统中相邻两层的实体交换信息的逻辑接口称为服务访问点SAP,它是上层使用下层服务的入口,被用于区分不同的服务类型。
帧的“类型”字段、IP数据报的“协议”字段, TCP报文段或UDP用户数据报的“端口号”字段都是SAP
服务
服务是指下层为相邻上层提供的功能调用。【垂直】

上层要使用下层所提供的服务时,必须与下层交换一些命令,这些命令在OSI参考模型中称为服务原语,被划分为以下四类
- 请求:由服务用户发往服务提供者,请求完成某项工作
- 指示:由服务提供者发往服务用户,指示用户做某件事情
- 响应:由服务用户发往服务提供者,作为对指示的响应
- 证实:由服务提供者发往服务用户,作为对请求的证实
服务按照是否建立连接、是否提供可靠服务、是否应答可分为以下几类:
- 面向连接服务:通信前双方必须先建立连接,分配相应的资源(如缓冲区),以保证通信能正常进行,传输结束后释放连接和、所占用的资源
- 无连接服务:通信前双方不需要先建立连接,需要发送数据时可直接发送,把每个带有目的地址的包(报文分组)传送到线路上,由系统选定路线进行传输
- 可靠服务:网络具有纠错、检错、应答机制,能保证数据正确、可靠地传送到目的地
- 不可靠服务:网络只是尽量正确、可靠地传送,而不能保证数据正确、可靠地传送到目的地,是一种尽力而为的服务
- 有应答服务:接收方在接收到数据后向发送方给出相应的应答,该应答由传输系统内部自动实现,而不由用户实现
- 无应答服务:接收方收到数据后不自动给出应答。若需要应答,则由高层是实现
参考模型
目的:支持异构网络系统的互联互通。

OSI 参考模型
国际标准化组织(ISO)于1984年提出开放系统互连(OSI)参考模型

每个协议都会规定该层次具体的一种或几种功能,只要知道协议和功能之间的关系即可
理论成功,市场失败,OSI标准失败的原因
- 专家没有实际经验,完成标准时没有商业驱动力
- 协议实现过分复杂,运行效率很低
- 标准的制定周期太长,产品无法及时进入市场
- 层次划分不太合理,有些功能在多个层次中重复出现
应用层
用户与网络的界面,所有能和用户交互产生网络流量的程序
主要协议:文件传输(FTP)、电子邮件(SMTP)、万维网(HTTP)
表示层
用于处理在两个通信系统中交换信息的表示方式(语法和语义)
功能:
- 数据格式变换
- 数据加密解密
- 数据压缩和恢复
主要协议:JPEG、ASCII
会话层
会话层允许不同主机上的各个进程之间进行会话,利用传输层提供的端到端的服务,向表示层提供它的增值服务,这种服务主要表示为表示层实体或用户进程建立连接并在连接上有序地传输数据,即会话,也称建立同步(SYN),适用于传输大文件。
功能:
- 建立、管理、终止会话
- 使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步。
主要协议: ADSP、ASP
传输层
负责主机中两个进程之间的通信,为端到端连接提供可靠的传输服务、流量控制、差错控制、服务质量、数据传输管理等服务,具备复用和分用功能
复用:多个应用层进程可同时使用下面运输层的服务。
分用:运输层把收到的信息分别交付给上面应用层中相应的进程。
主要协议:TCP、UDP
传输层是自下而上第一个面向端到端的层次,上面四层是端到端通信,下面三层是点到点通信
网络层
关注通信子网的运行控制,把网络层的协议数据单元(分组)从源端传到目的端,为分组交换网上的不同主机提供通信服务(对分组进行路由选择,并实现流量控制、拥塞控制、差错控制和国际互连等功能)
若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施,缓解这种拥塞。
主要协议:IP、IPX、ICMP、 IGMP、ARP、RARP、OSPF
数据链路层
主要任务是把网络层传下来的数据报组装成帧。数据链路层/链路层的传输单位是帧。
功能:
- 成帧:定义帧的开始和结束
- 差错控制:帧错+位错
- 流量控制:协调发送方的发送速率和接收方的接收速率,避免因速率不匹配导致的包丢弃,从而提高传输线路效率
- 访问(接入):控制对信道的访问
主要协议:SDLC、HDLC、PPP、STP
介质访问子层控制对共享信道的访问
物理层
在物理媒体上为数据端设备透明地传输原始比特流,主要定义数据终端设备(DTE)和数据通信设备(DCE)的物理与逻辑连接方法。物理层传输单位是比特。
透明传输:指不管所传数据是什么样的比特组合,都应当能够在链路上传送。
功能:
- 定义接口特性
- 定义传输模式(单工、半双工、双工)
- 定义传输速率
- 比特同步
- 比特编码
主要协议: Rj45、802.3、EIA-232C、EIA/TIA RS-449、CCITT的X.21
联系:
物理层、数据链路层和网络层,它们共同解决了将主机通过异构网络互联起来所面临的问题,实现了主机到主机的通信。而为运行在不同主机上的应用进程提供直接的逻辑通信服务,就是运输层的主要任务。

报文转换:

TCP/IP 参考模型

OSI参考模型与TCP/IP参考模型相同点:
- 都分层
- 基于独立的协议栈的概念
- 可以实现异构网络互联
OSI参考模型与TCP/IP参考模型不同点:
- 0SI定义三点:服务、协议、接口
- OSI先出现,参考模型先于协议发明,不偏向特定协议
- TCP/IP设计之初就考虑到异构网互联问题,将IP作为重要层次
- 0SI参考模型网络层是提供无连接以及面向连接两种服务,而TCP/IP模型只提供了无连接服务。而对于传输层,OSI参考模型仅提供了面向连接的服务,而TCP/IP模型提供了无连接和面向连接两种服务。

面向连接分为三个阶段,第一阶段建立连接,在此阶段,发出一个建立连接的请求。只有在连接成功建立之后,才能开始数据传输,这是第二阶段。接着是第三阶段,当数据传输完毕,必须释放连接。而面向无连接没有这么多阶段,它直接进行数据传输。
流程:

协议栈:

原理参考模型

报文转换:

过程:
主机属于网络N1,Web服务器属于网络N2,N1和N2通过路由器互连。用户在主机中使用浏览器访问Web服务器,当用户在浏览器地址栏中输入Web服务器的域名后,主机会向Web服务器发送一个请求报文,Web服务器收到请求报文后,执行相应的操作,然后给主机发送响应报文。主机收到响应报文后,由浏览器负责解析和渲染展示。主机和Web服务器之间基于网络的通信,实际上是主机中的浏览器与应用进程与Web服务器中的Web服务器应用进程之间基于网络的通信。

从五层原理体系结构的角度看
- 主机中的应用层根据HTTP协议的规定,构建一个HTTP请求报文,用来请求Web服务器执行相应操作。应用层将构建好的HTTP请求报文向下交付给运输层。
- 运输层给HTTP请求报文添加一个TCP首部,将其封装成为TCP报文段,TCP首部的主要作用是区分应用进程和实现可靠传输,运输层将封装好的TCP报文段向下交付给网络层。
- 网络层给TCP报文段添加一个IP首部,将其封装成为IP数据报,IP首部的主要作用是IP寻址和路由。网络层将封装好的IP数据报向下交付给数据链路层。
- 数据链路层给IP数据报添加一个首部和一个尾部,将其封装成为帧,帧首部和尾部的作用是MAC寻址和帧校验,数据链路层将封装好的帧向下交付给物理层。
- 物理层并不认识帧的结构,仅仅将其看做比特流,以便将比特流转换成相应的电信号进行发送。对于以太网,物理层还会在比特流前添加前导码,目的是使接收方的时钟同步并做好接收准备。
- 路由器收到后,其物理层将电信号转换成比特流。物理层将前导码去掉后,将帧向上交付给数据链路层。
- 数据链路层将帧首部和尾部去掉后,将IP数据报向上交付给网络层。
- 网络层从IP数据报的首部中提取出目的IP地址,根据目的IP地址查找自己的转发表,以便决定从哪个接口转发该IP数据报。与此同时,还要对首部中的某些字段值,例如生存时间TTL字段的值进行相应的修改。然后将该IP数据报向下交付给数据链路层。
- 数据链路层为IP数据报添加一个首部和尾部将其封装成为帧,然后将帧向下交付给物理层。
- 物理层将帧看做是比特流,给其添加前导码后,转变成相应的电信号发送出去。
- Web服务器收到数据包后,按网络体系结构自下而上的顺序对其进行逐层解封,解封出HTTP请求报文。Web服务器的应用层收到HTTP请求报文后,执行相应的操作,然后给主机发送包含有浏览器请求内容的HTTP响应报文。
- 与浏览器发送HTTP请求报文的过程类似,HTTP响应报文需要在Web服务器层层封装后才能发送。数据包经过路由器的转发到达主机,主机对收到的数据包按照网络体系结构自下而上的顺序逐层解封,解封出HTTP响应报文。
附:思维导图

1586

被折叠的 条评论
为什么被折叠?



