协议
在计算机网络中通信各方面所达成的、共同遵守和执行的一系列约定
计算机网络的体系结构 计算机网络的层次结构和各层协议的集合。OSI分层原则
- 根据不同层次的抽象分层
- 每层应该实现一个定义明确的功能
- 每层的选择应当有助于制定网络协议的国际标准
- 每层的边界的选择因该尽量减少跨国接口的通信量
- 层数因该足够多,以避免不同的功能混杂在同一层,但也不能太多,否则体系结构过于复杂
计算机五层协议的体系结构 (ISO开放式系统互连参考模型)
- 应用层(application layer)
- 运输层(transport layer)
- 网络层(network layer)
- 数据链路层(data link layer)
- 物理层(physical layer)
路由器三层协议的体系结构
- 网络层(network layer)
- 数据链路层(data link layer)
- 物理层(physical layer)
TCP/IP模型
1.TCP/IP的IP层
对应于OSI的网络层,有效地解决异种网络互连问题,屏蔽异种网络,全网统一标识(IP地址),设计思想高效、简洁,提供不可靠的无连接服务,“尽力传递”,假设物理信道的传输质量可以保障,由传输层纠错 典型协议:IP 2.TCP/IP的传输层 对应于OSI的传输层,使源主机和目标主机对等实体之间会话提供端到端的连接。 典型协议:传输控制协议TCP(面向连接协议) 误差控制:流量控制 用户数据报协议UDP(无连接协议) 3. TCP/IP的网络接口层 对应于OSI的最下两层,主机用某种协议与网络连接,以便通过网络传递IP分组。TCP/IP与OSI的异同
OSI和TCP/IP的相同点是二者均采用层次结构,而且都是按功能分层。
OSI和TCP/IP的不同点:- OSI分七层,自下而上分为物理层、数据链路层、网络层、运输层、会话层、表示层和应用层
- TCP/IP分三层:网络接口层、网间网层(IP)、传输层(TCP)。
物理层
物理层的功能:在两个网络物理设备之间提供透明的比特流传输。
物理层的任务:确定与传输媒体的接口的一些特性 DTE:数据终端设备,数据的产生和处理 DCT:数据通信设备,数据电路终接设备。按照用户网络接口,将输入数据转换成信号输出,同时将收到的信号转换成数据输出。 信道:逻辑线路。一条线路可划分成若干信道。 带宽:允许通过的最高频率和最低频率之间的频带宽度 调制——把数字信号转换为模拟信号的过程 解调——把模拟信号转换为数字信号的过程。数据发送方式分类
模拟数据用模拟信号发送 - 载波,数字数据用数字信号发送 - 编码,模拟数据用数字信号发送 - 采样,数字数据用模拟信号发送 - 调制
信息交互的方式:单工方式:单向通信、半双工方式:双向交替通信、全双工方式:双向同时通信- 码元传输速率受奈氏准则的限制
- 信息传输速率受香农公式的限制
频分复用(FDM,Frequency Division Multiplexing)
就是将用于传输信道的总带宽划分成若干个子频带(或称子信道),每一个子信道传输1路信号。频分复用要求总频率宽度大于各个子 信道频率之和,同时为了保证各子信道中所传输的信号互不干扰,应在各子信道之间设立隔离带,这样就保证了各路信号互不干扰(条件之一)。
频分复用技术的特点是所有子信道传输的信号以并行的方式工作,每一路信号传输时可不考虑传输时延,因而频分复用技术取得了非常广泛的应用。时分复用(TDM,Time Division Multiplexing)
就是将提供给整个信道传输信息的时间划分成若干时间片(简称时隙),并将这些时隙分配给每一个信号源使用,每一路信号在自己的 时隙内独占信道进行数据传输。时分复用技术的特点是时隙事先规划分配好且固定不变,所以有时也叫同步时分复用。
CDMA的技术原理
是基于扩频技术,即将需传送的具有一定信号带宽的信息数据用一个带宽远大于信号带宽的高速伪随机码(PN) 进行调制,使原数据信号的带宽被扩展,再经载波调制并发送出去;接收端使用完全相同的伪随机码,与接收的带宽信号作相关处理,把宽带信号换成原信息数据的 窄带信号即解扩,以实现信息通信。
CDMA的特点是所有子信道在同一时间可以使用整个信道进行数据传输,它在信道与时间资源上均为共享,因此,信道的效率 高,系统的容量大。数据链路层(Data Link Layer)
通过物理层提供的比特流服务,在相邻节点之间建立链路,对传输中可能出现的差错进行检错和纠错,向网络层提供无差错的透明传输. 功能:是在不太可靠的物理链路上实现可靠的数据传输
数据链路层协议的基本功能
发送方将网络层的分组封装成帧,交物理层发送;
接收方从物理层的接收帧抽取分组,交网络层。流量控制功能
发送方收到确认帧后才允许发送下一帧;
接收方收到数据帧后回送确认帧。检错重传功能
发送方定义帧序列号,启动计时器,超时重传
接收方定义帧序列号期望值,将匹配帧交网络层 数据链路层的连接方式:点到点(广域网),广播式(局域网); 传送的基本单位:帧(Frame) MAC:48位滑动窗口协议
只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动。收发两端的窗口按照以上规律不断地向前滑动,因此这种协议又称为滑动窗口协议。
当发送窗口和接收窗口的大小都等于1时,就是停止等待协议。滑动窗口方法要点
- 每个待发送帧被赋予一个序列号,序列号的取值范围是 0 ~ 2n-1(n位字段)
- 顺序接收来自网络层的分组,最多保存n个待确认的帧,窗口达到最大值n时强制关闭网络层
- 对进入窗口的帧顺序提交网络层,产生确认,落在窗口外的帧被丢弃
对错误帧的重传机制
- 差错控制退后n帧(go back n)发送方连续发送至发送窗口满,接收窗口为1,对丢弃帧不确认,发送方超时重传,从未被确认帧开始
- 选择重传(selective repeat)接收窗口存储差错帧后继的所有正确帧,发送方只重传差错帧;接收方接收重传帧,按正确顺序将分组提交网络层
流量控制技术
(1)停-等流量控制
发送节点在发送一帧数据后必须等待对方回送确认应答信息到来后再发下一帧.接收节点检查帧的校验序列, 无错则发确认帧,否则发送否认帧,要求重发.存在问题:双方无休止等待(数据帧或确认帧丢失),解决办法发送后使用超时定时器;重帧现象(收到同样的两 帧),解决办法是对帧进行编号 (2)滑动窗口流量控制 是指对于任意时刻,都允许发送端/接收端一次发送/接收多个帧,帧的序号个数称为发送/接收窗口大小,发送窗口大小为WT接收窗口大小为WR滑动窗口的大小与协议的关系- WT >1,WR=1,协议为退回N步的ARQ(连续ARQ协议)
- WT >1,WR>1,协议为选择重传的ARQ
- WT =1,WR=1,协议为停-等式的ARQ
面向比特的链路控制规程 HDLC,HDLC 采用零比特填充法采用零比特填充法就可传送任意组合的比特流,或者说,就可实现数据链路层的透明传输
点对点协议 PPP (Point-to-Point Protocol)
使用一种特殊的字符填充法。 不提供使用序号和确认的可靠传输
网桥(Bridge)
也称为桥接器,是连接两个局域网的存储转发设备,用它可以使完全具有相同或相似体系结构网络系统的连接, 网桥工作在数据链路层,将两个LAN连起来,根据MAC地址来转发帧,可以看作一个“低层的路由器”(路由器工作在网络层,根据网络地址如IP地址进行转发)。
交换机
是一种基于MAC地址识别,能完成封装转发数据包功能的网络设备。交换机可以“学习”MAC地址,并把其存放在内部地址 表中,通过在数据帧的始发者和目标接收者之间建立临时的交换路径,使数据帧直接由源地址到达目的地址。
交换机拥有一条很高带宽的背部总线和内部交换矩阵。 交换机的所有的端口都挂接在这条背部总线上,控制电路收到数据包以后,处理端口会查找内存中的地址对照表以确定目的MAC(网卡的硬件地址)的NIC(网 卡)挂接在哪个端口上,通过内部交换矩阵迅速将数据包传送到目的端口,目的MAC若不存在才广播到所有的端口,接收端口回应后交换机会“学习”新的地址, 并把它添加入内部地址表中。交换机和集线器(HUB)的区别
交换机在同一时刻可进行多个端口对之间的数据传输,每一端口都可视为独立的网段,连接在其上的网络设备独自享有全部的带宽,无须同其他设备竞争使用。而HUB在同一时刻只能进行一个端口之间的数据传输
网卡
工作在数据链路层的网路组件,是局域网中连接计算机合传输介质的接口,不仅能实现与局域网传输介质之间的物理连接合电信号匹配,还涉及帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码以及数据缓存的功能等。
网络层
网络层的功能:在数据链路之上为传输层提供建立、维护和释放网络连接(点到点的传输)手段,解决路由选择问题。
在划分子网的情况下路由器转发分组的算法
- 从收到的分组的首部提取目的 IP 地址 D。
- 先用各网络的子网掩码和 D 逐比特相“与”,看是否和相应的网络地址匹配。若匹配,则将分组直接交付,否则就是间接交付,执行(3)。
- 若路由表中有目的地址为 D 的特定主机路由,则将分组传送给指明的下一跳路由器;否则,执行(4)。
- 对路由表中的每一行的子网掩码和 D 逐比特相“与”,若其结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行(5)。
- 若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行(6)。
- 报告转发分组出错。
无分类编址使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。原则和方法:
- 路由聚合(route aggregation)
- 最长前缀匹配(longest-prefix matching)
因特网控制报文协议 ICMP
为了提高 IP 数据报交付成功的机会,在网络层使用了因特网控制报文协议 ICMP (Internet Control Message Protocol)。ICMP 报文的种类有两种,即 ICMP 差错报告报文和 ICMP 询问报文。
PING 用来测试两个主机之间的连通性。PING 使用了 ICMP 回送请求与回送回答报文。 PING 是应用层直接使用网络层 ICMP 的例子,它没有通过运输层的 TCP 或UDP。因特网的路由选择协议
一个自治系统就是处于一个管理机构控制之下的路由器和网络群组。它可以是一个路由器直接连接到一个LAN上,同时也连到Internet上;它可以是一个 由企业骨干网互连的多个局域网。
在一个自治系统中的所有路由器必须相互连接,运行相同的路由协议,同时分配同一个自治系统编号。
传输层
传输层的职责是在两个不同系统的进程之间提供一种交换数据的可靠机制,协议具有端到端的意义。 传输层为相互通信的应用进程提供了逻辑通信,而网络层是为主机之间提供逻辑通信
流量控制(Flow Control)
指的是在一条通道上控制发送端发送数据的数量及速度使其不超过接收端所能承受的能力,这个能力主要指接收端接收数据的速率及接收数据缓冲区的大小。通常采用停等法或滑动窗口法控制流量。
拥塞控制(Congestion Control)
指的是在包交换网络中由于传送的包数目太多,而存贮转发节点的资源有限而造成网络传输性能下降的情况。拥塞的一种极端情况是死锁(Deadlock),退出死锁往往需要网络复位操作。
流量控制是针对端系统中资源受限而设置的;拥塞控制是针对中间节点资源受限而设置的。 传输层的流量控制定义了端用户之间的流量控制,数据链路协议定义了两个中间相邻接点的流量控制拥塞控制四算法
慢开始(slow-start),拥塞避免(congestion avoidance),快重传(fast retransmit),快恢复(fast recovery)。
差错检测(Error Detection)
数据链路层提供了可靠的链路传输,但在路由器将含有分组的帧重新格式化,可能会出现影响分组内容的错误。
帧校验和是在新帧创建后计算的,包含了错误数据。传输层的差错检测用于检测此错误。TCP 协议
是面向字节的。TCP 将所要传送的报文看成是字节组成的数据流,并使每一个字节对应于一个序号。
传输层需要有两种不同的运输协议,即面向连接的 TCP 和无连接的 UDP。 连接管理定义允许两个用户像直接连接一样交谈的规则 用三次握手建立 TCP 连接应用层
应用层的许多协议都是基于客户服务器方式。
FTP
基于客户服务器方式,两个连接:数据连接(20)控制连接(21)
简单邮件传送协议 SMTP 一个邮件服务器既可以作为客户,也可以作为服务器。 统一资源定位符 URL HTTP 是面向事务的客户服务器协议。 动态主机配置协议 DHCP 简单网络管理协议 SNMP