计算机网络<自顶向下方法>第一章计算机网络和因特网

  • Post author:
  • Post category:其他




1.1 什么是Internet?

从具体构成角度

  • 节点

    主机及其上运行的应用程序

    路由器、交换机等网络交换设备


  • 接入网链路:主机连接到互联网的链路

    主干链路:路由器间的链路
  • 协议:控制发送、接收消息

    如TCP、IP、HTTP、FTP、 PPP

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

  • 数以亿及的,互联的计算设备

    主机 = 端系统

    运行网络应用程序
  • 通信链路

    光纤、同轴电缆、无线电、卫星

    传输速率 = 带宽(bps)
  • 分组交换设备:

    转发分组

    (packets)

    路由器和交换机
  • Internet:“网络的网络”

    松散的层次结构,互连的ISP

    公共Internet vs. 专用intranet
  • Internet标准

    RFC: Request for comments

    IETF: Internet Engineering

    Task Force

    在这里插入图片描述

    在这里插入图片描述



1.2 网络边缘

  • 端系统(主机):

    运行应用程序

    如Web、email在 “网络的边缘”
  • 客户/服务器模式

    客户端向服务器请求、接收服务

    如Web浏览器/服务器;

    email客户端/服务器
  • 对等(peer-peer )模式

    很少(甚至没有)专门的服务器

    如 Gnutella、KaZaA、Emule


网络边缘:采用网络设施的面向连接服务

目标:在端系统之间传输数据

  • 握手:在数据传输之前做好准备

    人类协议:你好,你好

    两个通信主机之间为连接建立状态
  • TCP-传输控制协议(Transmission Control Protocol)

    Internet 上面面向连接的服务

TCP服务[RFC 793]

  • 可靠的,按顺序的传送数据

    确认和重传
  • 流量控制

    发送方不会淹没接收方
  • 拥塞控制

    当网络拥塞时,发送方减低发送速率


网络边缘:采用网络设施的面向连接服务

目标:在端系统之间传输数据

无连接服务

  • UDP-用户数据报协议(User Datagram Protocol)[RFC 768]
  • 无连接
  • 不可靠数据传输
  • 无流量控制
  • 无拥塞控制

使用TCP的应用: HTTP(Web) FTP(文件传送),Telnet(远程登录),SMTP(email).

使用UDP的应用: 流媒体,远程会议,DNS,Internet电话



1.3 网络核心

网络核心:路由器的网状网络

基本问题:数据怎样通过网络进行传输?

  • 电路交换:为每个呼叫预留一条专用电路:如电话网
  • 分组交换:

    将要传送的数据分成一个个单位分组

    将分组从一个路由器传送到相邻路由器(hop),一段段最近从源端传到目标端

    每段:采用链路的最大传输能力(带宽)

网络核心:电路交换

端到端的资源被分配给从源端到目标端的呼叫”call”:

在这里插入图片描述

  • 图中,每段链路有4条线路:

    该呼叫采用了上面链路的第2个线路,右边链路的第1个线路(piece)
  • 独享资源:不同享

    每个呼叫一旦建立起来就能够保证性能
  • 如果呼叫没有数据发送,被分配的资源就会被浪费 (no sharing)
  • 通常被传统电话网络采用


    为呼叫预留端-端资源
  • 链路带宽、交换能力
  • 专用资源:不共享
  • 保证性能
  • 要求建立呼叫连接


    网络资源(如带宽)被分成片
  • 为呼叫分配片
  • 如果某个呼叫没有数据,

    则其资源片处于空闲状态(不共享)

    将带宽分成片
  • 频分(Frequencydivision multiplexing)
  • 时分(Time-divisionmultiplexing)
  • 波分(Wave-divisionmultiplexing)

    在这里插入图片描述


计算举例

在一个电路交换网络上,从主机A到主机B发送一个640,000比特的文件需要多长时间?

  • 所有的链路速率为1.536 Mbps
  • 每条链路使用时隙数为24的TDM
  • 建立端-端的电路需500 ms


    每条链路的速率(一个时间片):1.536Mbps/24 = 64kbps

    传输时间:640kb/64kps = 10s

    共用时间:传输时间+建立链路时间=10s + 500ms = 10.5s


电路交换不适合计算机之间的通信

  • 连接建立时间长
  • 计算机之间的通信有突发性,如果使用线路交换,则浪费的片较多
  • 即使这个呼叫没有数据传递,其所占据的片也不能够被别的呼叫使用
  • 可靠性不高?


网络核心:分组交换


以分组为单位存储-转发方式

  • 网络带宽资源不再分分为一个个片,传输时使用全部带宽
  • 主机之间传输的数据被分为一个个分组


    资源共享,按需使用:
  • 存储-转发:分组每次移动一跳( hop )

    在转发之前,节点必须收到整个分组

    延迟比线路交换要大

    排队时间


分组交换:存储-转发

  • 被传输到下一个链路之前,整个分组必须到达路由器:存储-转发
  • 在一个速率为R bps的链路,一个长度为L bits 的分组的存储转发延时: L/R s


    Example:
  • L = 7.5 Mbits
  • R = 1.5 Mbps
  • 3次存储转发的延时= 15 s


分组交换: 排队延迟和丢失

在这里插入图片描述


排队和延迟:


如果到达速率>链路的输出速率:

  • 分组将会排队,等待传输
  • 如果路由器的缓存用完了,分组将会被抛弃


网络核心的关键功能


路由

:决定分组采用的源到目标的路径

路由算法


转发

:将分组从路由器的输入链路转移到输出链路

在这里插入图片描述


分组交换:统计多路复用

在这里插入图片描述

A&B 时分复用 链路资源

A & B 分组没有固定的模式 ->

统计多路复用


分组交换 vs. 电路交换

  • 同样的网络资源,分组交换允许更多用户使用网络!



分组交换是“突发数据的胜利者?”

  • 适合于对突发式数据传输

    资源共享

    简单,不必建立呼叫
  • 过度使用会造成网络拥塞:分组延时和丢失
  • 对可靠地数据传输需要协议来约束:拥塞控制
  • Q: 怎样提供类似电路交换的服务?

    保证音频/视频应用需要的带宽

    一个仍未解决的问题(chapter 7)

Q: 预约服务(线路交换)对比按需服务(分组交换)的例子?

分组交换网络:存储-转发

  • 分组交换: 分组的存储转发一段一段从源端传到目标端,按照有无网络层的连接,分成:
  1. 数据报网络:
  • 分组的目标地址决定下一跳
  • 在不同的阶段,路由可以改变
  • 类似:问路
  • Internent
  1. 虚电路网络:
  • 每个分组都带标签(虚电路标识 VC ID),标签决定下一跳
  • 在呼叫建立时决定路径,在整个呼叫中路径保持不变
  • 路由器维持每个呼叫的状态信息
  • X.25 和ATM


数据报(datagram) 的工作原理

 在通信之前,无须建立起一个连接,有数据就传输

 每一个分组都独立路由(路径不一样,可能会失序)

 路由器根据分组的目标地址进行路由


网络分类

在这里插入图片描述



1.4 Internet结构和ISP


互联网结构:网络的网络

  • 端系统通过接入ISPs (Internet Service Providers)连接到互联网

    住宅,公司和大学的ISPs
  • 接入ISPs相应的必须是互联的

    因此任何2个端系统可相互发送分组到对方
  • 导致的“网络的网络”非常复杂

    发展和演化是通过经济的和国家的政策来驱动的
  • 让我们采用渐进方法来描述当前互联网的结构

问题来了:

给定数百万接入ISPs,如何将它们互联到一起


在这里插入图片描述

  • 选项: 将每个接入ISP都连接到全局ISP(全局范围内覆盖)?客户ISPs和提供者ISPs有经济合约

  • 但是,如果全局ISP是可行的业务,那会有竞争者有利可图,一定会有竞争


    竞争

    :但如果全局ISP是有利可为的业务,那会有竞争者


    合作

    :通过ISP之间的合作可以完成业务的扩展,肯定会有互联,对等互联的结算关系

  • 然后业务会细分(全球接入和区域接入),区域网络将出

    现,用与将接入ISPs连接到全局ISPs

  • 然 后 内 容 提 供 商 网 络 (Internet Content Providers,e.g., Google,

    Microsoft, Akamai) 可能会构建它们自己的网络,将它们的服务、内容更

    加靠近端用户,向用户提供更好的服务,减少自己的运营支出

    在这里插入图片描述

在这里插入图片描述

 在网络的最中心,一些为数不多的充分连接的大范围网络(分布广、节点有限、但是之间有着多重连接)

  • “tier-1” commercial ISPs (e.g., Level 3, Sprint, AT&T, NTT), 国家或者国际范围的覆盖
  • content provider network (e.g., Google): 将它们的数据中心接入ISP,方便周边用户的访问;通常私有网络之间用专网绕过第一层ISP和区域ISP


很多内容提供商(如:Google, Akamai )可能会部署自己的网络,连接自己的在各地的DC(数据中心),走自己的数据

连接若干local ISP和各级(包括一层)ISP,更加靠近用户


Internet结构:network of networks

  • 中心:第一层ISP(如UUNet, BBN/Genuity, Sprint,AT&T)国家/国际覆盖,速率极高

    直接与其他第一层ISP相连

    与大量的第二层ISP和其他客户网络相连

  • 第二层ISP: 更小些的 (通常是区域性的) ISP

    与一个或多个第一层ISPs,也可能与其他第二层ISP

  • 第三层ISP与其他本地ISP

    接入网 (与端系统最近)

    一个分组要经过很多很多的网络

    在这里插入图片描述

  • POP: 高层ISP面向客户网络的接入点,涉及费用结算  如一个低层ISP接入多个高层ISP,多宿(multi home)

  • 对等接入:2个ISP对等互接,不涉及费用结算

  • IXP:多个对等ISP互联互通之处,通常不涉及费用结算  对等接入

  • ICP自己部署专用网络,同时和各级ISP连接

    在这里插入图片描述



1.5 分组延迟,丢失和吞吐量


分组丢失和延时是怎样发生的?


在路由器缓冲器的分组队列

  • 分组到达链路的速率超过了链路的能力
  • 分组等待排到头,被传输


四种分组延时


1.节点处理延时:

  • 检查bit级错误
  • 检查分组首部和决定将分组导向何处


2. 排队延迟

  • 在输出链路上等待传输的时间
  • 依赖于路由器的拥塞成都


3. 传输延时:

  • R=链路带宽(bps)
  • L=分组长度(bits)
  • 将分组发送到链路上的时间= L/R
  • 存储转发延时


4. 传播延时:

  • d = 物理链路的长度
  • s = 在媒体上的传播速度(~2×108 m/sec)
  • 传播延时 = d/s


分组丢失

  • 链路的队列缓冲区容量有限
  • 当分组到达一个满的队列时,该分组将会丢失
  • 丢失的分组可能会被前一个节点或源端系统重传,或根本不重传


吞吐量


吞吐量: 在源端和目标端之间传输的速率(数据量/单位时间)

  • 瞬间吞吐量: 在一个时间点的速率
  • 平均吞吐量: 在一个长时间内平均值



1.6 协议层次及服务模型


协议层次

网络是一个复杂的系统!

  • 网络功能繁杂:数字信号的物理信号承载、点到点、路由、rdt、进

    程区分、应用等
  • 现实来看,网络的许多构成元素和设备:

    主机

    路由器

    各种媒体的链路

    应用

    协议

    硬件, 软件


层次化方式实现复杂网络功能

  • 将网络复杂的功能分层功能明确的层次,每一层实现了其中一个或一组功能,功能中有其上层可以使用的功能:服务
  • 本层协议实体相互交互执行本层的协议动作,目的是实现本层功能,

    通过接口为上层提供更好的服务
  • 在实现本层协议的时候,直接利用了下层所提供的服务
  • 本层的服务:借助下层服务实现的本层协议实体之间交互带来的新功能(上层可以利用的)+更下层所提供的服务


服务和服务访问点

  • 服务( Service):低层实体向上层实体提供它们之间的

    通信的能力

    服务用户(service user)

    服务提供者(service provider )
  • 原语(primitive):上层使用下层服务的形式,高层使用低层提供的服务,以及低层向高层提供服务都是通过服务访问原语来进行交互的—形式
  • 服务访问点 SAP (Services Access Point) :上层

    使用下层提供的服务通过层间的接口—地点;

    例子:邮箱

    地址(address):下层的一个实体支撑着上层的多个实体,

    SAP有标志不同上层实体的作用

    可以有不同的实现,队列

    例子:传输层的SAP: 端口(port)


服务的类型


面向连接的服务( Connection-oriented Service)

  • 连接(Connection):两个通信实体为进行通信而建立的一

    种结合
  • 面向连接的服务通信的过程:建立连接,通信,拆除连接
  • 面向连接的服务的例子:网络层的连接被成为虚电路
  • 适用范围:对于大的数据块要传输; 不适合小的零星报文
  • 特点:保序
  • 服务类型:

    可靠的信息流 传送页面(可靠的获得,通过接收方的确认)

    可靠的字节流 远程登录

    不可靠的连接 数字化声音


无连接的服务(Connectionless Service)

  • 无连接服务:两个对等层实体在通信前不需要建立一个连接,不预留资源;不需要通信双方都是活跃;(例:寄信)
  • 特点:不可靠、可能重复、可能失序
  • IP分组,数据包;
  • 适用范围:适合传送零星数据;
  • 服务类型:

    不可靠的数据报 电子方式的函件

    有确认的数据报 挂号信

    请求回答 信息查询


服务和协议

  • 服务与协议的区别

    服务(Service):低层实体向上层实体提供它们之间的通信的能力,是通过原语(primitive)来操作的,垂直

    协议(protocol) :对等层实体(peer entity)之间在相互通信的过程中,需要遵循的规则的集合,水平
  • 服务与协议的联系

    本层协议的实现要靠下层提供的服务来实现

    本层实体通过协议为上层提供更高级的服务


分层处理和实现复杂系统的好处?


对付复杂的系统

  • 概念化:结构清晰,便于标示网络组件,以及描述其相互关系

     分层参考模型
  • 结构化:模块化更易于维护和系统升级

    改变某一层服务的实现不影响系统中的其他层次

     对于其他层次而言是透明的
  • 分层思想被认为有害的地方?他是利大于弊的


Internet 协议栈

  • 应用层: 网络应用

    为人类用户或者其他应用进程提供网络应用服务

    FTP, SMTP, HTTP,DNS
  • 传输层: 主机之间的数据传输

    在网络层提供的端到端通信基础上,细分为进程到进程,将不可靠的通信变成可靠地通信

    TCP, UDP
  • 网络层: 为数据报从源到目的选择路由

    主机主机之间的通信,端到端通信,不可靠

    IP, 路由协议
  • 链路层: 相邻网络节点间的数据传输

    2个相邻2点的通信,点到点通信,可靠或不可靠

    点对对协议PPP, 802.11(wifi), Ethernet
  • 物理层: 在线路上传送bit


ISO/OSI 参考模型

  • 表示层: 允许应用解释传输的数据, e.g., 加密,压缩,机

    器相关的表示转换
  • 会话层: 数据交换的同步,检查点,恢复
  • 互联网协议栈没有这两层!
  • 这些服务,如果需要的话,必须被应用实现

在这里插入图片描述


各层次的协议数据单元

  • 应用层:报文(message)
  • 传输层:报文段(segment):TCP段,UDP数据报
  • 网络层:分组packet(如果无连接方式:数据报datagram)
  • 数据链路层:帧(frame)
  • 物理层:位(bit)



版权声明:本文为qq_41601512原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。