《计算机操作系统:自顶向下方法》读书笔记——第一章:计算机网络和因特网

前言

  • 本文首发于我的个人博客:https://youwolf.cn/?p=508
  • 由于不确定CSDN与Typora有关markdown的兼容问题,本人精力有限,来不及修改,所以可以前往本人博客获得更好的阅读体验

什么是因特网

具体构成概述

  • 因特网是一个世界范围的计算机网络,即它是一个互联了道及全世界数十亿计算设备的网络。

  • 所有设备被称为主机(host)端系统(end system)

  • 《计算机操作系统:自顶向下方法》读书笔记——第一章:计算机网络和因特网

     

 

  • 端系统通过通信链路(communication link)分组交换机(packet switch)连接到一起。

  • 不同的链路能够以不同的速率传输数据,链路的传输速率(transmission rate)比特/秒(bit/s, 或bps)度量。当一台端系统要向另一台端系统发送数据时,发送端系统将数据分段,并为每段加上首部字节。由此形成的信息包用计算机网络的术语来说称为分组(packet)

  • 在当今的因特网中,两种最著名的分组交换机类型是路由器(router)链路层交换机(link-layer switch)

  • 从发送端系统到接收端系统,一个分组所经历的一系列通信链路和分组交换机称为通过该网络的路径(route或path)

  • 端系统通过因特网服务提供商(Internet Service Provider, ISP)接人因特网,包括如本地电缆或电话公司那样的住宅区ISP、公司ISP、大学ISP,在机场、旅馆、咖啡店和其他公共场所提供Wifi接人的ISP,以及为智能手机和其他设备提供移动接人的蜂窝数据ISP。每个ISP自身就是一个由多台分组交换机和多段通信链路组成的网络。无论是较高层还是较低层ISP网络,它们每个都是独立管理的,运行着IP协议,遵从一定的命名和地址规则。

  • 端系统、分组交换机和其他因特网部件都要运行一系列协议(protocol),这些协议控制因特网中信息的接收和发送。TCP(Transmission Control Protocol, 传输控制协议)IP(Intemnet Protocol,网际协议)是因特网中两个最为重要的协议。IP协议定义了在路由器和端系统之间发送和接收的分组格式。因特网的主要协议统称为TCP/IP。

  • 因特网标准(Internet standard)因特网工程任务组(Internet Engineering Task Force,IETF)[IETF2016]研发。IETF的标准文档称为请求评论(Request For Comment,RFC)

服务描述

  • 涉及多个相互交换数据的端系统的应用程序, 被称为分布式应用程序(distributed application)

  • 与因特网相连的端系统提供了一个套接字接口(socket interface),该接口规定了运行在一个端系统上的程序请求因特网基础设施向运行在另一个端系统上的特定目的地程序交付数据的方式。

什么是协议

《计算机操作系统:自顶向下方法》读书笔记——第一章:计算机网络和因特网

 

 

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

网络边缘

  • 因特网的端系统包括了桌面计算机(例如,柜面PC、Mac和Linux设备)、服务器(例如,Web和电子邮件服务器)和移动计算机(例如,便携机、智能手机和平板电脑)。此外,越来越多的传统物品正被作为端系统与因特网相连

  • 《计算机操作系统:自顶向下方法》读书笔记——第一章:计算机网络和因特网

     

 

  • 主机 = 端系统。主机有时又被进一步划分为两类:客户(client)服务器(server)。今天, 大部分提供搜索结果、电子邮件、Web页面和视频的服务器都属于大型数据中心(data center)

接入网

  • 接入网是指将端系统物理连接到其边缘路由器(edge rounter)的网络。边缘路由器是端系统到任何其他远程端系统的路径上的第一台路由器。

《计算机操作系统:自顶向下方法》读书笔记——第一章:计算机网络和因特网

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

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

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

物理媒体

  1. 双绕铜线

  2. 同轴电缆

  3. 光纤

  4. 陆地无线电信道

  5. 卫星无线电信道

网络核心

分组交换

《计算机操作系统:自顶向下方法》读书笔记——第一章:计算机网络和因特网

  • 在各种网络应用中,端系统彼此交换报文(message)

  • 报文能够包含协议设计者需要的任何东西。报文可以执行一种控制功能,也可以包含数据, 例如电子邮件数据、JPEC图像或MP3音频文件。

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

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

 

存储转发传输

  • 多数分组交换机在链路的输人端使用存储转发传输(store-and-forward transmission)机制。存储转发传输是指在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。

《计算机操作系统:自顶向下方法》读书笔记——第一章:计算机网络和因特网

  • 通过由N条速率均为R的链路组成的路径,有N-1台路由器,从源到目的地发送一个分组,端到端时延是端到端​

排队时延和分组丢失

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

  • 除了存储转发时延以外,分组还要承受输出缓存的排队时延(queuing delay)。这些时延是变化的,变化的程度取决于网络的拥塞程度。因为缓存空间的大小是有限的,一个到达的分组可能发现该缓存已被其他等待传输的分组完全充满了。在此情况下,将出现分组丢失(丢包)(packet loss),到达的分组或已经排队的分组之一将被丢弃。

转发表和路由选择协议

《计算机操作系统:自顶向下方法》读书笔记——第一章:计算机网络和因特网

  • 在因特网中,每个端系统具有一个称为IP地址的地址。

  • 每台路由器具有一个转发表(forwarding table),用于将目的地址(或目的地址的一部分)映射成为输出链路。

  • 因特网具有一些特殊的路由选择协议(routing protocol),用于自动地设置这些转发表。

电路交换

  • 通过网络链路和交换机移动数据有两种基本方法:电路交换(circuit switching)分组交换(packet switching)。上一小节已经讨论过分组交换网络,现在我们将注意力转向电路交换网络。

《计算机操作系统:自顶向下方法》读书笔记——第一章:计算机网络和因特网

非重点,略过,具体看书

网络的网络

  • 因为接入ISP向全球传输ISP付费,故接人ISP被认为是客户(customer),而全球传输ISP被认为是 供商(provider),

  • 在任何给定的区域,可能有一个区域ISP(regional ISP),区域中的接人ISP与之连接。每个区域ISP则与第一层ISP(tier-1 ISP)这接。第一层ISP类似于我们假想的全球传输ISP,尼管它不是在世界上每个城市中都存在,但它确实存在。

  • 任何ISP〔(除了第一层ISP)可以选择多宿(multi-home),即可以与两个或更多提供商ISP连接。例如,一个接人ISP可能与两个区域ISP多宿,既可以与两个区域ISP多宿,也可以与一个第一层ISP多宿。

  • 位于相同等级结构层次的邻近一对ISP能够对等(peer), 也就是说,能够直接将它们的网络连到一起,使它们之间的所有流量经直接连接而不是通过上游的中间ISP传输。当两个ISP对等时,通常不进行结算,即任一个ISP不向其对等付费。

  • 今天的因特网是一个网络的网络,其结构复杂,由十多个第一层ISP和数十万个较低层ISP组成。较低层的ISP与较高层的ISP相连,较高层ISP彼此互联。用户和内容提供商是较低层ISP的客户,较低层ISP是较高层ISP的客户。

  • 《计算机操作系统:自顶向下方法》读书笔记——第一章:计算机网络和因特网

     

 

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

分组交换网中的时延概述

  • 当分组从一个节点(主机或路由器)沿着这条路径到后继节点(主机或路由器),该分组在沿途的冬个节点经受了几种不同类型的时延。这些时延最为重要的是节点处理时延(nodalprocessing delay)排队时延(queuing delay)传输时延(transmission delay)传播时延(propagation delay),这些时延总体累加起来是节点总时延(totalnodal delay)

  • 时延的类型

    《计算机操作系统:自顶向下方法》读书笔记——第一章:计算机网络和因特网

    • 处理时延

      • 检查分组首部和决定将该分组导向何处所需要的时间是处理时延的一部分。

    • 排队时延

      • 在队列中,当分组在链路上等待传输时,它经受排队时延

    • 传输时延

      • 用L比特表示该分组的长度,用Rbps(即b/s)表示从路由器A到路由器B的链路传输速率。链路,速率史=10Mbps;对于100Mbps的以太网链路,速率R=100Mbps。传输时延是L/R。这是将所有分组的比特推向链路(即传输,或者说发射)所需要的时间。

    • 传播时延

      • 一旦一个比特被推向链路,该比特需要向路由器B传播。从该链路的起点到路由器B传播所需要的时间是传播时延。该比特以该链路的传播速率传播。该传播速率取决于该链路的物理媒体(即光纤、双绞铜线等),其速率范围是2x10~3x10m/s,这等于或略小于光速。该传播时延等于两台路由器之间的距离除以传播速率。

  • 如果令​、​、​ 和 ​,分别表示处理时延、排队时延、传输时延和传播时延,则节点的总时延由下式给定:

排队时延和丢包

  • 节点时延的最为复杂和有趣的成分是排队时延​。

  • 与其他三项时延(即​、​ 和 ​)不同的是,排队时延对不同的分组可能是不同的

  • 令​表示分组到达队列的平均速率(单位:分组/秒,即​);​是传输速率,即从队列中推出比特的速率(单位:​,即​);假定所以分组都是由L比特组成的则比特到达队列的平均速率是​** 。假定该队列非常大,因此它基本能容纳无限数量的比特。比率​被称为流量强度(traffic intensity)

  • 如果​,则比特到达队列的平均速率超过从该队列传输出去的速率,该队列趋向于无限增加,并且排队时延将趋向无穷大!因此,流量工程的一条金科玉律是:设计系统时流量强度不能大于1

《计算机操作系统:自顶向下方法》读书笔记——第一章:计算机网络和因特网

  • 在上述讨论中,我们已经假设队列能够容纳无穷多的分组。在现实中,一条链路前的队列只有有限的容量,尼管排队容量极大地依赖于路由器设计和成本。因为该排队容量是有限的,随着流量强度接近1,排队时延并不真正趋向无穷大。相反,到达的分组将发现一个满的队列。由于没有地方存储这个分组,路由器将丢弃(drop)该分组,即该分组将会丢失(lost)

  • 分组丢失的比例随着流量强度增加而增加

端到端时延

  • 假定在源主机和目的主机之间有​台路由器。我们还要假设该网络此时是无拥塞的(因此排队时延是微不足道的),在每台路由器和源主机上的处理时延是​。,每台路由器和源主机的输出速率是​ bps,每条链路的传播时延是​ ,。节点时延累加起来, 得到端到端时延: ​ 式中​,其中​是分组长度

计算机网络中的吞吐量

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

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

《计算机操作系统:自顶向下方法》读书笔记——第一章:计算机网络和因特网

《计算机操作系统:自顶向下方法》读书笔记——第一章:计算机网络和因特网

协议层次及其服务模型

协议分层

  • 协议分层的优缺点

    • 优点:协议分层具有概念化和结构化的优点。分层提供了一种结构化方式来讨论系统组件。模块化使更新系统组件更为容易。

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

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

《计算机操作系统:自顶向下方法》读书笔记——第一章:计算机网络和因特网

封装

《计算机操作系统:自顶向下方法》读书笔记——第一章:计算机网络和因特网