计算机网络
2019-01-07 09:58:45 33 举报
AI智能生成
计算机网络
作者其他创作
大纲/内容
网络层
网络层实现的功能是互联网内两台主机之间的分组数据传输
两种服务
虚电路服务
数据报服务(使用)
不提供端到端的可靠传输服务
运输层提供可靠交付
简单灵活,无连接,尽最大努力交付的数据报服务
不保证服务质量
网际协议IP
配套协议
ARP地址解析协议
ICMP网际控制报文协议
IGMP网际管理协议
网络互连都是指路由器进行网络互连和路由选择
虚拟互联网络
逻辑互连网络
利用IP协议可以使这些性能各异的网络从用户看起来好像是一个统一的网络
利用IP协议可以使这些性能各异的网络从用户看起来好像是一个统一的网络
IP地址
32位
每一类地址逗游两个固定长度的字段组成,一个是网络号net-id,另一个字段是host-id
一个IP地址在互联网范围内是唯一的
一个IP地址在互联网范围内是唯一的
各类IP地址
A类
net:host=8:24,第一位为0
B类
net:host=16:16,前两位为10
C类
net:host = 24:8前三位为110
点分十进制记法
每8位为一组,转为10进制数
重要特点
IP地址是一种分等级的地址结构
ip地址实际上是标志一个主机和一条链路的接口
当一个主机同时连接到两个网络时,该主机必须具有下两个响应的IP地址,其网络号是不同的,这种称为多归属主机
一个路由器应该至少有两个不同的IP地址
用转发器或网桥连接起来的若干个局域网认为一个网络,这些具有相同的网络号
所有分配到网络号的网络都是平等的,不论分布范围
同一个局域网内的主机或者路由器IP地址中的网络号必须是相同的
IP地址和硬件地址
IP层抽象的互联网屏蔽了下层很复杂的细节
IP数据报首部只含有源地址和目的地址,MAC帧首部写明每一次经过路由器时的源地址和目标地址的转换
地址解析协议
作用
从网络层使用的IP地址,解析出在数据链路层使用的硬件地址
每一个主机都说一个ARP高速缓存,保存局域网上各主机和路由器的IP地址和硬件地址的映射表
过程
当A欲向本局域网上的某个主机B发送IP数据报时,先查看缓存中是否有B的IP地址
如果有,查出硬件地址,写入MAC帧,然后发送
如果没有,ARP进程在本局域网上广播发送一个ARP请求分组,收到ARP响应分组后,将得到IP地址到硬件地址的映射写入ARP高速缓存
要点
ARP请求分组
包含发送放硬件地址,发送发IP地址,目标方硬件地址,目标放IP地址
本地广播ARP请求,路由器不转发ARP请求
ARP响应分组
发送方硬件地址,发送方IP地址,目标方硬件地址,目标方IP地址
ARP分组封装在物理网络的帧中传输
ARP高速缓存的作用
存放最近获得的IP地址到MAC地址的绑定,减少ARP广播的数量
ARP广播在广播过程中,途经的主机将自己的IP-MAC写入数据报,目的主机将源主机的IP-MAC写入自己的缓存中
注意
ARP解决的是同一个局域网上问题,如果需要跨网络,需要找到连接两个网络的路由器,将分组发给这个路由器,然后在另一个网络中使用ARP
IP数据报格式
首部
20个字节固定长度,后面的有可选字段
版本4位
IP协议的版本
首部长度:4位,可表示的最大数值是60个字节,所以首部最大值是60个字节
区分服务:8位:一般不使用
总长度:16位,指首部和数据之和的长度,单位是字节,因此数据包最大长度为65535字节
标识:16位,计数器,用来产生IP数据报的标识
标志:3位:只有前两位有意义,最低位是MF,MF=1表示还有分片,MF=0表示最后一个分片
中间一位DF,只有DF=0时才能分片
中间一位DF,只有DF=0时才能分片
片偏移13位,较长的分组在分片后某片在原分组中ed相对位置,单位是8个字节
生存时间:8位,指示数据报在网络中可通过的路由器的最大值
协议:8位,指此数据报携带的数据使用何种协议
首部校验和:16位,只验证数据报的首部
二进制反码求和算法
首先把校验和16位置0,然后将整个首部每16位求反码然后求和,最后把和取反存放在校验和,接收端再进行每16位反码求和,结果取反如果等于0代表正确
源地址和目的地址都是32位
IP层转发分组的流程
使用主机所在的网络地址来制作路由表
路由表中每一行是目的网络地址,下一跳地址
默认路由
例如路由表中列举几个指定的目标地址和下一跳,其他都使用默认路由的下一跳
强调
IP数据报的首部没有下一跳的IP地址
当路由器接收到待发送的数据报,不是将下一跳的路由器的ip写入IP数据报,而是送交下层的网络接口软件,
网络接口软件使用ARP负责将下一跳路由器的ip转换为硬件地址,并将此硬件地址放在链路层的MAC帧的首部,根据这个硬件地址找到下一跳路由器
路由表指指出到某个网络应当先到某个路由器
划分子网
基本思路
从主机号借用若干为作为子网号
划分子网后对外还是一个网络,只是内部划分
转发数据报还是先找到本单位网络的路由器,然后根据网络号和子网号找到目的子网,再交给目的主机
子网掩码
由于从IP数据报的首部无法直接判断是否划分了子网,所以使用子网掩码
规则,32位,对应ip地址,某位=1,ip中对应位为网络号和子网号,某位=0,ip中对应位为主机号
路由器在交换路由信息时,必须告诉自己所在网络的子网掩码给相邻路由器
路由表的每一个项目,处理要给出目的网络地址外,还必须同事给出该网络的子网掩码
IP地址和子网掩码按位与得到子网的网络地址
划分子网后的分组转发流程
收到目的ip地址D
先与各网络的子网掩码按位与,看是否匹配,若匹配,则将分组直接交付,否则就试试间接交付,
路由表中有目的地址为D的特定主机路由,则将分组传送给指明的下一跳路由器,否则
对路由表中的每一行,将子网掩码和D按位与,若结果和该行的目的网络地址相同,则将分组传送给该行指明的下一跳路由器
若路由表中有一个默认,则转为下一跳,否则,报错
网际控制报文协议ICMP
ICMP允许主机或者路由器报告差错情况和请提供有关异常情况的报告
存在与IP数据报的数据部分
ICMP报文的种类有两种
差错报告报文
询问报文
报文的前4个字节是统一的格式,有类型,代码,校验和三个字段,
应用举例
PING测试两个主机之间的连通性
PING是应用层直接使用网络层的ICMP,没有通过TCP和UDP
互联网的路由选择协议
自适应考虑
静态路由选择策略
即非自适应路由选择,特点是简单和开销较小,但不能既是适应网络状态的变化
动态路由选择策略
即自适应路由选择,特点是较好的适应网络状态的变化,但实现起来较为复杂,开销也比较大
分层次的路由选择协议
内部网关协议IGP
RIP
分布式的,基于距离向量的路由选择协议
要求每一个路由器都要维护从他自己到其他每一个目的网络的距离记录
从一个路由器到直接连接的网络的距离定义为1,从路由器到非直接连接的网络的距离定义为所经过的路由器数加1
RIP允许一条路径最多包含15个路由器,即16为最大值即不可达
RIP不能在两个网络间使用多条路由,只选择含最少路由器的路径
特点
仅和相邻路由器交换信息
交换全部信息
按照固定的时间间隔交换,
路由表
所有路由表最终都会知道到达自治系统中任何一个网络的最短距离和下一跳路由器的地址
距离向量算法
基本思路是:设X是A->B最短路径上的一个节点,如果把A->B拆成A->X,X->B,则每一段路径A->x和x->B也都分别是结点A->x和X->B的最短路径.
缺点
限制网络的规模,最大距离是15
路由表信息完整,开销大
坏消息1传播的慢,好消息传播的快,更新过程时间过长
OSGF
使用最短路径算法得出
三个要点
向本自治系统中的所有路由器发送消息
发送的信息就是与本路由器相邻的所有路由器的链路状态,但只是部分信息
只有当链路状态发生变化时,路由器才使用洪泛法向所有路由器发送此消息
直接使用IP数据报发送,不用UDP
IPV6
仍支持无连接的传送,地址空间为128位,
扩展的地址层次结构
灵活的首部格式
改进的选项
允许协议继续扩充
支持即插即用
支持资源的预分配
首部是8字节对齐
数据报
固定的40字节首部
运输层
运输层实现互联网内任意两台主机进程之间的数据传输
进程之间的通信
运输层属于面向通信部分的最高层,也是用户功能中的最底层
只有位于边缘部分的主机的协议栈才有运输层,网络核心的路由器在转发分组时都只用到下三层的功能
基于端口的复用和分用功能
TCP/udp复用-IP复用
TCP/UDP分用-IP分用
端口
软件端口和硬件端口
协议栈层间的抽象协议端口是软件端口
路由器交换机上的端口是硬件端口
运输层端口
16位
只具有本地意义,只是标识本计算机应用层中的各进程
服务端端口号
熟知端口号
0-1023
udp
举例
RPC:11
DNS:53
TFTP:69
SNMP:161
SNMP(trap):162
TCP
SMTP:25
FTP:21/20
Telnet:23
HTTP:80
HTTPS:443
登记端口
1024-49151
客户端端口号(短暂端口号)
49152-65535
UDP
不可靠的信道
传送的数据单位协议是UDP报文或用户数据报
特点
无连接的服务
尽最大努力交付
面向报文的
没有拥塞控制
支持一对一,一对多,多对一,多对多的交互通信
UDP的首部开销小
传送数据之前不需要建立连接
接收方收到后不需要给出任何确定
概述
UDP只在IP数据报服务上增加了
复用和分用的功能
差错监测的功能
首部格式
8个字节
12个字节的伪首部
源首部:2个字节
目的端口:2个字节
长度:2个字节
检验和:2个字节
伪首部仅仅为了计算检验和
二进制反码求和
TCP
可靠的信道,全双工信道
传送的数据单位协议是TCP报文段
特点
面向连接的服务
不提供广播和多播服务
只能是点对点的
面向字节流
TCP将应用程序的数据看成一串无结构的字节流
TCP将连续的字节流分段,形成TCP报文段
TCP的连接
TCP把连接作为最基本的抽象
每一条TCP连接有两个端点,端点叫做套接字
套接字
IP地址+端口号
一个TCP连接写作两个套接字
TCP 连接 ::= {socket1, socket2}
= {(IP1: port1),(IP2: port2)}
= {(IP1: port1),(IP2: port2)}
可靠传输的工作原理
停止等待协议
没法送一个分组就停止发送,等待对方的确定,收到确认后再发送下一个分组
全双工通信的双发既是发送方也是接收方
无差错情况
A发送分组M1,发完等待确认,B收到M1向A发送ACK,A收到后发送下一个分组M2
差错情况
错误原因
B收到M1检查出现错误,丢弃M1,然后什么都不做,A不知道情况
M1在传输过程中丢失了
解决
超时重传
A为每一个发送的分组设置一个超时计时器
A只要在超时器到期之前收到相应的确定,就撤销计时器
确认丢失和确认迟到
确认丢失
A在计时器到的时候重传分组,B丢弃这个分组,然后向A发送确认
确认迟到
B对A的确认迟到了,导致A重发后,B再发送确认,A收到重复的确认,A丢弃后,
自动重传请求ARQ
通常A最终总是可以收到对所有发出的分组的确认,如果不断重传总是收不到确认,就说明通信线路太差,不能进行通信
通过不断确认重传机制,可以实现自动重传请求
信道利用率
停止等待协议的缺点是信道利用率太低
子主题
流水线传输
发送方连续发送多个分组,,信道不断传输数据
连续ARQ协议
发送方维持发送窗口,发送窗口中的分组都可以连续发送出去,不需要等待对方的确认,发送方每收到一个确认,酒吧发送窗口向前滑动一个分组的位置
累计确认
不用对每一个分组发送确认,只发送最后一个分组的确认,
优缺点
优点:容易实现,丢失也不必重传
不能向发送方反接收方已经正确收到所有分组的信息
回退N
如果发送的5个分组中间的第三个分组丢失了,这个只能把后面的三个重新发送
回退N表示需要再退回来重新传已经发送过的N个分组
当通信质量不好的时候,连续ARQ协议会带来负面的影响
可靠通信的具体实现
每一端都有发送窗口和接收窗口,一个连接有4个窗口,窗口大小处于动态变化中
确认都是基于序号而不是报文段
往返时间RTT也不是固定不变的,需要估算较为合理的重传时间
首部格式
前20个字节是固定的
源端口和目的端口各站2字节
序号:4字节,TCP连接中传送的数据流中的每一个字节都编上一个序号,本字段是报文段发送的数据的第一个字节的序号
确认号4个字节,期望收到对方的下一个报文端的数据的第一个字节的序号
数据偏移:4位:指TCP报文段数据起始处距离TCP报文段的起始处有多远,偏移单位是4个字节
保留字段:6位,未使用
紧急URG,等于1时,表明很紧急,需要快速发送
ACK,当ACK=1时确认字段才有效,
PUSH:PUSH=1表明需要快交付到应用程序,不用等待缓冲区填满
RST=1:表明tcp连接出现差错,需要释放连接,重新建立连接
SYN,当SYN=1表明这是一个连接请求或接受报文
FIN,FIN=1表明数据发送完毕,释放连接
窗口字段:2个字节,用来让对方设置发送窗口的一句,单位为字节
校验和:2字节,检验首部和数据,首部加上伪首部
紧急指针字段,16为,指出本报文段中紧急数据共有多少个字节
选项字段,最大报文段长度MSS,数据字段的最大长度
MSS应当尽量大些
其他选项
窗口扩大选项:3字节
时间戳选项:10字节
选择确认选项
填充,为了首部长度是4字节的整数倍
可靠传输的实现
滑动窗口,以字节为单位
发送缓存
发送方的应用程序把字节流写入TCP的发送缓存,发送窗口通常只发送缓存的一部分
发送缓存用来暂时存放
发送应用程序传送给发送TCP准备发送的数据
TCP已发送但尚未收到确认的数据
接收缓存
接收方的应用程序从TCP的接收缓存中读取字节流
接收缓存用来暂时存放
到达的,但未被接收应用程序读取的数据
不按序达到的数据
强调
A的发送窗口不总是和B的接收窗口一样大
TCP没有规定对不按序达到的数据赢如何处理
TCP接收放必须有累计确认的功能
重传时间的选择
TCP采用了一种自适应算法,它记录一个报文段的发出时间,乙级收到响应的确认的时间,时间1差就是报文段的往返时间RTT
选择确认
若收到的报文段无差错,只是未按序到达,中间还缺少一些序号,能否值传送缺少的而不是整个重传
SACK
收到不连续的字节块后先收下,然后发送信息准确地告诉发送方,使发送方不要重复发送这些已收到的数据
如果使用SACK,必须在首部填写SACK选项
TCP流量控制
利用滑动窗口实现流量控制
在发送时告诉对方自己的滑动窗口大小rwnd,接收端通过指定发送方的发送窗口大小控制传输速率,不再发送时发送rwnd=0
可能发生死锁
为解决死锁,为每一个连接设置持续计时器,某方收到0窗口通知,启动
传输速率可以用不同的机制来控制tcp报文段的发送时机
维持一个变量等于MSS,只要存放的数据达到MSS,就发送
发送方指明报文段的PUSH操作
设置一个计时器时间到了,就把缓存数据发送出去
TCP拥塞控制
拥塞控制一般原理
某段时间,若对网络资源的需求超过资源可用部分,网络性能呢过变坏,现象称为拥塞
增加资源不能解决
拥塞控制和流量控制区别
流量控制是点对点通信量的控制,主要做的是抑制发送端的发送速率
拥塞控制是防止过多的数据注入网络,使网络中的路由器或链路不致过载,这是一个全局性的过程,涉及所有主机,路由器,以及降低传输性能的所有因素
tcp的拥塞控制方法
tcp采用基于窗口的方法进行拥塞控制,发送方维持一个拥塞窗口,大小取决于网络的拥塞程度,动态的变化
真正的发送窗口值=min(接收方公告的窗口值,拥塞窗口值)
原则
只要网络没有出现拥塞,就可以增大一些,只要出现拥塞,或有可能出现,就减少一些
拥塞判断
重传定时器超时
收到三个相同的ACK
四种拥塞控制算法
慢开始
从小到大逐渐增大拥塞窗口值,初始值为不超过2-4个smss(发送方最大报文段)的数值
慢开始门限(ssthresh)
防止拥塞窗口cwnd增长过大引起网络拥塞
当cwnd<ssthresh,使用慢开始
当cwnd>ssthresh,停止慢开始,改用拥塞避免
当cwnd=ssthresh,二者都可以
每收到一个对新的报文段的确认,酒吧拥塞窗口增加最多一个smss的数值,增加量=min(N,SMSS),NSHI原先未被确认,但现在被刚收到的报文段确认的字节数
发送方每收到一个对新报文的确认(不算重传)就使cwnd加1
传输轮次4
把cwnd允许大小的报文段都连续的发送出去,导致一个传输轮次后,cwnd大小加倍
拥塞避免
让cwnd缓慢的增大,没经过一个往返时间,把拥塞窗口cwnd+1,不是加倍,线性增长
无论在慢开始还是在拥塞避免,只要出现拥塞,(重传定时器超时):ssthresh=max(cwnd/2,2),cwnd=1,执行慢开始算法
快重传
快重传FR可以让发送方尽早知道发生了个别报文段的丢失
首先要求接收方不等待自己发送时捎带确认,而是立即发送确认,即使是不连续的报文也要发送收到的报文的确定
发送方如果收到3个重复确认,就知道接收方确实没有收到报文段,立即快重传
快恢复
当发送方收到三个重复确定,认为可能不是拥塞,所以不执行慢开始,而是执行快恢复
ssthresh=cwnd/2;cwnd=ssthresh,开始执行拥塞避免,线性增大
主动队列管理AQM
就是网络层的路由中的存放报文的队列如果满了,就会抛弃后面来的报文,会造成很多tcp连接的重发
采用aqm,在队列还没满的时候就开始管理
TCP运输连接管理
tcp连接建立
三个问题
每一方都能够知道对方的存在
允许双方协商一些参数
对运输实体资源进行分配
三报文握手
tcp的连接释放
四次挥手
四次挥手后必须等待2msl时间,(最长报文寿命)
原因
保证A发送的最后一个ACK报文能够到达B
防止已失效的连接请求报文段出现在本链接中,A发送完后2msl后,保证连接中所有报文段都会消失,这样不会产生旧的报文段
tcp的有限状态机
计算机网络体系结构
互联网基础结构发展的三个阶段
第一个阶段:从单个网络ARPANET向互联网发展的过程
第二:建成三级结构的互联网
第三个阶段:逐渐形成了多层次ISP结构的互联网
计算机网络的定义
利用通信线路和网络设备把分布在不同在不同地理位置功能独立的计算机互联起来形成的网络系统
计算机网络的性能
速率
带宽
吞吐量
时延
时延带宽积
往返时间
利用率
分层
OSI:7层
TCP/IP:4层
5层体系结构
一些概念点
实体
表示任何可发送或接收信息的硬件或软件过程
协议
控制两个对等实体进行通信的规则的集合
服务
在协议对的控制下,两个对等是体检的通信使得本层能够向上一层提供服务,要实现本层协议,还需要使用下层所提供的服务
协议和服务
协议对的实现保证了能够向上一层提供服务,本层的服务用户只能看见服务,而无法看见下面的协议
协议是水平的,即协议是对等实体之间的通信规则
服务是垂直的,即服务是由下层向上曾通过层间接口提供的
上层使用服务原语获得下层所提供的服务
服务访问点
同一系统相邻两层的实体进行交互的地方,SAP
抽象概念,逻辑上的接口
服务单元
层与层之间交换的数据的单位,SDU
物理层
物理层功能
物理层实现原始的比特流传输
特性
机械特性
指明接口所用接线器的形状和尺寸,引线数目和排列,固定和锁定装置等
电气特性
指明在接口电缆的各条线上出现的电压的范围
功能特性
指明某条线上出现的某一电平的电压表示何种意义
过程特性
指明对于不同功能的各种可能事件的出现顺序
数据通信系统的模型
源系统(发送端,发送方)
传输系统
目的系统
信道
单向信道
双向交替通信(半双工通信)
双向的,但是不能同时发送
双向同时通信
常用编码方式
不归零制
归零制
曼彻斯特
差分曼彻斯特
曼彻斯特编码和差分曼彻斯特编码具有自同步能力
信噪比
信噪比就是信号的平均功率和噪声的平均功率之比,记做S/N,并以分贝作为度量单位,即
信噪比(dB) = 10log10(S/N) (dB)
信噪比(dB) = 10log10(S/N) (dB)
香农工式:信道的极限传输速率C = Wlog2(1+S/N) (bit/s)
传输媒体
导引型传输媒体
双绞线
屏蔽双绞线STP
无屏蔽双绞线UTP
同轴电缆
光缆
光钎
优点
通信容量非常大
传输损耗小,中继距离长
抗雷电和电磁干扰性能好
无串音干扰,保密性好
体积小,重量轻
非导引型传输媒体
短波通信
微波
信道复用技术
频分复用
将整个带宽分为多份,用户在分配到一定的频带后,再通信过程中自始至终都占有这个频带
时分复用
将时间划分为一段段登长的时分复用帧,每一个时分复用的用户在每一个帧中占用固定序号的时隙
时分复用是所有用户在不同时间占用同样的频带宽度
会造成线路资源的浪费
统计时分复用
不是分配固定大小的时隙,而是按需要分配不同大小
波分复用
使用一根光纤同时传输多个光载波信号
码分复用
个用户使用经过特殊挑选的不同码型,因此彼此不会造成干扰
用户接入宽带
ADSL
上行和下行宽带做成不对称的,上行指从用户到ISP,下行指从ISP到用户
光纤同轴混合网(HFC网)
FTTx技术
数据链路层
功能
局域网内任意两台主机之间无差错的,可靠的数据传输
点对点信道
一对一的点对点通信方式
数据链路和帧
数据链路层传输的是帧
链路(物理链路)
数据链路(逻辑链路)
三个基本问题
封装成帧
在一段数据的前后分别添加首部和尾部
首部和尾部的重要作用就是帧定界
控制字符SOH表示帧首部开始,EOT表示帧的结束
透明传输
不管传输的是什么内容,都应该可以在链路上传输
如果数据包中有内容和SOH和EOT相同,应该可以正确分辨
如果数据包中有内容和SOH和EOT相同,应该可以正确分辨
字节(符)填充
发送端的数据链路层在SOH和EOT前插一个转义字符ESC,接收端收到后删除相应的转义字符
如果转义字符出现在数据当中,应当在转义字符前插入一个转义字符,接收端收到两个转义字符,删掉前一个
如果转义字符出现在数据当中,应当在转义字符前插入一个转义字符,接收端收到两个转义字符,删掉前一个
差错检错
在传输过程中,可能会产生比特差错
在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率,误码率和信噪比有很大关系
循环冗余检验(CRC)
计算练习
仅用CRC无法做到无差错检错
CRC可以做到无比特差错,但是做不到可靠传输
点对点协议PPP
特点
简单
封装成帧
透明性
保证数据传输的透明性
多种网络层协议
多种类型链路
能够在多种类型的链路上运行
差错检测
能够对接收端收到的帧进行检测,并立即丢失有差错的帧
只检查,出错丢弃,不纠错
监测连接状态
能够即使自动监测出链路是否处于正常工作状态
最大传送单元
对每一种类型的点对点链路设置最大传送单元
网络层地址协商
必须提供一种机制使通信的两个网络层实体能够通过协商知道或匹配彼此的网络层地址
数据压缩协商
必须提供一种方法来协商使用数据压缩算法
组成
将一个IP数据包封装到串行链路的方法
链路控制协议LCP
网络控制协议NCP
帧格式
PPP是面向字节的,所有的PPP帧的长度都是整数
透明传输问题
当PPP用在同步传输链路时,协议规定采用硬件来完成比特填充
当PPP用在异步传输时,就使用一种特殊的字符填充法
零比特填充
计算
连续5个1,填充一个0
PPP协议的工作状态
当用户拨号接入ISP时,建立一条物理连接
PC机想路由器发送一系列的LCP分组
NCP给新接入的PC机分配一个临时的IP地址,使PC机称为因特网上的一个主机
通信完毕后,NCP释放网络层连接,收回原来分配出去的IP地址,接着,LCP释放数据链路层连接,最后释放物理层的连接
广播信道
一对多的广播通信
数据链路层的两个子层
逻辑链路控制LCC
无论采用何种协议的局域网,对LCC子层都是透明的
媒体接入控制MAC
CSMA/CD协议
以太网
采取较为灵活的无连接的工作方式
以太网提供的服务是不可靠的交付,即尽最大努力的交付
如果收到有差错的数据帧就丢弃,差错的纠正由高层来决定
如果收到有差错的数据帧就丢弃,差错的纠正由高层来决定
以太网发送的数据都使用曼彻斯特编码
含义
载波监听多点接入/碰撞检错
多点接入:表示许多计算机以多点接入的方式连接在一根总线上
载波监听:每一个站在发送数据之前先要监测一下总线上是否有其他计算机在发送数据,如果有,暂停一下
碰撞检测:计算机边发送数据边监测信道上的信号电压大小,当监测到查过阀值,表明发生了碰撞
检查到发生了碰撞,立即停止发送,等待一段时间后继续发送
为什么碰撞监测
由于电磁波在总线上的传播速率是有限的
重要特性
使用CDMA/CD协议的以太网不能进行全双工通信而只能半双工
每个站在发送数据之后的一小段时间内,存在这碰撞的可能性
发送的不确定性是整个以太网的平局通信远小于以太网的最高速率
争用期
最先发送数据帧的站,在发送后至多经过2t(两倍的往返时延),就知道是否发送碰撞,2t称为争用期,如果争用期还没有发送碰撞,本次发送就不会发生碰撞
停止发送数据后,要推迟一个随机时间才能重发,这个随机时间有几种
基本退避时间为争用期2t
从整数集合[0,1,...(2^k-1)]中随机取一个数,记做r,重传所需时延就是r倍的基本退避时间
k = min[重传次数,10]
当重传次数到16次仍不能成功,就抛弃,并向高层报告
最短有效帧长
因为冲突是发生在前64个字节之内,由于已检测到错误就停止发送,所以发送出去的肯定小于64字节,所以凡是小于64字节的帧都是无效帧
强化碰撞
停止碰撞后,再发送若干比特的人为干扰信号,以便放所有用户都知道已经发生碰撞
要点
发送之前,必须先检测信道
检测信道,如果检测到信道忙,则不停检测,一直等待信道空闲,如果监测到空闲,并在96个比特时间内保持信道空闲,(帧间最小间隔),发送这个帧
检查碰撞
发送过程中不断检测信道,有两种可能:
发送成功,在争用期一直未检测到碰撞,这个帧肯定能够发送成功,发送完毕后,什么都不做
发送失败,检测到碰撞,停止发送后,发送干扰信号,等待512比特时间后,继续检测信道,如果16次后还没有成功,停止重传报错
以太网的通道利用率
因为发生碰撞,信道利用率不能达到100%,
设帧长为L,数据发送速率为C,发送时间T0=L/C
定义参数a=t/T0
a->0: 表示一发生碰撞就可以立即检测出来,并立即停止发送,信道利用率很高
a越大,争用期占用比例很大,信道利用率很低
发送一帧占用时间是T0+t,帧本身发送时间是T0,可以计算处理想情况下极限信道利用率Smax=T0/T0+t=1/a+1
以太网的MAC层
硬件地址
48位,24位组织唯一标识符,24位扩展唯一标识符
适配器检查MAC地址
如果是发往本站的帧就收下,否则丢弃
发往本站的帧包括一下三种:
单播(一对一)
广播(一对全部)
多播(一对多)
MAC帧
MAC帧是以太网V2的格式
MAC帧至少64位
无效的MAC帧
数据字段长度和长度字段的值不同
帧的长度不是整个字节
检验序列FCS查出有差错
数据字段的长度不在46-1510字节内
有效的MAC帧长度为64-1518字节之间
检测处出错的帧就抛弃,以太网不负责重传
应用层
域名系统DNS
域名有什么作用
便于记忆,表示IP地址
由什么组成
不同等级的域名,中间由点分开,最顶级的域名放在最后
域名的解析过程
递归查询(较少)
如果主机所询问的本地域名服务器不知道被查询域名的ip,那么本地域名服务器就以DNS客户的身份向其他域名服务器继续发送查询报文
迭代查询
当根域名服务器收到本地域名服务器的迭代查询,要么给出所查询的ip,要么告诉本地服务器你下一步应该向哪一个域名服务器进行查询
文件传送协议FTP
控制连接:使用端口21
数据连接使用端口20
使用tcp可靠连接
使用客户服务器方式,一个FTP服务器进程可同时为多个客户进程提供服务,一个主线程负责接收新的请求,很多从属进程负责单个请求
两个连接
控制连接
整个回话期间一直保持打开,接收FTP客户的请求,不传送文件
数据连接
用来传送数据
简单文件传送协议TFTP
端口号69
远程终端协议telnet
和FTP一样,一个进程等待新连接,从属进程处理连接
万维网www
万维网
URL
HTTP
用户点击URL后发生的事件
浏览器分析超链接指向页面URL
浏览器向DNS请求解析域名的IP地址
DNS解析处IP地址
浏览器与服务器建立TCP连接
浏览器发出GET请求
服务器给出响应,把index.html发给浏览器
TCP连接释放
浏览器显示index.html
电子邮件SMTP
邮件服务器既可以做服务器也可以做客户端
动态主机配置协议DHCP
简单网络管理协议SNMP
无线局域网
有固定基础设施的
无固定基础设施的
CSMA/CA
CA指碰撞避免
由于无线信道的通信质量远不及有线,所以要使用停止等待协议
CSMA/CA和CSMA/CD不同
载波监测方式不同,因为传输介质不同,监测方式也不同,cd通过电缆电压变化来监测,ca通过能量监测
ca信道利用率低于cd信道利用率
MAC层
在物理层上,分为两个子层
分布协调功能DCF
点协调功能PCF
0 条评论
下一页