本笔记来源于博主上课所记笔记整理,可能不全,欢迎大家批评指正,如果觉得有用记得点个赞,给博主点个关注...该笔记将会持续更新...整理不易,希望大家多多点赞。
第二章 物理层
第三章 数据链路层
第一章 计算机网络体系结构
1.计算机网络的作用
1.1互联网的基本特点
-
连通性:计算机网络使上网的用户都可以交换信息,好像这些用户的计算机都可以彼此直接连通一样。
-
共享性:即资源共享
2.因特网
2.1网络的网络
-
网络是由若干个节点和连接这些节点的链路组成
-
互联网是“网络的网络”
-
连接在因特网上的计算机都称为主机
-
通常所说的“互联网”“英特网”指的是“因特网”
2.2因特网发展的三个阶段
-
第一阶段:从单个网络ARPANET向互连网发展的过程
-
第二阶段:建成三个结构的互联网
-
第三阶段:逐渐形成了全球范围的多层次ISP结构的互联网
-
ISP:互联网服务提供者(互联网服务提供商)
-
ISP也分为不同层次的ISP:主干ISP、地区ISP、本地ISP
-
IXP:互联网交换点;其作用是允许两个网络直接相连并交换分组,而不需要再通过第三个网络来转发分组
-
2.3互联网的标准化工作
-
ISOC:互联网协会
-
IAB:互联网体系结构研究委员会
-
IRTF:互联网研究部
-
IETF:互联网工程部
-
-
-
制定互联网的正式标准的三个阶段:RFC文档
-
互联网草案
-
建议标准
-
互联网标准
-
3.互联网的组成
-
边缘部分:由所有连接在互联网上的主机组成,这部分是用户直接使用的,用来进行通信(传送数据、音频和视频)和资源共享
-
核心部分:由大量网络和连接这些网络的路由器组成,这部分是为边缘部分提供服务的(提高连通性和交换)
3.1边缘部分
边缘部分:由所有连接在互联网上的所有的主机,这些主机又称为端系统
主机A和主机B进行通信”,实际上是指“运行在主机A上的某个程序和运行在主机B上的另一个程序进行通信”即“主机A的某个进程和主机B上的另一个进程进行通信”简称为“计算机之间通信”
网络边缘的端系统之间的通信通常划分为两大类:客户-服务器方式(C/S方式)和对等方式(P2P方式)
3.1.1客户-服务器方式(Client/Server方式)
-
客户A向服务器B发出请求服务,而服务器B向客户A提供服务
-
客户机运行客户程序,而服务器运行服务器程序
服务器可以同时处理多个远地或本地客户的请求
3.1.2 P2P方式(peer-to-peer)
-
不区分服务请求方和服务提供方
-
只要两个主机都运行了对等连接软件 (P2P软件),它们就可以进行平等的,对等连接通信。
-
双方都可以下载对方已经存储在硬盘中的共享文档。
-
对等连接方式从本质上看仍然是使用客户服务器方式,只是对等连接中的每个主机既是客户又同时是服务器
-
每台主机都运行P2P程序。
3.2核心部分
-
网络核心部分起特殊作用的是:路由器
-
路由器是实现分组交换的关键构建,其任务就是转发收到的分组,这是网络核心部分的最重要的功能
3.2.1 电路交换的主要特点
电路交换(circuit switching)技术即在通信两端设备间,通过一换设备中线路的连接,实际建立了一条专用的物理线路,在该连接被拆除前,这两端的设备单独占用该线路进行数据传输。
-
电话系统采用了线路交换技术。通过一个个交换机中的输入线与输出线的物理连接,在呼叫电话和接收电话间建立了一条物理线路。
-
通话结束之前,通话双方始终占有端到端的通信资源
-
通话结束后,这些交换机中的输入线与输出线断开,物理线路被切断。
1.优点
-
连接建立后,数据以固定的传输率被传输,传输延迟小。
-
由于物理线路被单独占用,因此不可能发生冲突。
-
适用于实时大批量连续的数据传输。
2.缺点
-
建立连接将跨多个设备或线缆,则会需要花费很长的时间。
-
连接建立后,由于线路是专用的,即使空闲,也不能被其它设备使用造成一定的浪费。
-
对通信双方而言,必须做到双方的收发速度、编码方法、信息格式和传输控制等一致才能完成通信。
3.2.2 分组交换的主要特点
分组交换采用存储转发技术
-
通常我们把发送的整块数据成为一个报文 (message)
-
把一个报文进行分割,分割为等长的小数据段。在每一个小数据段前面加上必要的控制信息组成的首部(header) 后,就构成一个分组 (packet)。
-
分组又称为“包”,而分组的首部也称为”包头”。分组是在互联网中进行传送的数据单元。
-
分组中的“首部”是非常重要的,由于分组的首部包含了目的地址和源地址等重要的控制信息,每一个分组才能够在网络中独立的选择传输路径,并被正确的交付到分组传输的终点。
1.分组交换的通信过程
-
在发送端把要发送的报文分隔为较短的数据块
-
每个块增加带有控制信息的首部构成分组 (包)
-
依次把各分组发送到接收端
-
接收端剥去首部,抽出数据部分,还原成报文
2.路由器处理分组的过程:
-
把收到的分组先放入缓存(暂时存储)
-
查找转发表,找出到某个目的地址应从那个端口转发
-
把分组送到适当的端口转发出去
3.优点
-
高效:动态分配传输带宽,对通信链路是逐段占用。
-
灵活:以分组为传送单位和查找路由。
-
迅速:不必先建立连接就能向其他主机发送分组
-
可靠:保证可靠性的分布式路由选择协议使网络有很好的生存性
4.缺点
-
时延:分组在各结点存储转发时需要排排队,这就会造成一定的时延
-
开销:分组必须携带的首部(控制信息) 造成了一定的开销
-
不保证带宽:动态分配
3.2.3 报文交换
整个报文先传送到相邻的节点,全部存储下来后查找转发表,转发到下一个节点。
3.2.4 三种交换方式的比较
-
若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。
-
报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率
-
由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。
4.计算机网络的分类
4.1计算机网络的定义
最常见的定义
-
计算机网络,是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。(考试写什么是计算机网络写此定义)
较好的定义
-
计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并计算机网络主要是由一些通用的、可编程的硬件互连而成的,非专门用来实现某一特定目的(例如,传送数据或视频信号)
-
这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
4.2 计算机网络的分类
4.2.1按照网络的作用范围分类
-
广域网WAN(Wide Area Network)
-
局域网LAN(Local Area Network)
-
城域网MAN(Metropolitan Area Network)
-
个人区域网PAN(Personal Area Network)
4.2.2 按照网络的使用者进行分类
-
公用网(public network)
-
专用网(private network)
4.2.3 用来把用户接入到互联网的网络
-
接入网AN(Access Network)
5.计算机网络的性能分析
5.1计算机的性能指标
5.1.1.速率
-
最重要的一个性能指标
-
指的是数据的传送速率,也称为数据率(data rate)或比特率(bit rate)
-
单位:bit/s,kbit/s,Mbit/s,Gbit/s
-
速率往往是指额定速率或标称速率,而非实际运行速率
5.1.2.带宽
-
频域
-
某个信号具有的频带宽度
-
单位是赫
-
某信道允许通过的信号频带范围称为该信道的带宽
-
-
时域
-
网络中某通道传送数据的能力,表示在单位时间内网络中某信道所能通过的“最高数据率”
-
单位是bit/s
-
二者的本质相同,一条通信链路的“带宽”越宽,其所能传输的“最高数据率”也越高。
5.1.3.吞吐量
-
吞吐量(throughput)表示在单位时间内通过某个网络(或信道、接口)的实际数据量。
-
吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
-
受网络的带宽或网络的额定速率的限制。
-
额定速率是绝对上限值。
-
可能会远小于额定速率,甚至下降到零
-
-
有时可用每秒传送的字节数或帧数来表示
-
单位:kBps,,TBps
5.1.4.时延
-
时延(delay或latency) 是指数据 (一个报文或者分组,亦或者比特)从网络(或链路)的一端传送到另一端所需的时间。
-
时延是非常重要的性能指标。
-
时延在某些场景下被称为延迟、迟延。
-
-
网络通信的时延有四个部分组成,分别是发送时延、传播时延、处理时延、排队时延。
-
总时延=发送时延+传播时延+处理时延+排队时延
-
-
发送时延 (transmission delay) : 传输时延
-
是主机或路由器发送数据帧所需要的时间
-
也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。
-
发送时延=数据帧长度/发送速率
-
-
传播时延 (propagation delay)
-
是电磁波在信道中需要传播一定的距离而花费的时间
-
传播时延=信道长度/信号在信道上传播速率
-
发送时延与传播时延有本质上的不同
-
发送时延发生在机器内部的发送器中,与传输信道的长度(或信号传送的距离)没有任何关系。
-
传播时延则发生在机器外部的传输信道媒体上,而与信号的发送速率无关。信号传送的距离越远,传播时延就越大。
-
处理时延
-
是主机或者路由器在收到分组时要花费的进行处理的时间。
-
例如,主机或者路由器在分析分组的首部、从分组中提取数据部分、进行差错检验、查找路由以进行转发等工作,均需要一定的时间。
-
-
排队时延
-
是分组在路由器进行处理时,排队的时间。
-
分组在传输到路由器,需要首先进入路由器输入队列中进行排队,路由器在确定转发接口后,需要进入路由器输出队列中等待转发,这个过程中,分组均需要排排队等待处理。
-
5.1.5.时延带宽积
-
时延带宽积:将传播时延和带宽相乘
-
链路的时延带宽积又称为以比特为单位的链路长度
-
管道中的比特数表示从发送端发出但尚未到达接收端的比特数。
-
只有在代表链路的管道都充满比特时,链路才得到了充分利用
-
5.1.6.往返时间RTT
-
往返时间RTT (Round-Trip Time)
-
表示从发送方发送数据开始,到发送方收到来自接收方的确认 (接收方接收数据后马上发送接收确认)总共经历的时间
-
5.1.7.利用率
-
信道利用率
-
某信道由百分之几的时间是被利用的(即有数据通过)
-
完全空闲的信道的利用率为0
-
-
网络利用率
-
全网络的信道利用率的加权平均值
-
-
当某信道的利用率增大时,该信道引起的时延也就迅速增加。
-
若令 D。表示网络空闲时的时延,D 表示网络当前的时延
-
则在适当的假定条件下,可以用下面的简单公式表示D和D之的关系 D=D0/1-U (U是网络的利用率)
-
6.计算机网络体系结构
在计算机网络的概念中,分层次的体系结构是最基本的。
6.1计算机网络体系结构的形成
1974年,IBM公司宣布了依据分层的方法制定的系统网络体系结构SNA(System Network Architecture)
6.1.1.目前两种通用的网络体系结构:
-
法律上的(dejure)国际标准:开放系统互连基本参考模型OSI/RM(OpenSystems Interconnection Reference Model) ,但没有得到市场的认可。
-
事实上的(de facto)国际标准: 传输控制协议/互联网互联协议,又名网络通讯协议,TCP/IP (Transmission Control Protocol/Internet Protocol) ,现在获得了最广泛的应用。
6.2.协议与划分层次
-
计算机网络中的数据交换必须遵守事先约定好的规则。
-
这些规则明确规定了所交换的数据的格式以及有关的同步问题(同步含有时序的意思)
6.2.1.网络协议(Network Protocol)
简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定
-
三要素:
-
语法:数据与控制信息的结构或格式
-
语义:需要发出何种控制信息,完成何种动作以及做出何种响应
-
同步:事件实现顺序的详细说明
-
-
网络协议是计算机网络不可缺少的组成部分。
-
任何网络通信,都必须要有协议。
-
让网络上的一台计算机做任何工作,都必须要有协议。
-
在进行单机操作的时候,例如在本地计算机上进行文档撰写、视频浏览等操作时,就不需要任何网络协议。
-
6.2.2.协议
有两个部分组成:
-
便于人来阅读和理解的文字描述,RFC 文档。
-
让计算机能够理解的程序代码,网络协议软件,又称为网络操作系统
协议采用分层设计,这是源于 ARPANET 的研究经验
-
ARPANET的研究经验表明,对于非常复杂的计算机网络协议,其结构应该是层次式的
6.2.3.主机A与主机B进行文件传送
-
具体工作由三部分
-
文件传输
-
通信服务
-
网络接口
-
6.2.4.协议分层的优点:
-
各层之间是独立的。
-
灵活性好
-
结构上可分割开。
-
易于实现和维护
-
能促进标准化工作
6.2.5.体系结构
计算机网络的体系结构(architecture)是计算机网络的各层及其协议的集合。
-
计算机网络的体系结构就是计算机网络及其部件所应完成的功能的精确定义
-
实现(implementation)是遵循这种体系结构的前提下用何种硬件或软件完成这些功能的问题。
-
体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。
6.3 具有五层协议的体系结构
OSI的七层协议体系结构的概念清晰,理论完整,但是既复杂又不实用
TCP/IP的四层协议体系结构应用广泛,得到了网络厂商的支持和实现但是最下层的网络接口层没有具体内容
-
TCP/IP的四层协议体系结构是应用层、运输层、网际层和网络接口层
-
采取折中的办法,即综合 OSI和 TCP/IP 的优点,采用一种只有五层协议的体系结构 。这种五层协议的体系结构既简洁又能将概念阐述清楚。
6.3.1 应用层(application layer)
应用层是体系结构的最高层。应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。
6.3.2 运输层(transport layer)
-
运输层的任务是负责向两个主机中进程之间的通信提供通用的数据传输服务应用进程利用该服务传送应用层报文。
-
运输层主要是用两种协议:
-
传输控制协议TCP(Transmission Control Protocol)——提供面向连接的,可靠的数据传输服务,其数据传输单位是报文段
-
用户数据报协议UDP(User Datagram Protocol)——提供无连接的尽最大努力的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报
-
6.3.3 网络层(network layer)
-
网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包(packet) 进行传送
-
网络层负责为每一个报文提供路由选择,使源主机运输层所传下来的分组能够通过网络中的路由器找到目的主机。
6.3.4 数据链路层(data link layer)
-
数据链路层常简称为链路层。两台主机之间的数据是在一段一段的链路上传送的。
-
数据链路层将网络层交下来的数据报文封装成帧 (framing),在两个相邻节点间的链路上传送帧。
6.3.5 物理层(physical layer)
物理层上传送的数据单位为比特
-
泛使用的协议是TCP和IP两个协议。
-
现在人们常使用的协议TCP/IP并不一定是TCP和IP这两个协议。TCP/IP协议常表示的意思是英特网所使用的整个TCP/IP协议簇 (protocolsuite)
-
6.4 实体、协议、服务、和服务访问点(了解)
1.实体(entity)
表示任何可发送或接收信息的硬件或软件进程
2.协议
-
是控制两个对等实体进行通信的规则的集合
-
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务要实现本层协议,还需要使用下层所提供的服务。
-
在同一系统中相邻两层的实体进行交互(交换信息)的地方,通常称为服务访问点。
-
-
协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的。
-
看一个计算机网络协议是否正确,不能光看在正常情况下是否正确,而且还必须非常仔细地检查这个协议能否应付各种异常情况。
-
看是非常简单的协议,设计起来要考虑的问题还是非常多的,因此协议很复
-
名词解释:
-
internet:互连网,是一个通用名词,它泛指多个计算机网络互连而成的计算机网络(多个网络通过一些路由器相互连接起来,构成一个覆盖范围更大的计算机网络)
-
Internet:互联网或因特网,是一个专有名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定的互连网,它采用TCP/IP协议族作为通信的规则,且其前身是美国的ARPANET
-
WWW:world wide web,中文译名万维网,由欧洲原子核研究组织CERN开发,其广泛使用在互联网上,大大方便了广大非网络专业人员对网络的使用,成为互联网指数级增长的主要驱动力
-
OSI:开放系统互连基本参考模型(OpenSystems Interconnection Reference Model)。把计算机网络分为七层,依次为物理层、数据链路层、网络层、运输层、会话层、表示层、应用层。OSI协议是法律上的国际标准,其理论完整但由于复杂且不实用,在实际使用中运用较少。
-
RTT: 是往返时间,也称往返时延 (Round-Trip Time),是计算机网络中的一个重要的性能指标。表示从发送端发送数据开始,到发送端收到来自接收端的确认,总共经历的时延。