【计算机网络学习笔记】计算机网络
计算机网络学习笔记
- 第一章 计算机网络概述
- 1. 计算机网络概述
- 1.1 计算机网络的概念
- 1.2 计算机网络的组成
- 1.3 计算机网络的功能
- 1.4 计算机网络的分类
- 1.5 计算机网络的标准化工作和相关组织
- 1.6 计算机网络的性能指标
- 1.7 计算机网络的非性能指标
- 2. 计算机网络的体系结构
- 2.1 计算机网络体系结构的概述
- 2.2 ISO/OSI参考模型(7层)
- 2.3 TCP/IP参考模型(4层)
- 2.4 5层参考模型
- 第二章 物理层
- 1.物理层的基本概念
- 2.数据通信的基本知识
- 2.1 数据通信系统的模型
- 2.2 相关的概念
- 2.3 两个公式(奈氏准则 & 香农定理)
- 2.4 编码和调制
- 3.物理层下面的传输媒体
- 3.1 传输媒体的分类
- 3.2 导向性传输媒体
- 3.3 非导向性传输媒体
- 4.信道复用技术
- 4.1频分复用 FDM
- 4.2 时分复用 TDM
- 4.3 统计时分复用 STDM
- 4.4 波分复用 WDM
- 4.5 码分复用
- 5.物理层的设备
- 5.1 中继器(转发器)
- 5.2 集线器(多端口中继器)
- 6.宽带接入技术
- 6.1 宽带接入技术的概述
- 6.2 有线接入技术
- 6.2.1 非对称数字用户线 ADSL技术
- 6.2.2 光纤同轴混合网 HFC技术
- 6.2.3 光纤到x FTTx技术
- 第三章 数据链路层
- 1.数据链路层的概述
- 2.数据链路层的功能
- 2.1 封装成帧
- 2.2 透明传输
- 2.3 差错控制
- 2.3.1 检错编码(奇偶校验码、CRC循环冗余码):
- 2.3.2 纠错编码----海明码
- 3.点对点协议PPP
- 3.1 PPP协议的概述
- 3.2 PPP协议的帧格式
- 3.3 如何实现透明传输的
- 3.3 PPP协议的工作状态
- 4.使用广播信道的数据链路层
- 4.1 局域网的数据链路层
- 4.2 CSMA/CD协议
- 4.3 以太网的MAC层
- 5.数据链路层设备
- 5.1 网桥
- 5.2 交换机
- 第四章 网络层
- 1.网络层的功能
- 2.网络层提供的两种服务
- 3.网际协议IP
- 3.1 分类的IP地址
- 3.2 划分子网
- 3.3 构造超网——无分类编址CIDR
- 3.4 IP数据报的格式
- 3.5 IP数据报的分片
- 3.6 IPv6
- 3.7 IP多播
- 4.地址解析协议ARP
- 5.网际控制报文协议ICMP
- 6.网际组管理协议IGMP
- 7.网络层设备
- 第五章 传输层
- 1.传输层概述
- 1.1 传输层的概念
- 1.2 传输层的两个协议
- 1.3 传输层的寻址和端口
- 2.UDP协议
- 2.1 UDP概述
- 2.2 UDP的首部格式
- 2.3 UDP校验
- 3.TCP协议
- 3.1 TCP协议的特点
- 3.2 TCP报文段
- 3.3 TCP连接管理
- 3.4 TCP可靠传输
- 3.5 TCP流量控制
- 3.6 TCP拥塞控制
- 3.7 可靠传输的工作原理详细介绍
- 3.7.1 停止等待协议
- 3.7.2 连续ARQ协议
- 3.7.3 滑动窗口协议
- 3.7.4 后退N帧协议 GBN(Go-back-N)
- 3.7.5 选择重传SR协议
- 第六章 应用层
- 1.网络应用模型
- 1.1 客户服务器模型(C/S模型)
- 1.2 对等模型(P2P模型)
- 2. 域名系统 DNS
- 2.1 域名系统DNS概述
- 2.2 层次域名空间
- 2.3 域名服务器
- 2.4 域名解析过程
- 3.文件传送协议 FTP
- 3.1 FTP的概述
- 3.2 FTP的工作原理
- 3.3 简单文件传输协议TFTP
- 4.远程终端协议 Telnet
- 5.万维网WWW
- 5.1 万维网WWW的概述
- 5.2 统一资源定位符URL
- 5.3 超文本传送协议HTTP
- 5.3.1 HTTP的特点:
- 5.3.2 HTTP的报文结构:
- 5.4超文本标记语言HTML
- 6.E-Mail 电子邮件
- 6.1 电子邮件的概述
- 6.2 简单邮件传送协议 SMTP
- 6.3 邮件读取协议 POP3和IMAP
- 6.4通用互联网邮件扩充 MIME
- 7.动态主机配置协议 DHCP
- 8.简单网络管理协议 SNMP
- 9.应用进程跨越网络的通信
第一章 计算机网络概述
1. 计算机网络概述
1.1 计算机网络的概念
计算机网络的定义:是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。计算机网络是互连的、自治的计算机集合。互联——互联互通、通信链路自治——无主从关系
1.2 计算机网络的组成
从下面三个角度来看:
1.从组成部分上看硬件、软件、协议(一系列规则和约定的集合)
2.从工作方式上看边缘部分:用户直接使用(C/S方式、P2P方式)核心部分:为边缘部分服务
3.从功能组成上看通信子网:实现数据通信资源子网:实现资源共享/数据
1.3 计算机网络的功能
前两个功能比较重要,后面功能了解记忆。1.数据通信(连通性)
2.资源共享(硬件、软件、数据)
3.分布式处理(多台计算机各自承担同一工作任务的不同任务)
4.提高可靠性
5.负载均衡(使各计算机之间的关系更亲密)
1.4 计算机网络的分类
1.按分布范围分类广域网WAN(交换技术)城域网MAN局域网LAN(广播技术)个人区域网PAN
2.按使用者分类公用网(中国电信)专用网(军用)
3.按交换技术分类电路交换报文交换分组交换
4.按拓扑结构分类总线型星型(如果有n个节点,会有多少条路,答案是n-1)(局域网)环形网状型(常用于广域网)
5.按传输技术分类广播式网络:共享公共通信信道点对点网络:使用分组存储转发和路由选择机制
1.5 计算机网络的标准化工作和相关组织
1.标准的分类1)法定标准:有权威机构制定的正式的、合法的标准 (OSI)2)事实标准:某些公司的产品在竞争中占据了主流,时间长了,这些产品中的协议和技术就成了标准 (TCP/IP)2.RFC及其发展成为因特网标准的四个阶段RFC(request for comments)——因特网标准的形式RFC要上升为因特网正式标准的四个阶段:1)因特网草案:这个阶段还不是RFC文档2)建议标准:从这个阶段开始成为RFC文档3)草案标准:IETF、IAB审核(2011年以后取消了)4)因特网标准3.标准化工作的相关组织国际标准化组织(ISO):OSI参考模型、HDLC协议国际电信联盟(ITU):制定通信规则国际电气电子工程师协会(IEEE):学术机构、IEEE802系列标准、5GInternet工程任务组(IETF):负责因特网相关标准的制定 RFC XXXX
1.6 计算机网络的性能指标
速率
1.速率速率即数据率或称数据传输率或比特率比特 1/0 位连接在计算机网络上的主机在数字信道上传送数据位数的速率单位是:b/s,kb/s,Mb/s,Gb/s,Tb/s发送端→接收端如果发送端将十位数字(0101010101)发送到接收端用时1s,那么成为速率是10b/s速率单位的换算:千 1kb/s=103b/s兆 1Mb/s=103kb/s=106b/s吉 1Gb/s=103Mb/s=106kb/s=109b/s太 1Tb/s=103Gb/s=106Mb/s=109kb/s=1012b/s存储容量单位的换算:1Byte(字节)= 8bit(比特)1KB=210B=1024B=1024*8b1MB=210KB=1024KB1GB=210MB=1024MB1TB=210GB=1024GB
注:速率和存储容量单位之间,经常用小写表示速率的,全部大写表示的是存储容量有关的,他们的换算进制也是不同的。
带宽
2.带宽(1)“带宽”原本指某个信号具有的频带宽度,即最高频率与最低频率之差,单位是赫兹(Hz)(2)计算机网络中,带宽用来表示网络的通信线路传送数据的能力,通常是指单位时间内从网络中的某一点到另一点所能通过的“最高数据率”。单位是“比特每秒”,b/s,kb/s,Mb/s,Gb/s,Tb/s网络设备所支持的最高速度链路的相关问题:链路带宽=1Mb/s,主机在1us内可向链路发送1bit数据链路的传播速率为2×108km/s电磁波1us可向前传播200m带宽表示发送端最高能发送数据的速率
吞吐量
3.吞吐量吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量。单位是b/s,kb/s,Mb/s等吞吐量受网络的带宽或网络的额定速率的限制
时延
4.时延1)时延指数据(报文/分组/比特流)从网络(或链路)的一端传送到另一端所需的时间。也叫延迟或迟延。单位是s2)时延的四个部分组成:① 发送时延(传输时延):从发送分组的第一个比特算起,到该分组的最后一个比特发送完毕所需的时间。发送时延=数据长度/信道带宽(发送速率)发生在主机内部高速链路只是提高了发送时延,其他的时延都是不变的。② 传播时延:取决于电磁波传送速度和链路长度传播时延=信道长度/电磁波在信道上的传播速率发生在主机外部③ 排队时延:等待输出/入链路可用④ 处理时延:检错、找出口注意:如果题目中让求时延为多少,应当把题目中出现的四类时延全部计算到。
时延带宽积
5.时延带宽积时延带宽积(bit)=传播时延(s)×带宽(b/s)时延带宽积又称为以比特为单位的链路长度,即“某段链路现在又多少比特”,或者说是链路当中的容量
往返时延
6.往返时延RTT往返时延RTT:从发送方发送数据开始,到发送方收到接收方的确认(接受方收到数据后立即发送确认),总共经历的时延。RTT越大,在收到确认之前,可以发送的数据越多。RTT包括:① 往返传播时延=传播时延×2② 末端处理时间
利用率
7.利用率利用率包括:信道利用率:信道利用率=有数据通过的时间/(有+无)数据通过的时间网络利用率:信道利用率加权平均值
1.7 计算机网络的非性能指标
1.费用
2.质量
3.标准化
4.可靠性
5.可扩展性和可升级性
2. 计算机网络的体系结构
2.1 计算机网络体系结构的概述
1.为什么要分层?
发送文件前要完成的工作:
(1)发起通信的计算机必须将数据通信的通路进行激活
(2)要告诉网络如何识别目的主机
(3)发起通信的计算机要查明目的主机是否开机,并与网络连接正常
(4)发起通信的计算机要弄清楚,对方计算机中文件管理程序是否已经准好工作
(5)确保差错和意外可以解决
2.怎么实现分层的?(实体、协议、服务、接口的概念)
(1)实体:第n层中的活动元素成为n层实体。同一层的实体叫对等实体
(2)协议:为进行网络中的对等实体数据交换而建立的规则、标准或约定成为网络协议。(只有水平之间才有协议)协议的三个要素组成:语法:规定传输数据的格式语义:规定所要完成的功能同步:规定各种操作的顺序
(3)接口(访问服务点SAP):上层使用下层服务的入口
(4)服务:下层为相邻上层提供的功能调用。(垂直的)
一些概念:
SDU服务数据单元:为完成用户所要求的的功能而应传送的数据PCI协议控制信息:控制协议操作的信息PDU协议数据单元:对等层次之间传送的数据单位PCI+SDU=PDU
分层级基本原则:
(1)各层之间相互独立,每层只实现一种相对独立的功能(2)每层之间界面自然清晰,易于理解,相互交流尽可能少(3)结构上可分割开。每层都采用最合适的技术来实现(4)保持下层对上层的独立性,上层单项使用下层提供的服务(5)整个分层结构应该能够促进标准化工作
一些概念总结:
(1)网络体系结构是从功能上描述计算机网络结构。(2)计算机网络体系结构简称网络体系结构的分层结构。(3)每层遵循某个/些网络协议以完成本层功能。(4)计算机网络体系结构是计算机网络的各层及其协议的集合。(5)第n层在向n+1层提供服务时,此服务不仅包含第n层本身的功能,还包含由下层服务提供的功能。(6)仅仅在相邻层间有接口,且所提供服务的具体实现细节对上一层完全屏蔽。(7)体系结构是抽象的,而实现是指能运行的一些软件和硬件。
2.2 ISO/OSI参考模型(7层)
1.ISO/OSI参考模型怎么来的?为了解决计算机网络复杂的大问题,提出了分层结构(按功能)
OSI参考模型提出的目的:支持异构网络系统的互联互通
国际标准化组织(ISO)于1984年提出开放系统互联(OSI)参考模型---理论成功,市场失败
OSI参考模型(7层)图示
用口诀记忆几个层次技巧:物联网书会试用
上面四层(应用层、表示层、会话层、传输层)是端到端的传送,中继系统是没有这四层的。
下面三层(网络层、数据链路层、物理层)是点到点的传送方式。
OSI参考模型(7层)功能
(1)应用层:所有能和用户交互产生网络流量的程序。应用层是用户与网络的界面典型的应用层服务:文件传输(FTP)、电子邮箱(SMTP和POP3)、万维网(HTTP)...
(2)表示层:表示层用于处理在两个通信系统中交换信息的表示方式(处理语法和语义)。表示层的主要功能:① 数据格式的变换(翻译官)② 数据的加密和解密③ 数据的压缩和恢复表示层的主要协议:JPEG、ASCII
(3)会话层:会话层向表示层实体或用户进程提供建立连接并在连接上有序地传输数据。这是会话,也是建立同步(SYN)会话层的主要功能:① 建立、管理、终止进程间的会话② 使用校验点可使会话在通信失效时从校验点或者同步点继续恢复通信,实现数据同步(适用于传送大文件)会话层的主要协议:ADSP、ASP
(4)传输层:传输层负责主机中两个进程的通信,即端到端的通信。传输单位是报文段(TCP)或用户数据报(UDP)。端到端(端口号,进程到进程的通信)传输层的主要功能:① 可靠传输、不可靠传输② 差错控制③ 流量控制④ 复用分用(复用:多个应用层进程可同时使用下面运输层的服务;分用:运输层把收到的信息分别交付给上面应用层中相应的进程)传输层的主要协议:TCP、UDP
(5)网络层:网络层的主要任务是把分组从源端传送到目的端,为分组交换网上的不同主机提供通信服务。网络层的传输单位是数据报。网络层的主要功能:① 路由选择(最佳路径)② 流量控制③ 差错控制④ 拥塞控制(若所有结点都来不及接受分组,而要丢掉大量分组的话,网络就处于拥塞状态,因此要采取一定措施,缓解这种拥塞。)网络层的主要协议:IP、IPX、ICMP、IGMP、ARP、RARP、OSPF
(6)数据链路层数据链路层主要任务是把网络层传下来的数据报组装成帧。数据链路层/链路层的传输单位是帧。数据链路层的功能:① 成帧(定义帧的开始和结束)② 差错控制(帧错+位错)③ 流量控制④ 传输管理——访问(接入)控制 (控制对信道的访问)数据链路层的主要协议:SDLC、HDLC、PPP、STP和帧中继等。
(7)物理层物理层的主要任务是在物理媒体上实现比特流的透明传输。物理层的传送单位是比特。透明传输:指不管所传数据是什么样的比特组合,都应当能够在链路上传送物理层的功能:① 定义接口特性② 定义传送模式(单工、半双工、双工)③ 定义传输速率④ 比特同步⑤ 比特编码物理层的主要协议:Rj45、802.3
2.3 TCP/IP参考模型(4层)
TCP/IP的层次结构及各层的主要协议
(1)应用层:用户-用户包含有所有的高层协议,如虚拟终端协议(Telnet)、文件传输协议(FTP)、域名解析服务(DNS)、电子邮件协议(SMTP)、超文本传输协议(HTTP)。
(2)传输层:应用-应用 or 进程-进程功能类似于OSI传输层功能,使得发送端和目的端主机上的对话实体进行会话。传输层主要是用的两个协议:传输控制协议(TCP):面向连接,数据传送的单位是报文段,可靠交付。用户数据报协议(UDP):无连接,数据传送的单位是用户数据报,不可靠交付,尽最大努力交付。
(3)网际层:主机-主机网际层是TCP/IP体系结构的关键部分。功能和OSI网络层相似,网际层将分组发往任何网络,并为之独立地选择合适的路由,但是它补不保证各个分组有序地到达,各分组的交付由更高层负责。网际层定义了标准的分组格式和协议,即IP。有IPv4、IPv6.
(4)网络接口层:功能类似于OSI的物理层和数据链路层,它表示与物理网络的接口。具体的物理网络类型可以是各种类型的局域网,如:以太网、令牌环网、令牌总线网等。也可以是诸如电话网、SDH、X.25、帧中继和ATM等公共数据网。网络接口层的作用是从主机或者结点接收IP分组,并把它们发送到指定的物理网络上。
OSI参考模型和TCP/IP参考模型相同点
(1)都采取分层的体系结构(2)都基于独立的协议栈的概念(3)可以实现异构网络的互联
OSI参考模型和TCP/IP参考模型不同点
(1)OSI定义三点概念:服务、协议、接口;TCP/IP模型没有明确区分。
(2)OSI参考模型先于协议发明,不偏向特定协议,通用性良好;
TCP/IP模型首先出现的是协议,模型实际上是对协议的描述。
(3)TCP/IP设计之初就考虑到异构网互联问题,将网际协议IP作为重要层次
(4)连接方式的比较 ISO/OSI参考模型 TCP/IP模型网络层 无连接+面向连接 无连接传输层 面向连接 无连接+面向连接
计算机网络提供的服务——面向连接服务和无连接服务:
1.面向连接服务一种网络协议,依赖发送方和接收器之间的显示通信和阻塞以管理双方的数据传输。网络系统需要在两台计算机之间发送数据之前先建立连接的一种特性
面向连接分为三个阶段:第一个阶段是建立连接,在此阶段,发出一个建立连接的请求。第二阶段是数据传输,只有在连接成功建立之后,才能开始数据传输。第三个阶段是连接释放,当数据传输完毕,必须释放连接。例如:TCP2.无连接服务指通信双方不需要事先建立一条通信线路,而是把每个带有目的地址的包(报文分组)送到线路上,由系统自主选定路线进行传输。
无连接没有那么多阶段,它直接进行数据传输。是一种不可靠传输服务。例如:IP、UDP
2.4 5层参考模型
综合OSI和TCP/IP参考模型的优点,提出的五层协议的体系结构。
(1)物理层主要任务:透明传输比特流;确定与传输媒体接口有关的一些特性。传输数据的单位:比特
(2)数据链路层主要任务:在两个相邻结点间的线路上无差错地传送以帧为单位的数据;向用户提供透明的和可靠的数据传送基本服务;负责把网络层交下来的数据构成帧发送到链路上,以及把接收到的帧中的数据提取出来并交给网络层。传输数据的单位:帧常用的协议:PPP协议、CSMA/CD协议、Ethernet协议
(3)网络层主要任务:负责为分组交换网上的不同主机提供通信服务;选择合适的路由,使源主机运输层所传下来的分组,能够通过网络中的路由器找到目的主机。传输的数据单元:IP数据报常用的协议:网际协议IP、ICMP、OSPF
(4)传输层主要任务:负责向两台主机之间的通信提供通用的数据传输服务。主要的功能:复用和分用功能复用:多个应用层进程可同时使用下面传输层的服务。分用:运输层把收到的信息分别交付上面应用层中的相应进程。传输的数据单元:TCP是报文段、UDP是用户数据报。常用的协议:TCP和UDP传输控制协议(TCP):面向连接,数据传送的单位是报文段,可靠交付。用户数据报协议(UDP):无连接,数据传送的单位是用户数据报,不可靠交付,尽最大努力交付。
(5)应用层主要任务:通过应用进程间的交互来完成特定网络应用。传输的数据单元:报文常用的协议:域名系统DNS、文件传送协议FTP协议、万维网WWW的超文本传输协议HTTP、电子邮件的SMTP协议等应用层协议定义的是应用进程间通信和交互的规则。
第二章 物理层
1.物理层的基本概念
1.物理层解决的问题:物理层解决如何在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。2.物理层的主要任务:确定与传输媒体接口有关的一些特性。(定义标准)3.物理层所定义的特性:① 机械特性:定义物理连接的特性,规定物理连接时所采用的规格、接口形状、引线数目、引脚数量和排列情况。② 电气特性:规定传输二进制位时,线路上信号的电压范围、阻抗匹配、传输速率和距离限制等。(例如:某网络在物理层规定,信号的电平用+10V~+15V表示二进制0,用-10V~-15V表示二进制1,电线长度限于15m以内)③ 功能特性:指明某条线上出现的某一电平表示何种意义,接口部件的信号线的用途。(描述一个物理层接口引脚处于高电平时的含义时)④ 规程特性(过程特性):定义各条物理线路的工作规程和时序关系。
2.数据通信的基本知识
2.1 数据通信系统的模型
→信源→发送器→传输系统→接收器→新宿→源系统(信源、发送器)→传输系统→目的系统(接收器新宿)
2.2 相关的概念
1.数据通信的目的:传送消息(消息:语音、文字、图像、视频等)。2.数据(data):传送信息的实体,通常是有意义的符号序列。3.数据通信指在不同计算机之间传输表示信息的二进制数0、1序列的过程。4.信号:数据的电器/电磁的表现,是数据在传输过程中的存在形式。数字信号/离散信号:代表消息的参数的取值是离散的。模拟信号/连续信号:代表消息的参数的取值是连续的。5.信源:产生和发送数据的源头。6.信宿:接受数据的终点。7.信道:信号的传输媒介。一般用来表示向某一个方向传送信息的介质,因此一条通信线路往往包含一条发送信道和一条接收信道。信道的划分:信道按传输信号划分为:模拟信道(传送模拟信号)、数字信道(传送数字信号)信道按传输介质划分为:无线信道、有线信道
设计数据通信系统要考虑的3个问题:
① 采用单工通信/半双工/全双工通信方式?
② 采用串行通信/并行通信方式?
③ 采用同步通信/异步通信方式?
三种数据通信方式:
概念理解实例:你说我听、你一句我一句、一起说(对撕)
从通信双方信息的交互方式看,可以有三种基本方式:1.单工通信/单向通信:只有一个方向的通信而没有反方向的交互,仅需要一条信道。(广播)2.半双工通信/双向交替通信:通信的双方都可以发送或接受信息,但任何一方都不能同时发送和接受,需要两条信道。(对讲机)3.全双工通信/双向同时通信:通信双方可以同时发送和接受信息,也需要两条信道。
两种数据传输方式(串行传输 & 并行传输):
1.串行传输:将表示一个字符的8位二进制数由低到高位的顺序依次发送。(速度慢,费用低,适合远距离)
2.并行传输:将表示一个字符的8位二进制数同时通过8条信道发送。(速度快,费用高,适合近距离) 例如:用于计算机内部数据传输
实现同步的传输/通信方式(同步传输 & 异步传输):
1.同步传输:在同步传输的模式下,数据的传送是以一个数据区块为单位,因此同步传输又称为区块传输。在传送数据时,需先送出1个或多个同步字符,再送出整批的数据。
2.异步传输:异步传输将比特分成小组进行传送,小组可以是8位的1个字符或更长。发送方可以在任何时刻发送这些比特组,而接收方不知道他们会在什么时候到达。传送数据时,加一个字符起始位和一个字符终止位。
有关数据传输速率的概念术语和题目:
(1)码元
码元是指用一个固定时长的信号波形(数字脉冲),代表不同离散数值的基本波形,
是数字通信中数字信号的计量单位,这个时长内的信号成为k进制码元,而该时长称为码元宽度。
当码元的离散状态有M个时(M大于2),此时码元为M进制码元。
1码元可以携带多个比特的信息量。比如,在使用二进制编码时,只有两种不同的码元,一种代表0状态,另一种代表1状态。
(2)速率——数字通信系统数据传输速率的两种表示方法:
速率也叫数据率,是指数据的传输速率,表示单位时间内传输的数据量。可以用码元传输速率和信息传输速率表示。
1.码元传输速率:别名码元速率、波形速率、调制速率、符号速率等,
它表示单位时间内数字通信系统所传输的码元个数(也可称为脉冲个数或信号变化次数),单位是波特(Baud)。
1波特表示数字通信系统每秒传输一个码元。
(如果是两个信号都是低电平,它也是变化的。)
码元传输速率其实就是1s内传输多少个码元。
数字信号是有多进制和二进制之分,但码元速率与进制数无关,只与码元长度T有关。2.信息传输速率:别名信息速率、比特率等,表示单位时间内数字通信系统传输的二进制码元个数(即比特数),单位是比特/秒(b/s)。
信息传输速率其实就是1s内传输多少个比特。
传输速率和信息传输速率的关系:若一个码元携带n bit的信息量,则M baud的码元传输速率所对应的信息传输速率为M×n bit/s。
(3)带宽(Bandwidth)
1.模拟信号系统中,当输入信号频率高或低到一定程度,使得系统的输出功率成为输入功率的一半时(即-3dB),最高频率和最低频率间的差值就代表了系统的通频带宽,其单位是赫兹(Hz)。
2.数字设备中:表示在单位时间内从网络中的某一点到另一点所能通过的“最高数据率”/单位时间内通过链路的数量,常用来表示网络的通信线路所能传输数据的能力。单位是比特每秒(bps)--b/s。
速率相关题目训练:
2.3 两个公式(奈氏准则 & 香农定理)
背景
1.失真
发送信号波形→受到现实中的信道(带宽受限、有噪声、干扰)→接收信号波形
造成失真:有失真但可识别、失真大无法识别
影响失真程度的因素:① 码元传输速率② 信号传输距离③ 噪声干扰④ 传输媒体质量
2.失真的一种现象——码间串扰信道带宽是信道能通过的最高频率和最低频率之差。码间串扰:接收端收到的信号波形失去了码元之间清晰界限的现象(码元传播太快了分不清是0还是1)
奈氏准则(奈奎斯特定理)
奈氏准则:在理低通(无噪声,带宽受限)条件下,为了避免码间串扰,极限码元传输速率为2W Baud,W是信道带宽,单位是赫兹(Hz)。
注意:只有在奈氏准则和香农定理这两个公式,带宽单位才用Hz理想低通信道下的极限数据传输速率=2Wlog2V (b/s)W:带宽(Hz) V:几种码元/码元的离散电平数目(1)在任何信道中,码元传输的速率是有上限的。若传输速率超过此上限,就会出现严重的码间串扰问题,使接收端对码元的完全正确识别成为不可能。
(2)信道的频带越宽(即能通过的信号高频分量越多),就可以用更高的速率进行码元的有效传输。
(3)奈氏准则给出了码元传输速率的限制,但没并没有对信息传输速率给出限制。
(4)由于码元的传输速率受奈氏准则的制约,所以要提高数据的传输速率,就必须设法使每个码元能够携带更多个比特的信息量,这就需要采用多元制的调制方法。
香农定理
噪声存在于所有的电子设备和通信信道中。由于噪声随机产生,她的瞬时值有时会很大,因此噪声会使接受端对码元的判断产生错误。
但是噪声的影响是相对的,若信号较强,那么噪声影响相对较小。因此,信噪比就很重要。信噪比 = 信号的平均功率/噪声的平均功率,常记为S/N,并用分贝(dB)作为度量单位,即:信噪比(dB)= 10log10(S/N) 数值等价香农定理:在带宽受限且有噪声的信道中,为了不产生误差,信息的传输速率有上限值。信道的极限数据传输速率 = Wlog2(1+S/N)(b/s)W:带宽(Hz) S/N:信噪比,S是信道所传信号的平均功率,N是信道内的高斯噪声功率(1)信道的带宽或信道中的噪声比越大,则信息的极限传输速率就越高。
(2)对一定的传输带宽和一定的信噪比,信息传输速率的上限就确定了。
(3)只要信息的传输速率低于信道的极限传输速率,就一定能够找到某种方法来实现无差错的传输。
(4)香农定理得出的为极限信息传输速率,实际信道能够达到的传输速率要比它低不少。
(5)从香农定理可以看出,若信道带宽W或信噪比S/N没有上限(不可能),那么信道的极限信息传输速率也就没与上限。
数据在信道中受到哪些因素的限制
码元传输速率受奈氏准则的限制;信息传输速率受香农公式的限制。
奈氏准则和香农定理的对比:
2.4 编码和调制
基带信号与宽带信号1.信道:信号的传输媒介。一般用来表示向某一个方向传送信息的介质,因此一条通信线路往往包含一条发送信道和一条接受信道2.信道的划分1.信道按传输信号划分为:模拟信道(传送模拟信号)、数字信道(传送数字信号)2.信道按传输介质划分为:无线信道、有限信道3.信道上传送的信号:1.基带信号:将数字信号1和0直接用两种不同的电压表示,再送到数字信道上去传输(基带传输)。来自信源的信号,像计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。基带信号就是发出的直接表达了要传输的信息的信号,比如我们说话的声波就是基带信号。2.宽带信号:将基带信号进行调制后形成的频分复用模拟信号,再传送到模拟信道上去传输(宽带传输)。把基带信号经过载波调制后,把信号的频率范围搬移到较高的频段以便在信道中传输(即仅在一段频率范围内能够通过信道)。4.基带信号和宽带信号的区别:1.在传输距离比较近时,计算机网络采用基带传输方式(近距离衰减小,从而信号内容不易发生变化)2.在传输距离比较远时,计算机网络采用宽带传输方式(远距离衰减大,即使信号变化大也能最后通过过滤出来基带信号)
编码和调制
1.数字数据编码为数字信号:
(1)非归零编码(NRZ)高1低0编码容易实现,但没有检错功能,且无法判断一个码元的开始和结束,以至于收发双方难以保持同步。
(2)曼彻斯特编码将一个码元分割成两个相等的间隔,前一个间隔为低电平后一个间隔为高电平表示码元1,码元0则相反。也可以采用相反的规定。该编码的特点是在每一个码元的中间出现电平跳转,位中间的跳变既作时钟信号(可用于同步),又作数据信号,但它所占的频带宽度是原始的基带宽度的两倍。每一个码元都被调成两个电平,所以数据传输速率只有调制速率的1/2。
(3)差分曼彻斯特编码同1异0常用于局域网传输,其规则是:若码元为1,则前半个码元的电平与上一个码元的后半个码元的电平相同,若为0,则相反。该编码的特点是,在每个码元的中间,都有一次电平的跳转,可以实现自同步,且抗干扰性强于曼彻斯特编码。
(4)归零编码(RZ)信号电平在一个码元之内都要恢复到零的这种编码成编码方式。
(5)反向不归零编码信号电平翻转表示0,信号电平不变表示1。
(6)4B/5B编码比特流中插入额外的比特以打破一连串的0或1,就是用5个比特来编码4个比特的数据,之后再传给接收方,因此成为4B/5B。编码的效率为80%。只采用16中对应16种不同的4位码,其他的16种作为控制码(帧的开始和结束,线路的状态信息等)或保留。
2.数字数据调制为模拟信号:
数字数据调制技术在发送端将数字信号转换为模拟信号,而在接收端将模拟信号还原为数字信号,分别对应于调制解调器的调制和解调过程。(1)ASK调幅(2)FSK调频(3)PSK调相(0、1分别对应余弦波和正弦波)(4)QAM调幅+调相
3.模拟数据编码为数字信号:
计算机内部处理的是二进制数据,处理的都是数字音频,所以需要将模拟音频通过采样、量化转换成有限个数字表示的离散序列(即实现音频数字化)
最典型的例子就是对音频信号进行编码的脉码调制(PCM),
在计算机应用中,能够达到最高保真水平的就是PCM编码,被广泛应用于素材保存及音乐欣赏,CD、DVD以及我们常见的WAV文件中均有应用。脉码调制(PCM)主要包括三步:抽样、量化、编码。(1)抽样:对模拟信号周期性扫描,把时间上连续的信号变成时间上离散的信号。为了使所得的离散信号能无失真地代表被抽样的模拟数据,要使用采样定理进行采样:(2)量化:把抽样取得的电平幅值按照一定的分级标度转化为对应的数字值,并取整数,这就把连续的电平幅值转换为离散的数字量。(3)编码:把量化的结果转换为与之对应的二进制编码。
4.模拟数据调制为模拟信号:
为了实现传输的有效性,可能需要较高的频率。这种调制方式还可以使用频分复用技术,充分利用带宽资源。
在电话机和本地交换机所传输的信号是采用模拟信号传输模拟数据的方式:模拟的声音数据是加载到模拟的载波信号中传输的。
3.物理层下面的传输媒体
3.1 传输媒体的分类
1.传输介质也称传输媒体/传输媒介,他就是数据传输系统中在发送设备和接受设备之间的物理通路。传输媒体并不是物理层。传输媒体在物理层的下面,因为物理层是体系结构的第一层,因此有时称传输媒体为0层,在传输媒体中传输的是信号,但传输媒体并不知道所传输的信号代表什么意思。但物理层规定了电气特征,因此能够识别所传送的比特流。 (物理层是傻瓜,传输媒体连傻瓜都不如。)
2.传输介质分类:① 导向性传输介质→电磁波被导向沿着固体媒介(铜线/光纤)传播。② 非导向性传输介质→自由空间,介质可以是空气、真空、海水等。
3.2 导向性传输媒体
1.双绞线
双绞线是古老、又最常用的传输介质,它由两根采用一定规则并排绞合的、相互绝缘的铜导线组成。绞合的目的:绞合可以减少相邻导线的电磁干扰。为了进一步提高抗电磁干扰能力,可以在双绞线的外边再加上一个有金属丝编织成的屏蔽层,这就是屏蔽双绞线(STP),无屏蔽层的双绞线就成为非屏蔽双绞线(UTP),双绞线价格便宜,是最常用的传输介质之一,在局域网和传统电话网中普遍使用。模拟传输和数字传输都可以使用双绞线,其通信距离一般为几公里到数十公里。距离太远时,对于模拟传输,要用放大器放大衰减的信号;对于数字传输,要用中继器将失真的信号整形。
2.同轴电缆
同轴电缆由导体铜制芯线、绝缘层、网状编织屏蔽层和塑料外层构成。按特性阻抗数值不同,通常将同轴电缆分为两类:50Ω同轴电缆和75Ω同轴电缆。50Ω同轴电缆主要用于传送基带数字信号,又称为基带同轴电缆,它在局域网中得到广泛应用;75Ω同轴电缆主要用于传送宽带信号,又称为宽带同轴电缆,它主要用于有线电视系统。叫做同轴的原因:导线的绝缘保护层、外导体屏蔽层、绝缘层、内导体在同一轴上。同轴电缆 & 双绞线由于外导体屏蔽层的作用,同轴电缆抗干扰特性比双绞线好,被广泛用于传输较高速率的数据,其传输距离更远,但价格较双绞线更贵。
3.光纤
光纤通信就是利用光导纤维(简称光纤)传递光脉冲来进行通信。
有光脉冲表示1,无光脉冲表示0.
而可见光的频率大约是108MHz,因此光纤通信系统的宽带远大于目前其他各种传输媒体的宽带。
光纤在发送端有光源,可以采用发光二极管或半导体激光器,它们在电脉冲作用下能产生出光脉冲:
光纤在接收端用光电二极管做成光检测器,在检测到光脉冲时可还原出电脉冲。光纤主要由纤芯(实心的)和包层构成,光波通过纤芯进行传导,包层较纤芯有较低的折射率。
当光线从高折射率的介质射向低折射率的介质时,其折射角远大于入射角。
因此,如果入射角足够大,就会出现全反射,即光纤碰到包层时候就会折射回纤芯,这个过程不断重复,光就会沿着光纤传输下去。
光线在纤芯中传输的方式是不断地全反射。超低损耗,传送超远距离。光纤的特点:① 传输损耗小,中继距离长,对远距离传输特别经济。② 抗雷电和电磁干扰好。③ 无串音干扰,保密性好,也不易被窃听或截取数据。④ 体积小,重量轻。
3.3 非导向性传输媒体
1.非导向性传输介质:① 无线电波(信号向所有方向传播):较强穿透能力,可传远距离,广泛用于通信领域(比如手机通信)。② 微波(信号固定方向传播):微波通信频率较高、频段范围宽,因此数据率很高。1)地面微波接力通信2)卫星通信:a.优点:通信容量大、距离远、覆盖广、广播通信和多地址通信b.缺点:传播时延长(250-270ms)、受气候影响大(eg:强风、太阳黑子爆发、日凌)、误码率较高、成本高③ 红外线、激光(信号固定方向传播):把要传输的信号分别转换为各自的信号格式,即红外光信号和激光信号,再在空间中传播。
4.信道复用技术
复用:是一种将若干个彼此独立的信号,合并为一个可在同一信道上同时传输的复合信号的方法。复用的目的:提高信道利用率。
4.1频分复用 FDM
用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。频分复用的所有用户在同样的时间占用不同的带宽资源。频分复用的优点:信道复用率高,允许复用路数多,同时它的分路也很方便。它是目前最主要的一种复用方式。
频分复用的缺点:收发两端需要大量载频,且相同载频必须同步,设备较复杂。
4.2 时分复用 TDM
时分复用是将时间划分为一段段等长的时分复用帧(TDM帧),每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙。每一个用户所占的时隙周期性的出现(其周期就是TDM帧的长度)。
TDM信号也成为了等时信号。
时分复用的所有用户在不同的时间占用同样的频带宽度。时分复用更有利于数字信号的传输。时分复用可能造成的线路资源浪费:当使用时分复用系统传送计算机数据时,由于计算机数据的突发性质,一个用户对已经分配到的子信道的利用率一般是不高的。
4.3 统计时分复用 STDM
统计时分复用STDM是一种改进的时分复用,明显的提高了信道的利用率。
集中器常使用统计时分复用,集中器能够正常工作的前提是假定各用户都是间歇地工作。
4.4 波分复用 WDM
波分复用WDM就是光的频分复用。
密集波分复用DWDM
4.5 码分复用
码分复用CDM是一种共享信道的方法。更常用的名词是码分多址CDMA。各个用户使用的是经过挑选的不同码型,因此各用户之间不会造成干扰。码分复用最初用于军事通信,因为这种系统发送的信号有很强的抗干扰能力,其频谱类似于白噪声,不易被敌人发现。
采用CMDA可提高通信的话音质量和数据传输的可靠性,减少干扰对通信的影响,增大通信系统的容量,降低手机的平均发射频率。使用CMDA的每一个站被指派一个唯一的mbit码片序列。
一个站如果发送比特1,则发送它自己的m bit码片序列;
如果发送比特0,则发送它自己的m bit码片序列的二进制反码。现假定S站要发送信息的数据率是b bit/s。由于每一个比特要转换成m个比特的码片,因此S站实际上发送的数据率提高到了mb bit/s,同时S站所占用的频带宽度也提高到原来数值的m倍。CMDA一个重要特点是这种体质给每一个站分配的码片序列不仅必须各不相同,并且还必须互相正交。 在实用的系统中使用的是伪随机码序列。CMDA优点:1.抗干扰能力强;2.宽带传输,抗衰落能力强;3.功率谱密度较低,有利于有信号屏蔽;4.抗截获能力强。
CMDA缺点:来自非同步CMDA网中的不同的用户的扩频序列不完全正交,从而引起多址干扰。掌握规格化内积公式
5.物理层的设备
在物理层扩展以太网用到的设备
5.1 中继器(转发器)
1.中继器诞生原因:由于存在损耗,在线路上传输信号功率会逐渐衰减,衰减到一定程度时将造成信号失真,因此会导致接受错误。2.中继器的功能:对信号进行再生和还原,对衰减的信号进行放大,保持与原数据相同,以增加信号传输的距离,诞生网络的长度。中继器处理的对象是信号,工作在物理层。3.中继器两端:两端的网络部分是网段,而不是子网,适用于完全相同的两类网络的互连,且两个网段速率要相同。中继器只将任何电缆段上的数据发送到另一段电缆上,它仅作用于信号的电气部分,并不管数据中是否有错误数据或不适于网段的数据。两端可连相同媒体,也可连不同媒体。中继器两端的网段一定要是同一个协议。(中继器不会存储转发,傻)4. 5-4-3规则:网络标准中都对信号的延迟范围作了具体的规定,因而中继器只能在规定的范围内进行,否则会网络故障。
最多不超过5个网段,最多只能有4个网络设备,只有3个段可以连接计算机。
5.2 集线器(多端口中继器)
与中继器相同对信号再生,放大效果。集线器的功能:对信号进行再生放大转发,对衰减的信号进行放大,接着转发到其他所有(除输入端口外)处于工作状态的端口上,以增加信号传输的距离,延长网络的长度。不具备信号的定向传送能力,是一个共享设备。集线器不能分割冲突域→连接在集线器上的工作主机平分带宽集线器扩展的优点:1.可以跨碰撞域通信。2.扩大了以太网覆盖的地理范围。
集线器扩展的缺点:1.吞吐量并没有提高。2.碰撞域越大,碰撞的概率越大。
6.宽带接入技术
6.1 宽带接入技术的概述
宽带接入技术解决的问题:
如何将用户连接到各种网络上。(即实现用户到ISP的连接。)
宽带接入技术的分类:
1.有线接入技术:ADSL、HFC、FTTx
2.无线接入技术
6.2 有线接入技术
6.2.1 非对称数字用户线 ADSL技术
非对称数字用户线ADSl技术是
用数字技术对现有的模拟电话用户线进行改造,使它能够承载宽带数字业务。
ADSL技术把0~4kHZ的低频留给传统电话使用,把原来没有被利用的高频频谱留给用户上网使用。
非对称的意思:
因为用户在上网时主要是从互联网下载各种文档,而向互联网发送的信息量一般不大,因此ADSL的下行(ISP到用户)带宽远远大于上行(用户到ISP)带宽。
优点:
1.可直接利用现有的用户电话线;
2.ADSL具有较高的传输速度;
3.可以实现打电话上网互不影响;
4.ADSL独享高带宽,以超高速上网,安全可靠。
缺点:
1.ADSL不能保证固定的数据率。对于质量很差的用户线甚至无法开通ADSL。
2.传输距离近,传输速度还不够快。
基于ADSL的接入网的组成:
1.数字用户线接入复用器DSLAM
2.用户线
3.用户家中的一些设施数字用户线接入复用器DSLAM包含许多ADSL调制解调器(又称接入端接单元ATU),ADSL调制解调器必须成对使用。
电话端局连接的是ATU-C(端局)
用户家中连接的是ATU-R(远端),通过电话分离器连接。
ADSL的两个插口:RJ-45(较大插口):用来和计算机连接;RJ-11(较小插口):用来和电话分离器连接。
6.2.2 光纤同轴混合网 HFC技术
光纤同轴混合网(HFC网)是在目前覆盖面很广的有线电视网的基础上开发的一种居民宽带接入网。
HFC网把原有线电视中的同轴电缆主干部分改换成为光纤。
模拟电视接受数字电视信号,需要机顶盒连接在同轴电缆和用户的电视机之间。
为了利用HFC网接入互联网,需要增加一个HFC网使用的调制解调器,叫电缆调制解调器。
6.2.3 光纤到x FTTx技术
光纤到户FTTH、光纤到路边FTTC、光纤到小区FTTZ…
第三章 数据链路层
1.数据链路层的概述
数据链路层的基本概念:
结点:主机、路由器链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤、微波。分为有线链路、无线链路。数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。帧 :链路层的协议数据单元,封装网络层数据报。数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。
2.数据链路层的功能
数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。
数据链路层的主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。
数据链路层的三个基本问题:
封装成帧、透明传输、差错检测
数据链路层的功能:
① 为网络层提供服务(3种):无确认的无连接服务,有确认的无连接服务,有确认的面向连接服务。(无确认的无连接服务--通信质量好的有线传输链路;有确认无连接服务,有确认面向连接服务--通信质量差的无线传输链路)注:有连接就一定要有确认,即不存在无确认的面向连接的服务。
② 链路管理:即连接的建立、维持、释放(用于面向连接的服务)。
③ 组帧。
④ 流量控制。
⑤ 差错控制(帧错/位错)。
2.1 封装成帧
封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。
接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
首部和尾部包含许多的控制信息,他们的一个重要作用:帧定界(确定帧的界限)。帧定界是分组交换的必然要求。帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。组帧的四种方法: 1.字符计数法,2.字符(节)填充法,3.零比特填充法,4.违规编码法。
2.2 透明传输
透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。
当所传数据中的比特组合恰巧与某一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。
① 字符计数法帧首部使用一个计数字段(第一个字节,八位)来标明帧内字符数。
② 字符填充法当传送的帧是由文本文件组成时(文本文件的字符都是从键盘上输入的,都是ASCII码)。不管从键盘上输入什么字符都可以放在帧里传过去,即透明传输。当传送的帧是由非ASCI码的文本文件组成时(二进制代码的程序或图像等),就要采用字符填充方法实现透明传输。
③ 零比特填充法操作:在发送端,扫描整个信息字段,只要连续5个1,就立即填入1个0。在接收端收到一个帧时,先找到标志字段确定边界,再用硬件对比特流进行扫描。发现连续5个1时,就把后面的0删除。保证了透明传输:在传送的比特流中可以传送任意比特组合,而不会引起对帧边界的判断错误。
④ 违规编码法:可以用“高-高”,“低-低”来定界帧的起始和终止。由于字节计数法中Count字段的脆弱性(其值若有差错将导致灾难性后果)及字符填充实现上的复杂性和不兼容性,目前较普遍使用的帧同步法是零比特填充和违规编码法。
2.3 差错控制
1.差错从何来?
概括来说,传输中的差错都是由于噪声引起的。
① 全局性:由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的。解决办法:提高信噪比来减少或避免干扰。(对传感器下手)
② 局部性:外界特定的短暂原因所造成的冲击噪声,是产生差错的主要原因。解决办法:通常利用编码技术来解决。
2.差错分类:
① 位错:(或者叫比特位出错,1变成0,0变成1)
② 帧错:丢失、重复、失序
3.数据链路层的差错控制(比特错):
① 检错编码:奇偶校验码、循环冗余码
② 纠错编码:海明码
2.3.1 检错编码(奇偶校验码、CRC循环冗余码):
数据链路层编码和物理层的数据编码与调制不同。物理层编码针对的是单个比特,解决传输过程中比特的同步等问题,如曼彻斯特编码。数据链路层的编码针对的是一组比特, 它通过冗余码的技术实现一组二进制比特串在传输过程是否出现了差错。冗余编码在数据发送之前,先按某种关系附加上一定的冗余位,构成一个符合某一规则的码字后再发送。当要发送的有效数据变化时,相应的冗余位也随之变化,使码字遵从不变的规则。接收端根据收到码字是否仍符合原规则,从而判断是否出错。
1.奇偶校验码(n-1位信息元、1位校验元):
奇校验码(“1”的个数位奇数)
偶校验码(“1”的个数位偶数)
奇偶校验码的特点:只能检查出奇数个比特错误,检错能力为50%。
2.CRC循环冗余码
最终发送的数据:要发送的数据 + 帧检验序列FCS
计算冗余码步骤:① 加0 假设生成多项式G(X)的阶为r,则加r个0(阶的位数就是位数减去1,多项式为N位,即阶为N-1)② 模2除法 数据加0后除以多项式,余数为冗余码/FCS/CRC检验码的比特序列。(异或:同0异1)
FCS的生成以及接收端CRC检验都是由硬件实现,处理很迅速。因此不会延误数据的传输。
在数据链路层仅仅使用循环冗余检验CRC差错检测技术,只能做到对帧的无差错接收,即“凡是接收端数据链路层接受的帧,我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错”。接收端丢弃的帧虽然曾收到了,但是最终还是因为有差错被丢弃。“凡是接收端数据链路层接收的帧均无差错”。“可靠传输”:数据链路层发送端发送什么,接收端就收到什么。
链路层使用CRC检验,能够实现无比特差错的传输,但这还不是可靠传输。
2.3.2 纠错编码----海明码
海明码:能够发现双比特错,纠正单比特错。
工作原理:动一发而牵全身。
海明码的工作流程:
3.点对点协议PPP
广域网使用的数据链路层控制协议
3.1 PPP协议的概述
PPP协议使用点到点信道,是点到点串行通信协议,是面向字符类型的协议。
用户使用拨号电话线接入因特网时,一般使用PPP协议。
PPP协议的组成:
1.链路控制协议(LCP):一个用来建立、配置和测试数据链路连接的链路控制协议。
2.网络控制协议(NCP):其中的每一个协议支持不同的网络层协议。
3.一个将IP数据报封装到串行链路的方法。
3.2 PPP协议的帧格式
1.标志字段F:占1字节,规定为0x7E。表示一个帧的开始或结束,是PPP帧的定界符。
2.地址字段A:占1字节,规定为0xFF。
3.控制字段C:占1字节,规定为0x03.
4.协议字段:占2字节,0x0021----IP数据报、0xC021----PPP链路层控制协议LCP的数据、0x8021----网络层的控制数据
5.信息部分:长度可变,不超过1500字节。
6.帧检验序列FCS:占2字节,使用CRC
7.标志字段F:占1字节,规定为0x7E
3.3 如何实现透明传输的
PPP使用异步传输时:
0x7E改写成(0x7D,0x5E)
0x7D改写成(0x7D,0x5D)
数值小于0x20的字符,前面添加0x7D
控制字符0x03编程(0x7D,0x23)
PPP使用同步传输时:
协议规定采用硬件来完成比特填充。
使用零比特填充法。
3.3 PPP协议的工作状态
4.使用广播信道的数据链路层
4.1 局域网的数据链路层
局域网最主要的特点:网络为一个单位所拥有,且地理范围和站点数目均有限。局域网的优点:1.具有广播功能,从一个站点可很方便地访问站点。2.便于系统的扩展和逐渐演变,各设备的位置可灵活调整和改变。3.提高了系统的可靠性、可用性、生存性。局域网的拓扑结构:星形网、环形网、总线网。
共享信道:
要考虑的问题:如何使众多用户能够合理而方便地共享通信媒体资源。
两种方法:1.静态划分信道:频分复用、时分复用、波分复用、码分复用。2.动态媒体接入控制(多点接入):① 随机接入:随机接入的特点是所有的用户可随机的发送信息。② 受控接入:受控接入的特点是用户不能随机的发送信息而必须服从一定的控制。
以太网的两个标准:
1. DIX Ethernet V2
2. 标准IEEE 802.3
数据链路层的两个子层:
1. 逻辑链路控制LCC
2. 媒体接入控制MAC
4.2 CSMA/CD协议
CSMA/CD发送流程:先听后发,边听边发,冲突停止,延迟重发。要点归纳:1.准备发送:适配器从网络层获得一个分组,加上以太网的首部和尾部,组成以太网帧,加入适配器的缓存中。但是在发送之前,必须先检测信道。2.检测信道:若检测到信道忙,则应不停的检测,一直等待信道转为空闲。若检测到信道空闲,并在96比特时间内信道保持空闲,就发送这个帧。3.发送过程中仍不停地检测信道,即网络适配器要边发送边监听。① 发送成功:在争用期内一直未检测到碰撞。这个帧肯定能狗发送成功。发送完成后,其他什么也不做。然后回到(1)②发送失败:在争用期内检测到碰撞。立即停止发送数据,并按规定发送人为干扰信号。适配器接着执行指数退避算法,等待r倍512比特时间后,返回步骤(2),继续检测信道。但若重传达16次仍不能成功,则停止重传而向上报错。
4.3 以太网的MAC层
1. 目的地址:6字节
2. 源地址:6字节
3. 类型:2字节,指出数据域中携带的数据应该交给哪层协议实体处理。
4. 数据:46~1500字节。最小长度46=64-(6+6+2+4).
5. FCS:4字节。
5.数据链路层设备
在数据链路层扩展以太网
5.1 网桥
网桥对收到的帧根据其MAC帧的目的地址进行转发和过滤。当网桥收到一个帧时,并不是向所有的接口转发此帧,
而是根据其帧的目的MAC地址,查找网桥中的地址表,然后确定将帧转发到哪一个接口,或者是把它丢弃(过滤)。网桥处理的数据对象是帧,工作在数据链路层。
5.2 交换机
交换机实质上就是一个多接口的网桥,通常有十几个或者更多的接口。工作在数据链路层。
交换机原理:
交换机检测从以太网端口来的数据真的源和目的地的MAC地址,然后与系统内部的动态查找表进行比较,
若数据帧的MAC地址不在查找表中,则将该地址加入查找表,并将数据帧发送给相应的目的端口。
两种交换模式
1.直通式:
2.存储转发式:
第四章 网络层
1.网络层的功能
1.网络层的主要任务是把分组从源端传送到目的端,为分组交换网上的不同主机提供通信服务。2.网络层传输单位是数据报。3.网络层的功能:
① 路由选择与分组转发(最佳路径)
② 异构网络互联
③ 拥塞控制
拥塞控制概念
拥塞控制:若所有的结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施,缓解这种拥塞。拥塞控制的方法:开环控制(静态方法)闭环控制(动态方法)
2.网络层提供的两种服务
3.网际协议IP
IP地址编制方法经历的三个阶段:1. 分类的IP地址2. 子网的划分3. 构成超网
3.1 分类的IP地址
两级的IP地址:IP地址::={<网络号>,<主机号>}
补充:常用的二进制与十进制转换
二进制与分类IP地址的规律:
IP地址的适用范围:
全0字段表示本网络;
全1字段表示环回测试。
特殊的几个IP地址:
127.0.0.1——本地环回地址
169.254.0.0——Windows操作系统在DHCP信息租用失败时自动给客户机分配的IP地址
保留的私网地址:10.0.0.0——保留的A类地址172.16.0.0到172.31.0.0——保留的B类地址192.168.0.0到192.168.255.0——保留的C类地址
3.2 划分子网
由原来的两级IP地址变为了三级IP地址:
IP地址::={<网络号>,<子网号>,<主机号>}
划分子网
主机号不能全为0,也不能全为1全0:本网络、全1:广播分组。
总结:
划分子网掩码就是把主机号里拿出记为作为子网号,然后通过子网掩码能够计算出子网的地址。
子网掩码
默认子网掩码:A类地址的默认子网掩码:255.0.0.0B类地址的默认子网掩码:255.255.0.0C类地址的默认子网掩码:255.255.255.0
举例:
子网掩码和目的IP地址按位相与得到的就是子网的网络地址。
3.3 构造超网——无分类编址CIDR
CIDR目的:
解决IP地址不够用和路由表中的项目数过大的问题。
CIDR的特点:
1. CIDR消除了传统的A类、B类、C类地址以及划分子网的概念。
2. CIDR把网络前缀都相同的连续的IP地址组成一个“CIDR地址块”。
3. CIDR使IP地址从三级编址(使用子网掩码)又回到了两级编址,但这已是无分类的两级编址。
IP地址从三级编址又回到了两级编址,即无分类编址。
IP地址::={<网络前缀>,<主机号>}
例如:128.14.35.7/20
128.14.35.7/20=**10000000 00001110 0010**0011 00000111
前20位是前缀码,后12位是主机号。
最小地址:128.14.32.0 也就是主机号全为零得到的
最大地址:128.14.47.255 也就是主机号全为1得到的
能表示的地址有2的12次方个地址
注意:
CIDR中子网号可以全为0,或者可以全为1.
3.4 IP数据报的格式
1. 版本:占4位。指IP的版本,如IPv4.
2. 首部长度:占4位。以32位为单位(4个字节)。可表示的最大十进制是15。最大值是60B,常用的首部长度是20B。
3. 区分服务:占8位。基本不使用。
4. 总长度:占16位。总长度指首部和数据之和的长度,单位为字节。数据报的最大长度是2^16-1=65535字节。
5. 标识:占16位。是一个计数器。
6. 标志:占3位。目前只有前两位有意义。第一位,没有意义。第二位,DF位。DF=1,意思是不能分片;当DF=0时才允许分片。第三位,MF位。当DF=0时才有意义,MF=1,后面还有分片;MF=0,后面没有分片。
7. 片偏移:占13位。单位是8字节。注意此处会出IP数据报分片的题目。
8. 生存时间(TTL):占8位。数据报在网络中的寿命,或者说是经过路由器的数目。
9. 协议:占8位。协议字段指出此数据携带的数据是使用何种协议,以便使目的主机的IP层知道将该数据上交给哪个协议进行处理。此处应当记忆常用的一些协议和相应的协议字段值。
10. 首部校验和:占16位。只校验数据报的首部,但不包括数据部分。
11. 源地址:占32位。
12. 目的地址:占32位。
3.5 IP数据报的分片
3.6 IPv6
IPv6的主要变化:
1. 更大的地址空间。IPv6地址是128位,之前的IPv 4是32位。
2. 扩展地地址层次结构。
3. 灵活的首部格式。
4. 改进的选项。
5. 允许协议继续扩充
6. 支持协议继续扩充。
7. 支持即插即用(即自动配置)。
8. 支持资源的预分配。
9. IPv6首部改为8字节对齐。
40字节长的IPv6的基本首部(图) :
IPv6的地址:
IPv6数据报的目的地址的三种基本类型地址:1. 单播单播就是传统的点对点通信。2. 多播多播就是一点对多点的通信。3. 任播IPv6新增加的一种类型。任播的目的地是一组计算机,但是数据在交付时只交给其中的一台计算机,通常是距离最近的一台计算机。
IPv4向IPv6的过渡:
1.双协议栈:一台设备同时有两个协议。
2.隧道技术:整个IPv6数据报封装到IPv4数据报的数据部分,使得IPv6能在IPv4网络的隧道中传输。
3.7 IP多播
4.地址解析协议ARP
ARP的任务:完成主机或路由器IP地址到MAC地址的映射。解决下一跳的问题。把网络层使用的IP地址,解析出在数据链路层使用的硬件地址。ARP解决这个问题的方法:在主机ARP高速缓存中存放一个从IP地址到硬件地址的映射表,并且这个映射表还经常动态更新。每一台主机都设有一个ARP高速缓存,里面有本局域网上的各主机和路由器的IP地址到硬件地址的映射表。
ARP工作原理:
ARP的四种典型情况:
1. 发送方是主机时,要把IP数据报发送到本网络.上的另一台主机。这时用ARP找到目的主机的硬件地址。
2. 发送方是主机时,要把IP数据报发送到另一个网络上的一台主机。这时用ARP找到本网络上的-一个路由器的硬件地址,剩下的工作由这个路由器来完成。
3. 发送方是路由器时,要把IP数据报转发到本网络上的一台主机。这时用ARP找到目的主机的硬件地址。
4. 发送方是路由器时,要把IP数据报转发到另一个网络上的一台主机。这时用ARP找到本网络上的一个路由器的硬件地址,剩下的工作由找到的这个路由器完成。
5.网际控制报文协议ICMP
目的:为了更有效的转发IP数据报和提高交付成功的机会,在网际层使用了网际控制报文协议ICMP。ICMP允许主机或者路由器报告差错情况和提供有关异常情况的报告。ICMP是网络层协议。
ICMP报文是封装在IP数据报中,作为其中的数据部分。
ICMP报文加上数据包的首部,组成IP数据报。
ICMP的报文格式:
ICMP的报文种类:
1.ICMP差错报告报文:① 终点不可达② 时间超过③ 参数问题④ 改变路由(重定向)
2.ICMP询问报文:① 回送请求和回答② 时间戳请求和回答
不应发送ICMP差错报告报文的四种情况:
1. 对ICMP差错报告报文不再发送ICMP差错报告报文。
2. 对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文。
3. 对具有组播地址的数据报都不发送ICMP差错报告报文。
4. 对具有特殊地址(如127.0.0.0 或0.0.0.0)的数据报不发送ICMP差错报告报文。
ICMP的应用:
1. PING
2. traceroute:跟踪一个分组从源点到终点的路径。
6.网际组管理协议IGMP
该协议与IP组播相结合
IGMP分为两个阶段:
第一阶段:当某台主机加入新的组播组时,该主机应向组播组的组播地址发送一个 IGMP报文,声明自己要成为该组的成员。本地的组播路由器收到IGMP报文后,将组成员关系转发给因特网。上的其他组播路由器。
第二阶段:因为组成员关系是动态的,本地组播路由器要周期性地探询本地局域网上的主机,以便知道这些主机是否仍继续是组的成员。只要对某个组有一台主机响应,那么组播路由器就认为这个组是活跃的。但一个组在经过几次的探询后仍然没有一台主机响应时, 则不再将该组的成员关系转发给其他的组播路由器。
7.网络层设备
路由器
物理层————-转发器
数据链路层——网桥
网络层————路由器
网络层以上——网关
第五章 传输层
1.传输层概述
1.1 传输层的概念
只有主机才有传输层
为应用层提供通信服务,使用网络层的服务。
传输层的功能:
① 传输层提供进程和进程之间的逻辑通信----此功能也是概念;(网络层提供的是主机之间逻辑通信)
② 复用和分用
③ 传输层对收到的报文进行差错检测
④ 传输层的两种协议
1.2 传输层的两个协议
传输层的两个协议:TCP协议和UDP协议
TCP(面向连接的传输控制协议TCP):传送数据之前必须建立连接,数据传送结束后要释放连接。不提供广播或多播服务。由于TCP要提供可靠的面向连接的传输服务,因此不可避免增加了许多开销:确认、流量控制、计时器及连接管理等。
TCP特点:可靠,面向连接,时延大,适用于大文件UDP(无连接的用户数据报协议UDP):传送数据之前不需要建立连接,收到UDP报文后也不需要给出任何确认。
UDP特点:不可靠,无连接,时延小,适用于小文件。
1.3 传输层的寻址和端口
复用和分用的概念:复用:应用层所有的应用进程都可以通过传输层再传输到网络层。分用:传输层从网络层收到数据后交付指明的应用进程。
端口
逻辑端口/软件端口(端口是传输层的ASP,唯一的标识主机中的应用进程)端口用一个数字来标识----端口号。
端口号只有本地意义,在因特网中不同的计算机的相同端口是没有联系的。
端口号长度为16bit,能表示216(65536)个不同的端口号。
端口号(按范围分为):(1)服务端使用的端口号(0~49151):① 熟知端口号(0~1023):给TCP/IP最重要的一些应用程序,让所有用户都知道。也叫知名端口号② 登记端口好(1024~49151):为没有熟知端口号的应用程序使用的。(2)客户端使用的端口号(49152~65535):仅在客户进程运行时才动态选择。
常用的端口号:
在网络中采用发送方和接收方的套接字组合来识别端点,套接字唯一标识了网络中的一个主机和它上面的一个进程。
套接字Socket=(主机IP地址,端口号)
2.UDP协议
2.1 UDP概述
用户数据报协议UDP
UDP只是在IP数据报服务之上增加了很少功能,即复用分用和差错检测功能。UDP协议的主要特点:
① UDP是无连接的,减少开销和发送数据之前的时延。
② UDP使用最大努力交付,即不保证可靠交付。
③ UDP是面向报文的,适合一次性传输少量数据的网络应用。
④ UDP无拥塞控制,适合很多实时应用
⑤ UDP首部开销小,8B;(TCP首部是20B)面向报文:UDP对应用层传输下来的报文,既不合并也不拆分,不对报文处理,保留报文的边界。应用层给UDP多长的报文,UDP就照样发送,即一次发一个完整地报文
2.2 UDP的首部格式
UDP用户数据报的首部和伪首部
UDP用户数据报有两个字段:首部字段和数据字段
首部字段有8个字节,一共四个字段,每个字段是两个字节。1.源端口:源端口号。可有可无,需要对方回信的时候填上信息,不需要对方回信则可用全0.2.目的端口:目的端口号。必须要有的,终点交付报文时使用。3.长度:UDP数据报的整个长度。最小值是8B(仅首部时最小)。4.校验和:检测UDP用户数据报整个数据报在传输中是否有错。有错就丢弃。出错的情况除了UDP校验和检查到错误,还有一种情况就是,
在分用的时候,找不到对应的目的端口号,就丢弃报文,并给发送方发送ICMP“端口不可达”差错报告报文。
2.3 UDP校验
伪首部:UDP用户数据报首部中检验和计算方法比较特殊,需要在UDP用户数据报前面增加一个12字节的伪首部。伪首部只有在计算机校验和时才出现,不向下传送也不向上递交。
伪首部的格式:源IP地址:4B目的IP地址:4B第三个字段:1B,固定全0协议字段:1B。17,封装UDP报文的IP数据报首部协议字段是17。UDP长度:2B。UDP首部8B+数据部分长度(不包括伪首部)。
UDP校验步骤:
在发送端:
① 填上伪首部
② 全0填充检验和字段
③ 全0填充数据部分(UDP数据报要看成许多4B的字串接起来)
④ 伪首部+首部+数据部分采用二进制反码求和
⑤ 把和求反码填入检验和字段
⑥ 去掉伪首部,发送
在接收端:
① 填上伪首部
② 伪首部+首部+数据部分采用二进制反码求和
③ 结果全为1则无差错,否则丢弃数据报/交给应用层附上出差错的警告。
3.TCP协议
3.1 TCP协议的特点
1.TCP是面向连接(虚连接)的传输层协议。 如同:打电话
2.每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的。
3.TCP提供可靠交付的服务,无差错、不丢失、不重复、按序到达。(总结:可靠有序, 不丢不重)
4.TCP提供全双工通信。发送缓存 准备发送的数据、已发送但尚未收到确认的数据接收缓存 按序到达但尚未被接受应用程序读取的数据、不按序到达的数据
5.TCP面向字节流 TCP把应用程序交下来的数据看成是一连串的无结构的字节流。流:流入到进程或从进程流出的字节序列。
3.2 TCP报文段
1. 源端口和目的端口:各占2B。两个一共4B。端口是运输层与应用层的服务接口,运输层的复用和分用功能都要用过端口来实现。
2. 序号:占4B。在一个TCP连接中传送的字节流中的每一个字节都按顺序编号,本字段表示本报文段所发送数据的第一个字节的序号。
3. 确认号:占4B。期望收到对方下一个报文段的第一个数据字节的序号。若确认号为N,则证明到序号N-1为止的所有数据都已正确收到。
4. 数据偏移(首部长度) :占4位。TCP的首部有多长,或者说TCP报文段的数据起始处距离TCP报文段的起始处有多远,以4B位单位,即1个数值是4B,例如1111代表的是15×4B=60B。
5. 保留字段:占6位。保留为今后使用,目前全部置为0.6个控制位
6. 紧急位URG:URG=1时,表明此报文段中有紧急数据,是高优先级的数据,应尽快传送,不用在缓存里排队,配合紧急指针字段使用。
7. 确认位ACK:ACK=1时,确认号有效,在连接建立后所有传送的报文段都必须把ACK置为1.
8. 推送位PSH:PSH=1时,接收方尽快交付接收应用进程,不再等到缓存填满再向上交付。
9. 复位位RST:RST=1时,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立传输链接。
10.同步位SYN:SYN=1时,表明是一个连接请求/连接接受报文。
11.终止位FIN:FIN=1时,表明此报文段发送方数据已发完,要求释放连接。12.窗口:占2B。指的是发送本报文段的一方的接收窗口,即现在允许对方发送的数据量。
13.检验和:占2B。检验首部+数据,检验时要加上12B伪首部,第四个字段为6。
14.紧急指针:占2B。URG=1时才有意义,指出本报文段中紧急数据的字节数。
15.选项:长度可变。最大报文段长度MSS、窗口扩大、时间戳、选择确认..
16.填充字段:为了使整个首部长度为4B的整数倍。
3.3 TCP连接管理
TCP连接传输三个阶段:建立连接→数据传送→连接释放
TCP连接的建立采用客户服务器方式,主动发起连接建立的应用进程叫做客户,而被动等待连接建立的应用进程叫服务器。
TCP连接的建立:
TCP三次握手建立TCP连接:
第一阶段:
客户端发送连接请求报文段,无应用层数据。
SYN=1,seq=x(随机)
第二阶段:
服务器为该TCP连接分配缓存和变量,并向客户端返回确认报文段,允许连接,无应用层数据。
SYN=1,ACK=1,seq=y(随机),ack=x+1
第三阶段:
客户端为该TCP连接分配缓存和变量,并向服务器端返回确认的确认,可以携带数据。
SYN=0,ACK=1,seq=x+1,ack=y+1三次握手带来的隐患:SYN洪泛攻击:
SYN洪泛攻击发生在OSI第四层,这种方式利用TCP协议的特性,就是三次握手。 攻击者发送TCP SYN,SYN是TCP三次握手中的第一个数据包。 而当服务器返回ACK后,该攻击者就不对其进行再确认,那这个TCP连接就处于挂起状态,也就是所谓的半连接状态。 服务器收不到再确认的话,还会重复发送ACK给攻击者。这样更加会浪费服务器的资源。 攻击者就对服务器发送非常大量的这种TCP连接。 由于每一个都没法完成三次握手,所以在服务器上,这些TCP连接会因为挂起状态而消耗CPU和内存,最后服务器可能死机,就无法为正常用户提供服务了
解决SYN洪泛攻击的办法:设置SYN cookie
TCP数据的传送:
TCP连接的释放:
第一阶段:
客户端发送连接释放报文段,停止发送数据,主动关闭TCP连接。
FIN=1,seq=u
第二阶段:
服务器端回送一个确认报文段。客户到服务器这个方向的连接就释放了——处于半关闭状态。
ACK=1,seq=v,ack=u+1
第三阶段:
服务器发完数据,就发出连接释放报文段,主动关闭TCP连接。
FIN=1,ACK=1,seq=w,ack=u+1
第四阶段:
客户端回送一个确认报文段,再等到时间等待计时器设置的2MSL(最长报文段寿命)后,连接彻底关闭。
ACK=1,seq=u+1,ack=w+1
3.4 TCP可靠传输
TCP的任务是在网络层不可靠的、尽最大努力交付的服务的基础上建立一种可靠传输服务。
网络层不可靠传输的话,用传输层的TCP实现可靠传输;如果传输层使用的是UDP的话,那么就要靠应用层来实现可靠传输。
可靠:保证接收方进程从缓存区独处的字节流与发送方发出的字节流是完全一样的。
TCP实现可靠传输的机制:校验、序号、确认、重传
1.校验:与UDP校验一样,增加伪首部。
2.序号:一个字节占用一个序号。序号字段指的是一个报文段第一个字节的序号。
3.确认:接收方收到报文段以后,发送一个确认作用的确认报文段给发送方。使用累计确认或捎带确认。TCP默认使用的是累计确认方法。
4.重传:确认和重传不分家超时重传:TCP的发送方在规定时间(重传时间)内没有收到确认就要重传已发送的报文段。TCP采用自适应算法,动态的改变重传时间RTTs(加权平均往返时间)。冗余ACK(冗余确认)每当比期望序号大的失序报文段到达时,发送一个冗余ACK,指明下一个期待字节的序号。例如:发送方已发送1,2,3,4,5报文段。接收方收到1,返回给1的确认。(确认号为2的第一个字节)接收方收到3,仍返回给1的确认。(确认号为2的第一个字节)接收方收到4,仍返回给1的确认。(确认号为2的第一个字节)接收方收到5,仍返回给1的确认。(确认号为2的第一个字节)发送方收到3个对于报文段1的冗余ACK,则发送方认为2报文段丢失,会重传2号报文段。——快速重传
3.5 TCP流量控制
流量控制:让发送方发送慢点,要让接收方来得及接收。
TCP利用滑动窗口机制实现流量控制。在通信过程中,接收方根据自己接收缓存的大小,动态地调整发送方的发送窗口的大小,
即接收窗口rwnd(接收方设置确认报文段的窗口字段来将rwnd通知给发送方),发送方的发送窗口取接收窗口rwnd和拥塞窗口cwnd的最小值。发送窗口的大小可以动态变化。
避免出现主机A和主机B死锁局面:TCP为每一个连接都设有一个持续计时器,只要TCP连接的一方收到对方的零窗口通知,就启动持续计时器。若持续计时器设置的时间到期,就发送一个零窗口探测报文段,接收方收到探测报文段时给出现在的窗口值。
3.6 TCP拥塞控制
出现拥塞的条件:对资源的需求的总和>可用资源
网络中有许多资源同时呈现供应不足→网络性能变坏→网络吞吐量将随输入负荷增大而下降拥塞控制:防止过多的数据注入到网络中:全局性拥塞控制和流量控制的区别:拥塞控制:让网络能够承受现有的网络负荷,是全局性的过程,涉及到所有的主机、路由器,以及与降低网络传输性能有关的所有因素。流量控制:指点对点的通信量的控制,即接收端控制发送端它所要做的是抑制发送端发送数据的速率,以便使接收端来得及接受数据。拥塞控制的四种算法(两两结合使用):慢开始和拥塞避免快重传和快恢复讨论拥塞控制时的假定:1.数据单方向传送,而另一个方向只传送确认。2.接收方总是有足够大的缓存空间,因而发送窗口的大小取决于拥塞程度。发送窗口=Min{接收窗口rwnd,拥塞窗口cwnd}接收窗口和拥塞窗口接收窗口:接受方根据接受缓存设置的值,告知给发送方,反应接收方的容量。拥塞窗口:发送方根据自己估算的网络拥塞程度而设置的窗口值,反映网络当前的容量。
慢开始和拥塞避免
一个传输轮次:发送了一批报文段并收到它们确认的时间;一个往返时延RTT;开始发送一批拥塞窗口内的报文段到开始发哦使那个下一批拥塞窗口内的报文段的时间。
慢开始门限值ssthresh:cwnd<ssthresh时,使用慢开始算法;cwnd>ssthresh时,停止使用慢开始算法,改用拥塞避免算法。cwnd=ssthresh时,即可使用慢开始算法,也可使用拥塞避免算法。1.慢开始算法:每经过一个传输轮次(即往返时延RTT),拥塞窗口cwnd就会加倍,即cwnd的大小是指数增长的。
当慢开始把拥塞窗口cwnd大小增大到规定的慢开始门限值ssthresh时,然后改用拥塞避免算法。
2.拥塞避免算法:发送端的拥塞窗口cwnd每经过一个往返时延RTT就增加一个MSS的大小,而不是加倍,使cwnd按线性规律缓慢增长(加法增长)。当出现一次超时(网络拥塞)时,令慢开始门限ssthresh等于当前cwnd的一半(乘法减小)。然后把cwnd重新设置为1,继续执行慢开始算法。
快重传和快恢复算法:
1.快重传:当发送方连续收到三个重复的ACK报文时,直接重传对方尚未收到的报文段,而不必等待那个报文段设置的重传计时器。
2.快恢复:发送端收到连续三个冗余ACK(即重复确认)时,执行“乘法减小”算法,把慢开始门限ssthresh设置为出现拥塞时的发送方cwnd的一半。与慢开始算法的不同是,它把拥塞窗口cwnd的值设置为慢开始门限ssthresh改变后的数值,然后开始执行拥塞避免算法(“加法增大”)。
3.7 可靠传输的工作原理详细介绍
3.7.1 停止等待协议
3.7.2 连续ARQ协议
3.7.3 滑动窗口协议
3.7.4 后退N帧协议 GBN(Go-back-N)
3.7.5 选择重传SR协议
第六章 应用层
应用层对应用程序的通信提供服务。
1.网络应用模型
1.1 客户服务器模型(C/S模型)
客户和服务器都是通信中涉及的两个应用进程。
客户服务器方式描述的是应用进程之间的服务和被服务的关系。最主要的特征:客户是服务的请求方,服务器是服务的提供方。服务请求方和服务提供方都要使用网络的核心部分所提供的服务。客户程序和服务器程序还具有的特点:客户程序:1.被用户调用后运行,在通信时主动向远地服务器发起通信(请求服务)。客户程序必须知道服务器程序的地址。2.不需要很特殊的硬件和复杂的操作系统。服务器程序:1.是一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求。2.系统启动后即自动调用并一直不断地运行着,被动地等待并接受来自各地的客户的通信请求。服务器程序不需要知道客户程序的地址。3.一般需要有强大的硬件和高级的操作系统支持。常见的客户服务器模型:web、文件传输协议FTP、远程登录、电子邮件等。客户服务器模型的特点:1.网络中计算机的地位不平等,严格区分服务者和被服务者。2.客户机相互之间不直接通信。3.可扩展性不佳。
1.2 对等模型(P2P模型)
对等连接是指两台主机在通信时并不区分哪一个是服务请求方哪一个是服务提供方。只要两台主机都运行了对等连接软件(P2P软件),他们就可以进行平等的、对等连接通信。
双方都可以下载对方已经存储在硬盘中的共享文档。
对等连接从本质上看仍然是客户-服务器方式,只是对等连接中的每一台主机即是客户又同时是服务器。对客服务提供方和请求方没有严格区别。P2P模型的优点:1.减轻了服务器的计算压力,消除了对某个服务器的完全依赖,可以将任务分配到各个结点,提高了系统效率和资源利用率。2.多个客户机之间可以共享文档。3.可扩展性好。4.网络健壮性强,单个结点的失效不会影响到其他结点。
2. 域名系统 DNS
2.1 域名系统DNS概述
域名系统DNS是互联网使用的命名系统,用来把便于人们记忆使用的机器名字转换成IP地址。DNS系统采用客户服务器模型,协议运行在UDP上,使用53号端口。互联网的域名系统DNS被设计成为一个联机分布式数据库系统。层次树形结构的命名方法。DNS使大多数名字都在本地进行解析,仅少量解析需要在互联网上通信,因此DNS系统的效率很高。
2.2 层次域名空间
采用层次树形结构命名的方法,任何一个连接到互联网的主机或者路由器,都有一个唯一的层次结构名称,即域名。每一个域名由标号序列组成,各个标号之间用点隔开。关于域名的标号的注意:1.标号中的英文不区分大小写。2.标号中除了连字符(-)外不能使用其他的标点符号。3.每个标号不超过63个字符,多标号组成的完整域名最长不超过255个字符。4.级别最低的域名写在最左边,级别最高的域名写在最右边。
顶级域名分为三大类:
1.国家顶级域名(nTLD):国家和某些地区的域名。
2.通用顶级域名(gTLD):.com、.net、.org等
3.基础结构域名(infrastructure domain):只有一个arpa,用于反向域名解析(IP地址到域名的映射)。因此又称为反向域名。
二级域名由国家自行确定。
我国二级域名分为两类:
1.类别域名(7个):ac(科研机构)、com(工商金融等企业)、edu(教育机构)、gov(政府机构)、mil(国防机构)、net(提供网络服务的机构)、org(非盈利的机构)
2.行政区域名(34个):适用于我国的各个省、自治区、直辖市。
域名树:
2.3 域名服务器
根据域名服务器所起的作用,可以把域名服务器划分为以下四种不同的类型:
1.根域名服务器:根域名服务器是最高层次的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的IP地址。不管是哪一个服务器,若要对互联网上的任何一个域名解析,只要自己无法解析,就首先要求助于根域名服务器。根域名服务器用来管辖顶级域名服务器,通常它并不直接把待查询的域名直接转换成IP地址,而是告诉本地域名服务器下一步应当找哪个顶级域名服务器进行查询。2.顶级域名服务器:顶级域名服务器复制管理该顶级域名服务器注册的所有二级域名。当收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当查询的域名服务器的IP地址)。3.权限域名服务器(授权域名服务器):每台主机都必须在授权域名服务器处登记。为了更可靠工作,一台主机最好至少有两个授权域名服务器。授权域名服务器总能将其管辖的主机名转换成该主机的IP地址。4.本地域名服务器:当一台主机发出DNS查询请求时,这个查询请求就是发送给本地域名服务器。
2.4 域名解析过程
当客户端需要域名解析时,通过本机的DNS客户端构造一个DNS请求报文,以UDP数据报方式发往本地域名服务器。域名解析的两种方式:1.递归查询2.迭代查询
高速缓存(高速缓存域名服务器):用来存放最近查询过的域名以及从何处获得域名映射信息的记录。提高了DNS查询效率,减轻了根域名服务器的负荷和减少了互联网上的DNS查询报文数量。
3.文件传送协议 FTP
3.1 FTP的概述
文件传输协议FTP是互联网上使用的最广泛地文件传输协议。FTP提供交互式的访问,允许客户指明文件的类型和格式,并允许文件具有存储权限。因为FTP屏蔽了个计算机系统的细节,所以适合于异构网络中任意计算机之间传输文件。
FTP提供的功能:
1.提供不同种类主机系统之间的文件传输能力。
2.以用户权限管理的方式提供用户对远程FTP服务器上的文件传输能力。
3.以匿名FTP的方式提供公用文件共享的能力。
FTP传输模式:
1.文本模式:ASCII模式,以文本序列传输数据。
2.二进制模式:Binary模式,以二进制序列传输数据。
3.2 FTP的工作原理
FTP采用客户服务器方式,使用TCP可靠传输服务。
一个FTP服务器可同时为多个用户进程服务。FTP进程由两大部分组成:一个主进程:负责接收新的请求;若干个从属进程:负责处理单个请求。
主进程的工作步骤:
1.打开熟知端口(端口号为21),使用户进程能够连上。
2.等待客户进程发出连接请求。
3.启动从属进程处理客户进程发来的请求。主程序和从属进程并发执行,从属进程对客户进程的请求处理完毕后即终止,但从属进程运行期间还可能创建其他一些子进程。
4.回到等待状态,继续接收其他客户进程的请求。
控制连接和数据连接:
FTP在工作时使用的是两个并行的TCP连接:控制连接(端口号是21);数据连接(端口号是20)。
控制连接:
服务器监听21号端口。
控制连接用来传输控制信息(连接请求、传送请求等),并且控制信息都是以7位ASCII格式传送。
控制连接种鸽会话期间一直保持打开状态。
数据连接:
数据连接用来连接客户端和服务器端的数据传送进程,实际完成数据文件的传送。
传送完毕后关闭“数据传送连接”并结束运行。端口:主动方式使用TCP 20号端口;被动传输方式由服务器和客户端自行协商决定(端口号>1024)。
3.3 简单文件传输协议TFTP
4.远程终端协议 Telnet
用户用Telnet可以在其所在地通过TCP连接注册到远地的另一台主机上。Telnet使用客户服务器方式。
5.万维网WWW
5.1 万维网WWW的概述
万维网(World Wide Web)是一个大规模的、联机式的信息存储所。万维网以客户服务器方式工作。客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。万维网用的链接方法能非常方便地从互联网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。
万维网的内核部分由三个标准构成:
1.统一资源定位符URL:负责标识万维网上的文档,并使每个文档在整个万维网的范围内具有唯一的标识符URL。
2.超文本传输协议HTTP:应用层协议,使用TCP可靠传输。HTTP是万维网客户程序和服务器程序之间交互所必须遵守的协议。
3.超文本标记语言HTML:文档结构的标记语言。它使用一些约定的标记对页面上的各种信息(包括文字、声音、图像、视频等)、格式进行描述。
5.2 统一资源定位符URL
统一资源定位符URL是用来表示从互联网上得到的资源位置和访问这些资源的方法。
URL的一般格式:
<协议>://<主机>:<端口>/<路径><协议>:http(超文本传输协议)、ftp(文件传送协议)。
<主机>:指明万维网是在哪一台主机,指的是主机在互联网上的域名,也可以是IP。
<端口>和<路径>有时候可以省略
使用最多的URL(使用HTTP的URL):
http://<主机>:<端口>/<路径>http的默认端口号是80
假如省略掉<路径>,则自动跳转到主页(homepage),路径有时候会区分字母的大小写。
5.3 超文本传送协议HTTP
5.3.1 HTTP的特点:
HTTP是无状态的。
同一客户第二次访问同一个服务器上的页面时,服务器响应与第一次被访问时相同。
也就是说,服务器并不记得曾经访问过的这个用户,也不记得为该客户服务多少次。通常使用Cookie加数据库的方式来跟踪用户的活动。Cookie是一个存储在用户主机中的文本文件,里面含有一串“识别码”,用于web服务识别用户。HTTP采用TCP作为运输层协议,保证了数据的可靠传输。HTTP既可以用非持久连接(HTTP/1.0),也可以使用持久连接(HTTP/1.1)。
非持久连接:每个网页元素对象(如图像、flash等)的传输都需要单独的建立一个TCP连接。
持久连接:万维网服务器发送响应后仍然保持这条连接,是同一客户和服务器可以继续在这条连接上传送后续的HTTP报文请求和响应报文。
5.3.2 HTTP的报文结构:
HTTP是面向文本的,因此报文中的每个字段都是一些ASCII码串,并且每个字段的长度都是不确定的。
报文的分类:
1.请求报文:客户向服务器发送请求报文。2.响应报文:服务器向客户发送的回答。
HTTP的请求报文和响应报文都是由三个部分组成。区别就是开始行不同。
(1)开始行:用于区别是请求报文还是响应报文。请求报文开始行是请求行,响应报文的开始行是状态行。在开始行的三个字段之间都以空格分割开,最后的“CR“代表”回车“、”LF“代表”换行“。
(2)首部行:用来说明浏览器、服务器或报文主题的一些信息。可以有很多行,也可以不使用。每一个首部行中都有首部字段名和它的值,结束地方都要有“回车”和“换行”。整个首部行结束时,还要有一个空行将首部行和后面的实体主体分开。
(3)实体主体:请求报文中通常不使用;响应报文中也可能没有。
5.4超文本标记语言HTML
6.E-Mail 电子邮件
6.1 电子邮件的概述
电子邮件是异步通信方式。
电子邮件的组成构件:
电子邮件系统主要构件:1.用户代理(UA):用户和电子邮件系统的接口。用来发送和接受邮件。用户代理最基本的4个功能:(1)撰写 (2)显示 (3)处理 (4)通信2.邮件服务器:组成电子邮件的核心部分。邮件服务器的功能:发送和接收邮件,同时还要向发信人报告邮件的传送情况(已交付、被拒绝、丢失)采用客户端服务器方式。3.电子邮件使用的协议:邮件发送协议:用于用户代理向邮件服务器发送邮件或者在邮件服务器之间发送邮件。通常使用的是SMTP。邮件读取协议:用于用户代理从邮件服务器读取邮件。通常是POP3。
电子邮件的发送和接受过程:
电子邮件的格式:
一个电子邮件分为信封和内容两大部分,邮件内容又分为首部和主体两部分。信封上的信息不需要用户填写:用户写好首部以后,邮件系统自动地将信封所需的信息提取出来并写在信封上。邮件内容:首部:包括一些关键字,后面加上冒号。最重要的关键字:To和Subject。To:后面跟一个或者多个电子邮件地址。电子邮件地址格式:收件人邮箱名@邮箱所在主机的域名。Subject:可选关键字,是邮箱的主题,反应邮箱的主要内容。主体:用户自由撰写。首部和主题空一行隔开。
6.2 简单邮件传送协议 SMTP
SMTP规定了两个互相通信的SMTP进程之间如何交换信息。SMTP使用的是客户服务器方式。负责发送邮件的SMTP进程就是SMTP客户,负责接收邮件的SMTP进程就是SMTP服务器SMTP使用的是TCP连接,端口号是25.SMTP的三个阶段:连接建立→邮件传送→连接释放
6.3 邮件读取协议 POP3和IMAP
POP3
邮局协议(POP3)是一个非常简单但功能有限的邮件读取协议。
POP3也是用客户服务器方式。
传输层使用的是TCP连接,端口号是110.POP的两种工作方式:下载并保留:下载并删除:
IMAP
因特网报文存取协议IMAP,比POP3复杂。IMAP使用客户服务器方式,TCP连接。优点:用户可以在不同的地方使用不同的计算机随时上网阅读和处理自己在邮件服务器中的邮件。允许收件人只读取邮件中的某一部分。
缺点:邮件都放在IMAP上,要读取就要联网。
6.4通用互联网邮件扩充 MIME
SMTP的缺点:
1.SMTP不能传送可执行文件或其他二进制对象。2.SMTP限于传送7位的ASCII码。许多其他非英语国家的文字就无法传送。3.SMTP会拒绝超过一定长度的邮件。
MIME:
MIME并未改动或取代SMTP。
SMTP意图是继续使用目前的格式,但是增加了邮件的主体的结构,并定义了传送非ACII码的编码规则。
MIME可以在现有的电子邮件程序和协议下传送。MIME主要包括以下三部分内容:① 5个新的邮件首部字段,包括MIME版本、内容描述、内容标识、内容传送编码、内容传送类型。② 定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化。③ 定义了传送编码。可对任何内容进行转换,而不会被邮件系统改变。
7.动态主机配置协议 DHCP
8.简单网络管理协议 SNMP
9.应用进程跨越网络的通信
声明:本文章用于博主个人学习总结,勿用于商业或其他途径。
【计算机网络学习笔记】计算机网络相关推荐
- 408计算机网络学习笔记——计算机网络体系结构
目录 1.计算机网络概述 1.1.计算机网络的组成 1.2.计算机网络的分类 1.3.计算机网络性能指标 2.计算机网络体系结构与参考模型 2.1.计算机网络的分层结构 2.1.1.分层的基本原则 2 ...
- 计算机网络学习笔记-计算机网络体系结构-分层思想以及必要性
文章目录 前言 一.常见的计算机网络体系结构 二.计算机网络体系结构分层的必要性 三.计算机网络体系结构分层思想举例 总结 前言 如果你是计算机专业相关学生,你一定听过OSI模型,它可能无数次让你奔溃 ...
- 计算机网络学习笔记(详尽版)
计算机网络学习笔记 计算机网络 第一章 定义和特点 网络 定义 功能 特点 组成 类别 性能 结构 本章重要概念 第二章 物理层 基本概念和标准 数据通信基础知识 物理层下的传输媒体 引导型传输媒体 ...
- 计算机网络学习笔记:第三章
文章目录 计算机网络学习笔记:第三章 前言 3.1.概述和运输层服务 3.1.1 运输层和网络层的关系 3.1.2 因特网运输层概述 3.2.多路复用与多路分解 前言 运输层位于应用层和网络层之间,是 ...
- 计算机网络学习笔记:第二章
文章目录 计算机网络学习笔记:第二章 前言 2.1.应用层协议原理 2.1.1 网络应用程序体系结构 2.1.2 进程通信 2.1.3 可供应用程序使用的运输服务 2.1.4 因特网提供的传输层服务 ...
- 计算机网络学习笔记(2. 什么是网络协议)
计算机网络学习笔记(2. 什么是网络协议) 1. 协议是计算机网络有序运行的重要保证 硬件(主机,路由器,通信链路等)是计算机网络的基础 计算机网络中的数据交换必须遵守事先约定好的规则 如同交通系统 ...
- 【计算机网络学习笔记02】计算机网络概述(中)
[计算机网络学习笔记02]计算机网络概述(中) 计算机网络的定义.组成与分类 1计算机网络的定义 1.1 简单定义: 一些相互连接的.以共享资源为目的的.自治的计算机的集合. 1.2 通用定义: 利用 ...
- 计算机网络-学习笔记
计算机网络-学习笔记 1.1.1 概念.组成.功能和分类 概念:计算机网络:是一个将分散的.具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统.计算机网 ...
- 【计算机网络学习笔记13】交换技术(下)
[计算机网络学习笔记13]交换技术(下) 一.生成树的诞生和发展 1. 环路问题 两个网桥之间的连接网线如果只有一根,而这根网线或者接口有问题,网络就会出现单点故障.所以为了提高可靠性,网桥在互连时一 ...
最新文章
- java 克隆_Java实现对象克隆的方法
- 【Android 逆向】Android 系统文件分析 ( 外部存储设备文件 | sbin 命令程序目录 | dev 字符设备目录 )
- C# 各种字符串格式
- 微机笔记3——汇编语言程序设计
- 暗月渗透实战靶场-项目八(上)
- hdoj1299 还是A+B
- VUE 动态响应的实现
- 滴水石穿,奇迹是一点点实现的
- 每日总结-05-23
- Linux笔记本 安装 qq/TIM/微信/百度网盘......解决方案
- mac下Xshell和Xftp | Royal TSX
- php trum,口碑曝光TrumoAurora评测如何?怎么样呢?使用报告曝光评测
- python批量图像处理_基于python代码批量处理图片resize
- 网站系统 群发“站内信”的实现
- 做为站长眼光要放在远方
- 大乐透兑奖规则|规则图
- 扬州全景拍摄,扬州全景图片欣赏
- Java多人视频通信(不定时更新)
- ad15的stc元件库_STC单片机 STC15F系列单片机 Altium PROTEL 设计的器件原理图+PCB封装库文件...
- X3DAudio中声道音量跳变的问题
热门文章
- Python绘制三维立体图详解与绘图填充
- Python金融分析
- C# 获取某个时间的0点0分和23点59分59秒
- SQLExceptioncom.mysql.jdbc.SQLError in createSQLException Incorrect string value: '\xF0\x9F\x99\x8F'
- USB复合设备调试 STM32
- Cannot construct instance of `com.baomidou.mybatisplus.core.metadata.IPage` (no Creators, like defau
- 计算机视觉要掌握哪些知识,学习了哪些知识,计算机视觉才算入门?
- E-游戏机本当下手(北京信息科技大学第十二届程序设计竞赛暨ACM选拔赛)
- WhyNotWin11(win11升级检测工具)绿色便携版V2.1.0.0下载 | 比微软PC Health Check好用
- 【java】输入一个整数判断它是偶数还是奇数