一.计算机网络和因特网

参考

https://blog.csdn.net/happyjacob/article/details/118636959?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166684003916782395366220%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166684003916782395366220&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-2-118636959-null-null.142v62pc_rank_34_queryrelevant25,201v3control_2,213v1t3_esquery_v2&utm_term=%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C%E8%87%AA%E9%A1%B6%E5%90%91%E4%B8%8B%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0&spm=1018.2226.3001.4187

计算机和因特网

什么是因特网?

两种方式回答:

1.构成因特网的基本硬件和软件组件(从它的组成描述)
2.为分布式应用提供服务的基础设施(从它的功能描述)

从它的组成描述

因特网是一个世界范围的计算机网络,这意味着它互联了数以亿计的计算设备(不仅仅是计算机哦);这些设备包括但不限于传统PC、工作站以及所谓的服务器。现在有更多的设备加入到因特网中,比如便携式计算机、电视机、汽车、传感器等。用因特网的术语来说,所有连入因特网的设备都叫做主机或者端系统。

下面介绍一些概念

端系统通过通信链路和分组交换机连接到一起,两种最著名的分组交换机分别是路由器和链路层交换机,分组交换机从它的一条入链路接收分组,并且选择一条出链路将分组转发出去链路层交换机一般用在接入网中,而路由器一般用在网络核心。

端系统之间发送数据时,发送端系统将其数据分成一段一段,然后加上必要的信息后形成一个个的数据包,这个数据包用术语来说叫做分组。于是分组==用户数据+必要信息。链路系统就是用来传输分组的。分组到达接收端系统后,接收端系统将根据必要信息来抽取用户数据;

端系统,分组交换机和其他因特网部件都要运行一系列协议控制信息的传递,TCP(Transport Control Protocol,传输控制协议)和IP(Internet Protocol,网际协议)是因特网中最重要的两个协议

从它的功能描述

各式各样的网络应用,如电子邮件,Web冲浪

计算机网络结构组成

计算机网络结构组成

  • 网络边缘:如主机,网络应用
  • 接入网,物理媒体:如有线或无线通信链路
  • 网络核心(核心网络):由因特网端系统的分组交换机和链路构成的网状网络

电路交换和分组交换

分组交换

网络应用中端系统彼此发送报文。而分组就是报文中拆分出来较小的数据包。分组在通信链路上以等于该链路的最大传输速率传输通过通信链路。因此如果某条链路的最大传输速率为R,分组长度为L,则该链路传输该分组的时间为L/R,这个时间也被称为传输时延。多数分组交换机在链路的输入端使用存储转发机制。

一些概念

存储转发机制

大多数分组交换机采用存储转发机制来转发分组;所谓存储转发是指交换机在收到一个完成的分组,才会向链路输出转发分组,否则就将收到的部分分组缓存起来;因为缓存等待一个分组的全部数据而导致的时间开销被称为存储转发时延

排队时延

即分组的排队时延

分组丢失

因为缓存的大小有限,一个到达的分组可能发现缓存已满,在此情况下,会出现分组丢失,到达的分组或正在排队的分组之一会被丢弃

转发表和路由选择

分组交换机之所以能够知道往哪去是因为其内部有一个转发表,这个表维护了一个IP地址和链路的对应关系

1.通过分组的必要信息,获得目的端系统的IP地址
2.通过IP地址索引转发表,从而确定输出链路

电路交换

在电路交换网络中,在端系统通信会话期间,交换机会预留端系统间通信路径上的相关资源(缓存,链路传输速率),即先建立连接,然后通信,独占资源;而在分组交换网络中,这些资源没有被预留;也就是说,在端系统进行通信时,其所需要的资源是被保持的,其他通信是无法使用这一部分资源的;也就说,端系统间真正建立了一条“连接”;而这一连接,用电话的术语被称为“电路”。传统的电话网络就是电路交换网络的例子。

电路交换中的集中复用方式

  • 时分复用

将时间划分为固定区间的帧,每个帧则又被划分为固定数量的时间空隙;当网络需要建立一条连接时,网络将在每个帧中为该连接指定一个时隙;在该时隙内,链路用来传输该链接的数据;

  • 频分复用

将频率域划分为频段,然后将频段分配给连接;此频段被用来专门传输链接的数据。该频段的宽度成为带宽。

分组交换和电路交换的对比

分组交换的优点:

  • 它提供了比电路交换更好的带宽共享;
  • 它比电路交换更简单、更有效、实现成本更低;

分组交换的缺点:

  • 分组交换不适合实时服务,因为端到端的时延是可变、不可预测的,这和整个网络的情况相关;

电路交换的优点:

  • 提供了端对端传输数据的速率保证;

电路交换的缺点:

  • 电路交换存在静默期,这是指专用电路空闲时,其占用的资源并没有得到充分的利用;
  • 建立连接的过程比较复杂;

网络的网络

不得不说,因特网是一个庞大而复杂的系统,但是我们仍然有办法描述它(我们不是已经这么做过了吗?),但是我们需要一个模型来刻画因特网的结构;该用什么样的结构来刻画因特网呢?我想,最普遍的说法就是:因特网是网络的网络。但是这一说法足够精炼的同时也不够明确。更重要的是,我们可以选择更明确的方法来刻画因特网;书中通过5个模型不断过渡到最终模型,其实过渡的过程就结构不断合理、连接方式不断明确的过程。

我们在什么是因特网 一节中介绍ISP,端系统是通过ISP接入因特网的,为了实现端系统的互联,ISP也必须互联,其实网络模型就是用来表达ISP和端系统以及ISP之间的结构的抽象;

网络结构1:存在唯一的全球承载ISP互联所有的接入ISP,这是指,全球ISP是一个又路由器和通信链路构成的网络,该网络跨越全球,并且其他的接入ISP都至少和一个它的路由器相连;

网络结构2:存在多个全球承载ISP,它们分别于一部分的接入ISP互联;为了实现端系统的互联,这多个全球ISP也必须互联;网络结构是一个两层结构,其中全球承载ISP位于顶层,接入ISP处于底层;

网络结构3:顶层全球承载ISP基本上已经定型,但是接入ISP现在还很混乱,比如,它们直接同顶层ISP相连;而网络结构3中,接入ISP也是分层的:较小区域中的ISP连入较大区域的ISP,而不是直接与顶层ISP相连;为什么会出现这样的结构呢?这是因为,如果都直接同顶层ISP相连,那么两个同一较小区域内,分属不同ISP的端系统之间通信的数据也会到顶层ISP中心去一趟,如果它们不是直接接入顶层ISP,而是接入了一个较大区域的ISP,那么它们之间的通信数据就不用去顶层ISP中心了,因为它们通过较大区域的ISP已经实现了互连,所以通信速度肯定就上去了。

网络结构4:是在网络结构3的基础上,增加了以下特点而形成的结构:存在点(Point of Presence,PoP)、多宿、对等、因特网交换点(Internet exchange point,IXP)。

PoP存在于等级结构中所有层次,但是底层ISP除外;一个PoP是ISP网络中的一台或者多台路由器群组,其中客户ISP能够通过第三方提供的高速链路直接将它的路由器和供应商的PoP连接,从而实现与提供商ISP连接。这样接入速度很明显就提高了。
多宿(multi-home)是指,任何ISP(除第一层ISP)都可以与两个或者多个提供商ISP连接,这被称为多宿;这样网络的可靠性就提高了
对等(peer) 是指,位于相同等级结构层次的一对邻近ISP能够直接将它们的网络连接到一起,使它们之间流量经直接连接而不是经过上游的中间ISP传输,这样既不用付费,速度也可能会快一些;
因特网交换点是为了实现多个ISP可以对等而创建的。

网络结构5:网络结构5是在网络结构4的基础上增加了内容提供商网络而构成。内容提供商构建自己的网络,并且通过与较低层ISP对等而“绕过”较高层因特网ISP,而且内容提供商对端用户也有了更多的控制。

总体来说,今天的因特网是一个“网络的网络”,其结构复杂,由十多个顶层ISP和数十万个较低层ISP构成。近年来,主要的内容提供商创建自己的网络,直接在可能的地方与较低层ISP互联

分组交换中的时延,丢包和吞吐量

各种时延

分组从一台主机出发,经过一系列路由器传输到达另一台主机,共经历几种不同的时延:节点处理时延,排队时延,传输时延,传播时延。

  • 处理时延(nodal processing delay
    处理时延是因为节点需要解析分组的必要信息然后决定其出链路(索引转发表等操作)而产生的,通常在微秒或者更低数量级;

  • 排队时延(queueing delay)
    排队时延是因为分组所对应的出链路前面有其他分组正在传输(即位于缓存前端的分组先要传输),所以分组需要该链路的缓冲队列里等待其他分组传输完毕而产生的;一般来说,排队时延是到达该队列的流量强度和性质的函数,通常可以达到毫秒级到微秒级;

  • 传输时延(transmission delay)
    传输时延是将所有分组的比特推向链路所有需要的时间,实际的传输时延通常在毫秒到微秒数量级。用L表示分组的长度,用Rbps表示从路由器A到B的链路传输速率。传输时延是L/R。
    dtrans = L/R,其中 L 是分组长度(bits),R 是链路带宽 (bps)

  • 传播时延(propagation delay)
    传播时延是指比特进入链路后,从该链路的起点到下一个结点所用的时间;一旦分组中的最后一个比特到达路由器就意味着该分组的所有比特都已到达路由器;广域网中,传播时延一般是毫秒级的。传播时延是d/s。d是路由器A到B的距离。s是链路的传播速率。
    dprop = d/s,其中 d 是物理链路长度,s 是信号传播速度 (2×10^8m/sec ~ 3×10^8m/sec)

传输时延和传播时延的对比

传输时延时路由器将分组推出所需要的时间,他是分组长度和链路传输速率的函数

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

丢包

到达的分组发现一个满的队列。由于没有地方存储这个分组,路由器将丢弃该分组,该分组将会丢失

端到端时延

前面的讨论一直集中在节点时延上,现在考虑从源到目的地的总时延。假定源主机到目的主机有N-1台路由器。忽略排队时延(即网络此时无拥塞),每台路由器和源主机的处理时延是dproc,每台路由器和源主机的输出速率是R bps,每条链路的传播时延是dpgp,dtrans = L/R,R是输出速率,L是分组长度

dend-end = N(dproc + dtrans + dprop)

分层的体系结构

计算机网络采用分层的体系结构,某一层对其上一层提供服务,同时它可以利用下一层提供的服务,只要对上提供的服务和对下利用的服务没有变化,其层内部的实现并不会对系统结构产生影响;对于大而复杂且需要不断更新的系统来说,改变服务的实现而不影响系统其他组件是分层模式的另一个重要优点

一个协议层可以使用软硬件实现,同时某个协议层的不同部分常常位于网络组件的各部分。协议分层具有概念化和结构化的优点。模块化使得更新系统组件更为容易。但是分层也有其缺点,就是功能上的冗余,比如许多协议栈针对链路和端到端两种情况都提供了差错恢复功能。第二种潜在的缺点就是某层的功能可能需要仅在其它层才出现的信息

因特网的协议栈由5个层次组成:物理层、链路层、网络成、传输层、应用层

  • 应用层:支持各种网络应用,如 FTP, SMTP, HTTP

  • 传输层:进程-进程的数据传输,如 TCP, UDP

  • 网络层:源主机到目的主机的数据分组路由与转发,如 IP 协议、路由协议等

  • 链路层:相邻网络元素(主机、交换机、路由器等)的数据传输,如以太网(Ethernet)、802.11 (WiFi)、PPP

  • 物理层:比特传输

封装

一个分组,在不同的层次有不同的称谓,是因为它们经过每一层的时候就被该层封装上了属于该层的相关信息,也就是前面提到的必要信息;于是,每一分层的分组有两种类型的字段:首部字段和有效负载;其中有效负载即为来自上一层的分组数据,而首部字段就是该层加上的必要信息;分组不断被封装以实现各层协议规定的相关功能

封装增加控制信息,构造协议数据单元 (PDU);控制信息主要包括:地址,差错检测编码(Error-detecting code),协议控制(Protocol control),协议控制实现协议功能的附加信息,如: 优先级(priority)、服务质量(QoS)、 和安全控制等

posted @ 2022-11-09 14:18  WetYu  阅读(41)  评论(0)    收藏  举报