计网笔记-1综述

计网笔记-1综述

三月 09, 2022

1.3网络软件

协议层次结构Protocol Hierarchies

  • 为了降低网络设计的复杂性,绝大多数网络都组成了层次栈(a stack of layer)或(a stack of level)。从某种意义上来说,每一层都是一种虚拟机,第n层向第n+1层提供服务。
  • 协议protocol:通信双方的一种约定
  • 对等体peers:不同机器上同一层的实体
  • 物理层次Physical medium:铜线,光纤
  • 接口interface:Defines which primitive operations原语操作 and services the lower layer makes available to the upper one,类似于函数调用的接口
  • 网络体系结构=层+协议A set of layers and protocols 网络体系结构不包括协议内部的实现细节,也不包括接口的规范。
  • 支持第五层虚拟通信的信息流:假设在第5层上运行的一个应用进程产生了一.条消息M,并且将它传递给第4层以便传给对等进程;第4层在消息的前面加上一一个头(header), 用来标识该消息,并且把结果传给第3层;该头包含了一些控制信息,例如地址,主要被目标机器的第4层用来递交消息。某些层次所用的控制信息还可以包含消息序号(以防下层不保留消息顺序)、消息大小、时间等。
    支持第五层虚拟通信的信息流
    在许多网络中,对于第4层上传递的消息大小没有任何限制,但是几乎所有第3层协议对此总会强加一个限制。因此,第3层必须把入境消息分割成较小的单元,即数据包或包(packet),并且在每个数据包前面加上第3层的头。在这个例子中,M被分割成两部分:M1和M2,这两部分内容是被单独传输的。

第3层决定使用哪些输出线路,并且把分组传递给第2层;第2层不仅在每一个信息上加上一个头信息还要加上一个尾,然后将结果传输单元送给第1层以便进行物理传输。在接收端的机器上,消息自底向上逐层传递,在传递过程中各个头被逐层剥离。没有一个第n层以下的头会被传递到第n层。

层次设计问题Design Issues for the Layers

  • 可靠性Reliability
  • 网络发展Network evolution:可拓展性,网络互通性
  • 资源分配Resource allocation:统计复用,流量控制
  • QoS(服务质量):quality of service,包括的指标有 带宽bandwidth、延迟delay/latency、抖动(Jitter)
  • 安全Security

面向连接的服务和无连接的服务

  • 面向连接Connection-oriented: telephone system,需要建立连接
  • 无连接Connection-less: postal system,不需要事先建立连接

Six different types of service
Six different types of service

Point:有链接的服务不一定是可靠的!

服务原语Service Primitives

  • 原语可能看起来像函数调用中的函数名字
  • PDU: Protocol Data Unit协议数据单元:信息在对等体之间交换

服务与协议之间的关系

服务和协议是两个截然不同的概念,它们之间的区别非常重要。

  • 服务是指某一层向它上一层提供的一-组原语(操作)。服务定义了该层准备代表其用户执行哪些操作,但是它并不涉及如何实现这些操作。 服务与两层之间的接口有关,低层是服务提供者,而上层是服务用户

  • 与此不同的是,**协议是一组规则,规定了同一层上对等实体之间所交换的数据包或者报文的格式和含义。对等实体利用协议来实现它们的服务定义,它们可以自由地改变协议,只要不改变呈现给它们用户的服务即可。按照这种方式,服务和协议是完全相分离的**,这是任何一个网络设计者应该很好理解的关键概念。

  • 不改变服务,可以随意改变协议。

1.4 参考模型Reference Models

OSI参考模型 The OSI Reference Model

  • OSI体系结构是要求记住的,因为计算机网络的核心是计算机体系结构。但是OSI结构在日常生活中也不咋见到,用的人少。

OSI体系结构

对应的中文对照:
OSI体系结构-zh

一般的,在网络里的路由设备只需要完成1,2,3层的协议就可以(如框框里圈起来的part)

  1. 物理层:使用通信的信道传输原始的bit流
  • 使用多少伏特表示1,多少伏特表示0
  • 每个比特持续多长时间
  • 传输是否能够双向同时(simultaneously)发送信息
  • 初始链接是如何链接以及如何释放的,比如打电话,挂断,一般链接是按时间计费的
  1. 数据链路层:把原始的传输转化成逻辑的信道。一句话总结,就是(可靠的)数据帧的传输 Point To Point点到点

    • 将到达的数据变成一块一块的frame(帧)(这个功能仅部分的数据链路层拥有)
    • 如果要求可靠的传输,要对正确的数据帧发送comfirm
    • 流量控制:保持快速传输,防止数据传输缓慢
    • 广播网络:管理共享信道的使用权力(access)
  2. 网络层:主要控制的是路由和转发的问题,控制子网的运行

    • 传递forwarding
    • 路由router:静态路由;规划路由;动态路由highly dynamic
    • 拥塞控制congestion
    • QoS:delay延迟,transit time传输时间,jitter抖动, 带宽,丢包率etc.
    • 异构网络互联Heterogeneous networks interconnection
    • 广播网络 routing is simple
  3. 传输层:End To End端到端

    • 从上层接受数据,把这些数据分成小的数据单元(if needed),把这些数据单元
    • 决定向会话层提供何种服务
    • 控制拥塞
  4. 会话层:通信的双方(虚拟层面的不同机器)建立会话链接

    • 对话控制
    • 令牌Token管理
    • 同步:断点重传
  5. 表示层:信息传递的 语法和语义

    • 抽象定义被传输的信息。比如大端小端。
  6. 应用层:包括通常被用户使用的各种协议

TCP/IP参考模型 The TCP/IP Reference Model

TCP/IP参考模型:右侧
TCP/IP参考模型

  • 网络接口层(PPT),中文书上叫链路层,这不是一个真正意义上的层,而是主机与传输路线之间的一个接口。

  • 互联网层:一个基于无连接互联网络的数据包交换网络

    • 定义了一种官方的数据包和协议格式,叫做IP(Internet Protocol)
    • 网络层的工作是把IP数据包发送到他们应该去往的地方,这里面又包括了路由问题,避免拥塞问题
  • 传输层:

    1. 传输控制协议TCP (Transmission Control Protocol)

      • 面向连接的、可靠的、字节流
      • 碎片化fragment字节流
      • 重新组装接收到的信息到输出流(保证了传输顺序)
      • 流量控制,避免淹没
    2. 用户数据报协议: The UDP(User Datagram Protocol)

      • 无连接的、不可靠的、消息流(一块一块的发送消息)
      • 适用于不想要TCP有序控制和流量控制,而宁可自己提供这些功能的应用程序。比如及时交付比准确交付更重要的应用,比如语音和视频通话
  • 应用层:略
    TCP/IP模型以及各种需要学习的协议
    一览表
    中文简化版:
    中文简化版:

OSI参考模型与TCP/IP参考模型的比较

略,gzc没细讲,有兴趣让看书。

OSI模型和协议的评判

gzc没讲,书上骂了一通,可以看个乐。截个图感受下。
乐

TCP/IP参考模型的评判

没讲,没看

1.5网络实例

没咋讲,没啥要记的东西,略

网络标准化1.6 Network Standardization

电信领域有影响力的组织

国际电信联盟ITU (International Telecommunication Union)

主要部门:

  • Radio communications(ITU-R)
  • Telecommunications Standardization(ITU-T)
    $\tiny CCITT, Comité Consultatif International Télégraphique et Téléphonique (1956-1993)$
  • Development(ITU-D)

国际标准有影响力的组织

  • 国际标准化组织ISO (International Standards Organization):OSI是在计算机网络里的一个例子
  • ANSI (American National Standards Institute)
  • IEEE (Institute of Electrical and Electronics Engineers)

    TCP/IP是属于IETF的

计算机网络中的单位换算

不同于计算内存的KB,MB,GB(2的幂次),因为内存总是2的幂次。

此外,这种情况下用大写的B表示Byte字节,而小写的b表示bit比特。

单位

由于$milli和micro$都以字母m开头,所以两者必须进行区分。通常情况下,$m$ 代表毫(milli),而$μ$ (希腊字母)代表微(micro)。

在本书中,为了避免二义性,我们将使用符号KB、MB、GB和TB分别代表$2^{10}、2^{20}、2^{30}$ 和 $2^{40}$ 字节;用符号 $kbps、Mbps、Gbps$ 和 $Tbps$分别代表$10^3,10^6,10^9和10^{12}$位/秒。