【计算机网络】因特网 (1)

301 阅读10分钟

一、什么是因特网

1. 构成因特网的基本硬件和软件组件

计算设备

所有这些设备都称为 主机(host)端系统(end system)

  • 传统设备

    • 传统的桌面PC
    • linux工作站
    • 服务器(用于存储和传输Web页面和电子邮件报文等信息)
  • 非传统设备

    • 便携机、智能手机、平板电脑、电视、游戏机
    • 温度调节装置、家用安全系统、家用电器
    • 手表、眼镜
    • 汽车、运输控制系统等

端系统通过 通信链路(communication link)分组交换机(packet switch) 连接到一起。不同类型的通信链路由不同类型的物理媒体组成。不同的链路能够以不同的速率传播数据,链路的 传输速率(transmission rate)比特/秒(bit/s,或bps) 度量。当一台端系统要向另一台端系统发送数据时,发送端系统将数据分段,并为每段加上 首部字节 。由此形成的信息包用计算机网络的术语来说称为 分组(packet) 。这些分组通过网络发送到端系统,在那里被装配成初始数据。

分组交换机

  • 路由器(router) ,通常用于网络核心中
  • 链路层交换机(link-layer switch) ,通常用于接入网中

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

因特网服务提供商(Internet Service Provider, ISP)

端系统通过 因特网服务提供商 接入因特网。每个 ISP 自身就是一个由多台分组交换机和多段通信链路组成的网络。

  • 本地电缆或电话公司:住宅区ISP,公司ISP,大学ISP
  • 机场、旅馆、咖啡店和其他公共场所提供WiFi接入的ISP
  • 为智能手机和其他设备提供移动接入的蜂窝数据ISP

协议(protocol)

端系统、分组交换机和其他因特网部件都要运行一系列协议,这些协议控制因特网中信息的接收和发送。

  • TCP(Transmission Control Protocol,传输控制协议)
  • IP(Internet Protocol,网际协议) 协议定义了在路由器和端系统之间发送和接收的分组格式。

因特网的主要协议统称为TCP/TP

2. 根据为分布式应用提供服务的联网基础设施来描述因特网

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

因特网应用程序运行在端系统上,而不是运行在网络核心中的分组交换机中。

套接字接口(socket interface)

运行在不同端系统上的软件将需要互相发送数据。怎么发送呢?

与因特网相连的端系统提供了一个套接字接口,该接口规定了运行在一个端系统上的程序请求因特网基础设施向运行在另一个端系统上的特定目的地程序交付数据的方式。因特网套接字接口是一套发送程序必须遵循的规则集合。

邮政服务例子

Alice使用邮政服务向Bob发一封信。

邮政服务有自己的一套规则是Alice必须遵循的,Alice需要将信放入一个信封中,并在信封上写上Bob的全名、地址和邮政编码,并封好信封,贴上邮票,最后丢入邮筒中。

3. 什么是协议

人类例子

老师A在上计算机网络课程,下面有B,C两名同学。B认真听讲,C在睡觉。

A:同学们有什么问题吗?

B举手,C无响应。

A(向B):请描述你的问题

B(向A)问了一个问题。

A(向B)回答了这个问题。

网络例子

你向一个 Web 服务器发出请求(即你在 Web 浏览器中键入一个 Web 网页的 URL )。

  1. 你的计算机向该 Web 服务器发送一条连接请求报文,并等待回答。
  2. 该 Web 服务器接收到连接请求报文,并返回一条连接响应报文。
  3. 得知请求正常后,你的计算机在一条 GET 报文中发送要从这台 Web 服务器上取回的网页名字。
  4. Web 服务器向你的计算机返回该 Web 网页(文件)。

协议的定义

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

二、网络边缘

主机(端系统)的进一步划分

  • 客户(client)
  • 服务器(server) 大部分提供搜索结果、电子邮件、Web页面和视频的服务器都属于大型 数据中心(data center)

物联网(Internet of Things,IoT)

1. 接入网

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

(1) 家庭接入:DSL、电缆、FTTH、拨号和卫星

宽带住宅接入的两种最流行的类型:

  • 数字用户线(Digital Subscriber Line,DSL) ,住处通常从提供本地电话接入的本地电话公司处获得DSL因特网接入。因此,当使用 DSL 时,用户的本地电话公司也是它的 ISP 。
  • 电缆因特网接入(cable Internet access)

一种提供更高速率的新兴技术:光纤到户(Fiber To The Home,FTTH) ,从本地中心局直接到家庭提供了一条光纤路径。

某些乡村环境能够使用卫星链路将住宅与因特网相连。

拨号接入会比较痛苦。

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

在公司和大学校园以及越来越多的家庭环境中,使用局域网(LAN)将端系统连接到边缘路由器。尽管有许多不同类型的局域网技术,但是以太网到目前为止是公司、大学和家庭网络中最为流行的接入技术。

一个无线 LAN 用户通常必须位于接入点的几十米范围内。

(3) 广域无线接入:3G 和 LTE

iPhone和安卓等设备应用了与蜂窝移动电话相同的无线基础设施,通过蜂窝网提供运营的基站来发送和接收分组。与 WiFi 不同的是,一个用户仅需要位于基站的数万米范围内。

2. 物理媒体

物理媒体(physical medium) 分成两种类型:

  • 导引型媒体(guided media),电波沿着固体媒体进行

    • 光缆
    • 双绞铜线
    • 同轴电缆
  • 非导引型媒体(unguided media),电波在空气或外层空间中传播

    • 无线局域网
    • 数字卫星频道

三、网络核心

1. 分组交换(packet switching)

在各种网络应用中,端系统彼此交换 报文(message) 。为了从源端系统向目的端系统发送一个报文,源将长报文划分为较小的数据块,称之为 分组(packet) 。在源和目的地之间,每个分组都通过通信链路和分组交换机传送。

存储转发传输

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

例:通过由 N 条速率均为 R 的链路组成的路径。从源到目的地发送一个分组,端到端的时延是 dend2end=NLRd_{end2end}=N\frac{L}{R}

N 条链路由 N-1 个分组交换机

从源到目的地发送 P 个分组经过 N 条链路,时延是 dend2end=(N+P1)LRd_{end2end}=(N+P-1)\frac{L}{R}

排队时延和分组丢失

每台分组交换机有多条链路与之相连。对于每条相连的链路,该分组交换机具有一个 输出缓存(output buffer,也称为输出队列(output queue))

  • 排队时延(queuing delay)
  • 分组丢失(丢包)(packet loss)

转发表和路由选择协议

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

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

端到端选路过程可以用一个不使用地图而喜欢问路的汽车驾驶员来类比。

转发表是如何进行设置的?因特网具有一些特殊的 路由选择协议(routing protocol) ,用于自动的设置这些转发表。例如,一个路由选择协议可以决定从每台路由器到每个目的地的最短路径,并使用这些最短路径结果来配置路由器中的转发表。

www.traceroute.org

2. 电路交换(circuit switching)

电路交换 — 需要顾客预订的餐馆,能立即入座并点菜

分组交换 — 不需要顾客预定的餐馆,可能需要等待才能入座点菜

端到端连接(end-to-end connection)

电路交换网络中的复用

链路中的电路是通过 频分复用(Frequency-Division Multiplexing, FDM时分复用(Time-Division Multiplexing,TDM) 来实现的。

  • FDM,链路的频谱由跨越链路创建的所有连接共享。在连接期间链路为每条连接专用一个频段。
  • TDM,时间被划分为固定期间的帧,每个帧又被划分为固定数量的时隙。

分组交换为什么更有效?

假定多个用户共享一条 1Mbps 链路。某用户要么以 100kbps 恒定速率产生数据,要么静止。进一步假定该用户仅有 10% 的时间活跃。

  • 对于电路交换,在所有的时间内必须为每个用户预留 100kbps 。则电路交换链路仅能支持 10 个并发的用户。
  • 对于分组交换,假设有 35 个用户。小于 10 个用户同时在线的概率为
P(S<=9)=n=09(0.1)n(0.9)35nP(S <= 9) = \sum\limits_{n=0}^9(0.1)^n(0.9)^{35-n}

另一方面,考虑 10 个链路中只有一条暂时活跃,而电路交换只能使用其中一条。分组交换则畅通无阻!

3. 网络的网络

因特网由数以亿计的用户构成,因此,接入 ISP 自身必须互联。

网络结构1

单一 全球传输ISP 互联所有 接入ISP

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

网络结构2

多个 全球传输ISP 和数十万 接入ISP

这些 全球传输ISP 之间必须是互联的!

网络结构3

例如中国,每个城市有 接入ISP ,它们与 省级ISP 相连,省级ISP 又与 国家级ISP 连接, 国家级ISP 最终与 第一层ISP 相连。

网络结构4

  • 存在点(Point of Presence,PoP) , PoP 存在于等级结构的所有层次,但底层(接入 ISP )等级除外。
  • 多宿(multi-home) ,任何 ISP (除了第一层 ISP)可以与两个或更多提供商 ISP 连接。
  • 对等(peer) ,位于相同等级结构层次的邻近一对ISP能够对等。对等通常不进行结算。
  • 因特网交换点(Internet Exchange Point,IXP) , IXP 是一个汇合点,多个 ISP 能够在这里一起对等。

网络结构5

在 网络结构4 顶部增加 内容提供商网络(content provider network),如谷歌。

内容提供商网络创建自己的网络,减少向 顶层ISP 支付的费用,而且对其服务最终如何交付给端用户有了更多的控制。