计算机网络

计算机网络

《计算机网络:自顶向下方法》以及相关课程第一章的笔记

互联网组成

硬件构成来看,互联网是以主机(端系统)分组交换设备为节点,通信链路为边,层层连接形成的网络的网络

服务来看,互联网是由分布式应用为其提供通信服务的基础设施组成的

互联网连接方式

方式一:

依照节点的链路和类型可分为网络边缘网络核心接入网、物理媒体

网络边缘:主机以及主机之上的应用程序

网络核心:分组交换机的网状网络,传输数据实现主机间通信

接入网的模式包括数字用户线(Digital Subscriber Line, DSL)(拨号上网)、电缆因特网接入(cable Internet access)、光纤到户(Fiber To The Home, FTTH)、WiFi(无线局域网)和蜂窝网络(广域无线)等

物理媒体为发射器-接收器对间传播比特的介质,根据媒体是否为固体分为导引型媒体非导引型媒体

数据传输基本方法:电路交换(circuit switching) 和分组交换(packet switching)

方式二:

根据节点的关系划分ISP网络(Internet Service Providers),互联网由接入ISP、区域ISP、第一层ISP、ICP(Internet Content Providers)、PoP(Point of Presence)和IXP(Internet Exchange Point)组成。

端系统通过接入ISP与互联网相连,接入ISP上是区域ISP,再之上是全局/全球ISP,底层ISP可以同时连接多个更高层级的ISP(多宿),连接使用PoP,位于同一层级(对等)的ISP可以相互连接,IXP提供多个ISP的一起对等
ICP为Google, Microsoft等自构建的服务网络,目的是更好更便宜地与用户连接,其同时与各级ISP连接

互联网限制

受节点和物理媒体的能力以及物理规律的限制,在分组数据传输的过程中会发生时延和分组丢失(丢包),端系统每秒传输的数据量(吞吐量)也受到限制

时延

时延主要包括节点处理时延排队时延传输时延传播时延

排队延时收到流量强度的影响,流量强度 I=LaR,L 表示分组数据大小,a 表示每秒到达分组数,R 表示链路带宽(比特传输速度)

设计系统时流量强度不能大于1,而随着流量强度趋近于1,平均排队时延趋于无限大
由于分组到达节点间的间隔具有随机性,因此当流量强度等于1时也会因为链路传输能力浪费的累积而导致延迟持续增长至无限大

丢包

丢包源于实际情况下链路的队列缓冲区容量有限,不可能无限排队,因此当分组到达一个满队列节点时,该分组将会被丢弃,根据不同协议该分组可能会被前一个节点或源端系统重传,或根本不重传

吞吐量

吞吐量为源主机和目标主机之间传输的速率(数据量/单位时间)

互联网分层

在网络中,协议是一套用于格式化和处理数据的规则,网络协议就像计算机的一种共同语言,一个网络中的计算机可能会使用截然不同的软件和硬件,然而,协议的使用使它们能够相互通信

互联网将网络复杂的功能进行分层,每一层实现了其中一个或一组功能,在分层的基础上,互联网对协议以及实现协议的网络硬件和软件进行组织

每层通过服务访问原语(primitive)利用直接下层提供的服务实现本层协议,通过本层协议实体相互交互执行本层的协议动作实现本层的功能,功能中包含通过 SAP 向上层提供的服务

服务的类型:

层间数据传输:

分层的优劣:

数据在每一层加入该层首部信息封装(encapsulation)后传递给下一层,接收端收到后解封装取得信息,每一层传递的数据具有两种类型的字段:首部字段有效载荷字段(payload field),后者通常是来自上一层的数据

协议栈

各层的所有协议被称为协议栈(protocol stack) ,互联网协议栈通常可以分为五个层次:

TCP/IP 模型

TCP/IP 网络模型为四层模型,包括应用层,传输层,网络层和网络接口层

|600

OSI 模型

ISO 提出开放系统互连(OSI) 模型,包括应用层,表示层,会话层,传输层,网络层,数据链路层,物理层

  1. 物理层:负责将数据转换为比特流
  2. 数据链路层:负责保证比特流的顺序和出错检测,促进同一网络上两台设备之间的数据传输
    • 常见协议有 MAC、PPP、HDLC、以太网等
  3. 网络层:负责数据分组及路由选择,促进两个不同网络之间的数据传输
    • 常见协议有 IP、ARP、ICMP、OSPF、RIP 等
  4. 传输层:负责两个设备间的端到端通信,包括数据传输和流程控制
    • 常见协议有 TCP、UDP、SCTP 等
  5. 会话层:负责建立、管理和终止两个进程间的通信,还负责同步数据传输与检查点
    • 常见协议有 RPC、NetBIOS 等
  6. 表示层:用于确保数据可供应用程序使用,负责完成数据转换、加密和压缩
    • 常见协议有 JPEG、MPEG 等
  7. 应用层:负责协议和数据操作,软件应用程序依靠上述操作向用户呈现有效数据
    • 常见协议有 HTTP、FTP、SMTP、DNS 等
    • 客户端软件应用程序不属于应用程序层

两个模型的差异

|1050