目录
计算机网络
真题:
根据域名天津大学访问网页的网络流程,按顺序写出涉及到的网络协议和功能,写出分别对应哪一层协议
4.1 体系结构
4.1.1 计算机网络
定义:地理位置不同 独立计算机 通信线路 资源共享和信息交流
组成:通信子网+资源子网
分类:拓扑:星形、树形、总线型、环形、网状
作用范围:广域网(WAN)、城域网(MAN)、局域网(LAN)
传输方式:有线网、无线网
传输方式:传输方向:单工、双工(同一时间只允许一个方向的数据通信)、全双工
传输对象(方式):单播、多播(1 v n)、广播(1 v all)
数据交换: 电路交换:整个报文从源头到终点连续传播【信道占用】
报文交换:整个报文传到相邻点,再查找转发表传到下一个节点【整个报文对设备压力大】
分组交换:报文分成数据包,传到相邻点,再查找转发表传到下一个节点(就可以分开走不同的路线)【速度不如电路交换,完整性也低】
数据报:分组之间可能有不同路径,各个分组分别转发
虚电路:建立一条逻辑上的虚电路,分组沿着虚电路传输+++++++++++++++++++++++++++++++++++++++++++++++++++
网络协议三要素: 语法:数据与控制信息的结构或格式
语义:需发现何种控制信息,完成何种动作,做出何种应答
同步:事件实现顺序的详细说明
4.1.2 分层模型
网络的体系结构:(定义和动机)
开放式系统互联网参考模型OSI模型:(记背口诀:物联网淑慧适用)背作用
TCP/IP模型:
层次结构设计原则:相互独立;有灵活性;各层间完全解耦
物理层:
4.2 数据包交换等基本概念原理
速率:bps=bit/s
时延:发送时延、传播时延、排队时延、处理时延
往返时间RTT:数据报文在端到端通信中来回一次的时间
服务:相邻两层,下一层向上一层提供服务(竖直关系)
协议:语法:数据与控制信息的结构或格式
语义:需发现何种控制信息,完成何种动作,做出何种应答
同步:事件实现顺序的详细说明
应用层报文:应用层协议分布在多个端系统上,而一个端系统中的应用程序使用协议与另一个端系统中的应用程序交换信息分组。我们把这种位于应用层的信息分组称为报文。
运输层报文段:因特网的运输层在应用程序端点之间传送应用层报文。运输层收取到报文并附上附加信息,该首部将被接收端的运输层使用。应用层报文和运输层首部信息一道构成了运输层报文段。运输层报文段封装了应用层报文。
网络层数据报:运输层则向网络层传递报文段,网络层增加了如源和目的端系统地址等网络层首部信息,生成了网络层数据报。网络层数据报是网络层的分组。
链路层帧:数据报被传递给链路层,链路层(自然而然地)增加它自己的链路层首部信息并生成链路层帧。链路层帧是链路层分组。
处理层次:
路由器处理:物理层、链路层、网络层
链路层交换机:物理层、链路层。
主机:全部
4.3 应用层
在最上层,是网络应用程序以及他们的应用层协议存留的地方;设计协议优化性能,为用户提供常用的应用程序,面向用户实现网络服务的各种功能
应用 | FTP数据链接 | FTP控制链接 | TELNET | SMTP | DNS | TFTP简单文件传输 | HTTP | POP3邮局协议 | SNMP简单网络管理协议 |
协议 | TCP | TCP | TCP | TCP | UDP | UDP | TCP | TCP | UDP |
端口 | 20 | 21 | 23 | 25 | 53 | 69 | 80 | 110 | 161 |
4.3.0 C/S & P2P
C/S:服务器是一个总是打开的主机;其他发送请求的主机是客户;特征是该服务器有固定的、周知的地址,叫IP地址;一台单独的服务器可能跟不上需求,需要配备大量主机的数据中心
P2P:对位于数据中心的专用服务器有最小的依赖
原理是一种分布式网络通信模型,它允许直接连接的节点(也称为对等节点或对等方)之间相互通信和交换数据,而不需要依赖集中式服务器。
思路:传输内容不再保存在中心服务器上,每个节点都同时具有上传和下载的功能,权利与义务大体对等。
优点:减轻服务器压力,消除对于某个服务器的完全依赖,提高系统效率和资源利用率。
多个客户机之间可以直接共享文档。
可扩展性好(可以接收更多的请求)
健壮性强,单个节点失效可以不影响其他部分
缺点:获取服务的时候还要给其他节点提供服务,占用内存较多,影响整机速度
每个节点既可以作为客户端,也可以作为服务器,可以同时下载和上传数据。节点之间通过建立直接连接进行数据传输,而不是经过中央服务器。这种直接连接的方式可以提高传输速度、减少延迟,并且不会造成单点故障。
挑战:ISP友好,非对称“带宽,下载多于上传;
安全性,高度开放和分布
激励,需要用户资源的响应提供带宽、存储和计算资源
4.3.1 HTTP超文本传输协议
HTTP:使用TCP可靠传输 监听端口80
特性:使用TCP可靠,但本身不建立连接;无记忆性;
HTTP1.1:支持持久连接(默认流水线
报文:请求报文、响应报文
非持续连接:文件个数N * (建立连接的1RRT + 传输文件的1RRT)
持续连接:建立连接的1RRT+文件个数N * 1RRT
常见码:
常见首部字段:
常见指令:
GET:请求读取URL信息
HEAD:请求读取URL首部
POST:给服务器添加信息
CONNECT:用于代理服务器
用户单击鼠标访问URL后的事件发生:
- 服务器分析链接指向的URL
- 浏览器向DNS域名系统请求解析URL的IP地址
- DNS域名系统解析出IP地址
- 浏览器与该服务器建立TCP连接
- 浏览器发出HTTP请求:GET index.htm
- 服务器通过GET响应把文件index.htm发送给浏览器
- TCP释放连接
- 浏览器解释文件index.htm,显示web网页给用户
4.3.2 HTTPS更安全的超文本传输协议
HTTPS:在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性,加入了SSL/TLS
目标:数据保密性:保证数据内容在传输的过程中不会被第三方查看。就像快递员传递包裹一样,都进行了封装,别人无法获知里面装了什么
数据完整性:及时发现被第三方篡改的传输内容。就像快递员虽然不知道包裹里装了什么东西,但他有可能中途掉包,数据完整性就是指如果被掉包,我们能轻松发现并拒收
身份校验安全性:保证数据到达用户期望的目的地。就像我们邮寄包裹时,虽然是一个封装好的未掉包的包裹,但必须确定这个包裹不会送错地方,通过身份校验来确保送对了地方
4.3.3 FTP文件传输协议
FTP:提供交互式访问,允许客户指明文件的类型和格式,允许文件存取权限,屏蔽各计算机系统的细节,适合异构网络中任意计算机之间传输文件
使用TCP客户/服务端的工作方式。
组成:一个主进程:负责接受新的请求
若干子进程:处理单个请求
2个TCP端口:控制连接21号:等待客户连接,传输连接请求、控制请求等
数据连接20号:在接收到传输请求后,建立数据传送进程和数据连接,完成实际的文件传输
NFS:允许进程打开一个远程文件,并可以在特定位置进行读写。使用户可以复制大文件中很小一部分,而不用完整复制
4.3.4 SMTP简单邮件传输协议
SMTP:可靠有效的电子邮件传输,控制两个互相通信的SMTP进程信息。发送->客户,接受->服务,两个端口既表现为客户也表现为服务。TCP 25号端口
阶段:建立连接:间歇性扫描邮件缓存-> 建立连接 -> 服务器发送202-> 客户发送HELO;SMTP直接在发送和接收两个服务器之间建立连接
邮件传送:一串命令和格式的过程。。。
连接释放:客户发送QUIT-> 服务器返回221,关闭
POP3邮局协议:pull的通信方式,客户/服务器的工作方式。TCP;端口号110;用户读取邮件的时候,用户代理向邮件服务器发出请求,拉取用户邮箱中的邮件。
工作方式:下载并保留:下载后邮件仍然保存于服务器上,可以再次读取;
下载并删除:邮件一旦读取,会被从服务器上删除,不可以再次读取。
4.3.5 DNS域名解析协议
DNS:分布式网络目录服务,用于域名(比如www.cjabfoal.com)和IP的相互转化,以及控制因特网的电子邮件发送;客户/服务器模型;UDP;53号端口
组成:层次域名空间:树形结构,三级.二级(标号).顶级(有好些域名规则,见王道p250)
域名服务器:根域名服务器-顶级域名 顶级域名服务器-二级域名 本地域名服务器授权域名服务器
分布式的特点:可扩展性强;分流;便于维护、扩展
解析器:正向:域名->IP 反向:IP->域名
方法:递归查询(查询失败使本地域名服务器作为DNS客户向上查询):主机向本地域名服务器;返回IP或报错
迭代查询(*):本地域名服务器向根域名服务器查询;返回IP或下一步查询方向(根->顶级->权限)
4.4 传输层
在应用程序端点之间传送应用层报文;采用端到端的通信方式;
基本功能是:进程间的逻辑通信,数据的分割和重组(复用和分用),按端口号寻址,连接管理(TCP和UDP),差错控制和流量控制
逻辑通信:端到端,应用进程之间的逻辑通信(区别于网络层是提供主机间的逻辑通信)。
复用和分用:复用指发送方不同进程都可使使用同一个传输层协议传送数据;分用指接收方刨去报文首部以后,能把这些数据正确交付到目的应用进程。
差错校验:检验报文的首部和数据部分(区别于网络层只检查IP数据报的首部)。
传输协议:TCP和UDP不可同时实现。如虚电路只提供面向连接的服务,数据报只提供无连接服务。
4.4.1 UDP
UDP:不可靠,无连接,基于数据报
特点:无连接; 尽最大努力交付(不可靠);面向报文,无拥塞控制;开销小(首部8B),传输效率高
4.4.2 TCP
TCP:可靠,有链接,基于字节流
特点:面向连接;可靠服务;全双工通信;面向字节流
窗口:固定窗口;滑动窗口;拥塞处理和流量控制
三次握手和四次挥手
可靠传输机制:
序号:保证数据有序提交
确认:确认号为期待收到的下一个报文的第一个字节序号
重传:超时:计时器到期还没收到确认,重传对应的报文
冗杂:收到失序报文,向发送端发送冗杂ACK
流量控制:确认报文中设置rwnd接收窗口来限制发送速率
- 停等协议SW
A收到B的回复再发送下一个;A长时间未收到回复就重传;B收到重复的seq就丢弃【适合短距离】
- 回退N步协议GBN
B监测到失序后要求A从最后一个正确的seq开始重新发送;A发现丢失或出错后从最后一个正确的seq开始重新发送【优点:简单 缺点:浪费】
- 选择性重传SR
B单独确认所有正确收到的数据包,A至重传没收到ACK的数据包【优点:效率高 缺点:B需要更多的缓存】
回复ACK序号对比;
GBN:收到几,回复几;不是期望则回复可靠接受的上一个序号
SR:收到几,回复几
TCP:收到几,回复期望的下一个序号;累计确认
SRTT:收敛于8倍平均RTT
超时设置:适宜:大于RTT 过长:对丢包反映太慢 过短:不必要的重传
拥塞控制、流量控制
慢启动,设置ssthresh,cwnd *=2
cwnd>ssthresh,拥塞避免,cwnd+=1
超时指示丢包,拥塞,慢启动,ssthresh/=2,cwmd=1
3个冗杂ack指示丢包,快速重传,ssthresh/=2,cwnd/=2
三次握手
四次挥手
rdt1.0:相信底层信道完全可靠;不考虑可能的位错误
rdt2.0:停等协议;引入差错校验(0/1)、ACK和NAK反馈、重传;没有考虑ACK/NAK分组受损
rdt2.1:引入序列号、校验和
rdt2.2:去掉NAC,只保留ACK
rdt3.0:引入计时器
发送方
接收方
TCP:左边客户进程,右边服务器进程
4.5 网络层
网络层:提供端到端的服务(寻址、路由选择、各种协议);数据包的选路和转发;拥塞控制
无连接服务:数据报服务,数据报网络
有连接:虚电路,虚电路网络
4.5.1 IP因特网协议(IPv4)
- 概念:IP和MAC
IP地址:逻辑地址,以此屏蔽物理地址(MAC地址,是每个网卡独一无二的)的
网络地址:IP地址 逻辑和& 子网掩码(主机号全为0)
广播地址:主机号全为1
地址范围:网段内所有主机的地址的范围(网络地址+1 ~ 广播地址-1)
主机地址:IP地址 亦或XOR 网络号 (好像不是后半截主机号)
- 格式
CIDR格式:a.b.c.d/x
组成:四个字节=32bit,点分十进制表示;
子网掩码:用于区分IP地址中的网络号和主机号
主机号:表示一台设备
网络号:表示一个网段
IP地址 = 网络号 + 主机地址
分类:
- 根据IP的前1-4位判断地址分类 / 根据十进制范围判断地址分类 / 用子网掩码区分网络号和主机号分类
- 不可主机号全为0(网络地址);不可主机号全为1(广播地址);127.0.0.0回环地址不可用
IPv6:16字节 128位 十六进制
- 子网划分
子网划分:从主机号划分部分为网络号(子网号)。以避免网段内的 资源浪费
网段:一个IP端到另一个IP端的一段范围。好比 从192.168.0.1到192.168.0.255着之间就是一个网段。
网关:连接两个网段的网络设备,通常使用路由器router作为网关。
- IP传输方式
单播:发送数据到单个目的主机,每个单播报文都有一个单播IP作为目的地址
传输方式:点对点
缺点:发送和接受者之间每个都要建立单独的数据信道
广播:发送数据到同一广播域或子网内所有主机
传输方式:点对多点
缺点:会给无关主机发送不需要的数据
组播:发送数据到某些特定用户,通过组播协议,为组播数据包建立组播分发梳,被传递的数据到距离用户最近的路由器后,开始复制分发
传输方式:点对多点
优点:提高数据传送效率;减少主干网拥塞的可能
特点:组播地址是D类地址,但不是所有D类地址都可以做组播地址
不可靠交付UDP
不产生ICMP差错报文
4.5.2 NAT、ISP、DHCP
NAT网络地址转化:实现专用网络地址和公用网络地址之间的相互转换
ISP互联网服务提供商
DHCP动态主机配置协议:给网络中主机动态分配IP地址,是应用层协议
4.5.2 ICMP控制报文协议
TCP/IP的一个协议簇的一个子协议,为了提高IP数据交付成功的机会,在IP主机和路由器之间传递控制信息,用于差错检验。是一种面向无连接的协议,用于传输出错报告控制信息。是“错误侦测与回报机制”,让我们可以检测网络的连线状态,确保连线准确性。路由器在处理数据包发声意外,可以通过ICMP向源端发送信息
组成:ICMP报文作为数据 + 数据报首部 = IP数据报
类型:ICMP差错报告报文:用于目标主机或到目标主机路径上的路由器向源主机发送差错和异常情况。
-
-
-
- 终点不可达
- 源点抑制:发生拥塞丢失数据
- 时间超过:终点收到生存时间为0的数据报 或 规定时间内不能收到一个数据报的全部数据报片
- 参数问题:收到的数据报首部字段值不正确
- 改变路由(重定向):路由让主机下次发信息给另外的路由(可能优化路径)
-
-
ICMP询问报文。
4.5.3 ARP地址解析协议
完成IP到MAC的映射;每台主机都有一个高速ARP缓存,存放本局域网上各主机IP到MAC的映射,用ARP动态维护
当A向B发送IP数据包,先在自己的ARP内查地址;查到就将硬件地址写入MAC帧。传去物理地址;没查到,广播ARP请求;
4.5.4 RARP反向地址转换协议
允许局域网的物理机器从网关服务器的ARP表或者缓存上请求其IP地址
4.5.5 路由
路由:网络层最主要的工作,网络层最基本的设备;每个端口对应一个网段;路由器中有路由表存放网端信息
主要功能:路由选择:构造和维护路由表,确定路由路径
分组转发:根据路由表将用户IP数据从合适的端口发出去。转发表查询、转发、相关任务管理和调度
网段:一个IP端到另一个IP端的一段范围。好比 从192.168.0.1到192.168.0.255着之间就是一个网段。
网关:连接两个网段的网络设备,通常使用路由器router作为网关。
APR表:由主机维护,记录的是局域网内主机的IP地址与MAC地址的映射关系。
转发表:由交换机维护,记录目的地址和对应的出口接口。可以根据实际网络情况实时更新。记录整个局域网内每个节点的转发信息。
路由表:由路由器维护,记录目标网络地址(最长前缀)、下一跳IP、出接口等。
NAT转换表:(NAT设备:路由器)用来记录内部私有IP地址和外部公有IP地址之间的映射关系的。NAT转换表通常包含内部私有IP地址、内部端口号、外部公有IP地址和外部端口号等信息。只需要为每一个连接建立一个转换条目,并不用关注连接到哪一个IP。
内部端口和外部端口都是随机的,以确保每一个连接的唯一性,端口号不会重复。
分类:直连路由;
静态路由:手动配置,拓扑结构简单的小型网络
动态路由:路由器协议,有一定数量的三层网络结构
距离向量路由选择算法:定期将整个路由表传给与之相邻的节点,要求所有节点参与距离向量交换
如RIP路由信息协议:分布式,基于距离向量,简单,最少跳数;最多允许15跳,只适用于小型网络;30s广播一次
链路状态路由选择算法:基于链路状态,定期将链路状态传给所有其他节点,要求每个节点具有完全的网络拓扑信息
如OSPF开放最短路径优先协议:分布式,基于链路状态,最短链路距离;1)收敛快,可设置代价,灵活;2)多路间负载平衡;3)有鉴别功能,可信赖的路由器之间交换信息
距离向量算法:
- x\y\z根据其他人的广播,更新其他人视角的距离信息;再根据拿到的其它信息,更新自己到其他节点的最短距离
- 如果自己到其它节点的最短距离变化,广播出去;如果没变,不用广播
- 收到他人广播的距离变化,更新他人视角距离信息;再根据拿到的其它信息,更新自己到其他节点的最短距离
BGP:
IBGP(internal)不需要IBGP邻居之间有物理连接,只需要逻辑连接即可;IBGP在不同的AS之间传递信息
EBGP(external)下一般情况下都要求邻居之间存在物理连接;EBGP在不同的AS间
4.5.6 冲突域和广播域
冲突域:同一时间只能有一台设备爱发送信息的范围
分层:基于OSI第一层物理层
设备:第二层设备及其以上能隔离冲突域,如交换机、路由器等
广播域:真点发送一个信号,所有能接收到这个信号的设备范围称为一个广播域
分层:基于OSI第二层链路层
设备:第三层设备及其以上能隔离广播域,如路由器等
4.6 链路层
数据链路层:提供相邻结点的可靠数据传输,将整个帧从一个网络传输到相邻的网络
物理层--比特 数据链路层--帧 网络层--分组 传输层--报文
帧 = 帧头(源MAC地址、目的MAC地址、类型)+数据+帧尾(校验)
三个基本问题:封装成帧、透明传输、差错检测(CRC、奇偶校验)
冲突域(介质访问协议?局域网?)和广播域(广域网协议?)
逻辑链路控制子层LLC 媒体访问控制子层MAC
组帧:字符计数法:帧头用计数字段表明帧的大小
首尾定界法:用特定字符或比特模式定界帧的开始和结束
字符填充:在数据中的特殊字符前用转义字符填充
比特填充:数据区遇到5个连续1就填充一个
违规编码法:采用违规的编码来表示起始和结束
可靠传输:使用确认和超时重传两种机制来保证可靠传输
差错控制:检错编码:奇偶校验码、循环冗余码
纠错编码:海明码
4.6.1 MAC多址接入协议
功能:链路共享,解决一条链路多个网络节点如何竞争使用链路的问题
工作方式:信道划分、随机接入、轮流协议
分配MAC地址:十六进制,48位(6z'"///字节)
4.6.2 介质访问协议
- 信道划分
通过分时、分频、分码等方法把原来的一条广播信道,逻辑上划分为几条互不干扰的子信道。
优点:无碰撞 缺点:资源浪费
TDMA:时分多址,将信道分成若干时间片分给信号使用
FDMA:频分多址,将信道分为不同的频段,使信号调制到不同频率载波上
- 随机访问
ALOHA:需要发送时直接发送,超时认为冲突,重发
slotted ALOHA:时隙ALOHA,每个时隙开始时才可以发送,每个帧都可以在一个时隙间发送完成,以减少可能
CMSA协议:非坚持:闲则发送,忙则等待随机时间
特点:减少再次冲突的可能,但随机时间内介质没有数据传输会产生浪费
1-坚持:闲则发送,忙则继续监听
特点:延迟少于非坚持,但若两个以上站等待发送,介质空闲就一定会冲突
p-坚持:闲则以p概率发送,以1-p概率等待下一个时隙发送,忙则等待随机时间监听
CSMA/CD载波侦听多路访问/冲突检测:总线、广播、竞争型
三大要点:多点接入、载波监听、碰撞检测
多点接入(Multipoint Access/MA): 总线型网络, 多个计算机站连接在一条总线上。
载波监听(Carrier Sense/CS): 即"边发送, 边监听", 每个站都必须不停的检测信道。发送前检测, 信道空闲才可以发送数据; 发送中检测, 若检测出其他信道在发送, 就中断本站的发送。
碰撞检测(Collision Detection/CD): 载波监听的物理实现, 边发送数据边检测信道上电压的变化情况。两站被检测到数据失真, 双方立即停止发送。
退避策略:碰撞次数为n,求节点选择的退避轮次k和延时t
发生碰撞后,适配器还等待k*512b times,其中k是随机选择的。
碰撞次数n,最大退避轮次m;则l=min{ n,m };选择k在【0,1,2...2^l-1】中随机(假设等概率)。
CSMA/CA载波侦听多路访问/碰撞避免:在无线局域网环境,CSMA/CD不适用,因为:
- 接收信号强度远小于发送信号强度,碰撞检测开销很大
- 并非所有站点都能听见对方,存在隐蔽站
碰撞避免:协议尽量降低碰撞发生的概率
二进制指数退避算法(同CSMA/CD)
预约信道:发送数据同时通知其他站点自己传输需要的时间长度,让其他站点不发送
ACK帧:正确接受到帧后发送ACK给发送方,发送方规定时间内未收到ACK会重发
RTS/CTS帧:可选的碰撞避免机制,解决“隐蔽站”问题
- 轮询协议、令牌传递协议
轮流协议:指定一个主节点,轮流告诉其他节点最多可以传输多少帧
优点:取消时间空隙和碰撞可能
缺点:引入了轮询时延;主节点故障整个信道不可操作
令牌传递协议:一个称为令牌的小的特殊帧在节点间以某种固有次序传递,有帧要发送才持有令牌
优点:效率高
缺点:一个节点故障则信道崩溃;令牌偶然未释放需恢复步骤
4.6.3 广域网协议
- PPP点对点协议
互联网用户通常要连接到某个ISP才能接入到互联网,PPP协议就是计算机和ISP通信时所使用的数据链路层协议。是目前使用最广泛的数据链路层协议,主要用于建立点对点的连接来传输数据单元。
组成:将IP数据封装到串行链路的方法:既支持异步链路,也支持同步链路。
LCP链路控制协议:一个用来建立、配置和测试数据链路连接的协议
NCP网络控制协议:一套协议,每一个协议支持一个网络层协议,如IP、AppleTalk等。
- HDLC协议
使用统一的帧格式,运用方便;采用零比特插入法,易于硬件实现;支持任意的位流传输,实现信息透明传输;全双工通信,吞吐率高,未收到应答的情况下也可连续发送信息帧,提高数据链路传输效率;采用CRC帧校验序列,防止漏帧,提高传输可靠性。
- 对任意比特流可透明传输;
- 有较高的数据链路传输效率;
- 有帧校验序列FCS(通过CRC生成的),传输可靠性高;
- 统一的帧格式
4.7 物理层
将帧内的一个个比特从一个节点移到下一个节点
传输单位:比特流
传输的主要介质:集线器,中继器,调制解调器,网线,双绞线,同轴电缆
4.7.1 数据交换技术
数据交换: 电路交换:整个报文从源头到终点连续传播【信道占用】,宽带预留(即使只有10%使用率也要一直保留)
优点:不会拥塞,保证带宽和延迟
缺点:线路一个节点故障,通过该节点的所有线路信息丢失
报文交换:整个报文传到相邻点,再查找转发表传到下一个节点【整个报文对设备压力大】
分组交换:报文分成数据包,通过通信链路和分组交换机
优点:允许多用户同时使用网络,适合大量数据,简单有效,宽带共享更好
缺点:可能网络拥塞,数据包延迟、丢失
局域网(以太网几乎成为其代名词)
有线局域网IE802.3
无线局域网IE802.11
VLAN虚拟局域网:将一个物理局域网划分为多个虚拟局域网;划分广播域,减少垃圾数据;增加局域网安全;提高健壮性;灵活构建工作组
是最底层的协议,规定了电子信号如何组成数据包(packet),解决了子网内部的点对点。
提供无连接、不可靠的服务:不对发送方的数据帧编号,接收方不向发送方进行确认,差错帧直接丢弃,差错纠正由高层负责。
传输介质发展:粗同轴电缆→细同轴电缆→双绞线+集线器
拓扑结构发展:总线型->星型
4.8 性能分析
HTTP\P2P\TCP\CSMA\路由器协议(HTTP\IP\CSMA\路由器)
(有线局域网(以太网)和无线局域网技术)
4.8.1 性能分析原理
传输效率:数据长度 / (数据长度+TCP首部+IP首部+数据链路层首尾部) (有用的/总共的)
发送时延:节点将所有数据发送到传输链路层的时间
传播时延:数据在链路中传播一定距离需要的时间
发送时延:节点将所有数据发送到传输链路层的时间
发送时延 = 数据长度bit / 信道宽度bits/s(=发送速率 = 带宽 = 传输速率)
传播时延:数据在链路中传播一定距离需要的时间
传播时延 = 信道长度m / 传播速率m/s()
总时延 = 发送时延+传播时延+处理时延+排队时延
时延带宽积:即比特为单位的链路长度,是第一个bit到达终点时发送端已经发送了多少bits
时延带宽积 = 传播时延 * 带宽
丢包率 = 丢包数 / 总传输数
吞吐率:单位时间内传输的bit数 N/t,通常在接收端计算
4.8.2 局部性原理
关于空间局部性和时间局部性的提高,主要设计到内存管理、缓存管理、进程调度和IO操作等方面。
- 内存管理和页面置换
优化页面置换算法:如LRU最近最少使用算法,利用了时间局部性
增加缓存大小:增加空间局部性
使用多级缓存:多级缓存结构可以根据数据的访问频率和重要性,将数据存储在不同级别的缓存中,从而提高缓存命中率,增加时间局部性。
- 进程调度和线程管理
进程调度策略:优先级调度、时间片轮转调度等,时间局部性
减少上线文切换:可以通过优化进程调度策略,减少不必要的上下文切换,从而提高时间局部性。
- IO操作和预取技术
IO预取:当系统检测到某个文件或数据块被频繁访问时,可以预测性地将其相邻的数据块加载到缓存中,以减少未来的I/O延迟。提高空间局部性。
优化IO缓冲:设置I/O缓冲的大小和策略,可以减少I/O操作的次数,提高数据访问的效率。