计算机网络体系结构
计算机网络概述
计算机网络的组成
- 物理组成
从物理组成上看,计算机网络包括硬件,软件,协议三大部分
- 工作方式组成
从工作方式上看,计算机网络可以分为边缘部分和核心部分.
边缘部分:由所有连接在互联网上,供用户直接使用的主机组成,用来进行通信和资源共享.
核心组成:由大量的网络和连接这些网络的路由器组成,它为边缘部分提供连通性和交换服务.
- 功能组成
从功能组成上看,计算机网络由通信子网和资源子网两部分构成
通信子网:由各种传输介质,通信设备和相应的网络协议组成,为网络提供数据传输,交互和控制能力,实现联网计算机之间的数据通信.
资源子网:由主机,终端以及各种软件资源,信息资源组成,负责全网的数据处理业务,向网络用户提供各种网络资源和服务.
通信子网包括物理层,数据链路层和网络层
计算机网络的功能
数据通信,资源共享,分布式处理,网络综合处理,负载均衡,提高可靠性
计算机网络的分类
按分布范围分类:广域网,局域网,城域网,个人区域网
按拓扑结构分类:星形网络,总线形网络,环形网络,网状形网络
按传输技术分类:广播式网络,点对点网络
按使用者分类:公用网,专用网
按数据交换技术分类:电路交换网络,报文交换网络,分组交换网络
计算机网络体系结构与参考模型
协议
是一种规则,并且控制两个对等实体进行通信的规则
接口
接口又称为服务访问点,从物理层开始,每一层都向上层提供服务访问点,及没有接口就不能提供服务
服务
服务是指下层为相邻上层提供的功能调用.协议是水平的,服务是垂直的.
面向连接的服务和面向无连接的服务
面向连接的服务:当通信双方通信时,要事先建立一条通信线路,该线路包括建立连接,使用连接和释放连接3个过程.TCP就是一种面向连接的服务协议,电话系统是一个面向连接的模式.
面向无连接的服务:通信双方不需要事先建立一条通信线路,而是把每个带有目的地址的包(报文分组)传送到线路上,由系统选定线路进行传输.IP和UDP就是两种无连接的协议,邮政系统是一个无连接模式.
有应答服务和无应答服务
可靠服务和不可靠服务
可靠服务:网络具有检错,纠错,应答机制,能保证数据正确,可靠地传送到目的地.
不可靠服务:网络不能保证数据正确可靠地传送到目的地,网络只能是尽量正确可靠,是一种"尽力而为"的服务.
ISO/OSI参考模型和TCP/IP参考模型
五层结构的总结:
结构 | 任务功能协议 |
---|---|
应用层(用户对用户) | 任务:提供系统与用户的接口 功能:文件传输,访问和管理,电子邮件服务 |
传输层(应用对应用,进程对进程) | 传输单位:报文段(TCP)或用户数据报(UDP) 任务:负责主机中两个进程之间的通信 功能:为端到端连接提供可靠传输服务,流量控制,差错控制等 协议:TCP,UDP,ARQ |
网络层(主机对主机) | 传输单位:数据报 所实现的硬件:路由器 任务:将传输层传下来的报文段封装成分组,选择适当的路由,使传输层传下来的分组能够交付到目的主机 功能:为传输层提供服务,组包和拆包,路由选择,拥塞控制 协议:ICMP,ARP,RARP,IP,IGMP |
数据链路层 | 传输单位:帧 所实现的硬件:交换机,网桥 任务:将网络层传下来的IP数据报组装成帧 功能:链路连接的建立,拆除,分离,帧定界和帧同步,差错检测 协议:PPP,HDLC |
物理层 | 传输单位:比特 所实现的硬件:集线器,中继器 任务:透明地传输比特流 功能:为数据端设备提供传送数据通路 |
物理层
通信基础
基带对应数字信号,宽带对应模拟信号
波特率:又称为码元传输速率,它表示单位时间内数字通信系统所传输的码元个数(脉冲个数或者信号发生变化的次数)
比特率:又称为信息传输速率,它表示单位i时间内数字通信系统所传输的二进制码元个数,即比特数,单位bit/s
宽度:通信线路允许通过的信号频带范围.用来表示通信线路所能传送数据的能力.
将数据转换为模拟信号的过程称为调制
将数据转换为数字信号的过程称为编码
数据传输方式包括电路交换,报文交换和分组交换
数据报与虚电路服务的特性比较(网络层提供服务)
比较标准 | 数据报服务 | 虚电路服务 |
---|---|---|
连接的建立 | 不需要 | 需要 |
地址信息 | 每个分组包含完整的源地址和目的地址 | 每个分组包含一个虚电路号 |
状态信息 | 路由器不保留任何有关连接的状态信息 | 每个虚电路都要求路由器为每个连接建立表项 |
分组的转发 | 每个分组有独立的路径 | 当虚电路建立的时候选择路径,所有分组都沿着这条路径传输 |
路由器失效的影响 | 没有 | 所有经过此失效的路由器的虚电路都将终止 |
端到端的差错处理 | 由主机负责 | 由通信子网负责 |
端到端的流量控制 | 由主机负责 | 由通信子网负责 |
分组的顺序 | 到达目的站不一定按序 | 总是按发送顺序到达目的地 |
思路 | 可靠通信应当由用户主机来保证 | 可靠通信应当由网络来保证 |
传输介质
传输介质分为两大类:导向性传输介质和非导向性传输介质
传输介质不属于物理层.传输介质属于第"0"层.
物理层主要功能其实就是确定与传输介质的接口有关的一些特性,即物理层接口的特性.
物理层的特点:
机械特性.电器特性.功能特性.规程特性
物理层设备:中继器和集线器
数据链路层
数据链路层的功能
链路管理,帧同步,差错控制,透明传输
组帧
4种组帧方法:字符计数法,字节填充的首位界符法,比特填充的首位标志发,物理编码违例法
差错控制
检错编码
只能检错不能纠错:奇偶校验码,循环冗余码
纠错编码
既能检错又能纠错:海明码
流量控制与可靠传输机制
流量控制与可靠传输控制机制其实属于传输层功能
流量控制
停止—等待流量控制,滑动窗口流量控制
可靠传输机制
滑动窗口机制
只有在接收窗口向前滑动时,发送窗口才有可能向前滑动
停止等待协议:发送窗口大小=1,接收窗口大小=1;
后退N帧协议:发送窗口大小>1,接收窗口大小=1;
选择重传协议:发送窗口大小>1,接收窗口大小>1;
当接收窗口的大小为1时,一定可保证帧按序接收
发送缓存和接收缓存
介质访问控制MAC
信道划分介质访问控制
静态划分信道
频分多路复用,时分多路复用,波分多路复用,码分多路复用
随机访问介质访问控制
动态划分信道
随机接入的意思是所有用户都可以根据自己的意愿随机地发送信息,这样就会产生冲突,从而导致所有冲突用户发送数据失败,为了解决随机接入发生地碰撞,CSMA/CD等协议被引用.
受控接入就是不能随机地发送数据,一定要得到某种东西才能有权发数据.
**纯ALOHA协议:**当网络中的任何一个节点需要发送数据时,可以不进行任何检测就发送数据.如果在一段时间内没有收到确认,该节点就认为传输过程中发生了冲突.发生冲突的节点需要等待一段随机时间后再发送数据,直到发送成功为止.
**时分ALOHA协议:**所有节点的时间被划分间隔相同的时隙,并规定每个节点只有等到下一个时隙到来时才可发送数据.
**CSMA协议:**载波侦听多路访问协议是在ALOHA协议的基础上改进而来的一种多路访问控制协议.在CSMA中,每个节点发送数据之前都使用载波侦听技术来判定通信信道是否空闲.
- 1-坚持CSMA:当发送节点监听到信道空闲时,立即发送数据,否则继续监听.
- p-坚持CSMA:当发送节点监听到信道空闲时,以概率p发送数据,以概率(1-p)延迟一段时间并重新监听.
- 非坚持CSMA:当发送节点一旦监听到信道空闲时,立即发送数据,否则延迟一段随机的时间再重新监听.
**CSMA/CD协议:**CSMA/CD全称为带冲突检测的载波帧听多路访问协议,它是在局域网中被广泛应用的介质访问控制协议.
CSMA/CD协议工作流程:每个站在发送数据之前要先检测一下总线上是否有其他计算机在发送数据,若有,则暂时不发送数据,以免发生冲突;若没有,则发送数据.计算机在发送数据的同时检测信道上是否有冲突发生,若有,则采用截断二进制指数类型退避算法来等待一段随机时间后再次重发.总体来说,可概括为"先听后发,边听边发,冲突停发,随机重发."
**CSMA/CA协议:**CSMA/CA主要用在无线局域网中,它在CSMA的基础上增加了冲突避免功能.冲突避免要求每个节点在发送数据之前监听信道,如果信道空闲,则发送数据.发送节点在发送完一个帧后,必须等待一段时间,检查接收方是否发回帧的确认,若收到确认,则表明无冲突发生,若在规定时间内没有收到确认,表明出现冲突,重发该帧.
轮询访问介质访问控制
轮询访问介质访问控制主要用在令牌环局域网中,目前使用得很少.在轮询访问介质访问控制中,用户不能随机地发送信息,而是通过一个控制地监控站经过轮询过程后再决定信道地分配.典型的轮询访问介质访问控制协议就是令牌传递协议.
局域网
局域网的基本概念与体系结构
局域网最主要的特点
局域网为一个单位所拥有
地理范围和站点数目有限
数据率高,时延小,距离短,失真小,误码率低
局域网的主要优点
具有广播功能
便于系统的扩展和演变,各设备的位置可灵活调整与改变
提高了系统的可靠性,可用性
各站平等关系而不是主从关系
局域网的主要技术要素
局域网的主要技术要素包括网络拓扑结构,传输介质与介质访问控制方法
主要拓扑结构包括星形网,环形网,总线型网和树形网
主要传输介质包括双绞线,铜缆和光纤
主要介质访问控制方法包括CSMA/CD,令牌总线和令牌环
以太网的工作原理
以太网采用总线拓扑结构,所有计算机都共享一条总线,信息以广播方式发送.为了保证数据通信的方便性和可靠性,以太网使用了CSMA/CD即使对总线进行访问控制.考虑到局域网信道质量好,以太网采取了一下两项重要措施以使通信更加简便.
采用无连接的工作方式
不对发送的数据帧进行编号,也不要求对发送方发送确认
因此以太网提供的服务是不可靠的服务,即尽最大努力交付,差错的纠正由传输层的TCP完成.
以太网的MAC帧
局域网中每台计算机都有一个唯一的号码,称为MAC地址或物理地址,硬件地址.
MAC帧的格式有两种:IEEE 802.3标准和DIX Etherent V2标准.最常用的是DIX Etherent V2标准格式.
广域网
广域网的基本概念
广域网通常是指覆盖范围很广的长距离网络.广域网由一些节点交换机以及连接这些交换机的链路组成.节点交换机将完成分组存储转发的功能.
广域网和局域网的区别与联系
比较标准 | 广域网 | 局域网 |
---|---|---|
覆盖范围 | 很广,通常跨区域 | 较小,通常再一个区域内 |
连接方式 | 点对点的通信方式 | 广播通信方式 |
OSI层次 | 物理层,数据链路层,网络层 | 物理层,数据链路层 |
联系 | 1.二者平等 | 2.网内通信只需其网络的物理地址 |
着重点 | 强调资源共享 | 强调数据传输 |
PPP
点对点协议PPP
一个将IP数据报封装到串行链路的方法
一个链路控制协议LCP
一套网络控制协议NCP
PPP的帧格式
标志 | 地址 | 控制 | 协议域 | 信息域 | 校验 | 标志 |
---|---|---|---|---|---|---|
7E | FF | 03 | 7E | |||
1B | 1B | 1B | 2B | 缺省1500B | 2B | 1B |
PPP是一个面向字节的协议
PPP不需要的功能:纠错(PPP只负责检错),流量控制(TCP负责),序号(PPP是不可靠传输协议,不需要对帧进行编号),多点线路(PPP是点对点的通信方式),半双工或单工(PPP只支持全双工链路)
HDLC协议
HDLC是实现可靠传输的高级数据链路控制协议
HDLC协议的基本特点:
面向比特
适用于非平衡配置和平衡配置
HDLC协议的帧格式
标志 | 地址 | 控制 | 信息域 | 校验 | 标志 |
---|---|---|---|---|---|
8bit | 8bit | 8bit | 任意长度 | 16bit | 8bit |
数据链路层的设备
网桥的优点
过滤通信量
扩大了物理范围
提高了可靠性
可互联不同物理层,不同MAC子层和不同速率的以太网
网桥的缺点
存储转发增加了时延
在MAC子层并没有流量控制功能
具有不同MAC子层的网段桥接在一起时时延更大
网桥只适合于用户数量不多和通信量不太大的局域网,否则有时还会因传播过多的广播信息而产生网络拥塞,即广播风暴
网桥的分类
透明网桥(选择的不是最佳路由)
源选径网桥(选择的是最佳路由)
局域网交换机及其工作原理
局域网交换机实质上多端口网桥,它工作在数据链路层.局域网交换机的每个端口都直接与主机或集线器相连,并且一般都工作在全双工方式.当主机需要通信时,交换机能同时连通许多对的端口,使每一对相互通信的主机都能像独占通信媒体那样,进行无冲突地传输数据,通信完成后断开连接.
交换机最大的优点是不仅其每个端口节点所占的带宽不会因为端口节点数量的增加而减少,而且整个交换机的总带宽会随着端口节点的增加而增加.
交换机的两种交换模式:直通式交换和存储转发式交换
各层设备总结
物理层设备
中继器:放大器和中继器都是起放大信号的作用,只不过放大器放大是模拟信号,而中继器放大的是数字信号
集线器:中继器就是普通集线器的前身,集线器实际就是一种多端口的中继器
数据链路层设备
网桥
交换机:多端口网桥,也称为交换式集线器,它通过对信息进行重新生成,并经过内部处理后转发至端口,具备自动寻址能力和交换作用.
网络层设备
路由器:把数据从一个网络发送到另一个网络
网络层
网络层的功能
异构网络互联
将网络互联起来肯定需要一些中间设备(又称为中间系统或中继系统
物理层:中继器和集线器
数据链路层:网桥和交换机
网络层:路由器
网络层以上:网关
路由与转发
路由器的主要功能包括路由选择与分组转发
路由选择:根据路由算法确定一个进来的分组应该被传送到那一条输出线路上
分组转发:路由器根据转发表将用户的IP数据包从合适的端口转发出去
拥塞控制
拥塞控制分为两大类
开环控制:在网络系统设计时,事先就要考虑到有关发生拥塞的各种因素,力求在系统工作时不会出现拥塞
闭环控制:事先不考虑有关发生拥塞的各种因素,采用监视系统去监视,即使检测到哪里发生拥塞,然后将拥塞信息传到合适的地方以便调整系统运行,改正问题.
路由算法
静态路由与动态路由
路由算法能否随网络的通信量或拓扑自适应地进行调整变化来划分,分为静态路由选择策略与动态路由选择策略
静态路由选择的特点是简单和开销小,但不能及时适应网络状态地变化
动态路由选择的特点是能较好地适应网络状态地变化,但实现起来比较复杂,开销也较大.
现代计算机网络通常使用动态路由选择算法,其可分为两种基本类型:距离–向量路由算法和链路状态路由算法
距离–向量路由算法
在距离向量路由算法中,所有的节点都定期地将它们整个路由选择表传送给所有与之直接相邻的节点.这种路由选择表包含每条路径的目的地和路径的代价.
距离向量路由算法的实质是通过迭代法来得到到达某目标的最短通路.目前最常用的距离向量路由算法是RIP算法,它采用"跳数"作为距离的代价.
链路状态路由算法
链路状态路由算法要求每个参与该算法的节点都有完全的网络拓扑信息,并主动测试所有邻接节点的状态,定期地将链路状态传播给所有其他节点.目前最常用地链路状态路由算法是OSPF算法.
层次路由
因特网将整个互联网划分为许多较小地自治系统,每个自治系统有权自主地决定本系统内应采用何种路由选择协议.为了解决两个自治系统间地通信问题,因特网把路由选择协议划分为两大类:
一个自治系统内部所使用地路由选择协议称为内部网关协议(IGP),具体地协议有RIP和OSPF等
自治系统之间使用地路由选择协议称为外部网关协议(EGP),主要在不同地自治系统地路由器之间交换路由信息,并负责为分组在不同自治系统之间选择最优地路径,具体地协议有EGP
IPv4
IPv4分组
IP数据报首部格式
一般把IP数据报首部看成20B.
版本:占4位,说明此IP数据报是IPv4还是IPv6版本,通信双方地版本必须一致.
首部长度:占4位,基本单位是4B,位1111表示60B
总长度:占2B,基本单位是1B.
大IP分组向小MTU链路转发时,可以被"分片"
标识:占2B,它是一个计数器,用来产生IP数据报的标识
标志:占3位,目前只有前两位有用,即MF和DF.
DF=1:禁止分片 DF=0:允许分片
MF=1:非最后一片 MF=0:最后一篇或未分片
片偏移:占13位,基本单位为8B,一个IP分组分片封装原IP分组数据的相对偏移量,用于分片的合并
生存时间:占8位,数据报在网络中可通过的路由器的最大值
协议:占8位,标志TCP或UDP
首部校验和:占16位,只检验数据报的首部,不检验数据部分
源地址:发送端主机的IP地址
目的地址:接收端主机的IP地址
IPv4地址
网络号+主机号
A类地址
0 | |
---|---|
8位 | 24位 |
B类地址
10 | |
---|---|
16 | 16位 |
C类地址
110 | |
---|---|
24位 | 8位 |
6种特殊地址
特殊地址 | 网络号 | 主机号 | 源地址或目的地址 |
---|---|---|---|
网络地址 | 特定的 | 全0 | 都不是 |
直接广播地址 | 特定的 | 全1 | 目的地址 |
受限广播地址 | 全1 | 全1 | 目的地址 |
本网主机 | 全0 | 全0 | 源地址或默认目的地址 |
本网特点主机 | 全0 | 特定的 | 目的地址 |
环回地址 | 127 | 非全0或全1 | 源地址或目的地址 |
NAT
NAT就是将专用网内部使用的本地IP地址转换成有效的外部全球IP地址,使得整个专用网只需要一个全球IP地址就可以与因特网连通.
子网划分与子网掩码
两级IP地址设计的不合理之处
IP地址空间的利用率有时很低
给每一个物理网络分配一个网络号会使路由表变得太大而是网络性能变坏
两级得IP地址不够灵活
划分子网得基本思路:从主机号借用若干个比特作为子网号,而主机号也就相应减少了若干个比特,网络号不变.
三级的IP地址::={<网络号>,<子网号>,<主机号>}
子网掩码是一个与IP地址相对应的32位的二进制,它由一串1和0组成.其中,1对应于IP地址种的网络号和子网号,0对应对主机号.
CIDR
无分类遍址(CIDR)是为解决IP地址耗尽而提出的一种措施
CIDR消除了传统的ABC三类地址以及划分子网的概念,因而可以更加有效地分配IPv4的地址空间.CIDR使用各种长度的"网络前缀"来代替分类地址中的网络号和子网号.
IP地址::{<网络前缀>,<主机号>}
128.14.32.0/20表示的地址块共有2^12给地址,斜线后面的20是网络前缀的位数.
将网络前缀都相同的连续的IP地址组成"CIDR地址块".一个地址块可以表示很多地址,它使得路由表中的一个项目可以表示很多个原来传统分类地址的路由,因此可以缩短路由表,减小路由器之前选择信息的交换,从而提高网络性能.
在使用CIDR时,路由表中的每个项目由网络前缀和下一跳地址组成.这样就会导致查找路由表时可能会得到不止一个匹配结果.应当从匹配结果中选择具有最长网络前缀的路由,因为网络前缀越长,其地址块就越小,路由就越具体.
路由聚合的计算方法:
将需要聚合的几个网段地址转换为二进制的表达式
比较这些网段,寻找它们IP地址前面相同的部分,从不同的位置进行划分,相同的部分作为网络段,而不同的部分作为主机段.
ARP
ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题.
DHCP
动态主机配置协议(HDCP)常用于给主机动态分配IP地址.它提供了即插即用连网的机制.
DHCP是应用层协议,DHCP报文使用UDP传输.
ICMP
ICMP报文分为两种,即ICMP差错报告报文和ICMP询问报文
ICMP差错报告报文的分类:终点不可达,源站抑制,时间超时,参数问题,改变路由
ICMP询问报文的分类:有回送请求和回答报文,时间戳请求和回答报文,掩码地址请求和回答报文,路由器询问和通告报文
不应发送ICMP差错报告报文的几种情况:
对ICMP差错报告报文不再发送ICMP差错报告报文
对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文
对具有组播地址的数据报都不发送ICMP差错报告报文
对具有特殊地址的数据报不发送ICMP差错报告报文
IPv6
IPv6的特点
更大的地址空间
扩展的地址层次结构
灵活的首部格式
改进的选项
允许协议继续扩充
支持即插即用
支持资源的预分配
首部长度必须是8B的整数倍
IPv6的格式
版本:占4位,指明协议版本
优先级:占8位,为了区分不同的IPv6数据报的类别或优先级
流标签:占20位,"流"是互联网上从特定源点到特定终点的一系列数据报,"流"所经过的路径上的路由器都保证指明的服务质量.所有属于同一个流的数据报都具有同样的流标签
载荷长度:占16位,指明IPv6数据报除基本首部以外的字节数
下一个首部:占8位
跳步限制:占8位,源站在数据报发出时即设定跳数限制,路由器在转发数据报时将跳数限制字段中的值减1,当跳数限制的值为0时,就要将此数据报丢弃.
源地址:占128位,数据报发送站的IP地址
目的地址:占128位,数据报的接收占的IP地址
为了使地址简洁,通常采用冒号16进制法表示IPv6地址.当16位域的开头有连续的0时,可以采用缩写法表示.
5ED4:0000:0000:0000:EBCD:045A:000A:7654
5ED4:0:0:0:EBCD:45A:A:7654
5EB4::EBCD:45A:A:7654
路由协议
路由选择协议分类
内部网关协议(IGP)
内部网关协议是一个自治系统内部使用的路由选择协议,它与互联网中其他自治系统选什么路由选择协议无关.目前这类路由选择协议使用得最多,如RIP和OSPF路由协议.
外部网关协议(EGP)
在两个使用不同内部网关协议的自治系统之间需要一种协议将路由选择信息传递到另一个自治系统中,这样的协议就是外部网关协议,如BGP-4.
RIP
每个自治系统可以选择该自治系统中各个路由器之间的路由选择协议,而最常用的就是RIP
RIP只关心自己周围的世界,即只与自己相邻的路由器交换信息,并且范围限制在15跳之内.所以RIP仅适合比较小的自治系统.RIP认为一个好的路由就是它通过的路由器的数目少.
RIP的三个要点:
仅和相邻路由器交换信息.
交换信息是当前本路由器所知道的全部信息,即自己的路由表.
按固定的时间间隔(如每隔30s)交换路由信息.
RIP报文使用传输层的UDP进行传送
OSPF
OSPF路由协议仅仅当网络拓扑发生变化时,才向本自治系统的所有路由器发送信息(使用洪泛法).这里的信息不再是网络的距离和下一跳路由器(RIP路由协议),而是链路状态的信息.
链路状态的信息:每个路由器都有许多接口,并且每个接口都通过不同的链路连接其他的路由器,每一条链路的时延,带宽都是不一样的,如从这个路由器到那个路由器需要多少的时延就可以看作链路状态信息
OSPF直接使用IP数据报传送
OSPF协议的三要点:
向本自治系统中所有路由器发送消息,这里使用的方法是洪泛法.
发送的信息就是与本路由器相邻所有路由器的链路状态,但这只是路由器所知道的部分信息
“链路状态"就是说明本路由器都和哪些路由器相邻以及该链路的"度量”
RIP和OSPF的比较
协议参数
RIP中用于表示目的网络远近的参数为跳数,该参数被限制为最大15.
OSPF使用的参数为费用(如延时),该参数为一虚拟值,与网络链路中的带宽等相关,其路由信息不受物理跳数的限制
因此,OSPF协议适合应用于大型网络
收敛速度
路由收敛速度是衡量路由协议的一个关键指标
RIP周期性地将整个路由表作为路由信息广播至网络中,该广播周期为30秒.在大型网络中,由于30s的广播周期,影响了RIP的收敛,甚至出现不收敛的现象
OSPF是一种链路状态的路由协议,当网络比较稳定时,网络中的路由信息比较少,并且其广播也不是周期性的,因此OSPF路由协议在大型网络中也能较快地收敛
分层
在RIP中,网络是一个平面地概念,并无区域及边界等的定义
在OSPF路由协议中,一个网络或者一个自治系统可以划分为很多个区域,每个区域通过OSPF边界路由器相连
负载平衡
在OSPF路由选择协议中,如果同一个目的网络有多条相同代价地路径,那么可以将通信量分配给这几个路径.这称为多路协议间的负载平衡.而RIP不会,它只能按照一条路径传送数据.
灵活性
OSPF协议对不同的链路可根据IP分组的不同服务类型而设置成不同的代价.因此OSPF协议对于不同类型的业务可以计算不同的路由,十分灵活.而这种灵活性RIP并没有
以组播地址发送报文
动态路由协议为了能够自动找到网络中的邻居,通常都是以广播地址来发送.但并不是所有设备都需要接收这种报文.随着各种技术不断提升于发展,出现了以组播地址来发送协议报文的形式.
BGP
边界网关协议(BGP)是在不同自治系统的路由器之间交换路由信息的协议.采用路径-向量路由选择协议,通过TCP传送.
RIP,OSPF,BGP总结
主要特点 | RIP | OSPF | BGP |
---|---|---|---|
网关协议 | 内部 | 内部 | 外部 |
路由表内容 | 目的网络,下一跳,距离 | 目的网络,下一跳,距离 | 目的网络,完整路径 |
最优通路依据 | 跳数 | 费用 | 多种有关策略 |
算法 | 距离-向量协议 | 链路状态协议 | 路径-向量协议 |
传送方式 | 传输层UDP | IP数据报 | 连接TCP连接 |
其它 | 简单,效率低 | 效率高,规模大 |
IP组播
组播一定仅应用于UDP,它们对需将报文同时传往多个接收者的应用来说非常重要.
IP适用D类地址支持组播,D类IP地址的前缀是"1110"
组播地址只能用于目的地址,不能用于源地址
组播数据报"尽最大努力交付",不提供可靠交付
对组播数据报不产生ICMP差错报文
并非所有D类地址都可以作为组播地址
IP组播可以分为两种:一种是只在本局域网上进行硬件组播,另一种是在因特网的范围内进行组播.
移动IP
传统IP地址包括两方面的意义:一方面是用来标识唯一的主机,另一方面它还作为主机的地址在数据的路由中起重要作用.
但对于移动节点,由于互联网接入点会不断发生变化,所以其IP地址在两方面发生分离,一方面是移动节点需要一种机制来唯一标识自己,另一方面是需要这种标识不会被用来路由.
网络层设备
路由器工作在网络层,实质上是一种多个输入端口和多个输出端口的专用计算机,其任务是连接不同的网络转发分组.
整个路由器的结构可划分为两大类:路由选择部分和分组转发部分
路由选择部分的任务是根据所选定的路由选择协议构造出路由表,同时经常或定期地和相邻路由器交换路由信息而不断更新和维护路由表,其核心部件是路由选择处理器.
分组转发部分由3部分组成:一组输入端口,交换结构和一组输出端口.交换结构从输入端口接收到分组后,根据转发表对分组进行处理,然后从一个合适地输出端口转发出去.交换架构是路由器地关键部件,它将分组从一个输入端口转移到某个合适的输出端口.
传输层
传输层提供的服务
传输层的功能
传输层为两台主机提供了应用进程之间的通信,又称为端到端通信.
传输层功能如下:
提供应用进程间的逻辑通信
差错检错
提供无连接或面向连接的服务
复用和分用
面向连接的服务:
连接管理
流量控制和拥塞控制
传输层寻址与端口
数据链路层按MAC地址寻址,网络层按IP地址寻址,而传输层按端口号寻址
端口就是传输层服务访问点
端口号用于标识不同的进程
熟知端口:
应用程序 | FTP | TELNET | SMTP | DNS | TFTP | HTTP | SNMP |
---|---|---|---|---|---|---|---|
熟知端口 | 21,20 | 23 | 25 | 53 | 69 | 80 | 161 |
登记端口:数值为1024~49151
客户端端口或短暂端口:数值为49152~65535
套接字=(主机IP地址,端口号).它唯一标识了网络中的某台主机上的某个应用进程.
无连接服务与面向连接服务
UDP的主要特点
传输数据前无需建立连接,数据到达后也无需确认
不可靠交付
报文头部短,传输开销小,时延较短
TCP的主要特点
面向连接,不提供广播或多播服务
可靠交付
报文段头部长,传输开销大
UDP
UDP数据报
UDP的优点
发送数据之前不需要建立连接
UDP的主机不要维持复杂的连接状态表
UDP用户数据报只有8个字节的首部开销
网络出现的拥塞不会使源主机发送率降低
UDP支持一对一,一对多,多对一和多对多的交互通信
UDP数据报有两个字段:数据字段和首部字段.首部字段有8B
源端口 | 目的端口 | 长度 | 校验和 |
---|---|---|---|
2B | 2B | 2B | 2B |
UDP校验
UDP校验只提供差错检测.在计算校验和时,要在UDP用户数据报之前临时加上12B的伪首部.
伪首部包括源IP地址字段,目的IP地址字段,全0字段,协议字段,UDP长度字段.伪首部只用于计算和验证校验和,其既不向下传送,也不向上递交.
TCP
TCP报文段
源端口和目的端口:各占2B
序号:占4字节.TCP是面向字节流的,所以在TCP连接中传送的字节流需要编号,这样才能保证按序交付
确认号:占4字节.TCP是含有确认机制的,所以接收端需要给发送端发送确认号.若确认号等于N,则表明到序号N-1为止的所有数据都已经正确收到
数据偏移:占4位.表示TCP数据报的首部长度,与IP数据报中的首部长度类似,基本单位为4B
保留字段:占6位
紧急URG:当URG=1时,表明紧急指针字段有效.它告诉系统此报文段中有紧急数据,应尽快传送.需要和紧急指针配套使用.
确认比特ACK:只有当ACK=1时,确认号字段才有效.当ACK=0时,确认号无效.TCP规定,一旦连接建立了,所有传送的报文段都必须把ACK置1.
推送比特PSH:TCP中收到推送比特置1的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满后再向上交付
复位比特RST:当RST=1时,表明TCP连接中出现严重差错,必须释放连接,然后再重新建立传输连接
同步比特SYN:当SYN=1时,表明这是一个连接请求或连接接收报文
终止比特FIN:释放一个连接.当FIN=1时,表明此报文段地发送端的数据已发送完毕,并要求释放传输连接
窗口字段:占2B.窗口字段用来控制对返回发送的数据量,单位为字节
校验和字段:占2B.校验和字段检验的范围包括首部和数据两部分
紧急指针字段:占2B.与URG配套使用.数据从第一字节到紧急指针所指字节就是紧急数据
选项字段:长度可变.TCP最初只规定了一种选项,即最大报文段长度MSS
填充字段:为了使整个首部长度是4B的整数倍
TCP连接管理
TCP的传输连接分为3给阶段:建立连接,数据传送和连接释放
TCP连接端点叫作套接字或插口
每一条TCP连接唯一地被通信两端地两个套接字所确定
TCP连接::={socket1,socket2}={(IP1:port1),(IP2:port2)}
TCP的连接和建立都是采用客户/服务器方式
TCP传输连接的建立采用"三次握手"的方法
第一步:客户机A的TCP向服务器B发出建立连接报文段,其首部同步位SYN=1,并选择序号seq=x,表明传送数据时的第一个数据字节的序号是x
第二步:服务器收到了数据报,并从SYN=1知道这是一个建立连接的请求.如果同意,则发回确认.B在确认报文段应使SYN=1,ACK=1,其确认号ack=x+1,自己选择的序号seq=y.注意,此时该报文段也不能携带数据.(因为SYN=1,所以不能带数据)
第三步:A收到此报文段后向B给出确认,其中ACK=1,确认号ack=y+1.A的TCP通知上层应用进程,连接已经建立.B的TCP收到主机A的确认后,也通知其上层应用进程,此时TCP连接已经建立,ACK报文可以携带数据(没有SYN字段),如果不携带数据则不消耗序号.
采用三次握手的方法,目的是为了防止报文段在传输连接建立过程中出现差错.通过3次报文段交互后,通信双方的进程间就建立了一条传输连接,然后就可以用全双工的方式在该传输连接上正常地传输数据报文段了.
TCP释放连接通过4步
总结
建立连接
- SYN=1,seq=x
- SYN=1,ACK=1,seq=y,ack=x+1
- ACK=1,seq=x+1,ack=y+1
连接释放
- FIN=1,seq=u
- ACK=1,seq=v,ack=u+1
- FIN=1,ACK=1,seq=w,ack=u+1
- ACK=1,seq=u+1,ack=w+1
TCP可靠传输
TCP是面向字节的,TCP每次发送的报文段的首部中的序号字段数值表示该报文段中数据部分的第一个字节的序号
TCP的确认是对接收到的数据的最高序号表示确认.接收端返回的确认号是已收到的数据的最高序号加1.因此,确认号表示接收端期望下次收到的数据中的第一个字节的序号
TCP每发送一个报文段,就对这个报文段设置一次计时器.只要计数器设置的重传时间到了规定时间还没收到确认,那么就要重传该报文段.由于TCP的下层是一个互联网环境,IP数据报所选择的路由变化很大,所以传输层的往返时延的方差也很大,为了计算超时计数器的重传时间,TCP采用了一种自适应的算法.只需知道计时器的RTO应略大于平均往返时延RTT即可
TCP流量控制
流量控制是为了让发送方的发送速率不要太快,既要让接收方来得及接收,也不要使网络发生拥塞.利用窗口滑动机制可以方便地在TCP连接上实现流量控制
TCP拥塞控制的基本概念
若网络中某资源的需求超过了该资源所能提供的可用部分,就会产生拥塞,网络的性能明显变坏,整个网络的吞吐量将随输入负荷的增加而下降.
拥塞控制又分为闭环控制和开环控制
TCP拥塞控制
发送端窗口上限取接收端窗口rwnd和拥塞窗口cwnd中的较小值
合理的调整发送速率:加性增-乘性减,慢启动
为了防止拥塞窗口cwnd的增长引起网络阻塞,还需要一个状态变量,即慢开始门限ssthresh
慢开始算法即指数规律增长,拥塞避免算法按线性规律增长
当cwnd<ssthresh时,使用慢开始算法
当cwnd>ssthresh时,停止使用慢开始算法,改用拥塞避免算法
乘法减小:不论在慢开始阶段还是拥塞避免阶段,只要出现一次超时,就把慢开始门限ssthresh设置为当前拥塞窗口值的一半
加法增大:执行拥塞避免算法时,在收到对所有的报文段确认后,就把拥塞窗口cwnd增加一个MSS大小,使拥塞窗口缓慢增大,以防止网络过早出现拥塞
快重传算法:发送方只要连续收到3个重复确认就应当立即重传对方尚未收到的报文段
快恢复算法:
1.当发送端收到连续的3个重复的ACK时,就重新设置慢开始门限ssthresh(拥塞窗口的一半)
2.与慢开始的不同之处是拥塞窗口cwnd不是设置为1,而是设置为新的ssthresh
3.若发送窗口的值还允许发送报文段,就按拥塞避免算法继续发送报文段
应用层
网络应用模型
应用进程之间相互通信和协作通常采用客户/服务器模型(C/S模型)和P2P模型.
客户/服务器模型(C/S模型)
客户/服务器模型所描述的是进程之间的服务和被服务的关系.服务可以是任意的应用,如文件传输服务,电子邮件服务等.在这个模型中,客户是服务的请求方,服务器是服务的提供方.
特点:
- 网络中各计算机的地位是不平等的,服务器可以通过对用户权限的限制来达到管理客户机的目的,使它们不能随意存储数据,更不能随意删除数据,或进行其他受限的网络活动
- 整个网络的管理工作由少数服务器承担,所以网络的管理非常集中和方便,这一优势在大规模网络中更加明显
- 可扩展性不佳.由于受服务器硬件和网络带宽的限制,服务器所能支持的客户数比较有限,当客户数增加较快时,会急剧影响网络应用系统的效率
争对以上客户/服务器模型的一些限制,P2P模型改变了这种模式
P2P模型
指两个主机在通信时并不区分哪一个是服务请求方还是服务提供方.只要两个主机都运行了P2P软件,他们就可以进行平等的对等连接通信.
特点:
- 繁重的计算机任务可以被分配到各个节点上,利用每个节点空闲的计算能力和存储空间,聚合实现强大的服务
- 系统可扩展性好.传统的服务器有连接宽度的限制,只能达到一定的客户端连接数.但是在P2P模型中能避免这个问题
- 网络更加健壮,不存在中心节点失效的问题.当一部分节点连接失败之后,其余的节点仍然能形成完整的网络
DNS系统
DNS系统的概念
DNS的目的是为了将域名转换成相对应的IP地址
DNS分为三个部分:层次域名空间,域名服务器,解析器
层次域名空间
因特网采用了层次树状结构的命名方法,分为顶级域名,二级域名,三级域名等,级别最低的域名在最左边,级别最高的等级域名写在最右边,且域名没有大小写之分.
三级域名 | .二级域名 | .顶级域名 |
---|---|---|
www | .baidu | .com |
域名服务器
因特网上的域名服务器系统是按照域名的层次来安排的,每个域名服务器都只对域名体系中的一部分进行管辖.
根域名服务器:
根域名服务器是最重要的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址.不管哪一个本地域名服务器对网上的任何一个域名进行解析,只要自己无法解析,就首先求助于根域名服务器.它并不直接把待查询的域名转换成IP地址,而是告诉本地域名服务器下一步应该找哪一个顶级域名服务器进行查询.
顶级域名服务器:
当收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当找的域名服务器).
权限域名服务器:
负责一个区的域名服务器.当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询的DNS客户下一步找哪一个权限域名服务器
本地域名服务器:
本地域名服务器对域名系统非常重要.当一个主机发出DNS查询请求时,这个查询请求报文就会发送给本地域名服务器.人们在使用本地连接时,就需要填写DNS服务器
域名解析过程
主机向本地域名服务器的查询都是采用递归查询
本地域名服务器向根域名服务器查询通常采用迭代查询
迭代查询:
当根域名服务器收到本地域名服务器的迭代查询报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器"下一步应当向哪一个域名服务器进行查询",然后让本地域名服务器进行后续的查询.
递归查询:
递归查询是指本地域名服务器只需要向根域名服务器查询一次,后面的几次查询都在其他几个域名服务器之间进行.
FTP
FTP的工作原理
文件传送协议(FTP)是因特网上最广泛使用的传送协议.FTP提供交互式的访问,允许客户指明文件的类型和格式,并允许文件具有存取权限.FTP屏蔽了各计算机系统的细节因而适合于在异构网络中任意计算机之间传送文件.
FTP只提供文件传送的一些基本服务,它使用TCP可靠的传输服务.FTP使用客户/服务器模型.一个FTP服务器进程可同时为多个客户进程提供服务.FTP的服务器进程由两大部分组成,一个主进程负责接收新的请求,另外有若干个从属进程,负责处理单个请求.
主进程工作步骤:
- 打开熟知端口(21),使客户进程能够连接上.
- 等待客户进程发出连接请求
- 启动从属进程来处理客户进程发来的请求
- 回到等待状态,继续接收其他客户进程发来的请求.主进程与从属进程的处理是并发进行的.
控制连接和数据连接
在进行文件传输时,FTP的客户机和服务器之间要建立两个TCP连接,一个用于传输控制命令和响应,称为控制连接.另一个用于实际的文件内容传输,称为数据连接.
电子邮件
电子邮件的组成结构
电子邮件又称为E-mail,是目前因特网上使用最频繁的一种服务.
电子邮件把邮件发送到因特网服务提供商(ISP)
电子邮件系统的3个主要构件:
- 用户代理.
- 邮件服务器
- 电子邮件使用的协议(SMTP,POP3)
SMTP和POP3
SMTP所规定的就是在两个相互通信的(SMTP)进程之间应如何交换信息.SMTP运行在TCP基础之上,使用了25号端口,使用客户/服务器模型
SMTP通信的3个阶段如下:
- 连接建立.连接是在发送主机的SMTP客户和接收主机的SMTP服务器之间建立的.SMTP不使用中间的邮件服务器
- 邮件发送
- 连接释放.邮件发送完毕后,SMTP应释放TCP连接
POP是一个非常简单但功能有限的邮件读取协议.现在使用是第三版的POP3.POP也是客户/服务器的工作方式.在接收邮件的用户计算机中必须允许POP客户程序,而在用户连接的ISP的邮件服务器中运行POP服务器程序.
POP3的特点是只要用户从POP服务器读取了邮件,POP服务器就将该邮件删除
WWW
WWW的概念和组成结构
WWW(World Wide Web,万维网)
WWW使用统一资源定位符(URL)来标志WWW上的各种文档
URL的一般格式: <协议>://<主机>:<端口号>/<路径>
常见的协议有HTTP和FTP等.主机部分是存储该文档的计算机,可以是域名可以是IP地址.端口号是服务器监听的端口(根据协议可以知道端口号,一般省略),路径一般也可以省略,并且在URL中字符对大写和小写没有要求
万维网使用客户/服务器方式工作.
工作流程:
- Web用户使用浏览器(指定URL)与Web服务器建立连接,并发送浏览请求
- Web服务器把URL转换位文件路径,并返回信息给Web浏览器
- 通信完成,关闭连接
HTTP
超文本传送协议(HTTP)是在客户程序(如浏览器)与WWW服务器之间进行交互所使用的协议.HTTP是面向事务的应用层协议,它使用TCP连接进行可靠传输,服务器默认监听在80端口.
应用层协议与传输层协议的关系总结
应用层 | 应用层协议 | 传输层协议 |
---|---|---|
域名转换 | DNS | UDP/TCP |
文件传送 | TFTP | UDP |
路由选择协议 | RIP | UDP |
网络管理 | SNMP | UDP |
IP地址配置 | DHCP | UDP |
电子邮件 | SMTP | TCP |
万维网 | HTTP | TCP |
文件传送 | FTP | TCP |
参考资料
天勤计算机考研高分笔记
哈尔滨工业大学计算机网络