前言
基础知识:概念、功能、组成、工作方式、分类
概念:计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备和线路连接起来,再由功能完善的软件来实现资源共享、信息传递
不同的角度、不同的组成分类:
- 组成部分:
- 硬件:主机、通信链路(双绞线、光纤)、交换设备(路由器、交换机)、通信处理机(网卡)
- 软件:QQ、微信
- 协议
- 工作方式:
- 边缘部分:直接供用户使用(C/S方式、P2P方式)
- 核心部分:为边缘部分提供服务
- 功能:
- 通信子网:数据通信
- 资源子网:资源共享
分类:
- 分布范围:广域网、诚域网、局域网、个人区域网
- 使用者:公用网络(电信)、专用网络(军事)
- 交换:电路交换、报文交换、分组交换
- 拓扑结构:总线型、星型、环型、网状型
- 传输技术:广播式、点对点
- 传输介质:有线(双绞线)、无线(蓝牙、微波、无线电)
硬件、软件必须相互连通,遵循统一标准(协议)
标准的分类:法定的标准(OSI)、事实的标准(TCP/IP)
请求评论标准(Request for comments)能够成为因特网标准的过程:因特网草案->建议评论标准RFC->因特网标准
计算机网络的指标
速率:数据传输速率(b/s)(如果发送端向接收端发送10bit数据,用了1s,则速率为10b/s)
带宽:最高数据传输速率(b/s)(如果主机在1us能够向链路发送2bit数据,则带宽就是2Mb/s)
吞吐量(单位时间通过某个网络的数据量):
上面是速度的指标,还有时间的指标
时延:
- 发送(传输)时延:=数据长度/信道带宽(使用高速链路,只能减少发送时延)
- 传播时延:=信道长度/电磁波(而非数据,可理解为是电磁波背着数据)在信道上的传播速率
- 处理时延:数据在交换节点进行一些处理,比如:分析分组的首部、提取分组的数据部分、差错检验、选择何时的路由
- 排队时延:在输入队列和输出队列中排队
- 时延带宽积:=传播时延x信道带宽
- 往返时延RTT:从发送方发送数据,到发送方收到接收方确认,的时间,=传播时延 x 2 + 末端处理时间
- 利用率:
- 信道利用率:单个信道,有数据通过的时间/总时间
- 网络利用率:多个信道利用率的加权求和取平均
问题很复杂,需要把大问题化为小问题:分层、协议、接口、服务
概念:
- 服务数据单元(SDU):为完成用户所要求的功能而传送的数据
- 协议控制信息(PCI):控制协议操作的信息
- 协议数据单元(PDU):传输的数据单元
- 实体:第n层的对等实体
- 服务:第n层需要向n+1层提供服务(但是,n层SDU(数据单元)+n层PCI(协议控制信息)= n层PDU = n-1层SDU)
- 协议:不同结点之间对等实体进行通信的规则的集合
- 语法信息:传输数据的格式
- 语义信息:要完成的功能
- 同步信息:各种操作的条件、时序关系
- 接口:同一结点内上下层交换信息的连接点不同层传输的规则:下层的SDU(数据单元)+下层的PCI(协议控制信息)= 下层的PDU = 上层的SDU
就比如(特别的,只有数据链路层,加了首部、还要加尾部):
那如何分层?——OSI/ISO
OSI参考模型:物理层、数据链路层、网络层 | 传输层 | 会话层、表示层、应用层(上四层是端到端的通信、下三层是点到点的通信)
分类: 数据子网(数据通信) 源子网(资源共享)
七个层的功能:
- 应用层:所有能和用户交互、产生网络流量的程序(文件传输FTP\电子邮件SMTP\万维网HTTP)
- 表示层:对交换信息进行语法和语义的处理(数据格式变换、数据加密、数据压缩和回复),得到表示方式
- 会话层:不同主机上的各个进程之间进行会话
- 传输层:传输单位是报文段(TCP)或用户数据报(UDP)(端到端通信,端指不同主机之间的进程(port))。TCP\UDP
- 网络层:把数据从源端传到目的端,单位为数据报,可进一步分组。提供的功能为:
- 路由选择:选择最佳路径
- 流量控制:控制发送端的速度
- 差错控制:设置奇偶校验码,检查数据是否错误
- 拥塞控制:缓解节点的拥塞
- 数据链路层:把网络层的数据组装成帧(点到点通信,点指主机)
- 差错控制:检测出在传输过程中受到干扰的信号
- 流量控制:控制相邻结点传输数据和接受数据的速率
- 物理层:在链路上进行比特流的传送
- 规定了通信结点和通信链路的接口的一些参数(尺寸、形状,如电脑的网线接口)
- 规定了传输信号的电气特征(如信号A表示0)
TCP/IP更加好
其结构:
- 应用层
- 传输层
- 网际层
- 网络接口层
与OSI的异同: - OSI参考模型先出现,再出现协议;TCP/IP反之
- TCP/IP将IP(网际层)作为单独的重要层次,并只用无连接的通信模式,而认为传输层的端到端通信需要很稳定的无连接+面向连接:
物理层
概念
作用:在 连接各种计算机的传输媒体 上传输数据比特流
主要任务:确定和传输媒体接口相匹配的一些特性:
- 机械特性:规格、接口形状、引线数目、排列情况
- 电气特性:电压范围(哪一个范围表示0…)、传输速率、传输距离
- 功能特性:某一个电平表示何种含义
- 规程特性:定义各条线路的工作规程和时序关系
数据通信是非常重要的!
一些概念:
信源将数据先转换为信号(数字信号:离散的、模拟信号:连续的),通过信道(包含发送信道和接收信道,按照传输信号分:1. 模拟信道 2. 数字信道,按照传输介质分:1. 无线信道 2. 有线信道)发送给信宿。
三种通信方式:
- 单工通信:一条信道,发送方不能作为接受方
- 半双工通信:两条信道,但一方不能同时发送和接收
- 全双工通信:两条信道,通信双方可同时发送和接收信息
两种数据传输方式:
- 串行传输:速度慢、费用低、适合远距离
- 并行传输:速度快、费用高、适合近距离
计算题来了! 码元、速率、
码元:M进制(表示有M种不同的状态)、固定时长的信号波形
速率:
- 码元传输速率(传输是主机到信道的过程):单位时间传输的码元个数,单位是波特。 等价于 脉冲个数、信号变化的次数
- 信息传输速率:单位时间传输的比特个数。计算: 码元传输速率=M波特,1码元携带了n比特(比如:1个k进制的码元,说明有k个不同的状态,需要log(k)个比特来表示),则信息传输速率 = Mxn bit/s
- 带宽:单位时间传输的最大数据量
练习题:
系统的传输速率指的是信息传输速率,因此十六进制码元系统更快。而如果让十六进制码元系统去传输四进制码元,4800bit/s -> 2400比特,依然是大于前者。
编码和调制
编码和调制发生在基带信号和宽带信号中,什么是基带、宽带信号?:
- 基带信号:计算机直接发送的信号,发送到数字信道(短距离)
- 宽带信号:基带信号通过调制之后形成的频分复用模拟信号,发送到模拟信道(长距离)
编码和调制:
数字数据编码为数字信号的方式主要是:非归零编码、曼彻斯特编码、差分曼彻斯特编码,其中后两种由于每个码元都发生跳变,同时携带了时钟、数据信号,从而实现了同步+数据传输。
数字数据—数字发送器—>数字信号(基带传输)
对于10011010的二进制数字数据,编码分别为:
-
非归零编码:1->高、0->低
-
归零编码:1->从高到低,0不变(在一个码元内,必须恢复到低)
-
反向不归零编码:1不变,0跳变
-
曼切斯特编码:1->从高到低,0->从低到高(在一个码元内,必须跳变)。码元传输速率是数据传输速率的两倍。
-
差分曼彻斯特编码:1:当前码元的起始高度与上一个码元的末尾高度相同; 0:相反
-
4B/5B编码:为每一段4个比特增加一个比特,编码率为80%
需要学会根据振幅、频率、相位个数,来判断状态个数,即码元的进制数N,从而得到一个码元对应的比特数log(N)
数字数据—调制器—>模拟信号(调制)
- 调幅(ASK):0没有幅度、1有幅度(振幅)
- 调频(FSK):01都有幅度,0频率低、1频率高(频率)
- 调相(PSK): 相位调制
- 调幅+调相(QAM)
- 题目:
4 x 4 = 16种波形,也就是16进制码元。16进制的码元需要4个比特来表示,所以信息传输率(比特/s) = 4 x 码元传输率(波特)。答案:1200 x 4 = 4800
PCM编码中,抽样将连续的信号转换成离散的电平,量化将电平按照规定的幅值转换成整数,编码用二进制比特来表示整数
模拟数据—PCM编码器—>数字信号(编码),可以达到最高保真水平,分为三步:
- 抽样:对模拟信号周期性扫描,得到离散信号,规定:采样频率 >= 2 x 信号最高频率(对于一个已知频率的正弦波,需要在一个周期,采样得到两个点,才能知道y=Asin(频率x+z))
- 量化:按照电压幅值,把电压转换为整数
- 编码:根据整数个数(状态数N),采用log(N)位比特编码状态
作用是调高宽带信号的频率,减少失真
模拟数据—放大器调制器—>模拟信号(调制)
奈氏准则和香农定理
失真
- 概念:接受信号波形和发送信号的波形不一样,和码元传输速率、传输距离、噪声干扰、传输媒体质量有关
- 举例:码间串扰:码元的传输速率太快了,无法识别码元之间的差异,从而失真(太快和太慢都不行,信道带宽=能够通过的最高频率 - 最低频率)
如何解决码间串扰?
- 奈氏准则
- 概念:没有外界噪声的条件下,为了避免码间干扰,规定码元传输速率最高为 2W 波特,其中W是信道带宽,单位是HZ
- 利用奈氏准则求最大数据传输率:2 W log_2^V b/s,其中V是进制数,为了提高数据传输速率,需要提高码元的进制
- 题:
- 香农定理
- 概念:有外界噪声的条件下,对于平均功率比较强的信号,它受到同样功率的噪声,干扰较少。所以信噪比(S/N)需要越大越好
- 利用香浓定理求最大数据传输率:W log_2^(1+S/N),S/N (不带单位) = 10log_10(S/N)(单位为dB)
- 题(带入没有单位的信噪比):
如果题目么有给出是否有噪声,则都求,取最小:
物理层的传输介质
分类:
- 导向性传输介质:
- 双绞线:聚氯乙烯1->绝缘层2->两根并排绞合的铜线(无屏蔽双绞线UTP);再在1和2之间加上一个屏蔽层(屏蔽双绞线STP)
- 同轴电缆:绝缘保护套层->外导体屏蔽层->绝缘层->内导体;根据基带\宽带,分为基带同轴电缆和宽带同轴电缆
- 光纤:传递光脉冲,带宽非常大;需要光电二激光实现光电转换;分为多模光纤和单模光纤;
- 非导向性传输介质:
- 无线电波、微波、红外线和激光
物理层的两大设备
中继器:输入一个衰减的数字信号,经过再生和还原,输出原数字信号。
- 中继器不会检查错误
- 中继器两端可以是不同的传输媒介
- 虽然是不同的传输媒介,但要是一样的协议
- 5-4-3规则:最多有5个网段,即,最多有4个网络设备(中继器),最多有3个段可以连接主机(工作站)
集线器(多口中继器):集线器直接连接了多个主机,一个主机将信号送入集线器,集线器进行再生和还原,发送给剩下的其它主机
数据链路层
实现的功能:
- 为网络层提供服务:无确认无连接服务(实时通信)、有确认无连接服务、有确认面向连接服务。 (有连接一定有确认)
- 链路管理
- 组帧
- 流量控制
- 差错控制(帧错、位错)
功能1:组帧,将网络层输入的数据报,首尾加帧定界符,得到帧
什么是帧?——帧首部定界符+网络层的数据报(<=最大传送单元MTU)+帧尾部定界符
有哪几种组帧方法?
- 字符计数法:帧首部使用一个计数字段(第一个字节,8位比特)来标明帧内字符数
- 字符填充法:帧首部、帧尾部,各使用一个标识符。对内部和标识符相同的字节,前面填充一个转义字节。
- 零比特填充法:帧首部、帧尾部,各使用0111110进行标识。为了透明传输,从左到右遍历二进制,在连续的5个1后面填0
- 违规编码法:用曼彻斯特编码把数字数据编码成数字信号,并把”高高“、”低低“作为首尾帧。
透明传输:物理层不会关注比特流的内容,有时,控制信息可能和数据编码相同,这时需要数据链路层很好地组帧。
差错控制
差错的分类:
- 位差错:0< - >1
- 帧差错:(123)
- 帧丢失:(13)
- 帧重复:(1223)
- 帧失序:(132)
位错误的控制:
- 检错
- 奇偶校验码
- 奇校验:通过1个校验位和n-1个数字位,保证数据1的个数是奇数,接受方判断是否成立(只能检验奇数位错)
- 偶校验:通过1个校验位和n-1个数字位,保证数据1的个数是偶数,接受方判断是否成立(只能检验偶数位错)
- CRC循环冗余码:定义生成多项式(阶数为位数-1),要传的数据后面补阶数个0 ÷ 生成多项式,得到余数,加上余数之后发送。接受方完成同样的操作,如果余数是0,则成立。
- 奇偶校验码
- 纠错:海明码
海明不等式:2^r >= k + r + 1,其中r是校验位,k是信息位
第一步:计算校验位数:给定信息位,根据不等式,确定满足不等式的最小校验位数
第二步:确定校验码和数据的位置(从1…10,4个校验位依次放在2的n次方的位置)
第三步:确定校验码的值(为每一个位置进行编码,对于校验位p_i,找到第i位和它编码一样的位置,用p_i和一样位置的其它实际值一起异或,取p_i,使得异或为0)
第四步:校验并纠错(同样的,让校验位的实际值和对应位置的实际值进行异或,把结果从后往前排,比如p_4的结果、p_3的结果…,转成10进制,则是改变的位数)
网络层
传输层
网络应用模型
其它问题
TCP三次握手:【原因】:信道是不可靠的,但可以通过协议来让数据传输变得可靠。考虑客户端A、B,A发出的报文发生了阻塞,失效了,B收到后以为是一个新的连接,导致错误。【过程】A发送序列号为J的SYN,B发送序列号为K的SYN和序列号为J+1的ACK,A发送序列号为K+1的ACK,完成连接。
四次挥手:【原因】:两个客户端之间的连通是全双开的,A发送FIN表示自己没有数据了,B发送ACK表示收到后,A依然能够作为接收方,B依然能够作为发送方。【过程】B再发送一个FIN,A再发送ACK。
在地址栏输入网址发生的过程: