计算机网络(可当期末复习资料)

一、绪论。

1.1 何为计算机网络与通信

计算机网络是通信技术计算机技术紧密结合的产物。

通信系统的模型:

计算机网络也是一种通信网络。

计算机网络(Computer Network):

网络的最简单的定义是:一些相互连接的、以共享资源为目的、自治的计算机的集合。

计算机网络公认的定义:

  • 利用独立通信设备和线路将地理位置不同的、功能独立的多个计算机连接起来;
  • 在功能完善的网络的控制下,进行数据通信,实现资源共享协同工作的系统。

由上面定义可以看出,构建计算机网络的目的是共享资源,而技术手段则是计算机通信

网络的概念设计许多内容,主要包括:

  1. 通信协议。它规定了网络节点必须遵循的规则,以便能够理解彼此间的通信内容
  2. 拓扑结构。描述网络系统如何连接的。

  1. 编址。描述系统在网络中如何确定彼此的位置。
  2. 转发与路由。说明数据穿过网络从一个系统被传输到另一个系统的方式。
  3. 可靠性。是一个表达数据完整性的概念,以确保收到的数据确实是所发送的数据。
  4. 互操作性。指在网络中,由不同厂商开发的软件、硬件产品相互间能成功通信的程度。
  5. 安全性。是关于妥善保管或者保护网络中所有构件的论题。
  6. 标准。指建立需要遵循的特定的准则和规章。

一个简单的通信网络(Very Simple Computer Network)

计算机网络的基本组成 :

计算机网络的物理构建:

  • 一些独立的计算机网络互相连接形成了互联网(Internet)
    • 连接两个或者多个计算机网络的节点被称为路由器(Router)/网关(Gateway)
  • 将互联网看作是一种类型的网络,通过网络嵌套可以构成任意规模的互联网。
  • 为了叙述方便,我们将任意规模的互联网简称为网络(network)

 1.2 网络通信研究的内容

1.2.1 数据通信的基本原理        

数据通信主要研究如何通过数据通信系统将携带信息的数据以某种信号方式从信源(发送方)安全、可靠地传输到信宿(接收方)。数据通信所涉及的内容主要包括:

                                                        1、模拟和数字传输技术

在通信系统中,数据是以电信号的形式从一端传到另一端。

模拟信号用来表示语音、图像等模拟数据。

数字信号用来表示文本、字符串等数字数据。

如果使用调制解调器(Modem),数字数据能用模拟数据来表示。

如果使用编码译码器,模拟信号也能用数字信号表示。

数字通信技术脱颖而出的原因:模拟信号传输至较远距离时,由于衰减回逐渐减弱以至于小时,它需要被定期地重新放大以阻止信号的消失。

                                                               2、兼容性

通信标准化和各类通信设备的兼容性是首要考虑的问题,也是数据通信的必要条件。

                                                                3、接口

 在不同的计算机之间的通信,一种可行的办法就是研制一个大家彼此都能接受的通信接口。一个借口(Interface)是两个通信设备之间的物理连接。

美国电子工业协会推荐的工业标准接口RS-232已为大家所接受。

                                                                4、网络互连参考模型

为了建立一个开放的、能为大多数机构和组织承认的网络互连标准,国际标准化组织(International Organization for Standardization,ISO)在充分考虑到已有玩洛体系结构的基础上,由ISO分委员提出了开放系统互连参考模型(Open System Interconnection Referemce Model)。

                                                                5、网络通信协议

为了在各网络单元之间进行数据通信,通信的双方必须遵守一种能够彼此理解、全网一致遵守的网络通信语言。网络成员使用的这种语言成为网络通信协议(Network Communication Protocol)。它表示了特定的术语以及成员之间在通信时必须遵守的、共同达成的规则。

                                                                6、数据同步方式

所谓同步就是指接收端要按发送端所发送的每个码元的重复频率以及起止时间来接受数据,也就是在时间基准上必须取得一致。在通信时,接收端要校准自己的时间和重复频率,以便与发送端取得一致。若按照同步可分为:载波同步、位同步(码元同步)、群同步(帧同步)、字符同步和网不同。

1.2.2  数据传输设施

数据传输设施指的是网络传输介质、以及终接、转接、信号变换设备等。

1.网络传输介质

用来连接网络结点的物理介质称为网络传输介质。网络传输介质可分为有线和无线两大类。

有线介质:双绞线、同轴电缆、光纤等等

无线介质:无线电波(微波、卫星通信)以及红外辐射

2.设备、结点、主机

“设备”:网络中互连的实体。

实体可能是终端、打印机、计算机或与特定网络相关的硬件单元。

3.数据传输设施性能

数据设施的性能是指设备对数据的传输处理能力、方法和效率等。

1.2.3 以计算机为基础的通信网络

一个非常简单的计算机网络可由一个称为宿主的计算机、一个发送设备以及一个接收设备组成。

1.IPv6与下一代互联网

在20世纪初,互联网刚刚起步的阶段,IPv4定义的饿2位IP地址足够使用。但是进入21世纪,IPv4地址不能满足互联网应用的需要。1998年12月IETF发布了一套全新的协议标准IPv6。 

IPv6是分组交换网中的一个网络层协议,它在IP网络中提供端到端的数据传输。IPv6还实现了IPv4没有的功能:路由、自动配置等。

2.物联网

1999年,其定义为通过射频识别(RFIDI)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物品与互联网相连接,进行信息交换和通信,以实现只能化识别、定位、跟踪、监控和管理的一种网络概念。

目前,一般认为物联网是指通过各种信息传感设备,实时采集任何需要监控、连接、互动的物体或过程等各种需要的信息,与互联网结合而形成的一个巨大的网络。其目的是实现物与物、物与人、所有的物品与网络连接,方便识别、管理和控制。

3.软件定义网络(Software Defined Network,SDN)

SDN是一种新型的网络架构,设计理念是将网络的控制平面与数据转发平面进行分离,并实现可编程化控制。SDN把网络分为应用层、控制层、基础设施层3层。最上层为应用层:包括各种不同的业务和应用;控制层主要负责处理数据平面资源的编排,维护网络拓扑、状态信息等;基础设施层主要负责基于流表的数据处理、转发和状态收集。

1.2.4  网络通信软件

计算机网络通信软件通常由网络操作系统网络通信协议软件等组成。

1.网络操作系统

网络操作系统(Network Operation System,NOS)是网络的心脏和灵魂,是向网络中的计算机提供数据通信资源共享功能的操作系统。

网络操作系统运行在网络硬件上,为网络用户提供共享资源管理服务、基本通信服务、网络系统安全服务等等。

计算机网络操作系统主要有Windows、Linux、UNIX等

Windows 适用于桌面计算机

Linux 目前较适用于小型网络

UNIX则适用于大型服务器应用程序

2.网络通信协议软件

网络通信协议软件是通信协议的具体软件实现。

其任务一般有:

① 各种设备之间的通信;

② 用户终端之间或用户终端与应用程序之间的通信。

③ 数据库之间的通信

④ 应用程序之间的通信

1.3 计算机网络的组成

1.3.1 分组交换网的组成结构

按照基于分组交换技术的计算机网络所具有的数据通信和数据处理功能,可以将其划分为通信子网、资源子网两部分,基本组成结构如下:

1. 资源子网

资源子网主要对数据信息进行收集、加工和处理,面向用户提供入网的途径、各种网络资源与网络服务。

(1)主机(Host)

        主计算机系统可以是大型机、小型机或者局域网中的微型计算机,他们是网络中的主要资源,也是数据和软件资源的拥有者,一般通过高速线路将它们和通信子网的结点相连。

(2)终端控制器和端系统

          终端控制器连接一组端系统,并且与主计算系统相通信,或者直接作为网络结点;在局域网中,它相当于集线器(Hub);

           端系统是直接面向用户的交互设备,可以是由键盘和显示器组成的简单终端,也可以是微型计算机系统。

(3)计算机外设

           计算机外设主要是网络中的一些共享设备。例如:硬盘、打印机、绘图仪等等。

2.通信子网

通信子网主要负责计算机网络内部信息流的传输、交换和控制以及信号的变换和通信的相关处理工作,间接地服务于用户。

(1)网络结点

        网络结点有两个作用:①作为通信子网与资源子网的接口,负责管理和收发本地主机和网络所交换的信息。在互联网中,成为网关或者路由器。②作为发送数据、接收数据、交换和转发数据的通信设备。

        网络结点可以分为交换结点和访问结点两种。①交换结点主要包括交换机、网络互连时用的路由器……②访问结点主要包括连接用户主计算机(Host)和终端设备的接收器、发送器等通信设备。

(2)通信链路

        连接两个节点之间的一条通信信道。

        链路的传输介质可以是有线介质,如双绞线、同轴电缆、光导纤维等等

        无线介质,如微波、卫星等。

(3)信号变换设备

        调制解调器(数字信号->模拟信号),用于光纤通信的编码解码器

1.3.2 计算机网络的拓扑结构。

计算机网络拓扑结构和物理拓扑结构两层含义:①逻辑拓扑结构指各组成部分的逻辑关系,即信息是如何流动的;②物理拓扑结构是指各组成部分的物理关系,即物理连接方式

 

(1)总线拓扑结构

        总线拓扑结构中总线具有信息的双向传输功能,普遍用于互联网的连接,总线一般采用同轴电缆或者双绞线。 

(2)星状拓扑结构

        星状拓扑结构是一种以中央结点为中心,把若干外围结点连接起来的辐射式互联结构,采用的材质和上面的一样。

(3)环形拓扑结构

        环形拓扑结构是将网络结点连接成闭合环路。这种结构特别适用于实时控制的局域网系统

(4)树状拓扑结构

        一般采用双绞线,光纤或者同轴电缆,用于军事单位,政府部门、上、下界限相当严格和层次分明的部门。

1.3.3 互联网的组成

端系统一般通过网络交换设备彼此连接。网络交换设备从它的一条输入链路接收到达信息快,从输入链路转发该信息块。在计算机网络中,把这种信息块称为分组或者包。

常见的网络交换设备:路由器(Router)和链路层交换机(Link Layer Switch)

1.4 计算机网络的分类

1.4.1 按照网络覆盖的地理范围分类

计算机网络可分为:个人区域网、局域网、城域网、广域网

个人区域网PAN(Personal Area Network)

  • 能在便携式消费电器与通信设备之间进行短距离通信的网络
  • 覆盖范围一般在10米半径之内,如打印机、PDA、智能手机以及穿戴设备等等
  • 场景使用:家庭、小型办公室等

局域网LAN(Local Area Network)

  • 某一个区域内由多台计算机互连成的计算机通信网络,网络中不设中央主机系统。
  • 覆盖范围10m~10km,通常限于一栋建筑物、一所校园或者一个企业内部。
  • 优势:信道宽带大、数据传输速率高,误码率低。
  • 拓扑结构简单,一般采用广播式信道的总线状、星状、环状结构。

城域网MAN(Metropolitan Area Network)

  • 在一个城市范围内所建立的计算机通信网。
  • 地理范围可从十千米到数百千米,可覆盖一个城市或者地区

广域网WAN(Wide Area Network)

  • 是指一种跨地区的数据通信网络,通常由两个或者多个局域网组成。
  • 覆盖范围:100km以上,国家之间的远程性网络。

 

二、计算机网络体系结构

2.1 网络体系结构的概念

2.1.1 网络协议

 2.1.2 分层网络体系结构 

人们提出了采用分层的方法来构建网络体系结构。原因:分层可将庞大而复杂的问题转化为若干较小的局部问题,而这些较小的局部问题比较易于研究与处理。

1、协议的分层

协议分层的目的:把复杂的通信问题划分为许多个子问题,然后为每个子问题设计一个单独的协议,即每次对应一个协议。这样做使得每个协议的设计、分析、编码和测试都比较容易了。

2.1.3 网络体系结构中的一些术语

帧:给每段消息加上报头信息,而且还要加上尾部信息,构成新的数据单元

接口:同一计算机的相邻功能层之间进行信息传递的通信规则

实体:在网络分层结构中,表示进行发送活着接收信息的硬件或者软件的进程

对等实体:位于不同子系统的对等层交互实体

服务就是网络中各层向其相邻上层提供的一组操作,是相邻两层之间的界面。由于网络分层体系结构的单向依赖关系,使得网络中相邻层之间的界面也是单向性的;下层是服务提供者,上层是服务用户

服务和协议是迥然不同的两个概念。协议是“水平的” ,协议是控制两个对等实体进行通信的规则或约定。服务是”垂直的“,即服务是下层向上层通过层间接口提供的。服务描述两层间的接口,下层是服务提供者,上层是服务用户。协议是定义同层对等实体之间的交换帧、数据包和意义的一组规则。

2.2 ISO/OSI 参考模型

2.2.1 ISO/OSI 的七层参考模型

 

物理层(Physical Layer)

  • 产生并检测电压以便发送和接收携带数据的信号。
  • 物理层协议关心的典型问题是使用什么样的物理信号来表示数据1和0
  • 物理层的设计主要设计物理层接口的机械、电气、功能和过程(通信步骤)特性。 

数据链路层(Data Link Layer)

  • 控制网络层与物理层之间的通信
  • 实现相邻结点间的线路上无差错地传送以帧为单位的数据
  • 错误检测与纠正:为提供可靠数据通信提供可能
  • 成帧(Framing):从物理层的比特流中提取出完整的帧
  • 物理地址(MAC address):48位,理论上唯一网络标识,烧录在网卡,不便更改
  • 流量控制,避免“淹没”(overwhelming):当快速的发送端遇上慢速的接收端,接收端缓存溢出

网络层(Network Layer)

  • 在开放系统之间的网络环境中提供网络对等层对等实体建立、维持、终止网络连接手段,并在网络连接上交换网络层协议数据元,此为分组。
  • 网络层有网络寻址功能。
  • 实现两个端系统之间的数据透明传送。它提供的服务使传输层不需要了解网络中的数据传输和交换技术
  • 路由(Routing):在网络中选取从源端到目的端转发路径,常常会根据网络可达性动态选取最佳路径,也可以使用静态路由
  • 网络层将数据层提供的报文段组成数据包,包中封装有网络层的包头,其中含有的逻辑地址信息为:源站点和目的站点地址和网络地址

传输层(Transport Layer

  • 通信子网中没有传输层,传输层纸存在于端开放系统,即主机中。
  • 将数据从源端口发送到目的端口(进程到进程)
  • 如果没有传输层,数据将不能被接收端验证或者解释
  • 传输层协议同时进行流量控制或者基于接收端可接收数据的快慢程度规定适当的发送速率。
  • 两类模式:可靠的传输模式,或不可靠传输模式(可简单了解,不必深入)
  • 可靠传输:可靠的端到端数据传输,适合于对通信质量有要求的应用场景,如文件传输等
  • 不可靠传输:更快捷、更轻量的端到端数据传输,适合于对通信质量要求不高,对通信响应速度要求高的应用场景,如语音对话、视频会议等

会话层 (Session Layer)

  • 利用传输层提供的服务,在应用程序之间建立和维持会话,并能使会话获得同步

表示层(Presentation Layer)

  • 关注所传递信息的语法和语义,管理数据的表示方法,传输的数据结构

应用层(Application Layer)

  • 通过应用层协议,提供应用程序便捷的网络服务调用
  • 它是用户使用OSI环境的唯一窗口,是面向用户的层
     

 2.3 TCP/IP体系结构

2.3.2 TCP/IP 体系结构各层的功能

网络接口层

  • 相当于 ISO的物理层以及数据链路层,在这一层发送的数据称为帧
  • TCP/IP 未定义这一层的协议

互连网络层

  • 相当于ISO的网络层部分,负责多个网络间通过网关/路由器传输信息
  • 功能有三:
  • ① 处理来自传输层的分组发送请求,将分组装入IP数据报,填充报头,选择去往目的结点和路径,然后将数据包法网适当的网络接口
  • ② 处理输入数据报。首先检查数据报的合法性,然后进行路由选择,假如该数据报已经到达目的结点(本机),则去掉报头,将IP报文的数据部分交给相应的传输层协议
  • ③ 处理网络路由选择、流量控制、和拥塞控制等问题

传输层

  • 与ISO中传输层的作用一样,在源结点和目的结点的两个进程实体之间提供端到端的数据传输。
  • 解决不同应用进程的标记,以及校验问题。传输层以上的各层不再关心信息传输问题,所以传输层常常被认为是计算机网络体系结构最重要的一层。

应用层

  • 确定进程之间通信的性质以满足用户的需要,直接为用户的引用进程提供服务。

2.4 TCP/IP 结构 与 ISO 结构的比较

在这里插入图片描述

❗️❗️补充:

1.数据报:当应用程序按照协议格式构建好要发送的数据。这时的数据称为数据报文,简称数据报。特点是数据还没有发送

2.数据包:数据报在发送的时候,会根据网络要求,进行特定处理,如IP分片、TCP分片。这时的数据是实际发送的数据,被称为数据包。

3.分组:它是Wireshark专有说法。Wireshark抓到实际传输的数据包,会进行额外的处理,如将分片包进行重组,并在最后一个分片包中显示重组的数据。所以此时的分组不一定是实际传输的数据。

打个比喻:你要给你老婆快递20斤苹果。按照规范格式,苹果都放到一个纸箱中,并写好收发人信息。这叫数据报。快递公司拿到件后,说20斤太重,只能每个包裹5斤。快递公司重新打包,并发走。这叫数据包。你老婆收到快递后,拿出所有的苹果一称,发现分量足,没问题。这是分组。


原文链接:https://blog.csdn.net/daxueba/article/details/105310317

三、物理层。

物理层是唯一直接提供原始比特流传输的层,它必须解决好与比特流的物理传输有关的一系列问题。

对应于传输介质与数据链路层的物理层位置如下图所示:

 物理层向数据链路层提供的服务主要包括以下内容:

  1. 物理连接的建立、维持和释放
  2. 传输数据。一是要保证数据能正确通过,二是要提供足够的带宽,以减少信道上的拥塞,,传输方式要能够满足点到点一点到多点串行或并行半双工或全双工同步或异步传输的需要。
  3. 数据发出前,本地结点必须处理原始的数据流,将从数据链路层所接收到的帧转换为用0和1表示的电、光或者电磁信号

3.2 数据通信的基本概念

3.2.1 什么是数据通信

数据通信(Data Communication)是通信技术计算机技术相结合而产生的一种通信方式,是各类计算机网络赖以建立的基础。

在计算机中,数据都以二进制数据0和1形式表示,并称之为二进制符号。数据通信意味着传输数字数据。

数据通信将数据传输和处理融为一体,目的是实现计算机资源与软、硬件的共享以及进行远程数据传输和处理等。

3.2.2 一般概念与术语

1、消息

消息(Message),指通信过程中传输的具体原始对象,例如,电话中的语音。消息通常可以分成两大类:一类是离散消息,另一类是连续消息,二者都具有随机性的特点,并都可以进行量度

2、信息

信息(Information),可以理解为消息中包含的有意义的内容。

消息的有用程度与信息的多少有关系。消息出现的概率越小,则消息中包含的信息就越大。

3、数据

数据(Data) ,是传递信息的实体,是用来描述任何物体、概念、形态且预先具有特定含义的数字、字母和符号。

4、信号

信号(Signal)是数据的物理量编码(通常为电编码),是消息的承载者。在通信中所使用的信号,指的是电信号或者光信号

3.2.3 数据通信系统的组成

1、终端设备子系统

  • 终端设备子系统由数据终端设备(DTE)以及有关的传输控制设备组成。
  • 它可以将发送的信息变换为二进制编码输出,或者把接收的二进制数字信号转换为用户能够理解的信息形式。
  • DTE可能是一台计算机、打印机等等。它是数据通信的起点或者终点。

2、数据传输子系统

  • 数据传输子系统由传输信道以及两端的数据电路终接设备(DCE)
  • DCE指的是任何能够通过网络发送和接收模拟或者数字数据的功能单元。
  • 举个例子:如果传输信道是模拟信道,DCE的作用就是把DTE送来的数字信号变换为模拟信号再送往数字信道

3、数据处理子系统

  • 数据处理子系统包括通信控制器和主计算机。
  • 通信控制器是为了减轻主计算机通信处理负担而设置的一个外围设备

3.2.4 数据通信系统的性能指标

1.数据传输速率、带宽和吞吐量     

(1)数据传输速率     

数据传输速率简称为数据速率,是指单位时间内传输的数据量,数据量的单位可以是比特和字符等,时间单位可以是s和min等。数据传输速率的单位是bit/s,可简写为b/s。

(2)带宽和宽带

  • 带宽是指某个信号所具有的频带宽度。
  • 当通信线路传送模拟信号时,把通信线路允许传送的信号频率范围称为线路的带宽(通频带),单位是赫兹(或千赫兹、兆赫兹等)。

(3)吞吐量

它是指单位时间内通过某个网络(或信道、接口)的数据量,其单位为比特每秒(bit/s)。

2、时延

    时延(Delay)是指数据(或一个报文或分组或比特)从网络(或链路)的一端传送到另一端所需要的时间。

        1)传输时延。传输时延是主机或路由器发送数据帧所需要的时间,也称为发送时延,其计算公式为:传输时延=数据帧长度/信道带宽。     

        2)传播时延。传播时延是指电磁波在信道中传播一定距离所花费的时间。其计算公式为:传播时延=信道长度/电磁波在信道中的传播速率。

        3)处理时延。处理时延是指主机或网络结点(结点交换机或路由器)处理分组所花费的时间。

        4)排队时延。排队时延是指分组进入网络结点后,需要在输入队列等待处理,及处理完毕后在输出队列等待转发的时间。

        数据在网络中的总时延是上述4种时延之和,

                即:总时延=传输时延+传播时延+处理时延+排队时延。

3、时延带宽积

        时延带宽积指传播时延与带宽的乘积,即:时延带宽积=传播时延×带宽,单位是bit。

4、误码率和比特误码率

  • 误码率是衡量数据通信系统正常工作情况下传输质量的指标,定义为二进制数据位传输时出错的概率,即:误码率Pc=传错的码元数/传输的总码元数。在计算机通信网络中,误码率一般要求低于10-8
  • 比特误码率是传输的比特被传错的概率,当传输的总比特数很大时,比特误码率Pb=传错的比特数/传输的总比特数。

5、利用率

3.4 数据传输信道

广义信道:将传输介质和完成各种形式的信号变换功能的设备

狭义信道:仅仅指传输介质本身,如双绞线、电缆、光纤、微波、短波

3.4.1 信道容量

信道容量是指通信系统的最大传输速率,也就是信道极限传输的能力。

信道容量可定义为:信道在单位时间内所能通过的最大信息量。(b/s)

3.4.2 通信复用技术

复用 (multiplexing) 是通信技术中的基本概念。
它允许用户使用一个共享信道进行通信,降低成本,提高利用率。

①频分复用

  • 将整个带宽分为多份,用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。
  • 频分复用的所有用户在同样的时间占用不同的带宽资源(请注意,这里的“带宽”是频率带宽而不是数据的发送速率)。

②时分复用

时分复用则是将时间划分为一段段等长的时分复用帧(TDM 帧)。每一个时分复用的用户在每一个 TDM 帧中占用固定序号的时隙。

③波分复用

波分复用就是光的频分复用。使用一根光纤来同时传输多个光载波信号。

 在这里插入图片描述

3.4.3 有线传输介质

光纤 

  • 高速运行
    高速点对点传输(10-100 Gbps)
  • 低错误率
    中继器相距很远,对电磁噪声免疫
  • 光纤中运输的是激光

在这里插入图片描述

双绞线

  • 两根绝缘铜线互相缠绕为一对
  • 电话线为1对双绞线,网线为4对双绞线,广泛用于计算机网络(以太网)双向传输
  • 第5类:100 Mbps~1 Gbps;第6类:10Gbps
  • 传输距离一般为为100米

同轴电缆

  • 两根同心铜导线,双向传输
  • 电缆上的多个频率通道
  • 带宽可达100Mbps
  • 传输距离一般为200米

双绞线和同轴电缆相比较,同轴电缆的抗干扰能力强。

在这里插入图片描述 3.4.4 无线传输介质

无线电

  • 电磁频谱中各种“波段”携带的信号
  • 没有物理“电线”
  • 不依赖介质的广播
  • 半双工(发送方到接收方)
  • 无线链路类型

无线局域网(WiFi)

  • 10-100 Mbps;10米
  • 广域(如3/4/5G蜂窝)
  • 在~10公里范围内
  • 蓝牙:短距离,有限速率
  • 地面微波:点对点;45 Mbps
  • 同步卫星:36000km高空, 280毫秒的往返时延
  • 低轨卫星:近地,但围绕地球高速运动,需要大量卫星才能覆盖地球

电磁波频谱

  • 在自由空间中,电磁波的传播速率是恒定的光速c。电磁波的波长和频率满足关系式:
    • c=λf                f 为频率 、、 λ为波长

微波传输

  •  地面微波
    • 地球上,两个微波站之间的微波传播方式定义为地面微波通信系统
    • 利用天线可提高传输距离,天线越高则传输时传输距离越远
    • 频率高、频段范围宽、通信信道容量较大
    • 直线传播,中间不能有障碍物 
  •  卫星通信
    • 以射频(RF)为基础
    • 传输时延较大,空间传播损耗比较严重,保密性差 

红外线

  • 发射源采用红外二极管,以光电二极管作为接收设备
  • 轻巧便携、保密性好、价格低廉

激光

  • 连接两个楼宇间的局域网
  • 有良好的方向性
  • 数据传输的可靠性高

3.5.2 数字信号的频带传输

移幅键控(ASK)、移频键控(FSK)、移相键控(PSK)

3.6.1 数据通信方式

根据数据信号在信道上传输方向与时间的关系有单工半双工全双工传输方式之分;

1、单工传输

  • 信号只能沿一个方向传输,任何时候都不能改变信号的传输方向。
  • 实例:无线电广播、有线电广播等等

2、半双工传输

  • 信号可以双向传输,但必须交替进行。
  • 任意时间里,传输只能沿着一个方向。
  • 实例:对讲机

3、全双工传输

  • 信号可以同时双向传输。
  • 该传输方式,传输速率得到很好的提高。

根据设备与设备之间数据流的配线则有并行传输串行传输之分,而对串行传输又可以分为异步同步两种方式进行。

1、并行传输

并行传输是指数字信号以成组的方式在多个并行信道中传输。

2、串行传输

  • 串行传输是指数据流的各个比特逐位依次在一条信道上传输。通常传输的顺序是由高位到地位,一个字符一个字符地传送 
  • 优点:只需要一条通信信道,设备成本低,而且容易实现,是目前计算机通信中主要采用的一种传输方式

四、数据链路控制。

4.1数据链路层

一些术语:

主机和路由器均称为结点(Node)。

沿着通信路径连接相邻结点的通信信道成为链路(Link)。

数据链路:在一条线路上传输数据时,不但必须有一条物理线路,还要在链路上加上能够控制数据传输的协议软件

在两个结点之间可以有一条或多条数据链路。现在最常用的方法就是(网卡)。

主要功能:

成帧 (Framing)
将比特流划分成“帧”的主要目的是为了检测和纠正物理层在比特传输中可能出现的错误,数据链路层功能需借助“帧”的各个域来实现
差错控制 (Error Control)
处理传输中出现的差错,如位错误、丢失等
流量控制 (Flow Control)
确保发送方的发送速率,不大于接收方的处理速率,避免接收缓冲区溢出

链路访问控制(Link Access)

  • 数据链路协议必须能够决定在任意时刻由哪一个结点来获取对链路的控制权
  • 介质访问控制协议定义了帧在链路上传输的规则

物理寻址

在多点连接的情况下,发送结点必须保证数据信息能够正确低发送到接收结点,而接收结点也应该知道发送结点是哪一个结点

数据链路管理

1.无确认 无连接 服务( Unacknowledged connectionless )

  • 接收方不对收到的帧进行确认
  • 适用场景:误码率低的可靠信道;实时通信;

网络实例:以太网
2.有确认 无连接 服务( Acknowledged connectionless )

  • 每一帧都得到单独的确认
  • 适用场景:不可靠的信道(无线信道)
  • 网络实例:802.11

3.有确认 有连接 服务( Acknowledged connection-oriented )

  • 适用场景:长延迟的不可靠信道

4.2 帧与组帧

4.2.1 帧的基本格式

4.2.2 成帧的方式

常见的成帧方式有两种:一是基于字符的组帧;二是基于比特的组帧。

1)基于字符的组帧

  1. 首先引入一个十六进制为10的转义字符DLE(Data Link Escape,数据链路转换)
  2. 指定(DLE STX )作为帧的开始字节和(DLE ETX )结束字节。
  3. 发送方在「发送前」,先检查帧的数据部分,有没有和特殊字节「重复」的内容(数据部分与特殊字节重复时,会使接收方错误的识别帧的开始和结束)。
  4. 如果有重复的部分,就会「填充」另外一种特殊字节(DLE),告诉接收方,这个字节(8位)的数据不是帧界定符,你不要识别。
  5. 发送方在接收帧以后,再将这个填充的特殊字节「删除」掉。

2)基于比特的组帧
指定一个特殊字节( 01111110 )作为帧界定符,用来标识帧的开始和结束。
发送方在「发送前」,先检查帧的数据部分,只要有「5个连续的1」,就在后面「填充1个0」。

接收方在收到帧以后,先找到帧的界定符,再扫描帧的数据部分,只要有5个连续的1,就「删除」后面的0。

比特填充的具体过程如下:

  1.  假如将要传输的数据集实例:1111110011111011
  2.  比特填充后:111110100111110011
  3. 经过比特填充插入开始停止比特后的数据集为

        01111110 111110100111110011 01111110

4.3 数据链路的差错与流量控制

链路层存在的一个问题:信道的噪声导致数据传输问题

  • 差错( incorrect ):数据发生错误
  • 丢失( lost ):接收方未收到
  • 乱序(out of order):先发后到,后发先到
  • 重复(repeatedly delivery):一次发送,多次接收

解决方案:差错检测与纠正、确认重传

  • 确认:接收方校验数据(差错校验),并给发送方应答,防止差错
  • 定时器:发送方启动定时器,防止丢失
  • 顺序号:接收方检查序号,防止乱序递交、重复递交

 这里拓展一下检错码和纠错码

检错码

在被发送的数据块中,包含一些冗余信息,但这些信息只能使接收方推断是否发生错误但不能推断哪位发生错误,接收方可以请求发送方重传数据主要用在高可靠、误码率较低的信道上,例如光纤链路偶尔发生的差错,可以通过重传解决差错问题

纠错码

发送方在每个数据块中加入足够的冗余信息,使得接收方能够判断接收到的数据是否有错,并能纠正错误(定位出错的位置)主要用于错误发生比较频繁的信道上,如无线链路也经常用于物理层,以及更高层(例如,实时流媒体应用和内容分发)使用纠错码的技术通常称为前向纠错(FEC,Forward Error Correction)

常用的术语

信息码元:原始的有用数字码元; 01010101

监督码元:为检错纠错而增加的“冗余”码元;01010101 001

码字:信息码元和监督码元组成的定长数字序列; 01010101 001

码重:码字中1的数目,用W表示。如101011的码重W=4;

码距:两个等长码字之间,对应位上不同取值的个数。如1010011与1101001的码距为4。码距用d表示。码距也称为汉明(Hamming)距离。

码集:码字的集合体;

最小码距:在一个码集中,全部码距的最小者,用dmin表示。

编码效率:码字中信息码元所占的比重,是衡量编码性能的一个重要参数,用R表示,R=k/n。k为信息码元的长度,n为码字的长度。

 ⚠️⚠️:二进制除法

  1. 同为0,异位1
  2. 被除数位数不够商为0,位数够商为1

 

 

1、标志字段F

  • 标志字段F(Flag)占用1B,为比特组合序列01111110。
  •  HDLC采用零比特填充法使一帧中两个F字段间不会出现6个连续1,即保证标志字段F的唯一性。

2、地址字段A

  • 开始标志字段后是地址字段A(Address),占用1B或2B,它只能标明一个地址
  • 若地址字段用8位表示,共有256种组合。全1地址是广播地址,全0地址是无效地址;因此,有效地址为254个。
  • 当需要扩展地址字段时,方法是用地址字段的第一位置O作为扩展位,表示下一个8位地址字段是基本地址的扩展

3、控制字段C

  • 帧的控制字段C(Control)占用1B或2B,用以标识和区别帧的类型和功能。

4、信息字段I

  •  信息字段Info (Information)用来存放用户信息

5、帧校验序列字段FCS

  • 帧校验序列字段FCS使用16位的循环冗余码

 

 

五、传输层。

5.1 传输层概述

  • 位于应用层和网络层之间的传输层是分层网络体系结构的核心部分
  • 设计的目的:弥补通信子网服务的不足,提高传输服务的可靠性与保证服务质量
  • 主要作用:它们在高层(应用层)和低层(网络层、数据链路层和物理层)提供的服务之间担当联络工作, 高层协议可以使用传输层所提供的服务和网络层交互,而不必直接和低层打交道;
  • 传输层本身与实际的网络无关,任何用户进程或应用程序可以直接访问传输服务。

  • 传输层的任务是在两个不同系统的进程之间提供逻辑通信服务。
  • 传输层关心会话实体之间的数据传输,它的所有协议都具有端到端的意义
  • 逻辑通信:应用进程之间不是物理连接的
  • 应用进程通过使用传输层提供的逻辑通信互相传输信息,而不考虑用来传送这些信息的物理基础设施。 

5.1.1 传输层的基本功能

  • 传输层为网络环境中主机的应用进程提供从源端到目的端(端到端)的进程通信服务;
  • 传输层负责整个报文端到端的传输过程;
  • 网络层监管各个数据分组的传输,但并不了解这些数据分组之间的相互关系;
  • 网络层独立处理每个数据分组,就像每个数据分组都属于一个独立的报文一样; 传输层保证整个报文按顺序到达目的端,并可进行差错控制和流量控制
  • 传输层的主要作用之一是为高层协议屏蔽下层操作的细节:用户可以完全不了解支持用户活动的物理网络,因为有传输层在用户和网络之间提供透明的接口

  • 传输层是面向应用进程的,应用进程多种多样,这要求传输层能提供多种服务方式
  • 其中最主要的有两种:一种是能提供可靠数据报、顺序提交;另一种是不要求可靠、顺序提交
  • 传输层提供了两种服务协议:即面向连接的传输协议和无连接的传输协议。
  • TCP/IP体系中的传输控制协议(TCP)用户数据报协议(UDP)
  • 它们的基本功能就是将IP的两个终端系统之间的传输服务扩展为终端系统上运行的两个进程之间的传输服务。主机之间的传输服务扩展到进程之间的传输服务称为传输层的多路复用与多路分解

TCP 与 UDP的区别

  • TCP提供面向连接的传输服务。在传送TCP报文段之前必须先建立连接,数据传送结束后要释放连接。TCP报文段是在传输层抽象的端到端逻辑信道中传送的,这种信道是可靠的全双工信道。(打电话)
  • UDP在传输数据之前不需要先建立连接,其报文是在传输层的端到端抽象的逻辑信道中传送的。远程主机的传输层在收到UDP报文后不需要给出任何确认。虽然UDP提供可靠,但在某些情况下,UDP是一种有效的工作方式。(发短信)

补充:

报文段:在发送端,传输层将接收到的来自发送进程的报文转成传输层分组,我们将称其为报文段。 

5.1.2 传输层提供的服务

  • 传输层的最终目标是向应用层的进程提供有效、可靠的服务。
  • 传输层中完成这一工作的硬件或软件称为传输实体
  • 传输实体可能在操作系统内核中,也可能包含在网络应用程序中
  • 传输层提供的服务由在两个传输实体之间使用的传输协议来实现;(类似数据链路层)
  • 数据链路层用以在单个网络中(一条物理信道)传输数据,传输层则在由许多网络组成的互联网上 (以整个子网为通信信道) 提供这些服务;
  • 传输协议向应用层提供的服务内容包括:端到端的传输服务点寻址可靠数据传输流量控制

 补充:路由器不属于数据链路层的互联设备,但它属于网络层设备。

(1)端到端的传输

  • 传输层协议是在端系统中不是在网络中的路由器中实现的。
  • 网络层监管各个数据的传输,在这些数据报之间看不到任何联系,即使它们属于同一个报文。
  • 网络层将每个数据报看作一个独立的实体(在此指的是:能够收发信息的软件)
  • 传输层确保整个报文段(而不只是单报文段)完整地到达。
  • 传输层监管整个报文段端到端(源端到目的端)的传输。

(2)服务点寻址

  • 传递到应用层的功能实际上是传递给应用程序(就是说网络应用程序存在于应用层)
  • 使用传输服务的是传输服务用户,即应用层中的各种应用进程
  • 传输层中两个对等传输实体之间的通信遵循传输层协议;
  • 层与层之间交换信息的抽象接口分别是传输层服务访问点(TSAP)和网络层服务访问点(NSAP)
  • 计算机系统之中,进程很多传输层唯一,为了正确把数据交付给应用程序之中,每一个应用程序必须要有标志

(3)可靠数据传输

  • 传输层,可靠数据传输包括差错控制、顺序控制、丢失控制和重复控制四个方面。
  • (a)差错控制
    • 传输时,可靠性的主要目标是差错控制,数据到达目的端必须与它们从源端发出的完全一样
    • 差错处理的机制是基于差错检测和重传(如校验和)
  • 问题:数据链路层已经有了差错处理,为什么传输层还需要有重复的功能呢?
    • 答:①数据链路层的功能是保证每条链路中结点到结点的无差错传送,而结点到结点的可靠性并不能够代表端到端(进程到进程)之间的可靠性。
    • 数据帧在路由器内部处理时候可能会引入差错
  • (b)顺序控制
    • 发送端:传输层负责从高层接收到的数据单元可被低层使用
    • 接收端:传输层负责保证传输从不同报文的正确重组
  • (c)丢失控制
    • 传输层确保传输的所有片段都会到达目的端。
    • 序列号使接收端的传输层协议可以识别出丢失的段,并要求重传
  • (d)重复控制
    • 传输层也得确保没有重复的数据段到达接收端系统。
    • 序列号发现异样,依然可以要求重传

(4)流量控制

  • 传输层的流量控制也使用滑动窗口协议,窗口的大小可以变化以适应缓冲区的占用
  • 窗口的大小由接收端负责控制。
  • 大小的变化是基于所要容纳的字节数,而不是帧数
  • 传输层的所有协议都为应用进程提供多路复用、多路分解的服务。

5.1.3 端的标志

  • 应用层的各种进程都是通过相应的端口与传输实体进行交互;
  • TCP/IP引入端口和套接字(Socket),用于区分不同进程:

 (1)端口的概念

  • 端口:用于标志传输层协议和应用进程之间的数据接口
  • 端口的作用:
    • 让应用层中各种网络引用进程都能将其数据通过端口向下交付给传输层,
    • 以及让传输层知道应当将其报文段通过重组向上通过端口交付给应用层相应的进程
  • 端口号:16位的无符号整数值
  • 本地主机中,一个应用进程对应一个端口号,不同主机,端口号分配不一致
  • 当开发一个新应用程序时,必须为其分配一个端口号
  • 了解:取值256~1023为其他保留端口号,1024~65535为用户自定义服务端口号

(2)套接字地址

  • 多主机多进程通信时,必须把端口号和主机的IP地址结合起来使用,称为插口或套接字(Socket)。
  • 由于主机的IP地址是唯一的,这样目的主机就可以区分收到的数据报的源端机了。  
  • 套接字包括IP地址(32位)和端口号(16位),共48位。

套接字 socket = (IP地址 : 端口号)
 

  • 一条连接需要两端的套接字来识别,即一条连接由两端的套接字地址唯一确定,称为套接字对
  • 客户机的IP地址:客户机的端口号,服务器的IP地址:服务器的端口号
  • TCP中,一个套接字可以被多个连接同时使用;

每一条TCP连接 唯一地 被通信两端的两个端点(两个套接字)所确定:

        TCP连接::={socket1,socket2} = {IP1:port1),(IP2:port2)};

  • 在整个Internet中,在传输层上 进行通信的 一对套接字 必须是唯一的

  •  通信双方各自的 套接字地址唯一标志了本次双方的通信
  • 套接字中IP地址唯一标志一台主机,而端口号则唯一标志了该主机上的一个进程或程序
  • 提供服务的TCP服务器IP地址及其端口号应该让客户机知道

4.1.4 多路复用与多路分解服务

  • 含义:将网络层所提供的主机到主机交付服务扩展到主机上的运行进程到运行进程的交付服务
  • 多路复用:在源主机(源端)不同套接字中收集数据块,并为每个数据块封装首部信息从而生成报文段,然后将报文段向下传到网络层
  • 多路分解:将传输层报文段中的数据通过多个端口交付给应用进程。

5.2 用户数据报协议(UDP)

用户数据报协议存在于传输层上,该协议规定用户以数据报方式进行通信

5.2.1 UDP协议概述

  • UDP突出的特点是 简单。有端口、校验和功能。
  • UDP通信期间无需建立连接,避免建立与释放连接的麻烦,相应地减少了时延
  • UDP不使用拥塞控制,网络出现的拥塞不会使源主机的发送速率降低,很适合多媒体通信的要求;
  • UDP可提供组播服务,支持一对一、一对多、多对一、多对多的交互通信
  • 不提供确认重传功能,不保证数据报能否到达目的端,称为不可靠协议

问题:为什么提供差错检测,而又称为不可靠服务?

虽然提供差错检测能力,但是对差错回复是无能为力,有些是直接将出错的报文丢弃,有些则是将差错的报文交给应用层,并给出错误报告

5.2.2 UDP 报文结构

  • 每个UDP报文称为一个用户数据; UDP数据报包含UDP报文头数据两部分。
  • UDP仅通过不同的端口号来区分不同的应用进程

 

 5.3  传输控制协议(TCP)

  • TCP协议提供一个完全可靠的(没有数据重复或丢失)、端到端的面向连接的全双工的字节流传输服务,允许两个应用进程建立一个连接,并在任何一个方向上发送数据,然后终止连接。
  • 每个TCP连接可靠地建立,友好地终止,在终止发生之前的所有数据都能被可靠传输。
  • TCP使用三次握手的方式建立一个连接(必须事先建立),数据传输完成之后,任何一方都可以断开该连接。 

2)对发送的TPDU启动计时器,超时重传

3)对正确接收的TPDU进行确认

4)对报头和数据计算校验和 

5)识别并丢弃重复的TPDU

6)提供流量控制(实行缓冲区管理)(滑动窗口协议)

TPDU:传输协议的数据单元

(2)TCP协议提供端到端的服务

TCP协议提供的连接称为虚连接(Virtual Connection),由软件实现;

 (3)TCP协议提供面向连接的服务

一个应用进程必须首先请求一个到目的端的连接

(4)TCP协议提供字节流服务

一端将字节流放到TCP连接上,同样的字节流将出现在TCP连接的另一端。

(5)TCP连接支持全双工模式

TCP协议是全双工协议,支持同时双向传输,点到点通信,TCP协议不支持多播通信和广播通信。

5.3.2 TCP 报文结构

 报文段的大小必须首先满足IP数据报数据载荷长度限制,还要满足最大链路层帧长度的设置

序列号:当前数据块在整个消息中的位置;

确认号:指示下一个数据块序列号; 

  • 在TCP数据流中的每个字节流都编有号码。
  • 例如:一个10^6字节长的文件,最大报文段大小为1000B,第一个字节流的序列号定义0,每个报文段数据为1000B,

头长度字段:用来说明TCP报文段报头的长度;通常这个字段为空

保留字段(0) :这是TCP在设计之初为更正设计中的错误而准备的

窗口:用于数据流量的控制,接收端通过此告诉发送端可利用的缓存空间还有多少

 控制位标志字符:

  • URG标志:如果URG为1,则表示本报文段中包含紧急数据,此时紧急数据指针表示的值有效,它表示在紧急数据之后的第一个字节的偏移值(即紧急数据的总长度)
  • ACK标志:用来表示确认号的值有效。ACK为1表示报文段中的确认号有效。否则,报文段中的确认号无效,接收端可以忽略它。
  • PSH(Push)标志:用来标志数据流中是否有紧急数据,若为1则表示此时接收端应该把数据立即送到高层
  • RST( Reset)标志:用于复位;RST等于1时表示要重新建立TCP连接;
  • SYN( Synchronize)标志:用于建立连接的过程;连接请求中,若SYN=1、ACK=0表示该报文段没有使用捎带的确认域;若SYN=1、ACK=1则表示该连接响应报文段捎带了一个确认。
  • FIN标志:用于释放连接;等于1时表示发送端数据已发送完毕

5.3.3 TCP的连接管理;

  • 第一次握手:Client将SYN置1,随机产生一个初始序列号seq发送给Server,进入SYN_SENT状态;
  • 第二次握手:Server收到Client的SYN=1之后,知道客户端请求建立连接,将自己的SYN置1,ACK置1,产生一个acknowledge number=sequence number+1,并随机产生一个自己的初始序列号,发送给客户端;进入SYN_RCVD状态;
  • 第三次握手:客户端检查acknowledge number是否为序列号+1,ACK是否为1,检查正确之后将自己的ACK置为1,产生一个acknowledge number=服务器发的序列号+1,发送给服务器;进入ESTABLISHED状态;服务器检查ACK为1和acknowledge number为序列号+1之后,也进入ESTABLISHED状态;完成三次握手,连接建立。

  • 第一次挥手:Client将FIN置为1,发送一个序列号seq给Server;进入FIN_WAIT_1状态;
  • 第二次挥手:Server收到FIN之后,发送一个ACK=1,acknowledge number=收到的序列号+1;进入CLOSE_WAIT状态。此时客户端已经没有要发送的数据了,但仍可以接受服务器发来的数据。
  • 第三次挥手:Server将FIN置1,发送一个序列号给Client;进入LAST_ACK状态;
  • 第四次挥手:Client收到服务器的FIN后,进入TIME_WAIT状态;接着将ACK置1,发送一个acknowledge number=序列号+1给服务器;服务器收到后,确认acknowledge number后,变为CLOSED状态,不再向客户端发送数据。客户端等待2*MSL(报文段最长寿命)时间后,也进入CLOSED状态。完成四次挥手。

问题:为什么不是两次握手

  • 根本原因: 无法确认客户端的接收能力。
  • 分析如下: 如果是两次,你现在发了 SYN 报文想握手,但是这个包滞留在了当前的网络中迟迟没有到达,TCP 以为这是丢了包,于是重传,两次握手建立好了连接。
  • 看似没有问题,但是连接关闭后,如果这个滞留在网路中的包到达了服务端呢?这时候由于是两次握手,服务端只要接收到然后发送相应的数据包,就默认建立连接,但是现在客户端已经断开了。 

5.4 TCP定时管理

  • 超时设置问题在 Internet的传输层比数据链路层更难解决;传输层中,其往返时延的方差很大
  • 不能太短,否则会引起很多报文段的不必要的重传,使网络负荷增大。
  • 不能过长,数据重传的时延过长,会使网络的空闲时间增大,降低了传输效率。
  • TCP 采用了一种自适应重传算法,它记录一个报文段发出的时间,以及收到相应确认的时间。 

5.5 TCP拥塞控制管理

加载到某个网络上的载荷超过该网络处理能力的现象,称为拥塞现象

网络拥塞会引起许多报文段丢失;

网络拥塞往往比硬件故障所造成的情况更为严重,最坏结果:系统崩溃

5.5.1 拥塞原因与开销

(1)主机或者网络交换结点缓存空间不足

(2)处理器处理能力较弱

(3)带宽容量(单位时间内接收的数据资源)相对不足

5.5.2 TCP拥塞控制算法

  • TCP的所有拥塞控制算法都是针对因数据报传输时延引起的网络拥塞而设计的;
  • 检测网络是否拥塞则可以通过监控计时器超时来判断;
  • 引起拥塞的另一个原因是接收能力,则是在建立连接时已经协商确定了的滑动窗口大小;

 两种策略:(看例子会比较快明白)

 补充:

  • 滑动窗口是接受数据端使用的窗口大小,用来告知发送端接收端的缓存大小,以此可以控制发送端发送数据的大小,从而达到流量控制的目的。
  • 拥塞窗口是数据的发送端,拥塞窗口不代表缓存,拥塞窗口指某一源端数据流在一个RTT内可以最多发送数据包 

两种算法:

 

 5.5.3 慢开始和拥塞避免算法的实现举例(主要以ppt为主)

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值