计算机网络学习笔记——计算机网络和因特网

第一章 计算机网络和因特网

1.1 什么是因特网

  • 构成因特网的基本硬件和软件组件
  • 为分布式应用提供服务的联网基础设施

1.1.1具体构成描述

因特网中的计算设备称为主机(host)端系统(end system)
端系统通过通信链路(communication link)分组交换机(packet switch) 连接到一起。
链路的传输速率(transmission rate) 以比特/秒(bit/s,或bps)度量。
当一台端系统要向另一台端系统发送数据时,发送端系统将数据分段,并为每段加上首部字节。由此形成的信息包用计算机网络的术语来说称为分组(packet)
分组交换机从它的一条入通信链路接收到达的分组,并从它的一条出通信链路转发该分组,两种最著 名的类型是路由器(router)链路层交换机(link-layer switch)。这两种类型的交换机朝着最终目的地转发分组。链路层交换机通常用于接入网中,而路由器通常用于网络核心中。
从发送端系统到接收端系统,一个分组所经历的一系列通信链路和分组交换机称为通过该网络的路径(mute或path)
用于传送分组的分组交换网络在许多方面类似于承载运输车辆的运输网络,分组 类似于卡车,通信链路类似于高速公路和公路,分组交换机类似于交叉口,而端系统类似 于建筑物。
端系统通过因特网服务提供商(Internet Service Provider, ISP) 接入因特网,因特网就是将端系统彼此互联,因此为端系统提供接入的ISP也必须互联。较低层的ISP通过国家的、国际的较高层ISP互联起来。较高层ISP是由通过高速光纤链路互联的高速路由器组成的。无论是较高层还是较低层ISP网络,它们每个都是独立管理的,运行着IP协 议,遵从一定的命名和地址规则。
端系统、分组交换机和其他因特网部件都要运行一系列协议(protocol) ,这些协议控制因特网中信息的接收和发送。TCP(Transmission Control Protocol,传输控制协议)IP(Internet Protocol,网际协议) 是因特网中两个最为重要的协议。IP协议定义了在路由器和端系统之间发送和接收的分组格式。因特网的主要协议统称为TCP/IP
因特网标准(Internet standard) 由因特网工程任务组(Internet Engineering Task Force, IETF ) [ IETF2016]研发。IETF的标准文档称为请求评论(Request For Comment, RFC)。定义了 TCP、IP、HTTP (用于Web)和SMTP (用于电子邮件)等协议。目前已经有将近7000个RFC。
因特网的一些部件

1.1.2 服务描述

从为应用程序提供服务的基础设施的角度来描述因特网:
分布式应用程序(distributed applicalion): 涉及多个相互交换数据的端系统的应用程序。
与因特网相连的端系统提供了一个套接字接口( socket interface),该接口规定了运行在一个端系统上的程序请求因特网基础设施向运行在另一个端系统上的特定目的地程序交付数据的方式。

1.1.3 什么是协议

在因特网中,涉及两个或多个远程通信实体的所有活动都受协议的制约。
人类协议和计算机网络协议

协议(protocol) 定义了在两个或多个通信实体之间交换的报文的格式和顺序,以及报文发送和/或接收一条报文或其他事件所采取的动作。

掌握计算机网络领域知识的过程就是理解网络协议的构成、原理和工作方式
的过程。

1.2 网络边缘

通常把与因特网相连的计算机和其他设备称为端系统,因为它们位于因特网的边缘。因特网的端系统包括了桌面计算机、服务器和移动计算机等等。

端系统也称为主机(host),因为它们容纳(即运行)应用程序。

主机有时又被进一步划分为两类:客户(client)服务器(server)

1.2.1 接入网

接入网是指将端系统物理连接到其边缘路由器(edge router ) 的网络。

边缘路由器是端系统到任何其他远程端系统的路径上的第一台路由器。

1.家庭接入 DSL、电缆、FTTH、拨号和卫星

DSL因特网接入
一个混合光纤同轴接入网
在这里插入图片描述

2.企业(和家庭)接入 以太网和WiFi

以太网因特网接入
一个典型的家庭网络的示意图

3. 广域无线接入:3G和LTE

电信公司已经在所谓第三代(3G)无线技术中进行了大量投资,3G为分组交换广域无线因特网接入提供了超过1Mbps的速率。甚至更高速率的广域接入技术即第四代(4G)广域无线网络也已经被部署了。LTE (Long-Term Evolution)来源于3G技术,它能够取得超过10Mbps的速率。

1.2.2 物理媒体

对于每个发射器-接收器对, 通过跨越一种物理媒体 (physical medium) 传播电磁波或光脉冲来发送该比特。

物理媒体分成两种类型:

导引型媒体(guided media) : 对于导引型媒体, 电波沿着固体媒体前行,如光缆、双绞铜线或 同轴电缆。

非导引型媒体 (unguided media) : 对于非导引型媒体,电波在空气或外层空间中传播,例如在无线局域网或数字卫星频道中。

常见物理链路:

  1. 双绞铜线
    最便宜并且最常用的导引型传输媒体。
  2. 同轴电缆
    由两个铜导体组成,但是这两个导体是同心的而不是并行的。
  3. 光纤
    细而柔软的、能够导引光脉冲的媒体,每个脉冲表示一个比特。
  4. 陆地无线电信道
    无线电信道承载电磁频谱中的信号。
  5. 卫星无线电信道
    一颗通信卫星连接地球上的两个或多个微波发射器/接收器,它们被称为地面站。该卫星在一个频段上接收传输,使用一个转发器(下面讨论)再生信号,并在另一个频率上发射信号。

1.3 网络核心

网络核心
由互联因特网端系统的分组交换机和链路构成的网状网络。

1.3.1 分组交换

端系统彼此交换报文(message)

为了从源端系统向目的端系统发送一个报文,源将长报文划分为较小的数据块,称之为分组 (packet)

在源和目的地之间,每个分组都通过通信链路和分组交换机(packet switch ) 传送。(交换机主要有两类 路由器(router)链路层交换机(link-layer switch)。)

如果某源端系统或分组交换 机经过一条链路发送一个L比特的分组,链路的传输速率为R比特/秒,则传输该分组的时间为L/R秒。

1. 存储转发传输

存储转发传输是指在交换机能够开始向输岀链路传输该分组的第一个比特之前,必须接收到整个分组。

通过由N条速率均为R的链路组成的路径(在源和目的地之间有N-1台路由器),从源到目的地发送一个分组。应用如上相同的逻辑,我们看到端到端时延是:在这里插入图片描述

2. 排队时延和分组丢失

每台分组交换机有多条链路与之相连。对于每条相连的链路,该分组交换机具有一个输出缓存output buffer,也称为输出队列output queue)),它用于存储路由器准备发往那条链路的分组。

如果到达的分组需要传输到某条链路,但发现该链路正忙于传输其他分组,该到达分组必须在输出缓存中等待。因 此,除了存储转发时延以外,分组还要承受输岀缓存的排队时延(queuing delay)。这些时延取决于网络的拥塞程度。

因为缓存空间的大小是有限的,一个到达的分组可能发现该缓存已被其他等待传输的分组完全充满了。在此情况下,将出现分组丢失(丢包)(packet loss),到达的分组或已经排队的分组之一将被丢弃。

3. 转发表和路由选择协议

在因特网中,每个端系统具有一个称为IP地址的地址。当源主机要向目的端系统发 送一个分组时,源在该分组的首部包含了目的地的IP地址。

如同邮政地址那样,该地址具有一种等级结构。当一个分组到达网络中的路由器时,路由器检查该分组的目的地址的 一部分,并向一台相邻路由器转发该分组。

每台路由器具有一个转发表(forwarding table),用于将目的地址(或目的地址的一部分)映射成为输岀链路。当某分组到达一台路由器时,路由器检查该地址,并用这个目的地址搜索其转发表,以发现适当 的出链路。路由器则将分组导向该出链路。

1.3.2 电路交换

circuit switching
在电路交换网络中,在端系统间通信会话期间,预留了端系统间沿路径通信所需要的资源(缓存,链路传输速率)。

1. 电路交换网络中的复用

频分复用 (Frequency- Division Multiplexing, FDM ):
链路的频谱由跨越链路创建的所有连接共享,在连接期间链路为每条连接专用一个频段,该频段的宽度称为带宽(band-width)

时分复用 Time-Division Multiplexing, TDM):
对于一条TDM链路,时间被划分为固定期间的帧,并且每个帧又被划分为固定数量的时隙。当网络跨越一条链路创建一条连接时,网络在每个帧中为该连接指定一个时隙。 这些时隙专门由该连接单独使用,一个时隙(在每个帧内)可用于传输该连接的数据。

FDM,TDM

2. 分组交换与电路交换的对比

分组交换的优势:
①它提供了比电路交换更好的带宽共享;
②它比电路交换更简单、更有效,实现成本更低。

电路交换不考虑需求,而预先分配了传输链路的使用,这使得已分配而并不需要的链路时间未被利用。
分组交换按需分配链路使用。链路传输能力将在所有需要在链路上传输分组的用户 之间逐分组地被共享。

趋势是朝着分组交换方向发展。

1.3.3 网络的网络

今天的因特网是一个网络的网络,其结构复杂,由十多个第一层 ISP 和数十万个较低层 ISP 组成。
ISP的互联

1.4 分组交换网中的时延、丢包和吞吐量

1.4.1 分组交换网中的时延概述

分组在节点经受的时延主要包括:

  1. 节点处理时延(nodal processing delay)
    检查分组首部和决定将该分组导向何处等所需要的处理时间。

  2. 排队时延(queuing delay)
    在队列中,当分组在链路上等待传输的时间。

  3. 传输时延(transmission delay)
    分组以先到先服务方式传输,仅当所有已经 到达的分组被传输后,才能传输刚到达的分组。传输时延是 L/R。这是将所有分组的比特推向链路(即传输,或者说发射)所需要的时间。

  4. 传播时延(propagation delay)
    一旦一个比特被推向链路,该比特需要向路由器B传播。从该链路的起点到路由器B 传播所需要的时间是传播时延。

传输时延和传播时延的比较:
传输时延是路由器推出分组所需要的时间,它是分组长度和链路传输速率的函 数,而与两台路由器之间的距离无关。 传播时延是一个比特从一台路由器传播到另一台路由器所需要的时间,它是两台路由器之间距离的函数,而与分组长度或链路传输速率无关。

节点的总时延:
d n o d a l = d p r o c + d q u e u e + d t r a n s + d p r o p d_{nodal} = d_{proc} +d_{queue} +d_{trans} +d_{prop} dnodal=dproc+dqueue+dtrans+dprop

1.4.2 排队时延和丢包

流量强度(traffic intensity)
令 a 表示分组到达队列的平均速率(pkt/s),R 是传输速率,即从队列中推出比特的速率(bps),所有分组都由 L 比特组成。假定该队列非常大,因此它基本能容纳无限数量的比特。

比率 La/R 称为流量强度(traffic intensity)。

流量强度不能大于1,否则队列趋向于无限增加,并且排队时延将趋向无穷大。

平均排队时延与流量强度的关系

丢包
现实中,一条链路前的 队列只有有限的容量,随着流量强度接近1,到达的分组将发现一个满的队列。由于没有地方存储这个分组,路由器将丢弃(drop)该分组,即该分组将会丢失(lost) 。分组丢失的比例随着流量强度增加而增加。

一个节点的性 能常常不仅根据时延来度量,而且根据丢包的概率来度量。

1.4.3 端到端时延

假定在源主机和目的主机之间有 N-1台路由器。网络无拥塞的(因此排队时延是微不足道的),在每台路由器 和源主机上的处理时延是 d p r o c d_{proc} dproc ,每台路由器和源主机的输出速率是R bps,每条链路的传播时延是 d p r o p d_{prop} dprop

节点时延累加起来,得到端到端时延: d e n d − e n d = N ( d p r o c + d t r a n s + d p r o p ) d_{end-end} = N(d_{proc} +d_{trans} +d_{prop} ) dendend=N(dproc+dtrans+dprop)
式中, d t r s n d d_{trsnd} dtrsnd = L/R, 其中L是分组长度。

1.4.4 计算机网络中的吞吐量

考虑从主机v到主机B跨越计算机网络传送一个大文件。在任何时间瞬间
瞬时吞吐量 instantaneous throughput) 是主机B接收到该文件的速率(以bps计)。

如果该文件由F比特组成,主机B接收到所有F比特用去卩秒, 则文件传送的 平均吞吐量(average throughput) 是F/T bps。

从服务器到客户的文件传输吞吐量是 min{R1,R2,…,RN-1},即 瓶颈链路 (bottleneck link) 的速率。
一个文件从服务器传送到客户的吞吐量
如果许多其他的数据流也通过这条链路流动,一条具有高传输速率的链路仍然可能成为文件传输的瓶颈链路。

目前因特网的核心的确超量配置了高速率的链路,从而很少出现拥塞。因特网中对吞吐量的限制因素通常是接入网。

1.5 协议层次及其服务模型

1.5.1 分层的体系结构

利用分层的体系结构,我们可以讨论一个大而复杂系统的定义良好的特定部分,使某层所提供的服务实现易于改变,而不影响该系统其他组件。

1. 协议分层

为了给网络协议的设计提供一个结构,网络设计者以 分层(layer) 的方式组织协议以及实现这些协议的网络硬件和软件。我们关注每层向它的上一层提供的服务(service) ,即所谓一层的服务模型(service model )。每层通过在该层中执行某些动作或使用直接下层的服务来提供服务。

一个协议层能够用软件、硬件或两者的结合来实现。诸如HTTP、SMTP这样的应用层协议几乎总是在端系统中用软件实现,运输层协议也是如此。因为物理层和数据链路层负责处理跨越特定链路的通信,它们通常在与给定链路相关联的网络接口卡(例如以太网或WiFi接口卡)中实现。网络层经常是硬件和软件实现的混合体。

分层的一个潜在缺点 是一层可能冗余较低层的功能。第二种潜在的缺点是某层的功能可能需要仅在其他某层才出现的信息(如时间戳值),这违反了层次分离的目标。

各层的所有协议被称为协议栈(protocol stack)。因特网的协议栈由 5个层次组成:物理层、链路层、网络层、运输层和应用层

因特网协议栈

自顶向下方法(top-down approach)

(1)应用层:
应用层是网络应用程序及它们的应用层协 议存留的地方。
应用层协议分布在多个端系统上,而一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息分组。我们把这种位于应用层的信息分组称为报文(message)

(2)运输层:
因特网的运输层在应用程序端点之间传送应用层报文。
运 输层的分组称为报文段 (segment)

(3)网络层:
因特网的网络层负责将称为数据报(datagram ) 的网络层分组从一台主机移动到另一台主机。在一台源主机中的因特网运输层协议向网络层递交运输层报文段和目的地址。

(4)链路层:
是在每个节点,网络层将数据报下传给链路层,链路层沿着路径将数据报传递给下一个节点。在该下一个节点,链路层将数据报上传给网络层。
链路层分组称为帧(fnmie)。链路层的任务是将整个帧从一个网络元素移动到邻近的网络元素。

(5)物理层:
物理层的任务是将链路层帧中的一个个比特从一个节点移动到下一个节点。

2. OSI模型

开放系统互联(OSI)模型
OSI模型
表示层的作用是使通信的应用程序能够解释交换数据的含义。
会话层提供了数据交换的定界和同步功能。

1.5.2 封装

在每一 层,一个分组具有两种类型的字段:首部字段和有效载荷字段 (payload field) 有效载荷通常是来自上一层的分组。
封装

1.6 面对攻击的网络

  1. 通过因特网将有害程序植入端系统
  2. 攻击服务器和网络基础设施
  3. 嗅探分组
  4. 伪装信任设备

1.7 计算机网络和因特网的历史

猜你喜欢

转载自blog.csdn.net/qq_39389123/article/details/112799963