计网学习笔记(1)——绪论

Note of the Computer Networking

Reference :Data Communications and Networking (Forth Edition)


Chapter 1


网络准则

  • 性能

    • 性能通常由网络的两个因素决定:吞吐量延迟。需要更多的吞吐量和较小的延迟。但是这两个因素往往是矛盾的
    1. 传输时间:报文从一台设备传输到另一台设备的时间
    2. 响应时间:请求和响应之间花费的时间
  • 可靠性

    • 网络的可靠性一般用以下指标衡量
      1. 故障出现的频率
      2. 一条链路恢复所花费的时间
      3. 在灾难中的健壮性
  • 安全性

    • 安全性包括
      1. 保护数据免受未授权的访问
      2. 保护数据在传输过程中免受攻击
      3. 数据丢失和损伤的回复策略和方法。

连接物理结构

  • 点到点连接

    • 连接两台设备之间的专用链路
  • 多点连接

    • 两台以上设备共享单一链路

    image-20221007094119853

物理拓扑结构

  • 网状

    • 每个设备都有一条专用的点到点链路控制
    • 专用网络可以消除链路被多台设备共享时可能发生的通信量问题。
    • 健壮性

    image-20221007094319156

  • 星形

    • 每个设备拥有一条仅与中央控制器连接的点到点专用链路,该中央控制器通常称为集线器(hub)
    • 最大依赖于集线器。如果集线器出了问题,整个系统就会瘫痪。
    • 常用于局域网(LAN)中

    image-20221007094342233

  • 总线

    • 优点:安装简易
    • 缺点:难以重新连接、进行错误隔离和距离有限。

    image-20221007094354974

  • 环状

    • 每台设备只与其两侧的设备有一条专用的点到点的连接。信号以一个方向在环中传输,从一台设备到另一台设备,直到其到达目的设备。

image-20221007094409515

  • 混合型

    image-20221007100019656

网络分类

  • 局域网(Local area network, LAN)

    • 通常是专用的,连接的设备在一间简单的办公室、一幢建筑物或校园中(见图1.10)。根据组织机构的需要和所采用技术的类型,局域网可能像办公室中只有两台PC机和一台打印机那样简单;也可能延伸到整个公司,并且包括音频和视频等外围设备。目前,LAN的规模限制集线器 在几公里的范围内。

    • LAN设计用来共享个人计算机或工作站之间的资源。共享的资源可能包括硬件(比如打印机)、软件(比如应用程序)或者数据。在商业环境中,LAN的常见的例子是用来连接与任务相关的工作组中的计算机,例如工程工作站或财务用PC。假定这些计算机的某一台有大容量的磁盘驱动器,可以作为其他客户机的服务器。软件可以存储在这台中央服务器上,供整个工作组使用。在这种情况下,LAN的规模取决于每套软件拷贝的用户数目的许可限制,或者取决于操作系统允许访问的用户数目。

    • 除了规模之外,LAN与其他类型的网络的区别还在于它的传输介质和拓扑结构。通常,给定的LAN仅使用一种类型的传输介质。最常见的LAN拓扑结构是总线结构、环状结构和星型结构。

      image-20221007100908280

  • 广域网(wide area network, WAN)

    • 提供远距离的数据、音频、图像和视频信息传输,传输跨越的地理区域包括国家、大陆甚至整个世界。

    • 广域网可以复杂到用主干连接因特网,也可以简单到用拨号线连接家用计算机到因特网。通常广域网首先指的是交换广域网,其次是点到点广域网(见图1.11)。交换广域网连接端系统,该系统含有一个路由器(网际互联设备),它连接另一个局域网或广域网。点到点广域网通常是从电话局或有线电视电缆提供商租用专线连接家用计算机或小型局域网到因特网服务提供商(ISP)。这种类型的广域网时常用做对因特网的访问。

      image-20221007101031601

  • 城域网 (metropolitan area network, MAN)

    • 规模界于局域网与广域网之间,它通常的覆 盖范围是一个乡镇或一个城市。它是为需要高速地连接因特网的用户而设计的,端点可分布在整个城市或城市的一部分。城域网的一个好的实例是可向用户提供高速DSL线路的电话网的一部分。另一个实例是有线电视网络,它原先是为有线电视而设计的,但是现在它也可用做到因特网的高速数据连接。

协议

  • 语法(syntax)指的是数据的结构或格式,即它们是以何种顺序表示的。例如,一个简单的协议可能将第一个8位作为发送方的地址,第二个8位作为接收方的地址,信息流的其余部分作为报文本身。
  • 语义(semantics)指的是每一个位片断的含义:如何解释一个特别的位模式,基于该解释应该采取什么操作?例如,地址是否标示了路由,是否标示了报文的最终目的地址。
  • 时序(timing)指的是两个特性:报文发送的时间和发送的速率。例如,如果发送方以100Mbps的速率发送而接收方只能以1Mbps的速率处理数据,那么传输中会使接收方过载而造成数据的大量丢失。

标准

  • 事实标准。那些未经组织团体承认但已经在广泛使用中被接受的标准就是事实标准(defacto standard)。事实标准通常是由制造商在打算定义新的产品或技术的功能时最初建立的。
  • 法定标准。那些由官方认可的团体制定的标准称为法定标准(de jure standard)。

Chapter 2

任务分层

QQ截图20221007102307

在发送方
让我们按顺序描述一下在发送方发生的活动。

  • 高层发送方写信,将信件装人信封,写下发送方和接收方的地址,将信件投人信箱。

  • 中间层信件被邮递员取出并送到邮局。

  • 低层邮局对信件进行分拣;邮车转运信件。

在接收方

  • 低层邮车将信件转运到邮局。
  • 中间层信件分拣后递送到接收方的信箱。
  • 高层接收方取出信件,打开信封,读信。

OSI模型

image-20221007103546427

物理层

image-20221007104236537

​ 物理层包含了那些在物理介质上传输位流所必需的功能。它定义了接口和传输介质的机械和电气特性,也定义了物理设备和接口为了传输和必须执行的过程和功能。

物理层负责从一个节点到另一个节点的传输

​ 物理层需要考虑以下问题:

  • 接口与介质的物理特性。物理层定义了设备与传输介质之间的接口特性,也定了传输介质的类型。
  • 位的表示。物理层的数据是没有任何解释的位(bit)流(由0和1所组成的序列)。要进行传输,位必须编码成信号一一电信号或光信号。物理层定义编码(encoding)的类型(如何将0和1转换成信号)。
  • 数据速率。传输速率(transmisson rate),即每秒发送的位数,也在物理层定义。换言之,物理层也定义一个位持续多长时间。
  • 位同步。发送方与接收方不仅使用相同的比特率,还必须位同步。换言之,发送方的时钟与接收方的时钟必须同步。
  • 线路配置。物理层涉及设备与介质的连接。在点到点配置中,两个设备通过一条专用链路连接。在多点配置中,许多设备共享一条链路。
  • 物理拓扑结构。物理拓扑结构定义如何将设备连接成网络。设备的连接方式可以是网状拓扑结构(每台设备均与其他设备连接)、星型拓扑结构(通过中心设备与其他设备连接)、坏状拓扑结构(每台设备与下一台设备连接以组成一个环)和总线拓扑结构(每台设备都在一条公共链路上)。
  • 传输方式。物理层也定义两台设备之间的传输方向:单工、半双工和全双工。在单工方式中,只有一个设备能发送,另一个设备只能接收。单工方式是单向通信。在半双工方式中,两台设备都能发送和接收,但不能在同一时刻。在全双工(或双工)方式中,两个设备能在同一时刻发送与接收。

数据链路层

image-20221007104310084

​ 数据链路层将物理层——对数据不做任何改动的传输变成可靠的链路,这样可以将物理层的数据无差错的传送给上层。

数据链路层的具体职责如下:

  • 成帧。数据链路层将接收到的来自网络层的位流划分成称为帧(frame)的易处理数据单元。
  • 物理寻址。如果帧是发送给网络中不同系统,则数据链路层在帧的头部添加发送方的物理地址与接收方的物理地址。如果帧要发往发送方网络之外的系统,那么接收方的地址就是连接一个网络到下一个网络的设备地址。
  • 流量控制。如果接收方接收数据的速率小于发送方发送的速率,那么数据链路层就会采用流量控制机制以防止接收方过载。
  • 差错控制。数据链路层增加一些机制用来检测与重发损坏帧或丢失帧,从而增加了物理层的可靠性。还用了一个机制防止重复帧。差错控制通常在一个帧的结束处增加一个尾部来处理。
  • 访问控制。当两台或多台的设备连接到同一条链路上时,数据链路协议必须能决定在任意时刻由哪一台设备来获取对链路的控制权。

跳到跳传递:

image-20221007104748901

网络层

image-20221007104804648

网络层(network layer)负责将分组从源地址传递到目的地址,可能会通过多个网络(链路)。尽管数据链路层会监视同一个网络(路)上两个系统之间分组的传递,但是还需要网络层确保每个分组能够从出发点到达目的地。
​ 如果两个系统连接在同一条链路上,则通常不需要网络层。然而,如果两个系统在不同的网络(链路)上并通过网络(链路)之间的设备连接,通常就需要网络层以完成源端到目的端的传递。图2,8表示了网络层与数据链路层及传输层的关系。

网络层的具体任务是:

  • 逻辑寻址。物理寻址负责处理本地网络寻址问题,它由数据链路层完成。如果一个分组通过网络边界,就需要另一个寻址系统来帮助区分源与目的系统。网络层给来自上一层的分组增加一个头部,它包括发送方与接收方的逻辑地址。在本章后面讨论逻辑地址。
  • 路由选择。当一些独立网络或链路连接在一起构成一个互联网(一个由网络连成的网络)或一个更大的网络时,连接设备(称为路由器或网关)把分组送到它们的最终目的地,网络层的功能之一是提供这种机制。

传输层

image-20221007105741497

传输层(transport layer)负责整个报文的进程到进程传递(process-to-process delivery),进程是主机上运行的应用程序。尽管网络层监管各个分组的源端到目的端传递(source-to-destination delivery),但是它并不了解这些分组之间的相互关系。网络层独文处理每个分组,就像每个分组都属于一个独立报文一样,不管实际上是否这样。传输层正好相反,它确保整个报文无差错并按顺序地到达目的地,并在源到目的层次进行差错控制和流量控制。图2.10表示了传输层与网络层及会话层关系。

传输层负责一个报文从一个进程到另一个进程的传递。

传输层的具体任务如下:

  • 服务点寻址。常常会有许多程序同时在一台计算机上运行,因此源端到目的端的传递就意味着不仅是从一台计算机传递到另一台计算机,而是从一台计算机上的一个特定进程(运行的程序)传递到另一台计算机上的一个特定进程(运行的程序)。因此,传输层信息的头部就必须包含服务点地址(也叫端口地址)。网络层将每个分组传送到指定的计算机上,而传输层则将整个报文传送给该计算机上的指定进程。
  • 分段和组装。将报文分解成可传输的片段,并且给这些片段编上序号。这些序号不仅使传输层可以在接收端将报文正确地组装,而且可以用来标识和替换传输中丢失的分组。
  • 连接控制。传输层可以是无连接的或面向连接的。无连接的传输层将每个片段作为一个独立的分组,并将它传递到目的机器的传输层。而面向连接的传输层,在传递分组之前,需要与目的机器的传输层建立一条连接。所有数据被传输后,该连接释放。
  • 流量控制。如同数据链路层一样,传输层担负流量控制(flow control)的责任。然而,这一层的流量控制是在端到端上,而不是在单条链路上。
  • 差错控制。如同数据链路层一样,传输层担负差错控制(error control)的责任。然而,这一层的差错控制是在进程到进程上,而不是在单条链路上。发送方的传输层确保整个报文无差错(损坏、丢失或重复)地到达接收方的传输层。通常通过重发来纠正差错。

会话层

image-20221007110440944

会话层(session layer)是网络的对话控制器。它建立和维护以及同步通信系统之间的交互操作。

会话层负责对话控制和同步。

会话层的具体任务是:

  • 对话控制。会话层允许两个系统进入会话。它允许两个进程之间以半双工(一次一个方向)或全双工(一次两个方向)方式进行通信。
  • 同步。会话层允许一个进程在数据流中增加检查点或同步点 (synchronization point)。例如,假定一个系统要传输2000页的一个文件,为了确保每收到100页就独立地进行确认每100页后应适当插入一个检查点。在这种情况下,如果传输到第532页发生崩溃,则在第501页处开始重传,而第1页到第500页不必重传。图2.12描述了会话层与传输层及表示层的关系。

表示层

image-20221007110910399

表示层(presentation layer)是两个系统之间交换信息的语义和语法。

表示层负责翻译加密压缩数据。

表示层的具体任务是:

  • 翻译。两个系统中的进程(运行程序)通常以字符串、数字等格式来交换信息。在传输前,信息必须变换成位流。因为不同计算机采用不同的编码系统,因此表示层负责不同编码方法之间的互操作。发送方的表示层将信息从发送方使用的格式转换成一个公共的格式。接收方机器的表示层将公共格式转换成接收方使用的格式。
  • 加密。为了传输敏感信息,一个系统必须保证秘密。加密是指发送方将原来的信息转换成另一种形式,并在网络上发送转换后的形式。解密是将信息转换回它的原始形式。
  • 压缩。数据压缩减少需要传输数据的位数。数据压缩对于多媒体(如文本、音频和视频)的传输显得特别重要。

应用层

image-20221007111240067

应用层(application layer)使得用户(不管是人还是软件)可以访问网络。它提供了用户接和服务支持。比如电子邮件、远程文件访问与传输、共享数据库管理以及其他分布式信息服务。

应用层的具体服务如下:

  • 网络虚拟终端。网络虚拟终端是物理终端的软件版本,允许用户登录到一台远程主机上。为此,应用程序在远程主机上创建一个软件模拟终端。用户计算机只与这个软件终端对话,而软件终端与主机对话,反之亦然。而远程主机认为自己是在与自己的一个终端通信,因而允许用户登录。
  • 文件传输、访问和管理。这项应用允许用户访问远程计算机上的文件(进行修改或读取数据),从远程计算机上检索文件,以及管理或控制远程计算机上的文件。
  • 邮件服务。提供电子邮件存储转发的基础。
  • 目录服务。提供分布式数据库资源以及对不同对象和服务的全球信息的访问。

各层功能小结

image-20221007111449982

TCP/IP协议族

TCP/IP协议族(TCP/IP protocol suite)是在OSI模型之前开发的。所以TCP/IP协议族的层次与OSI模型的层次并不严格对应。TCP/IP协议族由4个层次组成:主机到网络层、互联网层、传输层和应用层。然而,当TCP/IP与OSI模型比较时,则可以说主机到网络层相当于物理层和数据链路层的组合。互联网层等价于网络层,应用层所做的工作大致上相当于会话层表示层和应用层以及TCP/IP传输层处理会话层的部分功能。所以在本书中假定TCP/IP协议族由5层组成:物理层、数据链路层、网络层、传输层和应用层。前面4层提供物理标准、网络接口、网际互联和传输功能,它相应于OSI模型前的4层。OSI模型最上面的3层由TCPIP一个称为应用层(参看图2.16)的单一层来表示。

TCP/IP是由相互作用的模块组成的分层协议,每一层提供一个特定的功能,但它们不需要相互依赖。尽管OSI模型指定了属于每一层的功能,但TCP/IP协议族的各层却包含一些相对独立的协议,这期协议依据系统的需要能混合与匹配。术语分层意指每个上一层协议是由-个或多个下层协议支持的。

在传输层,TCP/IP定义了3个协议:传输控制协议(TCP)、用户数据报协议(UDP)和流控制传输协议(SCTP)。在网络层,由TCP/IP定义的主要协议有网际协议(IP),尽管还有支持数据运行的其他协议。

image-20221007112052591

物理层和数据链路层

在物理层和数据链路层中,TCP/IP不定义任何协议。它支持所有标准和专门协议,采用TCP/IP互联的网络可以是局域网或广域网。

网络层

网际协议(IP)

网际协议是TCP/IP协议使用的传输机制。它是一个不可靠、无连接数据报协议,即尽传递(best-effort delivery)服务。尽力一词的意思是IP提供的是没有差错检测和跟踪。IP假定了底层是不可靠的,因此尽最大努力传输到目的地,但没有保证。

IP传输的数据称为数据报,每一个数据报都独立地传输。数据报可以沿着不同的路由传输,有可能不按顺序到达,或者重复出现。IP没有路由跟踪,因此一旦这些数据报到达目的地,它们没有重新排序的功能。

然而,IP这一局限功能不认为是一个缺点,因为它提供这样简单的传输使用户自由添已知应用所必需的那些功能,使得效率更高。

地址解析协议(ARP)

将逻辑地址和物理地址联系起来。

逆地址解析协议(RARP)

允许主机在仅知道物理地址的情况下寻找因特网地址。

因特网控制报文协议(ICMP)

由主机和网关所使用的一种机制,用来向发送方通知数据报所发生的问题。

传输层

用户数据报协议(User Datagram Protocol,UDP)是两个标准TCP/IP传输层协议中较简单一个。它是一个进程到进程的协议。它仅将端口号、校验和差错控制及信息长度添加到来自上一层的数据中。

传输控制协议(Transmission Control Protocol, TCP)为应用程序提供了完整的传输层服务。TCP是一个可靠的流传输协议,流这个词在这里表示面向连接的:在传输的两端可以传送数据以前必须先建立连接。

​ 在每个传输的发送端,TCP划分数据流为称为片段的更小的数据单元,每个片段都包括一个用来在接收后重新排序的序号,以及对接收到片段的确认序号。片段将包含在IP数据报中,通过互联网传输。在接收端,TCP收集每个到来的数据报,然后基于序号对传输重新排列。

流控制传输协议(Stream Control Transmission Protocol, SCTP)对较新应用提供支持,比如因特网上的音频传输。它结合了UDP和TCP最好的特点。

寻址

image-20221007113252401

物理地址

大多数局域网使用48位(6个字节)的物理地址,改地址被写为12个十六进制的数字,每个字节(2个十六进制数用冒号分开),如下

07:01:02:01:2C:4B

image-20221007113304616

逻辑地址

因特网现在流行的逻辑地址是32位的,它唯一定义了连接到因特网的一台主机。

image-20221007113627873

端口地址

​ IP地址和物理地址对于从源主机到目的主机的数据传输是必需的,但是到达目的主机不是因特网数据通信的最终目标。只将数据从一台计算机传输到另一台计算机而不做其他事情是不完整的传输。今天,计算机能同时运行多个进程,因特网通信最终目的是进程到进程的通信。例如,计算机A使用TELNET与计算机C通信,同时计算机A使用文件传输协议(FTP)与计算机B通信。为了使这些进程同时接收数据,需要有一种方法标记不同的进程。换言之需要地址标识符。在TCP/IP分层体系结构中,赋于进程的标识符称为端口地址,它的长度是16位。

image-20221007113752678

专用地址

有些面向用户的应用被设计为专用地址。例如,电子邮件的地址(例如forouzan@fhda.edu和统一资源定位符(URL)(例如www.mhhe.com)。前一个地址定义邮件接发者后一个是在万维网中寻找一个文档。这些地址由发送计算机转换成对应的端口地址和逻辑地址。


posted @ 2022-10-07 09:47  J4m  阅读(127)  评论(2编辑  收藏  举报