Note:This article is my study note, without copyright,most of the content comes from 图解TCP/IP(第5版) and my teacher’s PPT,if there is any infringement, please contact E-mail:YAMA
文章目录
第一章:概论
- 世界上第一台计算机
1839 ABC(电子计算机) 未注册专利
1946 ENIAC(通用计算机) - 全球互联网始祖,世界上第一个计算机网络 1969年开通 APRANET
- 计网发展四个阶段:
远程联机系统(面向终端)、计算机-计算机网络(多台计算机互联)、开放式标准化网络(面向标准化)、Internet(面向全球互联) - 计网定义:将若干台具有独立功能的计算机系统,用某种或多种通信介质连接起来,通过完善的网络协议,在数据交换的基础上,实现网络资源共享的系统称为计算机网络。网络协议是计网的关键技术,数据交换是计网的最基本功能,资源共享是网络的最终目的。
- 计网分类:
按照地理范围:局域网、城域网、广域网
按照拓扑结构:星型网、环形网、总线型网、不规则型网
按数据交换方式:分组交换网、电路交换网 (你记得二者的区别吗?) - 计网主要功能:远程登录、文件传输、电子邮件、数据库服务、WWW服务、即时通信、在线娱乐
第二章:网络协议与网络体系结构
问如何保证计算机之间有条不紊地进行数据交换和资源共享呢?
OSI参考模型与Internet参考模型
- Internet参考模型应用层大体对应OSI的应用层、表示层、会话层,该层协议主要包括FTP(文件传输协议)、SMTP(简单报文传输协议)、TELNET(远程网络登陆协议)、DNS(域名服务)、HTTP(超文本传输协议)
- Internet参考模型传输层大体对应OSI的传输层,该层协议包括TCP(传输控制协议)、UDP(用户数据报协议)
- Internet参考模型互联网层大体对应OSI的网络层,该层协议是IP
- Internet参考模型子网层大体对应OSI的物理层和数据链路层
OSI参考模型解释
物理层(PH):完成原始数据位流在物理介质上传输,而不管位流的信息含义
数据链路层(DL):完成数据帧在相邻节点(物理层面上)间“透明”传输。透明的含义是指无差错、无丢失、无重复、无顺序错误
网络层(N):完成报文分组在源/目的结点之间传输(主要负责寻址和路由选择)
传输层(T):完成报文段在源/目的的主机进程之间的透明传输,只在通信双方节点上进行处理,而无需再路由器上进行处理
会话层(S):进行会话管理(负责建立和断开通信连接以及数据的分割等传输相关的管理),包括通信方向控制(单工、半双工、全双工)谁是发送者?谁是接收者?谁付费?如何进行故障点回复等。
会话层及以上都不具备实际传输数据的功能。
表示层(S):(主要为)数据格式转化(将数据从主机特有的格式转换为网络标准传输的格式)、数据加密/解密、数据压缩/解压
应用层(A):为用户提供各种网络服务,为应用程序提供服务并规定应用程序中通信相关的细节。包括文件服务,电子邮件服务,数据库服务,WWW,DNS等
Internet参考模型解释
应用层主要协议包括FTP(文件传输协议)、SMTP (简单报文传输协议)、TELNET (远程网络登陆协议)、DNS (域名服务)、HTTP(超文本传输协议)
传输层主要协议包括TCP(传输控制协议)、UDP(用户数据报协议)
互联网层主要有IP协议
子网层,也就是图中最底层主要有以太网协议(802.3)、FDDI、PPP、SLIP、Token Bus (802.4)
附:
第三章:数据通信基础
通信系统模型
信源–→交换器–→信道–→反变换器–→信宿
(发送端) (噪声源) (接收端)
数字信号:信号在传输过程中离散变化
模拟信号:信号在传输过程中连续变化
用什么信号来传数据对应什么通信,数字通信的优点有:
- 抗干扰能力强
- 适合远距离传输
- 有利于安全性
- 适合多媒体信息传输
信号带宽:原本用于模拟信号,指频率所占的宽度,或称频带宽度,而数字信号的带宽则指 H = 1 / τ ,τ为脉冲宽度;数据率越高,脉宽越窄,数字信号带宽越大
此处容易混淆信号带宽与信道带宽。数字信号带宽指的是H,信道带宽指的是数据率C,某些时候二者相等
衡量信道质量的两个参数:
- 信道的带宽
(信道允许传输信号的频率范围,对数字通信一般用数据率表示带宽,数据率指的是信道每秒钟最多传输的二进制位数,单位为bps) - 信道的误码率是指数字信号比特(二进制位)在传输过程中出错的概率
重要概念:波特率又称码元速率,是指每秒传输的码元数目,单位为波特
若码元的离散数目取值为L,波特率为B,数据率为C,则C = Blog2L
信道带宽与数据率
无噪声信道带宽对最大数据传输速率的限制:奈奎斯特定理:C = 2 H log 2 L (bps)
白噪声干扰的信道理论上的最大数据传输速率:香农定理:C = H log 2 (1 + S / N) (bps)
我们在计算时取二者的最小值
误码率:数字信号(二进制位)在传输过程中出错的概率。P = Ne / N
P为误码率;Ne为出错的比特数;N为传输的总比特数
信道的通信方向
单工信道:只允许数据信号在信道上的单向传输。
半双工信道:可双向传输,但同一时刻只允许单向传输。
全双工信道:允许数据同时双向传输
数字信号编码
-
非归零编码
-
曼彻斯特编码
-
差分曼彻斯特编码
数字调制技术
将数字信号转化为模拟信号,主要用于数字信号的模拟传输
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rJFsaSKn-1583134662809)(https://ythdong.gitee.io/blog_image/%E4%B8%93%E4%B8%9A%E8%AF%BE/%E8%AE%A1%E7%BD%915.PNG)]
基带信号:由信源产生的原始电信号。
载波:频率较高的正弦波信号。
调制:将基带信号加载到载波上,即按基带信号的变化规律去改变载 波的某些参数。
解调:从载波中提取基带信号。
调制技术分为调幅、调相、调频
脉码调制分三步:采样→量化→编码
采样定理:若模拟信号的带宽为H(Hz),则采用频率B只要大于或等于2H就可以恢复原样模拟信号。即:B≥2H。这一点前面的奈奎斯特定理也有类似的地方
差分脉码调制:其输出值不是数字化采样值本身,而是当前值和上一个值之差。
物理层数据同步方式
- 字符同步(异步通信):仅针对一个字符内所含的二进制位进行同步。
起始位是低电平(1位),停止位是高电平(1.5或2位),停止位后面是起始位或空闲位。
优点:时钟飘移被限制在一个字符内,不会产生积累误差。因此对同步精度要求不高。
缺点:每个字符均有起始/停止位,因而传输效率较低。
适用:低速通信。 - 位同步(同步通信):针对每个数据块内的每位进行同步
优点:传输效率高。
缺点:易产生时钟漂移积累误差而导致数据出错,同步困难。
适用:高速通信。
多路复用技术
将多个信道复用在一条物理线路上使一条物理线路能够同时传输多路数据信号
- 频分多路复用(FDM):一条物理线路的总带宽分割成若干个较小带宽的子信道,每个子信道传输一路信号
- 时分多路复用(TDM):将一条高速物理线路的传输时间划分成若干相等的时间片,轮流的为多路信号使用
- 统计时分多路复用(STDM):采用动态分配时间策略,即有数据要传输的线路才分配时间片
第四章:物理层
前面讲过物理层完成比特流也就是原始数据位流在物理介质上的透明传输,为数据链路层提供数据传输服务
物理传输媒体
- 屏蔽双绞线、与非屏蔽双绞线
- 同轴电缆:与双绞线比传输距离更长,抗干扰能力更强,但价格贵体积大不易弯曲布线麻烦
- 无线传输媒体
- 光纤:容量大、距离远、抗干扰能力强、化学性质稳定,它又分为单模光纤和多模光纤
物理层协议举例:RS-232C、RJ45网线接口、USB(热插拔)(USB 3.0一般为蓝色)
第五章:数据链路层
数据链路层主要功能:在相邻节点之间保证数据帧的“透明”传输
数据帧指的是数据链路层最小数据单元,即DPDU,一般格式如下
帧同步 | 目的地址 | 源地址 | 控制 | 数据 | 帧校验 |
---|
差错控制
差错产生主要原因:热噪声(干扰幅度小,对模拟通信影响较大)、冲击噪声(干扰幅度大,对数字通信影响较大),在计网中差错控制主要针对冲击噪声。
基本概念
差错控制编码分为:检错码、纠错码
码字:由信息位串和校验位串(冗余位串)组成
码距:两个等长码字的不同位数
海明距离:给定某种编码规则,就能够造出包含全部合法码字的码字表(编码系统);该码字表中必存在着两个码字,使得这两个码字的距离最小;该最小距离称为该码字表(编码系统)的海明距离
海明距离决定了编码系统的检错和纠错能力
若要检测d位出错,则海明距离至少为d+1
若要纠正d位出错,则海明距离至少为2d+1
【例】该编码系统
0000000000 0000011111
1111100000 1111111111
海明距离为5,可检测出4位出错,自动纠正2位出错
检错:如果出错位不超过4位,则收到的码子必定是非法的码子,即不属于码子表; 如果出错位为5位,则出错的码子可能是合法的码子
纠错:若出错位小于等于2位,则可以纠正出错位;若出错位超过2位,则无法判断正确码字
编码效率:R = m/n = m/(m+r) 其中m为信息位串,r为冗余位串
编码效率与检错与纠错能力(海明距离)
编码效率越高,冗余位越少,海明距离越短
编码效率越低,冗余位越多,海明距离越长
典型纠错码——海明码
构造海明码:设信息位有4位,记为a1a2a3a4;校验位为3位,记为a5a6a7。 编码系统中任何一个合法的码字满足如下线性独立的方程:其中, +代表异或
a5= a1 +a2+ a3
a6= a2 +a3+ a4
a7= a1 +a3+ a4
假设发送1010010
第4位出错
则除了第4位的其他位不变,第4位+1相当于取反
则收到101 “1“ 010
s1= b1 +b2+b3+ b5 =0
s2= b2 +b3+b4+ b6 =1
s3= b1 +b3+b4+ b7=1
s1s2s3=011
最后看表可知第几位出错
讨论:
上述海明码只能纠正一位出错,而实际通信中经常发生的是突发性错误(一连串位出错)。
要纠正突发性出错,则必须加大海明距离;但加大海明距离势必会增加校验位串长度,从而降低了编码效率,同时也会使编码系统过于复杂。
只要将发送方式稍做改变,就能利用纠正一位出错的海明码来纠正多位突发错:
将k个码字排列成一个矩阵,每行一个码字。按列发送,一次传输k个码字。数据到达接收端后,再重新组成矩阵。如果突发长度≦K,则每个码字最多出现一位错误,而前述的海明码恰好能够纠正这样的一位错
典型检错码——循环冗余码(CRC)
设码字为a1a2a3….an ,则对应的多项式为:
A(x)=a1xn-1+ a2xn-2 + a3xn-3 +…+ anx0
如: 110001 →x5+x4+1
问:这需要算吗?机器干的事!省略
流量控制
-
停等协议:发送端发送一帧后,等待对方的应答。接收端收到一帧后,检查校验位串,若出错,则返回“否认”;若无错,则返回“确认”信息。发送端收到“确认”后,立即发送下一帧;收到“否认”,则重发该帧。发送端发送一帧后,立即启动超时计时器。若超时,则重发该帧。接收端应保存最近收到的帧序号,若下一个到达帧的序号与该序号相同,则丢弃该帧,并返回“确认”信息。
-
滑动窗口协议基本思想:为提高信道利用率,允许发送方(注只是发送方)连续发送若干帧,然后再等待对方应答。
顺序接受管道协议(回退n协议)
- 设:发送窗口尺寸WT= n >1, 接收窗口尺寸WR=1。
- 发送方连续发送n帧而无需对方应答,但需要将已发出但尚未得到确认的帧保存在发送窗口中,以备重发。
- 接收方将正确的且帧序号落入当前接收窗口的帧存入接收窗口,同时按序将接收窗口的帧送交给主机(网络层)。出错或帧序号未落入当前窗口的帧予以丢弃。
- 当某帧丢失或出错时,则其后到达的帧均丢弃,并返回否认信息,请求对方从出错帧开始重发。
- 发送方设置一个超时计时器,当连续发送n帧后,立即启动超时计时器;若超时且未收到应答,则重发这n帧。
选择重传协议
- 发送窗口尺寸WT= n >1, 接收窗口尺寸WR=m >1 。
- 若某一帧出错,后面正确到达的帧虽然不能立即送网络层,但可将其保存在接收窗口;因此,仅需重传出错帧。
- 优点:仅需重传出错帧,不会产生大量重发帧。
- 缺点:需要多个接收缓冲区。
对比
停—等 、顺序接收管道、选择重传协议都可以看成是滑动窗口协议,其差别仅在窗口的尺寸不同
协议 | 发送窗口 | 接受窗口 |
---|---|---|
停-等协议 | 1 | 1 |
回退n | >1 | 1 |
选择重传 | >1 | >1 |
数据链路层协议举例
- HDLC (High Level Data Control) 是一种典型的数据链路层协议,该协议“面向比特”,即以“比特”作为数据帧的基本数据单位
- PPP (Point to Point Protocol)
第六章:局域网
局域网:在一个公用的通信介质上,实现对等式的通信方式,并得以将信息由一个站发出,让所有其他站接收。
特点:覆盖范围小,通常为一幢大楼或一组楼群
数据率高、误码率低
采用规则型拓扑结构(星型、环型、总线型)
通常归属于某一部门
基于微机
组成:硬件、软件
- 逻辑链路控制子层(LLC子层)
- LLC子层仅完成数据链路层的部分功能,不考虑介质访问方法,即无论以太网、令牌环网或令牌总线网,它们的LLC子层都是相同的。
- LC子层的意义:统一LAN共性内容。
- 介质访问控制子层(MAC子层)
- MAC子层的任务:将LLC帧包装成MAC帧,并将MAC帧从源站点传输到目的站点。
- MAC子层要解决的关键问题——介质访问控制:如何分配共享信道,使得对共享信道的访问更有序、有效。
第七章:网络层
基本知识
功能:在数据链路层的支持下将报文分组从源节点传输到目的节点
注意网络层与数据链路层的区别,前者完成源到目的节点的传输,而数据链路层只完成相邻节点的传输
报文分组:报文指的是一份完整的信息,分组交换是将一个报文划分为若干个较小的格式化信息单位独立传输,这样的格式化信息单位称为报文分组,简称“分组”,是网络层协议数据单元(NPDU)
当一个较大的数据被分为多个分组传输时,很有必要在每个分组中加入源主机地址、目的主机地址以及分组序号以辩别是原报文的哪一部分,装入了这些信息的部分称为报文首部
一般格式如下:
序号 | 源地址 | 目的地址 | 控制信息 | 长度 | 数据 |
---|
分组作为数据帧的数据部分
- 网络地址是主机或节点的标识,即一个网络地址在整个网络中唯一地标识一个主机或节点。网络地址是结构化地址,由网络号和主机号组成。
- 网络层协议涉及的主要内容;网络服务方式、分组格式、路由选择
分组交换技术
基本原理:将一份完整的报文划分为若干个分组,每个分组以存储/转发方式,独立地从源节点传输到目的节点,目的节点收到这些分组重新组装成原报文
技术特征:化整为零,存储转发
优点:
- 使多路数据能够复用一条链路,提高链路的利用率
- 有利于差错控制。
- 有利于安全性。
缺点:
- 当网络拥塞时,会导致分组传输延迟增加,对流媒体影响较大
实现方式:虚电路和数据报
虚电路
设:主机HA要向HC发送报文分组。
- 首先主机HA向HC发一虚呼叫(虚电路连接请求),该虚呼叫选择一条适当的路径到达Hc,记下沿途所经过的路径作为虚电路,如HA-A-B-C-Hc,并给其赋一个虚电路号VC1。
- 如果沿途所经过的节点及目的主机Hc准备就绪,则Hc发一响应给HA ; HA收到该响应,则虚电路VC1建立完毕。虚呼叫需要向沿途所经过的节点提出请求,任一节点拒绝(由于资源不足),均导致虚电路建立失败。
- HA和HC的分组传输必须通过该虚电路进行。
- 分组传输完毕,拆除虚电路,释放虚电路VC1占用的资源。
虚电路特点
- 通信前,发送方和接收方之间必须建立连接(虚电路),所以虚电路是面向连接的网络服务。
- 虚电路只是一种逻辑电路,而不是真正的物理电路。报文分组在虚电路上传输不像在物理电路上那样中畅通无阻,而是要经过节点的“存储转发”。
- 一旦虚电路建立完毕,所有分组必须经过该虚电路进行。因此,虚电路能够保证分组的顺序到达。
- 仅当建立虚电路时需要源/目的节点地址,数据分组只需分配一个虚电路号而无需携带完整的源/目的节点地址
- 一条链路上允许建立多个虚电路
数据报
数据报无需建立连接,每个报文分组携带完整的源/目的地址,独立的选择路径,通过不同的路径到达目的主机
- 无需建立连接就可传输报文分组,因此数据报称为无连接网络服务。
- 不同的报文分组可以通过不同的路由到达目的主机,先发出的分组未必先,因此数据报服务不能保证报文分组顺序接收。
- 每个报文分组携带完整的源/目的地址,独立的选择路径
总结
- 无论是虚电路,还是数据报都要进行路由选择。
虚电路:需要一次路由选择
数据报:每个分组要进行路由选择。 - 路由选择:根据某种策略,选择一条最佳的路径到达目的主机,对路由器而言, 路由选择实质上是选择最佳输出端口。
- 分类:静态策略、动态策略
重点1:路由算法
路由选择:根据某种策略,选择一条到达目的主机的最佳路径
路由选择由路由器完成;对单个路由器而言,路由选择实质上是选择最佳输出链路(端口),多个路由器协作选择一条最佳路由
路由选择是网络层最重要功能,无论是虚电路,还是数据报都要进行路由选择。虚电路需要一次路由选择,数据报需要为每个分组选择路由
重点2:IP协议
IP协议是Internet体系结构的核心协议,该协议已成为连接异构网络的工业标准
IP提供非面向连接的数据报服务,每个IP分组长度 ≤64K字节,传输效率高,但不能保证分组可靠的、按序到达
IP协议需要路由协议,ICMP,ARP,RARP等协议支持。
IP协议包括IPv4和IPv6两个版本;
IP协议提供尽力而为的数据报投递服务(不可靠)
IP地址
IP地址: Internet上的每台主机或路由器至少有一个IP地址(一个路由器至少应当有两个不同的 IP 地址)。每个IP地址只能分配给一台主机或路由器。
IP地址的表示形式(点分十进制):从前到后每8个bit组成一组,则可以分为四组,每组用一个十进制表示,中间用点连接。每组的十进制数最大为255,最小为0。
例子:122.123.2.4
IP地址按照数字的格式,将IP地址共分为A、B、C、D、E五类