计算机网络要点(二)
物理层
电路交换和分组交换的区别
- 电路交换:在进行数据传输前,两个结点之间必须先建立一条专用(双方独占)的物理通信路径,该路径可能经过许多中间节点。该线路在整个数据传输期间一直被独占,直到通信结束后才被释放。
数据直接传送,延迟小;线路独占,使用效率低,不便于进行差错控制 - 报文交换:将用户数据加上源地址、目的地址、校验码等辅助信息,然后封装成报文。整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点。
较为充分利用线路容量,提供多目标服务,一个报文可以发往多个目的地址;存储-转发引起转发时延,对报文大小没限制,要求网络结点有较大的缓存空间 - 分组交换也采用了存储-转发方式,但解决了报文交换中大报文传输的问题,它将大的数据块划分成合理的小数据块,再加上一些必要的控制信息(如源地址、目的地址、编号)构成分组Packet进行传输。
分组的大小固定,缓冲易于管理,减少了出错几率和重发数据量;需要传输额外的信息量
分组交换的方式:
- 数据报(无连接):当端系统要发送一个报文时,在端系统中实现的高层协议先把报文拆分成若干个带序号的数据单元,并在网络层加上地址等控制信息后形成数据报分组。中间结点存储分组一段很短的时间,找到最佳路由后,尽快转发每个分组。不同的分组可以走不同的路径,也可以按不同的顺序到达目的结点
- 虚电路(面向连接):虚电路试图将数据报方式和电路交换方式结合起来,充分发挥两种方式的优点。在分组发送前,要求在发送方和接收方建立一条逻辑上的虚电路,并且连接一旦建立,虚电路所对应的物理路径就固定了。与电路交换类似,整个通信过程分为三个阶段:虚电路建立、数据传输、虚电路释放
数据链路层
主要是加强物理层传输比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。
-
流量控制:实际上就是限制发送方的数据流量,使其发送速率不致超过接收方的接受能力。
流量控制并不是数据链路层所特有的功能,许多高层协议中也提供此功能,只不过控制的对象不同。数据链路层控制的是相邻两结点之间数据链路上的流量,而传输层控制的则是从源端到目的端之间的流量。
常见的方式有停止-等待协议和滑动窗口协议- 停止-等待协议
发送方每发送一帧,都要等待接收方的应答信号,之后才发送下一帧;接收方每接收一帧,都要反馈一个应答信号,表示可接收下一帧,如果接收方不反馈应答信号,则发送方必须一直等待,因而传输效率很低。 - 滑动窗口协议
发送方维持一组连续的允许发送的帧的序号,称为发送窗口;接收方也维持一组连续的允许接收的帧的序号,称为接收窗口。发送窗口用来对发送方进行流量控制,发送窗口大小WT代表在没有收到对方确认情况下发送方最多还可以发送的数据帧。同时,接收方的接收窗口可以控制接收哪些数据帧不可以接收哪些数据帧,落在接收窗口之外的数据帧一律丢弃。
停止等待:发送方每发送一帧都要等待接收方的应答信号才发送下一帧。相当于发送窗口大小=1,接收窗口大小=1
后退N帧:发送方一次可发送N帧,接收方按序接收,重传从最后一个确认开始。相当于发送窗口大小>1,接收窗口大小=1
选择重传:发送方一次可发送N帧,接收方可以不按序接收,仅重传没有确认的帧。相当于发送窗口大小>1,接收窗口大小>1 - 停止-等待协议
-
差错控制:使发送方确定接收方是否正确收到了由它发送的数据的方法
通常利用编码技术进行差错控制,可分为检错编码和纠错编码- 检错编码
奇偶校验码:由n-1位信息元和1为校验元组成,使码长为n的码字中‘1’的个数为奇数或偶数
循环冗余码:给定一个m bit的帧,给定生成多项式G(x)的阶为r,在帧的低位补r个0,将(m+r)位的帧模2除,得到的余数即为冗余码(r位),将原始帧+冗余码构成(m+r)位数据发送出去 - 纠错编码:海明码
- 检错编码
-
介质访问控制(Medium Access Control, MAC)
主要任务是为使用介质的每个结点隔离来自同一信道上其他结点所传送的信号,以协调活动结点的传输。
用来决定广播信道中信道分配的协议属于数据链路层的一个子层,称为介质访问控制子层。
介质访问控制方法有:- 信道划分
将使用介质的每个设备与来自同一通信信道上的其它设备的通信隔离开来,把时域和频域资源合理地分配给网络上的设备。
多路复用技术把多个信号组合在一条物理信道上进行传输,使多个计算机或终端设备共享信道资源,提高信道的利用率。
频分复用共享时间,但不共享空间;时分复用共享空间,但不共享时间 - 随机访问
所有用户都可以根据自己的意愿随机地发送信息,占用信道的全部速率,发生冲突碰撞时,每个用户需按照一定的规则反复重传它的帧,直到该帧无碰撞地通过。
核心思想是胜利者通过争用获得信道,从而获得信息的发送权。- ALOHA协议
纯ALOHA协议是网络中的站点发送数据后,在一段时间内没有收到确认,则认为传输过程中发生了冲突,发送站点随机等待一段时间后重发,直到发送成功。
时隙ALOHA协议将时间划分为一段段等长的时隙slot,规定只能在每个时隙开始时才能发送一个帧,减少了数据发生冲突的可能性。 - CSMA协议(Carrier Sense Multiple Access)
ALOHA协议每个站点随心所欲地发送数据,发生碰撞的概率很大。载波侦听多路访问协议每个站点在发送前先侦听一下公用的信道,信道空闲再发送。 - CSMA/CD(with Collision Detection)
工作流程:先听后发,边发边听,冲突停发,随机重发。
重发时间采用二进制指数退避算法,该算法可使重传需要推迟的时间随重传次数增大而增大,因而减小发生碰撞的几率。 - CSMA/CA(with Collision Avoidance)
CSMA/CD用于有线局域网,CSMA/CA用于无线局域网
CSMA/CA的基本思想是在发送数据时先广播告知其它结点,让其它结点在某段时间内不要发送数据,以免出现碰撞。
- ALOHA协议
- 轮询访问
用户不能随机发送信息,而是通过一个集中控制的监控站,以循环的方式轮询每个结点,再决定信道的分配。当某结点使用信道时,其他结点都不能使用信道。典型的就是令牌传递协议,它主要使用在令牌环局域网中
- 信道划分
-
局域网(LAN)
在一个较小的地理范围内将各种计算机、外部设备和数据库系统等通过双绞线、同轴电缆等连接介质互相连接起来,组成资源和信息共享的计算机互联网络。
三种特殊的局域网拓扑实现:
以太网——逻辑拓扑为总线型结构
令牌环——逻辑拓扑为环形结构
FDDI(光纤分布数字接口)——逻辑拓扑为环形结构
以太网中所有计算机共享一条总线,信息以广播方式发送,为了保证数据通信的方便性和可靠性,以太网简化了通信流程并且使用CSMA/CD方式对总线进行访问控制。 -
广域网
广域网通常指覆盖范围很广(远远超过一个城市的范围)的长距离网络。广域网是因特网的核心部分,任务是通过长距离运送主机所发送的数据。
广域网由一些结点交换机以及连接这些交换机的链路组成。(注意:结点交换机在单个网络中转发分组,而路由器在多个网络构成的互联网中转发分组)
局域网的OSI层次为两层(物理层和数据链路层),广域网的OSI层次为三层(物理层、数据链路层、网络层)
目前最常用的两种广域网数据链路层控制协议:
PPP协议(Point-to-Point Protocol):使用串行线路通信的面向字节
的协议,应用在直接连接两个结点的链路之上。设计目的是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共同的解决方案
HDLC协议(High-level Data Link Control)是面向比特
的数据链路层协议。不依赖于任何一种字符编码集,全双工通信,所有帧采用CRC检验,对信息帧进行编号,传输可靠性高 -
数据链路层设备
网桥:两个或多个以太网通过网桥连接起来之后,就称为一个覆盖范围更大的以太网,而原来的每个以太网就可称为一个网段,各网段相互独立。网桥工作在链路层的MAC子层。
局域网交换机:网桥的限制是在任意时刻只能执行一个帧的转发操作,于是出现了局域网交换机,它是一个多端口的网桥。它的原理是检测从以太端口来的数据帧的源和目的地的MAC地址,然后与系统内部的动态查找表进行查找,若数据帧的MAC地址不在查找表中,则将该地址加入查找表,并将数据帧发送给相应的端口。