一、网络体系结构
1、功能
2、组成
硬件、软件、协议
2.1工作方式
边缘部分
- C/S
- p2p
核心部分
2.2功能组成
数据通信+资源共享
3、分类
3.1按分布范围分
广域网(WAN)、城域网(MAN)、局域网(LAN)、个人区域网(PAN)
3.2按使用者分
公用网、专用网
3.3交换技术
电路交换(独占电路)、报文交换、分组交换(小片报文)
3.4按照拓扑结构
总线、星形、环形、网状形
3.5传输技术
广播式:共享公共通信信道
p2p:分组存储转发和路由选择机制
4、性能指标
4.1传输
速率:数据率或者数据传输率,也叫比特率
带宽:表示网络通信线路传送数据的能力,”最高数据率“
吞吐量:每秒通过某个网络的数据量
4.2时延
发送时延:发送分组的第一个比特到最后一个比特上链路的时间,发生在主机内部
- 公式:数据长度 / 信道带宽(发送速率)
传播时延:信道长度 / 信道传播速率,发生在信道上
排队时延:等待进、出路由器的时间
处理时延:检查处理报文数据所用时间
时延带宽积=传播时延 x 带宽,含义:某段链路有多少比特,以比特位为单位的链路长度
往返时延RTT:发送方发送数据开始,到发送方接收到接受方的确认
- 公式:传播时延*2
信道利用率=有数据通过时间 / (有+无)数据通过时间,利用率越接近1,(传播)时延越大
5、计算机分层结构 !
为什么分层?
计网体系结构庞大,把大问题划分为小问题
计算机网络体系结构:计算机网络各层及其协议的集合。
下层为上层提供服务,只有相邻两层有接口
5.1OSI参考模型
-
物理层:在介质上实现比特流的透明传输
功能:
- 定义接口特性
- 定义传输模式(单工-广播、半双工-对讲机、双工-电话)
- 定义传输速率
- 比特同步
- 比特编码
-
数据链路层:数据报组装成帧
功能:
- 定义帧的开始和结束
- 差错控制(帧错、位错)
- 流量控制
- 控制信道访问和接入
-
网络层:把分组从源端传到目的端
功能:
- 路由选择
- 流量控制
- 差错控制:奇偶校验
- 拥塞控制
-
传输层 :负责两个进程的通信,是端到端的通信(TCP、UDP)
功能:
- 可靠传输和不可靠传输
- 确认机制、建立连接(小数据一般用不可靠)
- 差错控制
- 流量控制:速度匹配
- 复用分用
-
会话层:建立连接,提供连接,保证有序传输数据
功能:
- 建立、管理、终止会话
- 通信失效时,从校验点继续恢复通信,实现数据同步
-
表示层:处理两个通信系统交换信息的表示方式
功能:
- 数据格式变换
- 数据加密解密
- 数据压缩和恢复
-
应用层:能交互、产生流量的程序(FTP、SMTP、HTTP)
5.2 TCP/IP参考模型
ISO/OSI模型 | TCP/IP模型 | |
---|---|---|
网络层 | 无连接+面向连接 | 无连接 |
传输层 | 面向连接 | 无连接+面向连接 |
应用层:各种网络应用(FTP、SMTP、HTTP)
传输层:进程→进程的数据传输(TCP、UDP)
网络层:源主机到目的主机的数据分组路由与转发(IP、ICMP、OSPF)
数据链路层:把网络层传下来的数据报组装成帧(Ethernet、PPP)
物理层:比特传输
二、物理层
1、基础知识
1.1功能
确定与传输媒体接口有关的一些特性
1.2通信方式
- 单工-广播,仅需1条信道
- 半双工-对讲机,需要两条信道
- 双工-电话,需要两条信道
1.3数据传输方式(以传输一个字符为例)
-
串行,八个bit由低到高一次发送
速度慢,费用低,适合远距离
-
并行,8条信道一起发送
速度快,费用高,适合近距离
1.4实现同步的通信方式
同步传输:发送方和接收方时钟不一样
异步传输:与同步传输相反
码元:固定时长的信号波形。4进制码元→码元的离散状态有4个→携带2比特的信息量
码元传输速率:码元/时间
信息传输速率:码元传输速率*携带比特信息量
2、奈氏准则、香农定理
失真:传播信道中噪声的干扰
信道带宽:信道能通过的最高和最低频率差
码间串扰:码元传播速度太快,距离过近,界限无法分清
奈氏准则:无噪声条件下,规定码元传输速率的极限为2W Hz,W是信道带宽,理想低通信道下的极限数据传输率 2 W l o g 2 V 2Wlog_2V 2Wlog2V V是码元的离散电平数
信噪比(dB)= 10 l o g 10 ( S / N ) 10log_{10}(S/N) 10log10(S/N)
3、编码与调制
基带信号:来自信源的信号,对应数字信道
宽带信号:基带信号载波调制后,信号的频率范围搬移到较高的频段,对应模拟信道
编码:数据→数字信号
调制:数据→模拟信号
3.1数字数据编码为数字信号
非归零编码 | 曼彻斯特编码 | 差分曼彻斯特编码 | 归零编码 | 反向不归零编码 | |
---|---|---|---|---|---|
规则 | 高1低0 | 一个码元分为两部分,前高后低或者前低后高 | 同1异0 | 一码元之内都要恢复成0 | 反转是0,1不变 |
优点 | 易于实现 | 因为码元中有跳变,所以易于同步 | 抗干扰强 | ||
缺点 | 没有检错功能,难以同步,无法判断开始(一长串1分不清),不好同步 | 一个时钟周期信号变化两次,(开始和中间) | 全1不好接收,还得额外信道传输时钟周期 |
3.2数字数据调制为模拟信号
调幅、调相
3.3模拟数据编码为数字信号
PCM脉码调制:抽样(得到时间点的电平值)、量化(信号状态转换数字值)、编码(与量化结果一一对应)
3.4模拟数据调制为模拟信号
4、数据交换
-
电路交换
-
报文交换(动态路由选择)
-
分组交换
5、物理层设备
中继器:数字信号再生和还原,543原则:5个网段,4个物理层设备挂载3个主机
集线器:多口中继器,广播信息,会冲突碰撞
三、链路层
1、功能概述
把来自网络层的数据可靠的传输给目标网络层,提供三种服务:
- 无确认无连接服务
- 有确认无连接服务
- 有确认面向连接服务:最安全最可靠
其他功能:链路管理、组帧、流量控制,差错控制
2、封装成帧
网络层数据(帧数据部分,IP数据报)加头(帧首部)加尾(帧尾部),首部和尾部帧定界
数据链路层透明传输:
2.1 组帧方法
- 字符计数法:如5个字符一帧,太容易出错
- 字符填充法:接受方在遇到和控制符一样的比特组合时,填充转义字符,防止错误的找到帧的边界。
- 零比特填充法:首部和尾部标识符一样,都是01111110。信息字段中只要有连续5个1就填入一个0,接收端先确定边界,后还原信息。
- 违规编码法:高高和低低定界帧的起始和终止。
3、差错处理
3.1 差错来源
- 线路本身随机热噪声→提高信噪比
- 外界原因冲击噪声
3.2 分类
- 位错:传输层解决
- 帧错:丢失、重复、失序
3.3 位错解决方案
-
检错编码
-
奇偶校验码:看1的个数
缺点:只能检测奇数的错误。
-
循环冗余码CRC:基本不会发生差错,错误的去丢弃
-
-
纠错编码
-
海明码:
过程:确定校验码位数r( 2 r ≥ m + r + 1 2^r\ge m+r+1 2r≥m+r+1)→确定校验码位置( 2 n 2^n 2n)→求出校验码的值(找出通配,一般是偶校验)→检错并纠错(偶校验)
海明距离(码距):不同的比特位数
检测n位错时,要求系统的码距为n+1,纠正n位错时,要求系统的码距为2*n+1
-
4、流量控制和可靠传输机制
产生原因:较高的发送速度和较低的接受能力不匹配。
和传输层流量控制的区别:
- 传输层发送一个窗口公告,是端到端的。
- 数据链路层不回复确认,是点到点的。
4.1 相关协议
-
停止等待协议:等到确认才继续发送
解决比特差错、丢包问题,实现流量控制。优点:简单,缺点:效率低下,信道利用率低。
-
数据帧丢失或检测到帧出错
-
ACK(确认帧)丢失
超时重传帧,重传确认帧
-
ACK迟到
超时重传帧,重传确认帧,把重复的确认帧丢弃掉
相关计算
-
-
后退N帧协议(GBN)
发送方:
- 上层调用时,如果窗口满了,则等窗口不满再发送
- ACK使用累计确认的方式
- 如果超时,发送方重传所有已发送但未被确认的帧。
接受方:按序接收的帧发送ACK,其余情况全都丢弃。
-
选择重传协议(SR)
发送方:
- 上层调用时,如果窗口满了,则等窗口不满再发送
- ACK下界连续则移动窗口
- 每个帧都有计时器如果超时,发送方重传帧。
接受方:窗口内的来者不拒,下界连续后交付上层,移动窗口
发送窗口最好等于接收窗口。
三种协议窗口大小比较:
停止-等待协议 | 后退N帧协议 | 选择重传协议 | |
---|---|---|---|
发送窗口 | 1 | >1,最大为 2 n − 1 2^n-1 2n−1 | >1,最大为 2 n − 1 2^{n-1} 2n−1 |
接收窗口 | 1 | 1 | >1,最大为 2 n − 1 2^{n-1} 2n−1 |
5、介质访问控制
5.1 静态划分信道(信道划分介质访问控制)
-
频分多路复用:每个用户占一个频段
优点:实现容易,效率高
-
时分多路复用:等长的时分复用帧。
-
统计时分多路复用:使用集中器收集信息,凑够了一帧就发送
-
波分:光纤中传输多种不同波长的光信号
-
码分多路复用
5.2 动态分配信道
-
轮询访问截止访问控制
既不产生冲突,发送时占全部带宽。
-
轮询协议:主结点轮流邀请从属结点发送数据
-
令牌传递协议:每个结点可以在令牌持有时间内获得发送数据的权利
令牌:特殊的控制帧,令牌环网无碰撞。
常用于负载较重,通信量较大的网络中。
-
-
随机访问介质访问控制(只有这个会发生冲突)
-
ALOHA协议
-
纯ALOHA协议
不监听信道,随机重发。
-
时隙ALOHA协议
控制想发就发的随意性,发生冲突就等下一个时间片再发。
吞吐量更高,效率更高。
-
-
CSMA协议
载波监听多路访问协议,发送数据之前要检测总线是否有其他计算机在发送数据。
1-坚持CSMA 非坚持CSMA p-坚持CSMA 思路 一直监听,直至空闲,如果冲突,等待随机时间再监听 等待随机时间再监听 监听信道空闲处理,空闲时p概率传输,忙则持续监听,冲突时等到下一个时间片 优点 媒体利用率高 可以减少冲突发生的可能 既能减少冲突,又能减少媒体空闲 缺点 冲突不可避免 可能使媒体处于空闲状态 -
CSMA/CD协议 碰撞监听,有线网络
边发送边监听,运用于半双工网络,不希望冲突。
二进制指数规避算法
最小帧长=总线传播时延x数据传输速率x2
-
CSMA/CA协议 碰撞避免,无线网络
-
6、局域网
局域网使用广播信道,强调数据传输,常见的拓扑结构有:星型拓扑、总线拓扑、环形拓扑、树型拓扑。
介质访问控制方法:
- CSMA/CD:总线型局域网
- 令牌总线:总线型局域网
- 令牌环:环形局域网
分类:以太网、令牌环网、FDDI网、ATM网、无线局域网
7、以太网
以太网使用CSMA/CD技术。
-
10BASE-T以太网
物理上是星形,逻辑上总线型,每段双绞线最长为100m,传输速率是10Mb/s
-
通信适配器(网卡)
MAC地址:每个适配器有一个全球唯一的48位二进制地址
8、广域网
使用分组交换技术,强调资源共享。
PPP协议:点对点,全双工链路。
HDLC:全双工链路,CRC检验,传输可靠性高
9、链路层设备
网桥:根据MAC地址对帧进行转发和过滤,不会转发所有口,分离冲突域,过滤通信量。
- 透明网桥:自学习路由转发表
- 源路由网桥:最佳路由信息放在帧的首部中
交换机(多接口网桥):端口独占带宽
-
直通式交换机:看到地址直接转发,延迟小,可靠性低。
-
存储转发式交换机:检查后转发
设备比较:
隔离冲突域 | 隔离广播域 | |
---|---|---|
物理层:中继器、集线器 | × | × |
链路层:网桥、交换机 | √ | × |
网络层:路由器 | √ | √ |
四、网络层
主要任务:把分组从源端到目的端
-
路由选择与分组转发
-
异构网络互联
-
拥塞控制:整个网络负载过重
4.1 路由算法和路由协议
-
静态路由算法:管理员自己配置
-
动态路由算法
-
内部网关协议
-
OSPF:链路状态路由算法(掌握全部)
链路状态发生变化时,向所有路由器发送消息,交换的信息是链路状态(不仅是跳数)每30min刷新一次状态,适用于规模大的互联网,使用IP报文。
-
RIP:距离向量路由算法(掌握物理相连的邻居)
分布式的基于距离向量的路由选择协议,适用于小互联网,仅和相邻路由器交换信息,每30S交换一次,使用UDP报文。
特点:好消息传得慢,坏消息传得慢。
-
-
外部网关协议
- BGP:与其他AS(分治系统)的BGP发言人交换网络可达性(经过的AS )的信息,使用TCP报文
三种路由协议比较
-
4.2 IP地址
1、IP数据报
-
数据报格式
-
分片
标识:同意数据报的分片使用同一标识
标志:只有两位(中间位DF和最低位MF)有意义,DF=0?允许分片,MF=0?后面没分片
片偏移:8B为单位
-
数据报传输方式
- 单播:点对点传输方式
- 广播:点对多点传输方式
- 组播:类似于广播,但到最后一个路由器才会复制和分发
2、IP地址组成
IP地址(唯一标识路由器主机接口)::={<网络号><主机号>}
分类:
特殊IP:
网络类别 | 可用网络数 | 第一个可以用的网络号 | 最后一个可用网络号 | 最大主机数 |
---|---|---|---|---|
A |
2
7
−
2
2^7-2
27−2 减去环回地址127和全0 | 1 | 126 | 2 24 − 2 2^{24}-2 224−2 |
B | 2 14 − 1 2^{14}-1 214−1 | 128.1 | 191.225 | 2 16 − 2 2^{16}-2 216−2 |
C | 2 21 − 1 2^{21}-1 221−1 | 192.0.1 | 223.255.255 | 2 8 − 2 2^{8}-2 28−2 |
IP组播地址:224.0.0.0~239.255.255.255,一个D类地址表示一个组播组,应用UDP,不产生ICMP,不是所有D类地址都可以作为组播地址。
4.3 子网划分
三级IP地址::={<网络号><子网号><主机号>}
子网掩码:网络号全1,主机号全0
子网掩码&IP地址=网络地址
4.4无分类编制CIDR
地址构成{<网络前缀><主机号>},网络前缀可变长,特点:IP地址后加/,再写网络前缀的位数
应用:
- 超网,聚合网络,取交集
- 最长前缀匹配
4.5ARP协议
ARP协议:链路层用来封装MAC地址,自动进行,网络层和链路层中间的协议,过程如下:
- arp高速缓存(IP地址与MAC地址的映射)
- 缓存没有则全1地址封装并广播ARP请求分组
- 目的主机返回单播响应分组
- 写入ARP缓存
DHCP协议:应用层协议,使用C/S方式,通过广播方式交互,基于UDP,动态分配IP,过程如下:
ICMP协议:有效转发数据包,发送差错报告报文,IP数据报传递报文。
IPV6:地址从32位扩大到128位,支持自动配置,把可选字段移除,变成了扩展首部。即插即用,不需要DHCP协议。首部长度必须是8B的整数倍。只能在主机处分片。
IPV6→IPV4 双协议栈、隧道技术
IGMP协议:收到组播数据报,要不要分发给局域网下的主机,或者监听是否有主机参加或退出了组播组,IP数据报传递报文
组播路由选择协议:构造组播转发树。
4.5 网络层设备
路由器:多个输入和输出端口的专用计算机,用来转发分组
五、传输层
功能:
- 可以提供进程和进程之间的逻辑通信
- 复用:应用层可以通过传输层在传输到网络层
- 分用:传输层从网络层收到数据后交付指明的应用
端口号长度为16bit,表示65536个不同端口号
- 服务端使用:
- 熟知端口号0-1023
- 登记端口号1024-49151
- 客户端使用:49152-65535
应用程序 | FTP | TELNET | SMTP | DNS | TFTP | HTTP | SNMP |
---|---|---|---|---|---|---|---|
端口号 | 21 | 23 | 25 | 53 | 69 | 80 | 161 |
套接字(Socket)唯一标识了网络中的主机和上面一个进程=(主机IP地址,端口号)
5.1相关协议
-
用户数据报协议UDP:无连接的用户数据报协议,不可靠,无连接,时延小,适用于小文件。
-
TCP:面向连接的传输控制协议,可靠,面向连接,时延大,适用于大文件。
- 连接的建立:三次握手
- SYN=1 seq=x随机
- SYN=1 ACK=1 允许连接,服务器分配缓存和变量,客户端返回确认报文段
- SYN=0 ACK=1 seq=x+1 ack=y+1 客户端为分配缓存和变量
- 连接的断开:四次握手
- TCP实现可靠:校验、序号、确认、重传
- TCP流量控制:滑动窗口,接受方调整窗口(rwnd)大小限制流量
- TCP拥塞控制:
- 慢开始、拥塞避免:设置门限值,指数增长遇到门限值线性增长,遇到网络拥塞立即降为初始值,并重新确定门限值(拥塞值/2)。
- 快重传、快恢复:三次冗余ACK之后,遇到网络拥塞立即降为新的门限值(拥塞值/2)
- 连接的建立:三次握手
六、应用层
功能:
- 文件传输、访问和管理
- 电子邮件
- 虚拟终端
- 查询服务和远程作业登录
6.1网络应用模型
-
C/S 模型
服务器:
- 永久提供服务
- 永久域名/访问地址
客户机:
- 间歇接入
- 使用服务器服务
- 动态IP
- 不与客户机直接通信
-
P2P模型
- 每个主机提供服务,请求服务
- 间歇进入
- 任意结点直接通讯
- 可能改变IP
- 扩展性好
- 健壮性好
6.2域名解析系统(DNS)
实现域名到IP的转换,自下而上
解析过程:迭代查询、递归查询
相关协议:
FTP:文件传送协议,基于C/S,使用TCP,1个主进程,n个从属进程,控制进程(传请求,端口号21)和数据传送(传文件)进程
电子邮件:TCP连接,C/S,端口号25,相关协议:
-
SMTP:发,规定了SMTP客服和SMTP服务器之间如何交换信息,只支持7为ASCII码。
步骤:连接建立→邮件发送→连接释放
MIME因特网邮件扩充
-
POP3(TCP连接,端口号110)、IMAP 收
万维网和http协议:
万维网是一个大规模的资料空间,统一资源定位符URL唯一标识了资源,一般形式 <协议>://<主机><端口>/<路径>,资源通过超文本传输协议传送给使用者。
http协议定义了浏览器怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器,是无状态无连接的。
具体过程:
- 浏览器分析URL
- 浏览器向DNS请求解析
- DNS解析出IP
- 浏览器与服务器建立TCP
- 浏览器发出取文件命令
- 服务器响应
- 释放TCP连接
- 浏览器显示