• 计算机网络 第一章 概论


    第一章 概述

    1.1 计算机网络在信息时代中的作用

    21世纪的重要特征 数字化、网络化和信息化,这是一个以网络为核心的信息时代

    三类网络:电信网络、有线电视网络和计算机网咯

    关于互联网和因特网的区别

    互联网两个重要基本特点,即连通性和共享。

    所谓连通性就是互联网的用户好像都彼此直接连通。

    所谓共享就是指资源共享。资源指很多,例如信息,软件和硬件。这些资源好像就在用户身边一样地方便使用。

    1.2 互联网概述

    1.2.1 网络的网络

    计算机网络(简称为网络)由若干的结点和连接这些结点地链路组成。

    网络之间还可以通过路由器互连起来,这就构成了一个覆盖范围更大的计算机网络。这样的网络被称为互连网。因此互连网使“网络的网络”。

    1.2.2 互联网基础结构发展的三个阶段

    第一个阶段是从单个网络ARPANET向互连网发展的过程。

    1983年TCP/IP协议成为了ARPPANET上的标准协议,使得所有使用TCP/IP协议的计算机都能利用互连网互相通信,因而人们就把1983年作为互联网的诞生时间。(注意互联网和互连网的区别)

    第二个阶段的特点是建成了三级结构的互连网。

    三级计算机网咯,分为主干网、地区王和校园网(或企业网)。

    第三个阶段的特点是逐渐形成了多层其ISP结构的互联网。

    原政府资助的机构渐渐被商用的互联网主干网替代,政府不再负责互联网的运营。这样出现了一个新的名词:互联网服务提供者(Internet Service Provider)。在我国中国移动、中国联通和中国电信等都是有名的ISP。

    ISP都可以从互联网管理机构申请到很多IP地址。

    随着互联网上数据流量的急剧增长,人们开始研究如何更快地转发分组,以及如何更加有效地利用网络资源。于是,互联网交换点IXP(Internet eXchange Point)就应运而生了。

    基于LSP的多层结构的互联网的概念示意图

    互联网交换点IXP的主要作用就是允许两个网络直接相连并交换分组,而不需要再通过第三个网络来转发分组。

    1.3 互联网的组成

    互联网的拓扑结构可以分为两大块:

    (1)边缘部分 由所有连接在互联网上的主机组成,是用户直接使用的部分。

    (2)核心部分 由大量网络和连接这些网络的路由器组成。这部分是为了边缘部分提供服务的(提供连通性和交换)。

    1.3.1 互联网的边缘部分

    在网络边缘的端系统之间的通信方式通常可划分为两大类:客户-服务器方式(C/S方式)和对等方式(P2P方式)。

    1. 客户-服务器方式
      客户和服务器都是指通信中所涉及的两个应用进程。
      客户是服务请求方,服务器是服务提供方。
      不论是服务请求方还是服务提供方都需要使用网络核心部分速提供的服务。
      客户程序:
      (1)被用户调用后,需要主动向远地服务器请求服务,所以客户程序必须要知道服务器程序所在的地址。
      (2)不需要特殊的硬件和很特殊的操作系统。
      服务器程序:
      (1)作为一种专门处理某一种服务的程序,需要也同时处理多个远地或本地客户的请求。
      (2)系统启动后即自动调用并且一直不断运行,被动等待并等待来自各地的客户程序请求,因此不需要知道客户程序的地址。
      (3)需要有强大的硬件和高级的操作系统支持。
      当客户和服务器之间的通信建立后,通信是双向的,客户和服务器都可以发送和接收数据。

    2.对等连接方式
    对等连接(peer-to-peer)只要两台主机都运行了对等连接软件,他们就可以进行平等的、对等连接通信。
    对等连接方式本质上也可以看作是一种客户-服务器方式,只是对等连接中的每一台主机都可以看作是客户或者是服务器。
    对等连接工作方式可以支持大量对等用户同时工作。

    1.3.2 互联网的核心部分

    在网络核心部分起到特殊作用的是路由器,它是一种专属计算器。路由器是实现分组交换的关键构件。其任务是转发收到的分组,这是网络核心部分最重要的功能。

    1. 电路交换的主要特点

      交换就是按照某种方式动态地分配传输路线资源。

      经过了建立连接(占用通信资源)——通话(一直占用通信资源)——释放连接(归还通信资源)三个步骤的交换方式称为电路交换。

      建立连接的过程是分配资源。通话是占用资源。释放连接是释放资源。

      在通话的全部时间,通话的两个用户始终占用端到端的通信资源。

      使用电报交换来传送计算机资源时,其线路效率总是很低的,因为这是突发式地出现在线路上,平时传送数据的时间往往占比很少。

    2. 分组交换的主要特点

      分组交换采用的是存储转发的技术。我们将整个要发送的数据称为报文(message)。在发送报文之前,我们将报文分割成为几个小的等长的数据段,并在每个数据段加上由必要的控制信息组成的首部(header),就构成了一个分组(packet)。正是由于首部所携带的目的地址和源地址等信息,每个地址次啊能在互联网中独立地选择传输路径,并到达分组传输的终点。

      位于网络边缘的主机和路由器的作用不同。主机是为用户进行信息处理的,并且可以和其他主机通过网络交换信息。路由器则是用来转发分组的。即进行分组交换的。

      当我们讨论互联网核心部分中的路由器转发分组时,往往把单个的网络简化成一条链路,而路由器成为核心部分的结点。

    分组交换的问题:分组在路由器存储转发排队造成时延,且无法确保端到端的所需的带宽。每个分组所携带的控制信息也需要额外的开销。而且分组交换网还需要专门的管理和控制机制。

    同时分组交换也借鉴了一项古老的技术——报文交换。

    关于这三种方式的特点:

    电路交换:整个报文的比特流连续地从远点直达终点。好像是在一个管道中传送。

    报文交换:整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点。

    分组交换:单个分组(这只是整个报文的一部分),传送到相邻结点,存储下来后查找转发表,转发到下一个结点。

    若要连续传送大量数据,且传送时间大于建立时间,则电路交换的传输速率快。

    报文和分组交换不需要预先分配传输带宽,在传送突发数据时课提高整个网络的信道利用率。

    且因为分组交换的每一段更短,所以时延小,且更加灵活。

    (课后题1-10 讨论了三种交换的时延问题 这里给出解答链接https://blog.csdn.net/vivianluolita/article/details/49636113)

    1.4 计算机网络在我国的发展

    1.5 计算机网络的类别

    1.6 计算机网络的性能

    1.6.1 计算机网络的性能

    1. 速率

      比特(bit)意思是一个二进制数字,是信息量的单位。网络技术中的速率指的是数据的传送速率,它也称为数据率或者比特率。 速率是 bit/s 或者 b/s。

      注意单位的换算 大写的B指的是 Byte 且 1 Byte = 8 bit Byte 就是字节。

      在计算机中 K = 2^10 M = 2^20 G = 2^30 T = 2^40

    2. 带宽

      带宽有两种不同的意义

      (1)带宽本来是某个信号具有的频带宽度,单位为赫兹。

      (2)在计算机网络,带宽用来表示网络中某通道传送数据的能力,因此网络宽带表示在单位时间内网络中的某信道所能通过的“最高数据率”。这种带宽的单位为bit/s。

    3. 吞吐量

      吞吐量表示在单位见内通过某个网络(或信道、接口)的实际的数据量。即真实使用时的性能。但这个数值并不是越大越好,需要合理的范围,因为当吞吐量达到很大的值,此时出现传输的问题,会发生错误。

    4. 时延

      时延(delay 或 latency)是指一个数据从网络的一段传送到另一端所需的时间。

      (1)发送时延 发送时延(transmission delay)是主机或路由器发送数据帧苏需要的时间,也称为传输时延(但一般不使用,为了不与传播时延混淆)

      计算公式: 发送时延 = 数据帧长度 / 发送速率

      对于一般网络,发送时延并非固定不变,而是与发送的帧长成正比,与发送速率成反比。

      (2)传播时延 传播时延(propagation delay)是电磁波在信道中传播一定的距离需要花费的时间。

      计算公式: 传播时延 = 信道长度 / 电磁波在信道上的传播速率

      发送时延与传输信道的长度完全没有任何关系,传播时延与信号的发送速率无关。信号传送的距离越远,传播时延就越大。

      (3)处理时延

      (4)排队时延

      总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延

      对于高速网络链路,我们提高的仅仅是数据的发送速率而不是比特在链路上的传播速率。提高数据的发送速率是减小了数据的发送时延。

    5. 时延带宽积

      时延带宽积 = 传播时延 * 带宽

      表示网络同时容纳的数据量。

    6. 往返时间RTT

      往返时间RTT(Round-Trip Time)往返时间影响有效数据率。

    7. 利用率

      网络中真正的使用情况。分为信道和网络利用率。并非是越高越好。

      1.7 计算机网络体系结构

      1.7.1 计算机网络体系结构的组成

      1977年国际标准化组织提出了开放系统互联基本参考模型OSI / RM(Open Systems Interconnection Reference Model)。

      1983年形成正式文件,就是所谓的七层协议体系结构。

      但是OSI却失败了,占据市场的是TCP/IP,所以得到广泛应用的不是法律上的国际标准,而是TCP/IP作为事实上的国际标准。

      1.7.2 协议与划分层次

      为进行网络中的数据交换而建立的规则、标准或约定成为网络协议(network protocol)。网络协议也可简称为协议。

      协议三要素:

      (1)语法,即数据与控制信息的结构或格式;

      (2)语义,即需要发出何种控制信息,完成何种动作以及做出何种响应;

      (3)同步,即事件实现顺序的详细说明。

    1.7.3 具有五层协议的体系结构

    在TCP/IP的四层协议中,将OSI中的应用层,表示层和会话层合并成为了一层,因为因特网在某些情况下不需要这两层,在需要的时候可以让使用者在应用层实现另外两层的功能。

    表示层是为了区分数据的不同,会话层是负责数据交换的同步(在断点连接时可以重新连接)

    (1)应用层(application layer)

    应用层是体系结构中的最高层,其任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。进程就是运行的不同的程序,不同的网络程序有不同的应用层协议。

    (2)运输层(transport layer)

    这层的任务是负责向两台主机中进程之间的通信提供通用的数据传输服务。具有复用和分用的功能。

    主要使用两种协议:

    1. 传输控制协议TCP(Transmission Control Protocol)——提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段。
    2. 用户数据报协议UDP(User Datagram Protocol)——提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报。

    (3)网络层(network layer)

    网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。在TCP/IP体系中,也称为IP数据报。

    (4)数据链路层(data link layer)

    两台主机直接的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路的协议。在两个相邻节点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧,在两个相邻结点间的链路上传输真。每一帧包括数据和必要的控制信息。接收数据控制信息使接收端知道比特起始和结束。提取数据后上交给网络层。控制信息同时可以检测收到的帧是否发生错误,数据链路层可以指简单地求取这个出了差错的帧,或者使用可靠传输协议来纠正差错。

    (5)物理层(physical layer)

    传输信息所使用的物理媒介并不在物理层协议之内,而是在物理层协议的下面。

    1.7.4 实体、协议、服务和服务访问点

    实体(entity)是任何可以发送或接受信息的硬件或软件进程。

    协议是控制两个对等实体(或多个实体)进行通信的规则的集合。(对于对等层)

    在协议的统治下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下层所提供的服务。协议是水平的,服务是垂直的。

    协议必须把所有不利的条件实现都估计到,不能假定一切都是正常和非常理想的。

    以蓝军协同作战为例

    1.7.5 TCP/IP的体系结构

    因特网三要素 设备 协议 服务

    中间的路由器没有使用应用层和运输层。

    TCP/IP协议可以为各式各样的应用提供服务,同时TCP/IP协议允许IP协议在各种各样的网络构成的互联网上运行。

    客户-服务器工作方式 这些服务都需要应用层下面的层提供的服务。

    服务器向多个客户提供服务。

    学得太快 东西太多 写得太慢
    whitor0428于2020/10/16

    喜欢可以点赞
    欢迎评论

  • 相关阅读:
    你看懂了程序员的这些笑话吗?
    SharePoint 2013 Designer 自己定义操作菜单
    Ubuntu下用glade和GTK+开发C语言界面程序(三)——学习make的使用方法
    【九】注入框架RoboGuice使用:(Your First Injected Service and BroadcastReceiver)
    LeetCode 122 Best Time to Buy and Sell Stock II
    Cocos2d-x 3.1.1 学习日志6--30分钟了解C++11新特性
    HDU 4914 Linear recursive sequence(矩阵乘法递推的优化)
    TS4
    angularjs1-过滤器
    angularjs1- ng-include
  • 原文地址:https://www.cnblogs.com/whitor/p/introduction.html
Copyright © 2020-2023  润新知