| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 吐血总结~ 计算机网络基础汇总 -> 正文阅读 |
|
[网络协议]吐血总结~ 计算机网络基础汇总 |
本篇总结了谢希仁老师版的计网,王道考研计网等书籍汇总,标红处为重点,本人转行小白一个,兴许理解不深有待指正,希望和大家共同进步。 经过一段时间的整理发现很多地方还不够深入理解了,准备再研究一下自顶向下这本书,本文有不理解的地方可以去进行专项学习,本文仅仅给了基础框架。 目录 4.4.3、IPv6数据报的目的地址可以是以下三种基本类型地址之一:. 第一章?计算机网络体系结构导图
1.1、计算机网络概述1.1.1、互联网概述计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。简而言之,计算机网络就是一些互联的、自治的计算机系统的集合。
互联网基础结构发展的三个阶段 (ISP因特网服务提供商)? (IXP互联网交换点)
1.1.2、互联网的组成1)从工作方式上分为?边缘部分?和?核心部分。 (1)边缘部分﹐由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
2)从功能组成上分为?通信子网 和?资源子网。 通信子网??由各种传输介质、通信设备和相应的网络协议组成,它使网络具有数据传输、交换、控制和存储的能力,实现联网计算机之间的数据通信。 资源子网??是实现资源共享功能的设备及其软件的集合,向网络用户提供共享其他计算机上的硬件资源、软件资源和数据资源的服务。
1.1.3、计算机网络的分类
1.1.4、计算机网络的功能1.?数据通信 2.资源共享 3.分布式处理 4.提高可靠性 5.负载均衡 1.1.5、计算机网络的标准化组织及性能指标计算机网络的标准化组织 国际标准化组织(ISO)。其制定的主要网络标准或规范有OSI参考模型、HDLC等。 计算机网络的性能指标 速率:速率顾名思义指的是数据的传送速率也称为数据率/比特率,数据即是比特也就是二进制的0或1,速率的单位就是?b/s。在这里指的是额定速率。单位转换如下
带宽:带宽有两种含义 ①?带宽本来是指某个信号具有的频带宽度。单位是?赫兹
时延:指数据(一个报文或分组)从网络(或链路)的一端传送到另一端所需要的总时间,它由4部分构成:发送时延、传播时延、处理时延和排队时延。 总时延=发送时延+传播时延+处理时延+排队时延
往返时延RTT:从发送方发送数据开始,到发送方收到接收方的确认(接收方收到数据后立即发送确认), 总共经历的时延。 时延带宽积:时延带宽积=传播时延 X 带宽
吞吐量:指单位时间内通过某个网络(或信道、接口〉的数据量。吞吐量受网络带宽或网络额定速率的限制。 1.2 、计算机网络体系结构为什么分层?依据的原则是什么?OSI参考模型和TCP/IP的区别? ①简单来说就是网络间的通信比较复杂,包括协议设计,调试等,也不方便维护和研究等因此需要进行对网络体系进行分层设计,每一层具有自己独特的功能,下层对上层提供相应的服务。 ②依据的原则: ③OSI是一种法定标准,由于其设计过于复杂,并且各层中有重复的功能,实际应用中并未使用过,但对于研究意义颇大因此保留其模型,我们常用的是TCP/IP模型。?本质上TCP/IP就是将OSI的表示层,会话层与应用层融合在一个层里了。
实体/对等实体/服务/协议/SDU/PCI/PDU概念 当研究开放系统中的信息交换时,往往使用实体(entity)这一较为抽象的名词表示任何可发送或接收信息的硬件或软件进程。在许多情况下,实体就是一个特定的软件模块。同层水平的两个实体叫做对等实体,相互之间使用协议进行实体之间通信的规则。协议是水平方向的,而服务是垂直方向的,只能由下层对上层提供服务,如下图所示
服务数据单元(SDU):为完成用户所要求的功能而应传送的数据。第n层的服务数据单元记为n-SDU。 三者关系为:n-SDU+n-PCI - n-PDU-(n- 1)-SDU,
第二章?物理层导图
2.1、通信基础2.1.1、物理层特性及模型(1)机械特性 指明接口所用接线器的形状和尺寸、引脚数目和排列、固定和锁定装置,等。平时常见的各种规格的接插件都有严格的标准化的规定。
数据、信号、码元、信源、信道、信宿基本概念 数据是指传送信息的实体。信号则是数据的电气或电磁表现。 码元是指用一个固定时长的信号波形(数字脉冲)表示一位k进制数字,代表不同离散数值的基本波形,是数字通信中数字信号的计量单位,这个时长内的信号称为k进制码元,而该时长称为码元宽度。1码元可以携带若干比特的信息量。 数据通信是指数字计算机或其他数字终端之间的通信。一个数据通信系统主要划分为信源、信道和信宿三部分。信源是产生和发送数据的源头。信宿是接收数据的终点,它们通常都是计算机或其他数字终端装置。 同步传输、异步传输、串行传输、并行传输基本概念
? 通信双方信息的交互方式看,可分为三种基本方式: (1)单向通信―又称为单工通信,即只能有一个方向的通信而没有反方向的交互。无线电广播或有线电广播以及电视广播就属于这种类型。 逮率、波特 速率也称数据率,指的是数据传输速率,表示单位时间内传输的数据量。可以用码元传输速率和信息传输速率表示。 2)信息传输速率。又称信息速率、比特率等,它表示单位时间内数字通信系统传输的二进 2.1.2、奈奎斯特定理与香农定理区别在于是否有噪声,具体如下图不多讲
2.1.3?编码与调制数据无论是数字的还是模拟的,为了传输的目的都必须转变成信号。把数据变换为模拟信号的过程称为调制,把数据变换为数字信号的过程称为编码。 基带信号与宽带信号
在传输距离较近时,计算机网络采用基带传输方式(近距离衰减小,从而信号内容不易发生变化) 在传输距离较远时,计算机网络采用宽带传输方式(远距离衰减大,即使信号变化大也能最后过滤出来基带信号) 1、数字数据编码为数字信号 数字数据编码用于基带传输中,即在基本不改变数字数据信号频率的情况下,直接传输数字信号。具体用什么样的数字信号表示0及用什么样的数字信号表示1就是所谓的编码。编码的规则有多种,只要能有效地把1和0区分开即可,常用的数据数据编码有以下几种
?(1)归零编码 2、数宇数椐调制为襆拟信号
调幅(AM) 3、模拟数据编码为数宇信号 这种编码方式最典型的例子是常用于对音频信号进行编码的脉码调制(PCM)。它主要包括三个步骤,即采样、量化和编码。 4。模拟数据调制为模拟信号 为了实现传输的有效性,可能需要较高的频率。这种调制方式还可以使用频分复用(FDM)技术,充分利用带宽资源。电话机和本地局交换机采用模拟信号传输模拟数据的编码方式,模拟的声音数据是加载到模拟的载波信号中传输的。 2.2、存储转发交换方式?2.2.1、电路交换在进行数据传输前,两个结点之间必须先建立一条专用(双方独占)的物理通信路径(由通信双方之间的交换设备和链路逐段连接而成),该路径可能经过许多中间结点。这一路径在整个数据传输期间一直被独占,直到通信结束后才被释放。因此,电路交换技术分为三个阶段:连接建立、数据传输和连接释放。
2.2.2、报文交换数据交换的单位是报文,报文携带有目标地址、源地址等信息。报文交换在交换结点采用的是存储转发的传输方式。
2.2.3、分组交换同报文交换一样,分组交换也采用存储转发方式,但解决了报文交换中大报文传输的问题。分组交换限制了每次传送的数据块大小的上限,把大的数据块划分为合理的小数据块,再加上一些必要的控制信息(如源地址、目的地址和编号信息等),构成分组(Packet)。网络结点根据控制信息把分组送到下一个结点,下一个结点接收到分组后,暂时保存并排队等待传输,然后根据分组控制信息选择它的下一个结点,直到到达自的结点。
数据报方式 ?作为通信子网用户的端系统发送一个报文时,在端系统中实现的高层协议先把报文拆成若干带有序号的数据单元,并在网络层加上地址等控制信息后形成数据报分组(即网络层的 PDU)。中间结点存储分组很短一段时间,找到最佳的路由后,尽快转发每个分组。不同的分组可以走不同的路径,也可以按不同的顺序到达目的结点。 ? 数据报方式特点 1)发送分组前不需要建立连接。发送方可随时发送分组,网络中的结点可随时接收分组。 虚电路方式 虚电路方式试图将数据报方式与电路交换方式结合起来,充分发挥两种方法的优点,以达到最佳的数据交换效果。在分组发送之前,要求在发送方和接收方建立一条逻辑上相连的虚电路,并且连接一旦建立,就固定了虚电路所对应的物理路径。与电路交换类似,整个通信过程分为三个阶段:虚电路建立、数据传输与虚电路释放。 数据报与虚电路对比 2.3、传输介质传输介质也称传输媒体,它是数据传输系统中发送设备和接收设备之间的物理通路。传输介质可分为导向传输介质和非导向传输介质。在导向传输介质中,电磁波被导向沿着固体媒介(铜线或光纤)传播,而非导向传输介质可以是空气、真空或海水等。 传输媒体并不是物理层,而是在物理层的下面,可称为第0层在传输媒体中传输的是信号。 2.3.1、导向性传输介质1.双绞线 双绞线也称为双扭线,是最古老但又是最常用的传输媒体。把两根互相绝缘的铜导线并排放在一起,然后用规则的方法绞合(twist)起来就构成了双绞线。绞合可减少对相邻导线的电磁干扰。使用双绞线最多的地方就是到处都有的电话系统。几乎所有的电话都用双绞线连接到电话交换机。这段从用户电话机到交换机的双绞线称为用户线或用户环路(subscriberloop)。通常将一定数量的这种双绞线捆成电缆,在其外面包上护套。 2.同轴电缆 同轴电缆由导体铜质芯线、绝缘层、网状编织屏蔽层和塑料外层构成。按特性阻抗数值的不同,通常将同轴电缆分 为两类:50Ω同轴电缆和75Ω同轴电缆。其中,50Ω同轴电缆主要用于传送基带数字信号,又称为基带同轴电缆,它 在局域网中得到广泛应用;75Ω同轴电缆主要用于传送宽带信号,又称为宽带同轴电缆,它主要用于有线电视系统。 3.光纤 光纤通信就是利用光导纤维(简称光纤)传递光脉冲来进行通信。有光脉冲表示1,无光脉冲表示0。而可见光的频 率大约是108MHz,因此光纤通信系统的带宽远远大于目前其他各种传输媒体的带宽。 光纤主要由纤芯(实心的)和包层构成,光波通过纤芯进行传导,包层较纤芯有较低的折射率。当光线从高折射率的 介质射向低折射率的介质时,其折射角将大于入射角。因此,如果入射角足够大,就会出现全反射,即光线碰到包 层时候就会折射回纤芯、这个过程不断重复,光也就沿着光纤传输下去。 多模光纤 图中只画了一条光线。实际上,只要从纤芯中射到纤芯表面的光线的入射角大于某个临界角度,就可产生全反射。因此,可以存在多条不同角度入射的光线在一条光纤中传输。这种光纤就称为多模光纤。 2.3.2、非导向性传输介质当通信距离很远时,敷设电缆既昂贵又费时。但利用无线电波在自由空间的传播就可较快地实现多种通信。由于这种通信方式不使用上一节所介绍的各种导引型传输媒体,因此就将自由空间称为“非导引型传输媒体"。 无线电波 无线电波具有较强的穿透能力,可以传输很长的距离,所以它被广泛应用于通信领域,如无线手机通信、计算机网络中的无线局域网(WLAN)等。因为无线电波使信号向所有方向散播,因此有效距离范围内的接收设备无须对准某个方向,就可与无线电波发射者进行通信连接,大大简化了通信连接。这也是无线电传输的最重要优点之一。 微波、红外线、激光 目前高带宽的无线通信主要使用三种技术:微波、红外线和激光。它们都需要发送方和接收方之间存在一条视线(Line-of-sight)通路,有很强的方向性,都沿直线传播,有时统称这三者为视线介质。不同的是,红外通信和激光通信把要传输的信号分别转换为各自的信号格式,即红外光信号和激光信号,再直接在空间中传播。 卫星通信 卫星通信特点是通信距离远,覆盖面积约为三分之一的地球,但其造价高且具有较大的传播时延,对于较偏僻的地方,适合用于广播通信,保密性略差 2.4、物理层设备2.4.1、中继器中继器的主要功能是将信号整形并放大再转发出去,以消除信号经过一长段电缆后而产生的失真和衰减,使信号的波形和强度达到所需要的要求,进而扩大网络传输的距离。其原理是信号再生(而非简单地将衰减的信号放大。 注意:放大器和中继器都起放大作用,只不过放大器放大的是模拟信号,原理是将衰减的信号放大,而中继器放大的是数字信号,原理是将衰减的信号整形再生。 2.4.2、集线器集线器(Hub)实质上是一个多端口的中继器。它在网络中只起信号放大和转发作用,目的是扩大网络的传输范围,而不具备信号的定向传送能力,即信号传输的方向是固定的,是一个标准的共享式设备 ? 2.5、信道复用技术多路复用技术是在发送端将多路信号进行组合(如广电前端使用的混合器),在一条专用的物理信道上实现传输,接收端再将复合信号分离出来。 ? 2.5.1、频分复用 FDM频分复用 将用于传输信道的总带宽划分成若干个子频带(或称子信道),每一个子信道传输1路信号。频分复用最简单,用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。可见频分复用的所有用户在同样的时间占用不同的带宽资源(请注意,这里的“带宽”是频率带宽而不是数据的发送速率)。 2.5.2、时分复用 TDM时分复用 将提供给整个信道传输信息的时间划分成若干时间片(简称时隙),并将这些时隙分配给每一个信号源使用,每一路信号在自己的时隙内独占信道进行数据传输。 2.5.3、波分复用 WDM波分复用 就是光的频分复用。光纤技术的应用使得数据的传输速率空前提高。现在人们借用传统的载波电话的频分复用的概念,就能做到使用一根光纤来同时传输多个频率很接近的光载波信号。这样就使光纤的传输能力可成倍地提高。由于光载波的频率很高,因此习惯上用波长而不用频率来表示所使用的光载波。 ? 2.5.4、码分复用 CDM码分复用 是另一种共享信道的方法。实际上,人们更常用的名词是码分多址 CDMA。每一个用户可以在同样的时间使用同样的频带进行通信。由于各用户使用经过特殊挑选的不同码型,因此各用户之间不会造成干扰。 ? 第三章?数据链路层导图 ? 3.1、数据链路层的功能数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到 相邻节点的目标机网络层。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接 改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。 功能一:为网络层提供服务。无确认无连接服务,有确认无连接服务,有确认面向连接服务。 有连接一定有确认! 功能二:链路管理,即连接的建立、维持、释放(用于面向连接的服务)。 功能三:组帧。 功能四:流量控制。 功能五:差错控制(帧错/位错)。 接下来将先进行笼统概括再分步进行描述: 3.1.1、为网络层提供服务1)无确认的无连接服务。源机器发送数据帧时不需先建立链路连接,目的机器收到数据帧时不需发回确认。对丢失的帧,数据链路层不负责重发而交给上层处理。适用于实时通信或误码率较低的通信信道,如以太网。 3.1.2、链路管理数据链路层连接的建立、维持和释放过程称为链路管理,它主要用于面向连接的服务。链路两端的结点要进行通信,必须首先确认对方已处于就绪状态,并交换一些必要的信息以对帧序号初始化,然后才能建立连接,在传输过程中则要能维持连接,而在传输完毕后要释放该连接。在多个站点共享同一物理信道的情况下(如在局域网中)如何在要求通信的站点间分配和管理信道也属于数据链路层管理的范畴。 3.1.3、帧定界、帧同步与透明传输两台主机之间传输信息时,必须将网络层的分组封装成帧,以帧的格式进行传送。将一段数据的前后分别添加首部和尾部,就构成了帧。因此,帧长等于数据部分的长度加上首部和尾部的长度。首部和尾部中含有很多控制信息,它们的一个重要作用是确定帧的界限,即帧定界。而帧同步指的是接收方应能从接收到的二进制比特流中区分出帧的起始与终止。 如果在数据中恰好出现与帧定界符相同的比特组合(会误认为“传输结束”而丢弃后面的数据),那么就要采取有效的措施解决这个问题,即透明传输。 3.1.4、流量控制由于收发双方各自的工作速率和缓存空间的差异,可能出现发送方的发送能力大于接收方的接收能力的现象,如若此时不适当限制发送方的发送速率(即链路上的信息流量),前面来不及接收的帧将会被后面不断发送来的帧“淹没",造成帧的丢失而出错。因此,流量控制实际上就是限制发送方的数据流量,使其发送速率不超过接收方的接收能力。 3.1.5、差错控制由于信道噪声等各种原因,帧在传输过程中可能会出现错误。用以使发送方确定接收方是否正确收到由其发送的数据的方法称为差错控制。通常,这些错误可分为位错和帧错。 3.2、组帧数据链路层之所以要把比特组合成帧为单位传输,是为了在出错时只重发出错的帧,而不必重发全部数据,从而提高效率。为了使接收方能正确地接收并检查所传输的帧,发送方必须依据一定的规则把网络层递交的分组封装成帧(称为组帧)。组帧主要解决帧定界、帧同步、透明传输等问题。通常有以下4种方法实现组帧。﹒组帧时既要加酋部,又要加尾部。 3.2.1、字符计数法字符计数法是指在帧头部使用一个计数字段来标明帧内字符数。目的结点的数据链路层收到字节计数值时,就知道后面跟随的字节数,从而可以确定帧结束的位置(计数字段提供的字节数包含自身所占用的一个字节)。 ?缺点:这种方法最大的问题在于如果计数字段出错,即失去了帧边界划分的依据,那么接收方就无法判断所传输帧的结束位和下一帧的开始位,收发双方将失去同步,从而造成灾难性后果。 3.2.2、字符填充的首尾定界符法字符填充法使用特定字符来定界一帧的开始与结束,控制字符SOH放在帧的最前面,表示帧的首部开始,控制字符EOT表示帧的结束。为了使信息位中出现的特殊字符不被误判为帧的首尾定界符,可在特殊字符前面填充一个转义字符(ESC)来加以区分(注意,转义字符是ASCII码中的控制字符,是一个字符,而非“E”“S”“C”三个字符的组合),以实现数据的透明传输。接收方收到转义字符后,就知道其后面紧跟的是数据信息,而不是控制信息。 透明传输?前面提到的“透明”是一个很重要的术语。它表示:某一个实际存在的事物看起来却好像不存在一样(例如,你看不见在你前面有块100%透明的玻璃的存在)。“在数据链路层透明传送数据”表示无论什么样的比特组合的数据,都能够按照原样没有差错地通过这个数据链路层。因此,对所传送的数据来说,这些数据就“看不见”数据链路层有什么妨碍数据传输的东西。或者说,数据链路层对这些数据来说是透明的。 3.2.3、零比特填充的首尾标志法零比特填充法?允许数据帧包含任意个数的比特,也允许每个字符的编码包含任意个数的比特。它使用一个特定的比特模式,即01111110来标志一帧的开始和结束。为了不使信息位中出现的比特流01111110被误判为帧的首尾标志,发送方的数据链路层在信息位中遇到5个连续的“1”时,将自动在其后插入一个“0";而接收方做该过程的逆操作,即每收到5个连续的“1”时,自动删除后面紧跟的“0”,以恢复原信息。 ?零比特填充法很容易由硬件来实现,性能优于字符填充法。 3.2.4、违规编码法在物理层进行比特编码时,通常采用违规编码法。例如,曼彻斯特编码方法将数据比特“1”编码成“高-低”电平对,将数据比特“0”编码成“低-高”电平对,而“高-高”电平对和“低-低”电平对在数据比特中是违规的(即没有采用)。可以借用这些违规编码序列来定界帧的起始和终止。局域网IEEE802标准就采用了这种方法。 3.3、差错控制首先要明确差错的来源,为什么传输过程中会产生差错?怎么检错?如何纠错? 在传输的过程中差错的主要来源是噪声 从全局性来看,由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的。 解决办法:提高信噪比来减少或避免干扰。 从局部性来看,外界特定的短暂原因所造成的冲击噪声,是产生差错的主要原因。 解决办法:通常利用编码技术来解决。 差错又分为位错和帧错两种 3.3.1、检错编码奇偶校验码 奇偶校验码是奇校验码和偶校验码的统称,是一种最基本的检错码。它由n-1位信息元和1位校验元组成,如果是奇校验码,那么在附加一个校验元后,码长为n的码字中“1”的个数为奇数;如果是偶校验码,那么在附加一个校验元以后,码长为n的码字中“1”的个数为偶数。它只能检测奇数位的出错情况,但并不知道哪些位错了,也不能发现偶数位的出错情况。 循环冗余码 循环冗余码(Cyclic Redundancy Code,CRC)又称多项式码,任何一个由二进制数位串组成的代码都可以与一个只含有0和1两个系数的多项式建立一一对应关系。 注意:循环冗余码( CRC)是具有纠错功能的,只是数据链路层仅使用了它的检错功能,检测到帧出错则直接丢弃。 FCS帧检验序列的过程 CRC循环冗余码计算 模2除法? 3.3.2、纠错编码海明码 这一块建议看视频方便理解 在数据通信的过程中,解决差错问题的一种方法是在每个要发送的数据块上附加足够的冗余信息,使接收方能够推导出发送方实际送出的应该是什么样的比特串。最常见的纠错编码是海明码,其实现原理是在有效信息位中加入几个校验位形成海明码,并把海明码的每个二进制位分配到几个奇偶校验组中。当某一位出错后,就会引起有关的几个校验位的值发生变化,这不但可以发现错位,而且能指出错位的位置,为自动纠错提供依据。 ? 3.4、流量控制与可靠传输机制较高的发送速度和较低的接收能力的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作。流量控制的方法一般有两种:停止-等待协议和滑动窗口协议。 3.4.1、流量控制、可靠传输与滑动窗口机制1。停止-等待流量拉制基本原理 滑动窗口有以下重要特性: 可靠传输机制: 数据链路层的可靠传输通常使用确认和超时重传两种机制来完成。确认是一种无数据的控制帧,这种控制帧使得接收方可以让发送方知道哪些内容被正确接收。有些情况下为了提高传输效率,将确认捎带在一个回复帧中,称为捎带确认。超时重传是指发送方在发送某个数据帧后就开启一个计时器,在一定时间内如果没有得到发送的数据帧的确认帧,那么就重新发送该数据帧,直到发送成功为止。 3.4.2、单帧滑动窗口与停止-等待协议在停止-等待协议中,源站发送单个帧后必须等待确认,在目的站的回答到达源站之前,源站不能发送其他的数据帧。从滑动窗口机制的角度看,停止-等待协议相当于发送窗口和接收窗口大小均为1的滑动窗口协议。 ?当发送数据时会产生错误,在此协议中会发生三种错误: 第一种是发送过程中帧发生了丢失或帧出错,那么此时的超时计时器发现目的站并未发回确认帧此时超时计时器开始计时,当超过时间原站将重新发送数据帧,因此源站发送前要先进行备份,并且必须进行标号 ?另一种可能的差错是数据帧正确而确认帧被破坏,此时接收方已收到正确的数据帧,但发送方收不到确认帧,因此发送方会重传已被接收的数据帧,接收方收到同样的数据帧时会丢弃该帧,并重传一个该帧对应的确认帧。 ? ?停等协议的信道利用率太低!!! 3.4.3、多帧滑动窗口与后退N帧协议(GBN)在后退Ⅳ帧式ARQ中,发送方无须在收到上一个帧的ACK后才能开始发送下一帧,而是可以连续发送帧。当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧;或者当发送方发送了N个帧后,若发现该N个帧的前-一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方就不得不重传该出错帧及随后的N个帧。换句话说,接收方只允许按顺序接收帧。 ?后退N帧协议一方面因连续发送数据帧而提高了信道的利用率,另一方面在重传时又必须把原来已传送正确的数据帧进行重传(仅因这些数据帧的前面有一个数据帧出了错),这种做法又使传送效率降低。由此可见,若信道的传输质量很差导致误码率较大时,后退Ⅳ帧协议不一定优于停止-等待协议。 3.4.4、多帧滑动窗口与选择重传协议(SR)为进一步提高信道的利用率,可设法只重传出现差错的数据帧或计时器超时的数据帧,但此时必须加大接收窗口,以便先收下发送序号不连续但仍处在接收窗口中的那些数据帧。等到所缺序号的数据帧收到后再一并送交主机。这就是选择重传ARQ协议。 ?选择重传协议可以避免重复传送那些本已正确到达接收端的数据帧,但在接收端要设置具有相当容量的缓冲区来暂存那些未按序正确收到的帧。接收端不能接收窗口下界以下或窗口上界以上的序号的帧,因此所需缓冲区的数目等于窗口的大小,而不是序号数目。 3.5、介质访问控制介质访问控制所要完成的主要任务是,为使用介质的每个结点隔离来自同一信道上其他结点所传送的信号,以协调活动结点的传输。用来决定广播信道中信道分配的协议属于数据链路层的一个子层,称为介质访问控制层。 3.5.1、静态划分信道静态划分信道,之前已经介绍过的频分复用、时分复用、波分复用和码分复用等。用户只要分配到了信道就不会和其他用户发生冲突。但这种划分信道的方法代价较高,不适合于局域网使用。以前已讲过这面不再多赘述,本篇主要内容在动态划分信道 3.5.2、动态划分信道纯ALOHA协议 纯ALOHA 协议的基本思想是,当网络中的任何一个站点需要发送数据时,可以不进行任何时隙ALOHA协议检测就发送数据。如果在一段时间内未收到确认,那么该站点就认为传输过程中发生了冲突。发送站点需要等待一段时间后再发送数据,直至发送成功。简单来说就是:不监听信道,不按时间槽发送,随机重发。想发就发 ?时隙ALOHA协议 时隙ALOHA协议的思想:把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道, 若发生冲突,则必须等到下一个时间片开始时刻再发送。简单来说就是:控制想发就发的随意性 CSMA协议 协议思想:发送帧之前,监听信道。 CS:载波侦听/监听,每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据 MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。 根据侦呀方式和侦听到信道忙后的处理方式不同,CSMA协议分为三种。 1-坚持CSMA 非坚持CSMA p-坚持CSMA CSMA/CD协议 载波监听多点接入/碰撞检测CSMA/CD CS:载波侦听/监听,每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据。 MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。 总线型网络 CD:碰撞检测(冲突检测),“边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判 断自己在发送数据时其他站是否也在发送数据。 半双工网络 CSMA/CA协议 载波监听多点接入/碰撞避免CSMA/CA ? 轮询访问介质访问控制:令牌协议 在轮询访问中,用户不能随机地发送信息,而要通过一个集中控制的监控站,以循环方式轮询每个结点,再决定信道的分配。当某结点使用信道时,其他结点都不能使用信道。典型的轮询访问介质访问控制协议是令牌传递协议,它主要用在令牌环局域网中。 3.6、局域网局域网(Local Area Network,LAN)是指在一个较小的地理范围(如一所学校)内,将各种计算机、外部设备和数据库系统等通过双绞线、同轴电缆等连接介质互相连接起来,组成资源和信息共享的计算机互联网络。 3.7、广域网3.7.1、广域网基本概念广域网,通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它 能连接多个城市或国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。 广域网的通信子网主要使用分组交换技术。广域网的通信子网可以利用公用分组交换网、卫星通信网和无线 分组交换网,它将分布在不同地区的局域网或计算机系统互连起来,达到资源共享的目的。如因特网 (Internet)是世界范围内最大的广域网。 广域网中的一个重要问题是路由选择和分组转发。路由选择协议负贵搜索分组从某个结点到目的结点的最佳传输路由,以便构造路由表,然后从路由衷再构造出转发分组的转发表。分组是通过转发表进行转发的。
3.7.2、PPP协议PPP (Point-to-Point Protocol)是使用串行线路通信的面向字节的协议,该协议应用在直接连接两个结点的链路上。设计的目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共同的解决方案。只支持全双工链路。 IP协议的三个组成部分: 1.一个将IP数据报封装到串行链路(同步串行/异步串行)的方法。 3.7.3、HDLC协议高级数据链路控制,HDILC)协议是ISO制定的面向比特(记住PPP协议是面向字节的)的数据链路层协议。该协议不依赖于任何一种字符编码集;数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现;全双工通信,有较高的数据链路传输效率;所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重发,传输可靠性高;传输控制功能与处理功能分离,具有较大的灵活性。采用全双工通信 1.主站的主要功能是发送命令(包括数据信息)帧、接收响应帧,并负责对整个链路的控制系统的初启、 流程的控制、差错检测或恢复等。 2.从站的主要功能是接收由主站发来的命令帧,向主站发送响应帧,并且配合主站参与差错恢复等链路 控制。 3.复合站的主要功能是既能发送,又能接收命令帧和响应帧,并且负责整个链路的控制。 HDLC的帧格式 ?PPP和DHLC协议对比协议对比 ? 3.8、以太网和高速以太网3.8.1、以太网以太网(Ethernet)指的是由Xerox公司创建并由Xerox、Intel和DEC公司联合开发的基带总线局域网规范,是当今 现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术。 IEEE 802.3标准是一种基带总线形的局域网标准,它描述物理层和数据链路层的MAC子层的实现方法。随着技术的发展,该标准又有了大量的补充与更新,以支持更多的传输介质和更高的传输速率。 1.以太网的传输介质与网卡 以太网常用的传输介质有4种:粗缆、细缆、双绞线和光纤。各种传输介质的适用情况: ?MAC地址:全世界的每块网卡在出厂时都有一个唯一的代码,称为介质访问控制(MAC)地址,这个地址用于控制主机在网络上的数据通信。数据链路层设备(网桥、交换机等)都使用各个网卡的MAC地址。另外,网卡控制着主机对介质的访问,因此网卡也工作在物理层,因为它只关注比特,而不关注任何地址信息和高层协议信息。 2.以太网的MAC帧 每块网卡中的MAC地址也称物理地址;MAC地址长6字节,一般用由连字符(或冒号)分隔的12个十六进制数表示,如02-60-8c-e4-b1-21。高24位为厂商代码,低24位为厂商自行分配的网卡序列号。严格来讲,局域网的“地址”应是每个站的“名字”或标识符。 前导码:使接收端与发送端时钟同步。在帧前面插入的8字节可再分为两个字段:第一个字段共7字节,是前同步码,用来快速实现 MAC帧的比特同步。第二个字段是帧开始定界符,表示后面的信息就是MAC帧。 3.高速以太网 速率达到或超过100Mbl/s的以太网称为高速以太网。 (1)100BASE-T以太网 (2)吉比特以太网 (3)10吉比特以太网 3.8.2、IEEE 802.11(无线局域网)I无线局域网可分为两大类:有固定基础设施无线局域网和无固定基础设施移动自组织网络。所谓“固定基础设施”,是指预先建立的、能覆盖一定地理范围的固定基站。 IEEE 802.11是无线局域网通用的标准,它是由IEEE所定义的无线网络通信的标准。 802.11的MAC帧头格式?有固定基础设施无线局域网 无固定基础设施无线局域网的自组织网络 3.9、数据链路层设备3.9.1、网桥两个或多个以太网通过网桥连接后,就成为一个覆盖范围更大的以太网,而原来的每个以太网就称为一个网段。网桥工作在链路层的MAC子层,可以使以太网各网段成为隔离开的碰撞域。如果把网桥换成工作在物理层的转发器,那么就没有这种过滤通信量的功能。由于各网段相对独立,因此一个网段的故障不会影响到另一个网段的运行。 注意:网桥处理数据的对象是帧,所以它是工作在数据链路层的设备,中继器、放大器处理数据的对象是信号,所以它是工作在物理层的设备。 ? 网桥的优点: :①能过滤通信量; ②扩大了物理范围;. ③可使用不同的物理层; ④可互联不同类型的局域网;⑤提高了可靠性; ⑥性能得到改善。 ①增大了时延; ②MAC子层没有流量控制功能(流量控制需要用到编号机制,编号机制的实现在LLC子层) ;③不同MAC子层的网段桥接在一起时,需要进行帧格式的转换: ④网桥只适合于用户数不多和通信量不大的局域网,否则有时还会因传播过多的广播信息而产生网络拥塞,这就是所谓的广播风暴。 1.透明网桥(选择的不是最佳路由) 透明网桥:“透明”指以太网上的站点并不知道所发送的帧将经过哪几个网桥,是一种即插即用设备自学习。 ? 2.源路由网桥(选择的是最佳路由) 源路由网桥:在发送帧时,把详细的最佳路由信息(路由最少/时间最短)放在帧的首部中。 方法:源站以广播方式向欲通信的目的站发送一个发现帧。 ?3。冲突域和广播域 3.9.2、交换机桥接器的主要限制是在任一时刻通常只能执行一个帧的转发操作,于是出现了局域网交换机,又称以太网交换机。从本质上说,以太网交换机是一个多端口的网桥,它工作在数据链路层。交换机能经济地将网络分成小的冲突域,为每个工作站提供更高的带宽。 第四章?网络层导图 ? 4.1、网络层的功能主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。 网络层传输单位是数据报。 功能一:路由选择与分组转发 功能二:异构网络互联 功能三:拥塞控制 4.1.1、异构网络互联网络互联,是指将两个以上的计算机网络,通过一定的方法。用一种或多种通信处理设备(即中间设备)相互连接起来,以构成更大的网络系统。中间设备又称中间系统或中继系统。根据所在的层次,中继系统分为以下4种: 1)物理层中继系统:中继器,集线器(Hub)。 4.1.2、路由与转发路由器主要完成两个功能:一是路由选择(确定哪一条路径),二是分组转发(当一个分组到达时所采取的动作)。前者是根据特定的路由选择协议构造出路由表,同时经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表。后者处理通过路由器的数据流,关键操作是转发表查询、转发及相关的队列管理和任务调度等。 1)路由选择。指按照复杂的分布式算法,根据从各相邻路由器所得到的关于整个网络拓扑的变化情况,动态地改变所选择的路由。 2)分组转发。指路由器根据转发表将用户的P数据报从合适的端口转发出去。 路由表是根据路由选择算法得出的,而转发表是从路由表得出的。转发表的结构应当使查找过程最优化,路由表则需要对网络拓扑变化的计算最优化。在讨论路由选择的原理时,往往不去区分转发表和路由表,而是笼统地使用路由表一词。 4.1.3、拥塞控制在通信子网中,因出现过量的分组而引起网络性能下降的现象称为拥塞。 拥塞控制的方法有两种: 4.2、路由算法4.2.1、静态路由与动态路由静态路由算法(又称非自适应路由算法)。指由网络管理员手工配置的路由信息。当网络的拓扑结构或链路的状态发生变化时,网络管理员需要手工去修改路由表中相关的静态路由信息。它不能及时适应网络状态的变化,对于简单的小型网络,可以采用静态路由。 4.2.2、距离-向量路由算法4.2.3、链路状态路由算法? 4.2.4、层次路由当网络规模扩大时,路由器的路由表成比例地增大。这不仅会消耗越来越多的路由器缓冲区空间,而且需要用更多CPU时间来扫描路由表,用更多的带宽来交换路由状态信息。因此路由选择必须按照层次的方式进行。 4.3、IPV4/IP协议4.3.1、IPV4分组IPv4即现在普遍使用的IP(版本4)。IP定义数据传送的基本单元——IP分组及其确切的数据格式。IP也包括一套规则,指明分组如何处理、错误怎样控制。特别是P还包含非可靠投递的思想,以及与此关联的分组路由选择的思想。 IP分组格式 一个IP分组由首部和数据部分组成。首部前一部分的长度固定,共20B,是所有IP分组必须具有的。在首部固定部分的后面是一些可选字段,其长度可变,用来提供错误检测及安全等机制。 ? IP首部的部分重要字段含义如下: IP数据包分片 一个数据链路层数据报能承载的最大数据量称为最大传送单元(MTU)。因为P数据报被封装在数据链路层数据报中,因此数据链路层的MTU严格地限制着P数据报的长度,而且在TP数据报的源与目的地路径上的各段链路可能使用不同的数据链路层协议,有不同的MTU。例如,以太网的MTU为1500B,而许多广域网的MTU不超过576B。当P数据报的总长度大于链路MTU时,就需要将P数据报中的数据分装在两个或多个较小的P数据报中,这些较小的数据报称为片。 4.3.2、IPV4地址与NATIP协议 连接到因特网上的每台主机(或路由器)都分配一个32比特的全球唯一标识符,即TP地址。传统的IP地址是分类的地址,分为A、B、C、D、E五类。 网络地址转换NAT 网络地址转换(NAT)是指通过将专用网络地址(如Intranet)转换为公用地址(如Internet),从而对外隐藏内部管理的IP地址。它使得整个专用网只需要一个全球P地址就可以与因特网连通,由于专用网本地IP地址是可重用的,所以NAT大大节省了IP地址的消耗。同时,它隐藏了内部网络结构,从而降低了内部网络受到攻击的风险。 B类:16个B类网段,即172.16.0.0~~172.31.255.255. C类:256个C类网段,即192.168.0.0~~192.168.255.255。 注意:普通路由器在转发P数据报时,不改变其源P地址和目的P地址。而NAT路由器在转发IP数据报时,一定要更换其IP地址(转换源P地址或目的IP地址)。普通路由器仅工作在网络层,而NAT路由器转发数据报时需要查看和转换传输层的端口号. ? 4.4、IPV6协议4.4.1、解决“P地址耗尽”问题的措施有以下三种:①采用无类别编址CIDR,使P地址的分配更加合理: ②采用网络地址转换(NAT)方法以节省全球P地址: ③采用具有更大地址空间的新版本的IPv6。其中前两种方法只是延长了TPv4地址分配完毕的时间,只有第三种方法从根本上解决了IP地址的耗尽问题。 4.4.2、IPv6的主要特点如下: 4.4.3、IPv6数据报的目的地址可以是以下三种基本类型地址之一:.1)单播。单播就是传统的点对点通信。 ? ? 4.5、划分子网和构建超网4.5.1、子网划分两级I地址的缺点:IP地址空间的利用率有时很低;给每个物理网络分配一个网络号会使路由表变得太大而使网络性能变坏;两级的IP地址不够灵活。 子网划分的基本思路如下: 划分子网只是把P地址的主机号这部分进行再划分,而不改变P地址原来的网络号。 4.5.2、子网掩码为了告诉主机或路由器对一个A类、B类、C类网络进行了子网划分,使用子网掩码来表达对原网络中主机号的借位。 4.5.3、无分类患间路由选择(CIDR)CIDR最主要的特点有两个: ? 4.6、ARP\DHCP与ICMP4.6.1、IP地址与硬件地址 注意:路由器由于互联多个网络,因此它不仅有多个P地址,也有多个硬件地址。 4.6.2、地址解析协议 ARP 无论网络层使用什么协议,在实际网络的链路上传送数据帧时,最终必须使用硬件地址。所以需要一种方法来完成IP地址到MAC地址的映射,这就是地址解析协议 ARP。 注意:ARP用于解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。如果所要找的主机和源主机不在同一个局域网上,那么就要通过ARP找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做,尽管ARP请求分组是广播发送的,但ARP响应分组是普通的单播,即从一个源地址发送到一个目的地址。 4.6.2、动态主机配置协议 DHCP 动态主机配置协议(DHCP)常用于给主机动态地分配地址,它提供了即插即用的联网机制,这种机制允许一台计算机加入新的网络和获取P地址而不用手工参与。DHCP是应用层协议,它是基于UDP的。 ? 4.6.2、网际控制报文协议 ICMP 为了更有效地转发IP数据报和提高交付成功的机会,在网际层使用了网际控制报文协议ICMP。ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。 ? ?ICMP 的一个重要应用就是分组网间探测PING,用来测试两台主机之间的连通性。PING使用了ICMP回送请求与回送回答报文。PNG是应用层直接使用网络层ICMP的一个例子。它没有通过运输层的TCP或UDP。 4.7、路由选择协议4.7.1、自治系统自治系统(Autonomous System,AS):单一技术管理下的一组路由器,这些路由器使用一种AS内部的路由选择协议和共同的度量来确定分组在该AS内的路由,同时还使用一种AS之间的路由选择协议来确定分组在AS之间的路由。 4.7.2、域内路由与域间路由自治系统内部的路由选择称为域内路由选择,自治系统之间的路由选择称为域间路由选择。因特网有两大类路由选择协议。 ? 4.7.3、路由信息协议(RIP)RIP是一种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大优点是简单。 ? 4.7.4、开放最短路径优先(OSPF)开放最短路径优先OSPF协议:“开放”标明OSPF协议不是受某一家厂商控制,而是公开发表的;“最短路径优先” 是因为使用了Dijkstra提出的最短路径算法SPF。 OSPF最主要的特征就是使用分布式的链路状态协议。 ? 4.7.5、边界网关协议(BGP)边界网关协议是不同自治系统的路由器之间交换路由信息的协议,是种外部网关协议。边界网关协议常用于互联网的网关之间。路由表包含已知路由器的列表、路由器能够达到的地址及到达每个路由器的路径的跳数。 ? ? ? 4.8、IP组播4.8.1、IP组播概念单播:单播用于发送数据包到单个目的地,且每 发送一份单播报文都使用一个单播IP地址 作为目的地址。是一种点对点传输方式。 广播:广播是指发送数据包到同一广播域或子 网内的所有设备的一种数据传输方式, 是一种点对多点传输方式。 组播:当网络中的某些用户需要特定数据时, 组播数据发送者仅发送一次数据,借助 组播路由协议为组播数据包建立组播分 发树,被传递的数据到达距离用户端尽 可能近的节点后才开始复制和分发,是 一种点对多点传输方式 。 4.8.2、IP组播地址IP组播地址让源设备能够将分组发送给一组设备。属于多播组的设备将被分配一个组播组IP地址(一群共同需求 主机的相同标识)。 组播地址范围为224.0.0.0~239.255.255.255(D类地址),一个D类地址表示一个组播组。只能用作分组的目标地 址。源地址总是为单播地址。 1.组播数据报也是“尽最大努力交付”,不提供可靠交付,应用于UDP。 2.对组播数据报不产生ICMP差错报文。 3.并非所有D类地址都可以作为组播地址。 组播可以分为两种:一种只在本局域网上进行硬件组播:另一种则在因特网的范围内进行组播。在因特网上进行组播的最后阶段。 4.8.3、IGMP与组播路由算法要使路由器知道组播组成员的信息,需要利用因特网组管理协议。连接到局域网上的组播路由器还必须和因特网上的其他组播路由器协同工作,以便把组播数据报用最小代价传送给所有组成员,这就需要使用组播路由选择协议。 ? ? 4.9、移动IP4.9.1、移动IP概念移动IP技术是移动结点(计算机/服务器等)以固定的网络IP地址,实现跨越不同网段的漫游功能,并保证了 基于网络IP的网络权限在漫游过程中不发生任何改变。 移动结点:具有永久IP地址的移动设备。 归属代理:一个移动结点的永久“居所”称为归属网络,在归属网络中代表移动节点执行移 动管理功能的实体叫做归属代理。 永久地址:移动站点在归属网络中的原始地址。 外部代理:在外部网络中帮助移动节点完成移动管理功能的实体称为外部代理。 转角地址:可以是外部代理的地址或动态配置的一个地址。 4.9.2、移动IP通信过程在移动P中,每个移动结点都有一个唯-一的本地地址,当移动结点移动时,它的本地地址是不变的,在本地网络链路让每个本地结点还必须有一个本地代理来为它维护当前的位置信息,这就需要引入转交地址。当移动结点连接到外地网络链路上时,转交地址就用来标识移动结点现在所处的位置,以便进行路由选择。移动结点的本地地址与当前转交地址的联合称为移动绑定或简称绑定。当移动结点得到一个新的转交地址时,通过绑定向本地代理进行注册,以便让本地代理即时了解移动结点的当前位置。 4.10、网络层设备4.10.1、路由器的组成和功能路由器是一种具有多个输入/输出端口的专用计算机,其任务是连接不同的网络(连接异构网络)并完成路由转发。在多个逻辑网络(即多个广播域)互联时必须使用路由器。 ?分组转发部分由三部分组成:交换结构、一组输入端口和一组输出端口。输入端口在从物理层接收到的比特流中提取出数据链路层帧,进而从帧中提取出网络层数据报,输出端口则执行恰好相反的操作。交换结构是路由器的关键部件,它根据转发表对分组进行处理,将某个输入端口进入的分组从一个合适的输出端口转发出去。 有三种常用的交换方法:通过存储器进行交换、通过总线进行交换和通过互联网络进行交换。交换结构本身就是一个网络。 4.10.2、路由表与路由转发路由表根据路由选择算法得出的,主要用途是路由选择,总用软件来实现。 转发表由路由表得来,可以用软件实现,也可以用特殊的硬件来实现。转发表必须包含完成转发 功能所必需的信息,在转发表的每一行必须包含从要到达的目的网络到输出端口和某些MAC地址 信息的映射。 转发表是从路由表得出的,其表项和路由表项有直接的对应关系。但转发表的格式和路由表的格式不同,其结构应使查找过程最优化(而路由表则需对网络拓扑变化的计算最优化)。转发表中含有一个分组将要发往的目的地址,以及分组的下一跳(即下一步接收者的目的地址,实际为MAC地址)。为了减少转发表的重复项目,可以使用一个默认路由代替所有具有相同“下一跳”的项目,并将默认路由设置得比其他项目的优先级低。 第五章?传输层/运输层5.1、传输层提供的服5.1.1、传输层的功能从通信和信息处理的角度看,传输层向它上面的应用层提供通信服务,它属于面向通信部分的最商层,同时也是用户功能中的最低层。 传输层的功能如下: 2)复用和分用。复用是指发送方不同的应用进程都可使用同一个传输层协议传送数据:分 3)传输层还要对收到的报文进行差错检测(首部和数据部分)。而网络层只位耸P效菇撤 5.1.2、传输层的寻址与端口1.端口的作用 端口能够让应用层的各种应用进程将其数据通过端口向下交付给传输层,以及让传输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程。端口是传输层服务访问点(TSAP),它在传输层的作用类似于P地址在网络层的作用或MAC地址在数据链路层的作用,只不过P地址和MAC地址标识的是主机,而端口标识的是主机中的应用进程。 2.端口号 ?3.套接字 在网络中通过P地址来标识和区别不同的主机,通过端口号来标识和区分一台主机中的不同应用进程,端口号拼接到P地址即构成套接字Socket。在网络中采用发送方和接收方的套接字来识别端点。套接字,实际上是一个通信端点,即 5.1.3、无连接服务与面向连接服务面向连接服务就是在通信双方进行通信之前,必须先建立连接,在通信过程中,整个连接的情况一直被实时地监控和管理。通信结束后,应该释放这个连接。 5.2、UDP协议5.2.1、UDP数据报1)UDP无须建立连接。因此UDP不会引入建立连接的时延。试想如果DNS运行在TCP而 UDP的首部格式 UDP数据报包含两部分:UDP首部和用户数据。UDP首部有8B,由4个字段组成,每个字段的长度都是2B,如图s.2所示。各字段意义如下: 5.2.2、UDP校验在计算校验和时,要在 UDP数据报之前增加12B的伪首部,伪首部并不是UDP 的真正首部。只是在计算校验和时,临时添加在UDP数据报的前面,得到一个临时的UDP数据报。校验和就是按照这个临时的UDP数据报来计算的。伪首部既不向下传送又不向.上递交,而只是为了计算校验和。 ? 5.3、TCP协议5.3.1、TCP协议的特点TCP是在不可靠的P层之上实现的可靠的数据传输协议,它主要解决传输的可靠、有序、无丢失和不重复问题。TCP是TCP/IP体系中非常复杂的一个协议,主要特点如下: 5.3.2、TCP报文段TCP传送的数据单元称为报文段。TCP报文段既可以用来运载数据,又可以用来建立连接、释放连接和应答。一个TCP报文段分为首部和数据两部分,整个TCP报文段作为IP数据报的数据部分封装在IP数据报中,如图5.6所示。其首部的前20B是固定的。TCP报文段的首部最短为20B,后面有4N字节是根据需要而增加的选项,通常长度为4B的整数倍。 1)源端口和目的端口。各占2B。端口是运输层与应用层的服务接口,运输层的复用和分用 3)确认号。占4B,是期望收到对方下一个报文段的第一个数据字节的序号。若确认号为N, 5.3.3、TCP连接管理TCP是面向连接的协议,因此每个TCP连接都有三个阶段:连接建立、数据传送和连接释放。TCP连接的管理就是使运输连接的建立和释放都能正常进行。 TCP的建立(三次握手) ?连接建立前,服务器进程处于LISTEN(收听)状态,等待客户的连接请求。 洪泛攻击:SYN洪泛攻击发生在OSI第四层,这种方式利用TCP协议的特性,就是三次握手。攻击者发送 TCP SYN,SYN是TCP三次握手中的第一个数据包,而当服务器返回ACK后,该攻击者就不对 其进行再确认,那这个TCP连接就处于挂起状态,也就是所谓的半连接状态,服务器收不到 再确认的话,还会重复发送ACK给攻击者。这样更加会浪费服务器的资源。攻击者就对服务 器发送非常大量的这种TCP连接,由于每一个都没法完成三次握手,所以在服务器上,这些 TCP连接会因为挂起状态而消耗CPU和内存,最后服务器可能死机,就无法为正常用户提供 服务了。 TCP的连接的释放(四次挥手) ?第一步:客户机打算关闭连接时,向其TCP发送连接释放报文段,并停止发送数据,主动关闭TCP连接,该报文段的终止位FTN置1,序号seq=u,它等于前面已传送过的数据的最后一个字节的序号加1,FIN报文段即使不携带数据,也消耗掉一个序号。这时,TCP客户进程进入FN-WAIT-1(终止等待1)状态。TCP是全双工的,即可以想象为一条TCP连接上有两条数据通路,发送FIN的一端不能再发送数据,即关闭了其中一条数据通路,但对方还可以发送数据。 第二步:服务器收到连接释放报文段后即发出确认,确认号ack=u+1,序号seq=v,等于它前面已传送过的数据的最后一个字节的序号加1。然后服务器进入CLOSE-WAIT(关闭等待)状态。此时,从客户机到服务器这个方向的连接就释放了,TCP连接处于半关闭状态。但服务器若发送数据,客户机仍要接收,即从服务器到客户机这个方向的连接并未关闭。 第三步:若服务器己没有要向客户机发送的数据,就通知TCP释放连接,此时其发出FIN=1的连接释放报文段。设该报文段的序号为w在半关闭状态服务器可能又发送了一些数据),还须重复上次已发送的确认号ack = u+1。这时服务器进入LAST-ACK(最后确认)状态。 5.3.4、TCP可靠传输TCP的任务是在P层不可靠的、尽力而为服务的基础上建立一种可靠数据传输服务。TCP提供的可靠数据传输服务保证接收方进程从缓存区读出的字节流与发送方发出的字节流完全一样。TCP使用了校验、序号、确认和重传等机制来达到这一目的。其中,TCP的校验机制与UDP校验一样,这里不再赘述。 ? ? 5.3.5、TCP流量控制流量控制:让发送方慢点,要让接收方来得及接收。 TCP利用滑动窗口机制实现流量控制。 在通信过程中,接收方根据自己接收缓存的大小,动态地调整发送方的发送窗口大小,即接收窗口rwnd (接收方 设置确认报文段的窗口字段来将rwnd通知给发送方) ,发送方的发送窗口取接收窗口rwnd和拥塞窗口cwnd的最 小值 ? ? 5.3.6、TCP拥塞控制拥塞控制是指防止过多的数据注入网络,保证网络中的路由器或链路不致过载。出现拥塞时,端点并不了解拥塞发生的细节,对通信连接的端点来说,拥塞往往表现为通信时延的增加。 发送方在确定发送报文段的速率时,既要根据接收方的接收能力,又要从全局考虑不要使网络发生拥塞。因此,TCP协议要求发送方维护以下两个窗口: ? ? 第六章?应用层6.1、网路应用模型6.1.1、客户服务器模型在客户/服务器(ClientlServer,C/S)模型中,有一个总是打开的主机称为服务器,它服务于许多来自其他称为客户机的主机请求。其工作流程如下: 6.1.2、P2P模型不难看出,在CS模型中(见图6.1),服务器性能的好坏决定了整个系统的性能,当大量用户请求服务时,服务器就必然成为系统的瓶颈。P2P模型(见图6.2)的思想是整个网络中的传输内容不再被保存在中心服务器上,每个结点都同时具有下载、上传的功能,其权利和义务都是大体对等的。在P2P模型中,各计算机没有固定的客户和服务器划分。相反,任意一对计算机称为对等方(Peer),直接相互通信。实际上,P2P模型从本质上来看仍然使用客户/服务器方式,每个结点既作为客户访问其他结点的资源,也作为服务器提供资源给其他结点访问。当前比较流行的P2P应用有PPlive、Bittorrent和电驴等。 6.2、域名系统(DNS)域名系统(Domain Name System,DNS)是因特网使用的命名系统,用来把便于人们记忆的具有特定含义的主机名(如www.cskaoyan.com)转换为便于机器处理的P地址。相对于Ⅳ地址,人们更喜欢使用具有特定含义的字符串来标识因特网上的计算机。值得注意的是,DNS 系统采用客户/服务器模型,其协议运行在UDP 之上,使用53号端口。 6.2.1、层次域名空间因特网采用层次树状结构的命名方法。来用这种命名方法,任何一个连接到因特网的主机或路由器,都有一个唯一的层次结构名称,即域名(Domain Name)。域(Domain)是名字空间中一个可被管理的划分。域还可以划分为子域,而子域还可以继续划分为子域的子域,这样就形成了顶级域、二级域、三级域等。每个域名都由标号序列组成,而各标号之间用点“.”)隔开。一个典型的例子如图6.3所示,它是王道论坛用于提供wwW服务的计算机(Web服务器)的域名,它由三个标号组成,其中标号com是顶级域名,标号cskaoyan是二级域名,标号www是三级域名。 ? 6.2.2、域名服务器DNS使用了大量的域名服务器,它们以层次方式组织。没有一台域名服务器具有因特网上所有主机的映射,相反,该映射分布在所有的DNS 上。采用分布式设计的DNS,是一个在因特网上实现分布式数据库的精彩范例。主要有4种类型的域名服务器。 1。根城名服务 2.顶级城名服务器 3,授权域名服务器(权限城名服务器) 4。本地域名服务器 ? 6.2.3、域名解析过程域名解析是指把域名映射成为P地址或把P地址映射成域名的过程。前者称为正向解析,后者称为反向解析。当客户端需要域名解析时,通过本机的DNS 客户端构造一个DNS请求报文,以 UDP数据报方式发往本地域名服务器。 域名解析有两种方式:递归查询和递归与迭代相结合的查询。一个是本地域名服务器自己进行查询,一个是转给其他服务器 6.3、文件传输协议(FTP)文件传输协议(File Transfer Protocol,FTP)是因特网上使用得最广泛的文件传输协议。FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。它屏蔽了各计算机系统的细节,因而适合于在异构网络中的任意计算机之间传送文件。 FTP是基于客户/服务器(C/S)的协议。 用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。 依照 FTP 协议提供服务,进行文件传送的计算机就是 FTP 服务器。 连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端。 ? ? 6.4、电子邮件6.4.1、电子邮件系统的组成结构自从有了因特网,电子邮件就在因特网上流行起来。电子邮件是一种异步通信方式,通信时不需要双方同时在场。电子邮件把邮件发送到收件人使用的邮件服务器,并放在其中的收件人邮箱中,收件人可以随时上网到自己使用的邮件服务器进行读取。 ? 6.4.2、电子邮件格式与MIME电子邮件格式 一个电子邮件分为信封和内容两大部分,邮件内容又分为首部和主体两部分。RFC 822规定了邮件的首部格式,而邮件的主体部分则让用户自由撰写。用户写好首部后,邮件系统自动地将信封所需的信息提取出来并写在信封上,用户不需要亲自填写信封上的信息。 多用途网际邮件扩充(MIME) 由于SMTP 只能传送一定长度的ASCII码,许多其他非英语国家的文字(如中文、俄文,甚至带重音符号的法文或德文)就无法传送,且无法传送可执行文件及其他二进制对象,因此提出了多用途网络邮件扩充。MIME并未改动SMTP或取代它。MIME的意图是继续使用目前的格式,但增加了邮件主体的结构,并定义了传送非ASCII 码的编码规则。也就是说,MIME邮件可在现有的电子邮件程序和协议下传送。 6.4.3、SMTP和POP3简单邮件传输协议〈Simple Mail Transfer Protocol,SMTP)是一种提供可靠且有效的电子邮件传输的协议,它控制两个相互通信的SMTP进程交换信息。由于SMTP使用客户/服务器方式,因此负贵发送邮件的SMTP进程就是SMTP客户,而负责接收邮件的SMTP进程就是SMTP服务器。SMTP用的是TCP连接,端口号为25。SMTP通信有以下三个阶段。 ?STMP缺点: 1.SMTP不能传送可执行文件或者其他二进制对象。 2.SMTP仅限于传送7位ASCII码,不能传送其他非英语国家的文字。 3.SMTP服务器会拒绝超过一定长度的邮件。 邮局协议POP3 邮局协议(Post Office Protocol,POP)是一个非常简单但功能有限的邮件读取协议,现在使用的是它的第3个版本POP3。POP3采用的是“拉”(Pull〉的通信方式,当用户读取邮件时,用户代理向邮件服务器发出请求,“拉”取用户邮箱中的邮件。 ? 6.5、万维网(WWW)6.5.1、WWW的概念与组成结构万维网(World Wide Web,www)是一个分布式、联机式的信息存储空间,在这个空间中:-一-样有用的事物称为一样“资源”,并由一个全域“统一资源定位符”(URL)标识。这些资源通过超文本传输协议(HTTP)传送给使用者,而后者通过单击链接来获取资源。 万维网的内核部分是由三个标准构成的: 6.5.2、超文本传输协议HTTPhttp概念 HTTP定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。从层次的角度看,HTTP是面向事务的(Transaction-oriented)应用层协议,它规定了在浏览器和服务器之间的请求和响应的格式与规则,是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。 http操作过程 ? http的特点 ? ? http报文结构 HTTP是面向文本的(Text-Oriented),因此报文中的每个字段都是一些ASCI码串,并且每个字段的长度都是不确定的。有两类HTTP报文: ? ? |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 10:04:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |