①路由
确定数据分组从源到目标所使用的路径(全局操作)
②转发
路由器或交换机将接收到的数据分组转发出去(即移动到该设备的某个输出接口)(本地操作)
5.网络分层
①OSI 7层模型
数据链路层 (Data Link Layer)
- 实现相邻(Neighboring)网络实体间的数据传输
- 成帧(Framing):从物理层的比特流中提取出完整的帧
- 错误检测与纠正:为提供可靠数据通信提供可能
- 物理地址(MAC address):48位,理论上唯一网络标识,烧录在网卡,不便更改
- 流量控制,避免“淹没”(overwhelming):当快速的发送端遇上慢速的接收端,接收端缓存溢出
- 共享信道上的访问控制(MAC):同一个信道,同时传输信号。如同:同一个Wifi热点(AP)连接着多个无线用户(手机),则多个用户同时需要发送数据,如何控制发送顺序?
网络层 (Network Layer)
- 将数据包跨越网络从源设备发送到目的设备(host to host)
- 路由(Routing):在网络中选取从源端到目的端转发路径,常常会根据网络可达性动态选取最佳路径,也可以使用静态路由
- 路由协议:路由器之间交互路由信息所遵循的协议规范,使得单个路由器能够获取网络的可达性等信息
- 服务质量(QoS)控制:处理网络拥塞、负载均衡、准入控制、保障延迟
异构网络互联:在异构编址和异构网络中路由寻址和转发
传输层 (Transport Layer)
- 将数据从源端口发送到目的端口(进程到进程)
- 网络层定位到一台主机(host),传输层的作用域具体到主机上的某一个进程
- 网络层的控制主要面向运营商,传输层为终端用户提供端到端的数据传输控制
- 两类模式:可靠的传输模式,或不可靠传输模式
- 可靠传输:可靠的端到端数据传输,适合于对通信质量有要求的应用场景,如文件传输等
- 不可靠传输:更快捷、更轻量的端到端数据传输,适合于对通信质量要求不高,对通信响应速度要求高的应用场景,如语音对话、视频会议等
会话层 (Session Layer)
- 利用传输层提供的服务,在应用程序之间建立和维持会话,并能使会话获得同步
表示层(Presentation Layer)
- 关注所传递信息的语法和语义,管理数据的表示方法,传输的数据结构
应用层(Application Layer)
- 通过应用层协议,提供应用程序便捷的网络服务调用
②TCP/IP 4层模型
③两种模型比较
注:我们教材的是以下分层来讲述的
二、物理层
- 物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。
- 物理层的作用是要尽可能地屏蔽掉不同传输媒体和通信手段的差异。
- 用于物理层的协议也常称为物理层规程 (procedure)。
1.物理介质
①引导型介质
信号在固体介质中传播,例如铜、光纤、同轴电缆
光纤
- 高速运行
高速点对点传输(10-100 Gbps) - 低错误率
中继器相距很远,对电磁噪声免疫
双绞线
- 两根绝缘铜线互相缠绕为一对
- 电话线为1对双绞线,网线为4对双绞线,广泛用于计算机网络(以太网)双向传输
- 第5类:100 Mbps~1 Gbps;第6类:10Gbps
- 传输距离一般为为100米
同轴电缆
- 两根同心铜导线,双向传输
- 电缆上的多个频率通道
- 带宽可达100Mbps
- 传输距离一般为200米
②非引导型介质
信号自由传播,例如无线电(陆地无线电、卫星无线电信道)
无线电
- 电磁频谱中各种“波段”携带的信号
- 没有物理“电线”
- 不依赖介质的广播
- 半双工(发送方到接收方)
无线链路类型
- 无线局域网(WiFi)
10-100 Mbps;10米 - 广域(如3/4/5G蜂窝)
在~10公里范围内 - 蓝牙:短距离,有限速率
- 地面微波:点对点;45 Mbps
- 同步卫星:36000km高空, 280毫秒的往返时延
- 低轨卫星:近地,但围绕地球高速运动,需要大量卫星才能覆盖地球
2.数据交换方式
①分组交换
分组交换采用把一个个小的数据包存储转发传输来实现数据交换。
主要的一些缺点:
1、不具有实时性。
2、存在延时。
3、会造成通信阻塞。
4、存在无用的重复数据。
5、会出现丢包的情况。
优点:
1、设计简单。
2、资源利用率很高。
②电路交换
电路连接的三个阶段:
1、建立连接。
2、数据传输。
3、释放连接。
优点:
1、传输速度快、高效。
2、实时。
缺点:
1、资源利用率低。
2、新建连接需要占据一定的时间,甚至比通话的时间还长。
电路交换的多路复用
频分多路复用FDM
时分多路复用TDM
3.信道复用
复用 (multiplexing) 是通信技术中的基本概念。
它允许用户使用一个共享信道进行通信,降低成本,提高利用率。
①频分复用
- 将整个带宽分为多份,用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。
- 频分复用的所有用户在同样的时间占用不同的带宽资源(请注意,这里的“带宽”是频率带宽而不是数据的发送速率)。
②时分复用
时分复用则是将时间划分为一段段等长的时分复用帧(TDM 帧)。每一个时分复用的用户在每一个 TDM 帧中占用固定序号的时隙。
③波分复用
波分复用就是光的频分复用。使用一根光纤来同时传输多个光载波信号。
④码分复用
各用户使用经过特殊挑选的不同码型,因此彼此不会造成干扰。
三、数据链路层
1.功能(要解决的问题)
成帧 (Framing)
将比特流划分成“帧”的主要目的是为了检测和纠正物理层在比特传输中可能出现的错误,数据链路层功能需借助“帧”的各个域来实现
差错控制 (Error Control)
处理传输中出现的差错,如位错误、丢失等
流量控制 (Flow Control)
确保发送方的发送速率,不大于接收方的处理速率,避免接收缓冲区溢出
2.数据链路层提供的服务
1.无确认 无连接 服务( Unacknowledged connectionless )
- 接收方不对收到的帧进行确认
- 适用场景:误码率低的可靠信道;实时通信;
- 网络实例:以太网
2.有确认 无连接 服务( Acknowledged connectionless )
- 每一帧都得到单独的确认
- 适用场景:不可靠的信道(无线信道)
- 网络实例:802.11
3.有确认 有连接 服务( Acknowledged connection-oriented )
- 适用场景:长延迟的不可靠信道
3.成帧(Framing)
3.1 要解决的关键问题:如何标识一个帧的开始?
- 接收方必须能从物理层接收的比特流中明确区分出一帧的开始和结束,这个问题被称为帧同步或帧定界
- 关键:选择何种定界符?定界符出现在数据部分如何处理?
3.2 成帧(framing)的方式
①带比特填充的定界符法
定界符:两个0比特之间,连续6个1比特,即01111110,0x7E
发送方检查有效载荷:若在有效载荷中出现连续5个1比特,则直接插入1个0比特
接收方的处理:
若出现连续5个1比特,
若下一比特为0,则为有效载荷,直接丢弃0比特;
若下一比特为1,则连同后一比特的0,构成定界符,一帧结束
②物理层编码违例
- 核心思想:选择的定界符不会在数据部分出现
- 4B/5B编码方案
4比特数据映射成5比特编码,剩余的一半码字(16个码字)未使用,可以用做帧定界符
例如: 00110组合不包含在4B/5B编码中,可做帧定界符 - 前导码
存在很长的 前导码(preamble),可以用作定界符
例如:传统以太网、802.11 - 曼切斯特编码 / 差分曼切斯特编码
正常的信号在周期中间有跳变,持续的高电平(或低电平)为违例码,可以用作定界符
例如:802.5令牌环网
4.差错控制
4.1 背景
链路层存在的一个问题:信道的噪声导致数据传输问题
- 差错( incorrect ):数据发生错误
- 丢失( lost ):接收方未收到
- 乱序(out of order):先发后到,后发先到
- 重复(repeatedly delivery):一次发送,多次接收
解决方案:差错检测与纠正、确认重传
- 确认:接收方校验数据(差错校验),并给发送方应答,防止差错
- 定时器:发送方启动定时器,防止丢失
- 顺序号:接收方检查序号,防止乱序递交、重复递交
4.2 差错检验与纠正
目标
保证一定差错检测和纠错能力的前提下,如何减少冗余信息量?
考虑的问题
- 信道的特征和传输需求
- 冗余信息的计算方法、携带的冗余信息量
- 计算的复杂度等
两种主要策略
- 检错码(error-detecting code)
在被发送的数据块中,包含一些冗余信息,但这些信息只能使接收方推断是否发生错误但不能推断哪位发生错误,接收方可以请求发送方重传数据主要用在高可靠、误码率较低的信道上,例如光纤链路偶尔发生的差错,可以通过重传解决差错问题
- 纠错码(error-correcting code)
发送方在每个数据块中加入足够的冗余信息,使得接收方能够判断接收到的数据是否有错,并能纠正错误(定位出错的位置)主要用于错误发生比较频繁的信道上,如无线链路也经常用于物理层,以及更高层(例如,实时流媒体应用和内容分发)使用纠