简述OSI参考模型的各层及各层的功能?
ISO/OSI参考模型各层功能:1、物理层功能:物理层是OSI参考模型的最低层,它利用传输介质为数据链路层提供物理连接。2、数据链路层:数据链路层是为网络层提供服务的,解决两个相邻结点之间的通信问题。3、网络层:网络层是为传输层提供服务的,传送的协议数据单元称为数据包或分组。4、传输层:传输层的作用是为上层协议提供端到端的可靠和透明的数据传输服务,包括处理差错控制和流量控制等问题。5、会话层:会话层主要功能是管理和协调不同主机上各种进程之间的通信(对话),即负责建立、管理和终止应用程序之间的会话。6、表示层:表示层处理流经结点的数据编码的表示方式问题,以保证一个系统应用层发出的信息可被另一系统的应用层读出。。7、应用层:应用层是OSI参考模型的最高层,是用户与网络的接口。服务与接口在OSI分层结构模型中,每一层实体为相邻的上一层实体提供的通信功能称为服务。N层实体利用N-1层实体所提供的服务,向N+I层实体提供功能更强大的服务。这可以概括为“服务是垂直的”。例如,传输层实体利用网络层实体的服务,向应用层实体提供网页传输服务。在OSI模型中,各层之间的接口都有统一的规则。N层的服务访问点SAP(Service Access Point)是N层实体提供服务给N+1层的地方,SAP可以理解为下层实体之间的逻辑传输通道。每一层的SAP都有一个唯一标明它的地址。一个N层可能存在多个SAP。以上内容参考:百度百科-OSI参考模型
(1)物理层(Physical Layer)物理层是OSI参考模型的最低层,它利用传输介质为数据链路层提供物理连接。为此,该层定义了物理链路的建立、维护和拆除有关的机械、电气、功能和规程特性。包括信号线的功能、“0”和“1”信号的电平表示、数据传输速率、物理连接器规格及其相关的属性等。物理层的作用是通过传输介质发送和接收二进制比特流。(2)数据链路层(DataLinkLayer)数据链路层是为网络层提供服务的,解决两个相邻结点之间的通信问题,传送的协议数据单元称为数据帧。数据帧中包含物理地址(又称MAC地址)、控制码、数据及校验码等信息。该层的主要作用是通过校验、确认和反馈重发等手段,将不可靠的物理链路转换成对网络层来说无差错的数据链路。此外,数据链路层还要协调收发双方的数据传输速率,即进行流量控制,以防止接收方因来不及处理发送方来的高速数据而导致缓冲器溢出及线路阻塞。(3)网络层(NetworkLayer)网络层是为传输层提供服务的,传送的协议数据单元称为数据包或分组。该层的主要作用是解决如何使数据包通过各结点传送的问题,即通过路径选择算法(路由)将数据包送到目的地。另外,为避免通信子网中出现过多的数据包而造成网络阻塞,需要对流入的数据包数量进行控制(拥塞控制)。当数据包要跨越多个通信子网才能到达目的地时,还要解决网际互连的问题。(4)传输层(TransportLayer)传输层的作用是为上层协议提供端到端的可靠和透明的数据传输服务,包括处理差错控制和流量控制等问题。该层向高层屏蔽了下层数据通信的细节,使高层用户看到的只是在两个传输实体间的一条主机到主机的、可由用户控制和设定的、可靠的数据通路。传输层传送的协议数据单元称为段或报文。(5)会话层(SessionLayer)会话层主要功能是管理和协调不同主机上各种进程之间的通信(对话),即负责建立、管理和终止应用程序之间的会话。会话层得名的原因是它很类似于两个实体间的会话概念。例如,一个交互的用户会话以登录到计算机开始,以注销结束。(6)表示层(PresentationLayer)表示层处理流经结点的数据编码的表示方式问题,以保证一个系统应用层发出的信息可被另一系统的应用层读出。如果必要,该层可提供一种标准表示形式,用于将计算机内部的多种数据表示格式转换成网络通信中采用的标准表示形式。数据压缩和加密也是表示层可提供的转换功能之一。(7)应用层(ApplicationLayer) 应用层是OSI参考模型的最高层,是用户与网络的接口。该层通过应用程序来完成网络用户的应用需求,如文件传输、收发电子邮件等。
osi参考模型 在计算机网络产生之初,每个计算机厂商都有一套自己的网络体系结构的概念,它们之间互不相容。为此,国际标准化组织(iso)在1979年建立了一个分委员会来专门研究一种用于开放系统互联的体系结构(opensystemsinterconnection)简称osi,"开放"这个词表示:只要遵循osi标准,一个系统可以和位于世界上任何地方的、也遵循osi标准的其他任何系统进行连接。这个分委员提出了开放系统互联,即osi参考模型,它定义了连接异种计算机的标准框架。osi参考模型分为7层,分别是物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。各层的主要功能及其相应的数据单位如下:·物理层(physicallayer)我们知道,要传递信息就要利用一些物理媒体,如双纽线、同轴电缆等,但具体的物理媒体并不在osi的7层之内,有人把物理媒体当作第0层,物理层的任务就是为它的上一层提供一个物理连接,以及它们的机械、电气、功能和过程特性。如规定使用电缆和接头的类型,传送信号的电压等。在这一层,数据还没有被组织,仅作为原始的位流或电气电压处理,单位是比特。·数据链路层(datalinklayer)数据链路层负责在两个相邻结点间的线路上,无差错的传送以帧为单位的数据。每一帧包括一定数量的数据和一些必要的控制信息。和物理层相似,数据链路层要负责建立、维持和释放数据链路的连接。在传送数据时,如果接收点检测到所传数据中有差错,就要通知发方重发这一帧。·网络层(networklayer)在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点,确保数据及时传送。网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息--源站点和目的站点地址的网络地址。·传输层(transportlayer)该层的任务时根据通信子网的特性最佳的利用网络资源,并以可靠和经济的方式,为两个端系统(也就是源站和目的站)的会话层之间,提供建立、维护和取消传输连接的功能,负责可靠地传输数据。在这一层,信息的传送单位是报文。·会话层(sessionlayer)这一层也可以称为会晤层或对话层,在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文。会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。·表示层(presentationlayer)这一层主要解决拥护信息的语法表示问题。它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于osi系统内部使用的传送语法。即提供格式化的表示和转换数据服务。数据的压缩和解压缩,加密和解密等工作都由表示层负责。·应用层(applicationlayer) 应用层确定进程之间通信的性质以满足用户需要以及提供网络与用户应用软件之间的接口服务。

计算机网络(3)| 数据链路层
数据链路层属于计算机网络的低层。数据链路层使用的信道主要是两种类型:(1)点对点信道。即信道使用的是一对一点对点通信方式。(2)广播信道。这种信道使用的是一对多的光播通信方式,相对复杂。在广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。首先我们应该了解一些有关点对点信道的一点基本概念。(1)数据链路。值得是当我们需要在一条线路上传送数据时,除了有一条物理线路外(链路),还必须有一些必要的通信协议来控制这些数据的传输,若把实现这些协议的硬件和软件加到链路上就构成了数据链路。(2)帧。帧指的是点对点信道的数据链路层的协议数据单元,即数据链路层把网络层交下来的数据构成帧发送到链路上以及把接收到的帧中的数据取出并上交给网络层。点对点信道的数据链路层在进行通信时的主要步骤如下:(1)结点A的数据链路层把网络层交下来的IP数据报添加首部和尾部封装成帧。(2)结点A把封装好的帧发送给结点B的数据链路层。(3)若B接收的帧无差错,则从接收的帧中提取出IP数据报上交给上面的网络层;否则丢弃这个帧。接下来是来介绍数据链路层的三个基本问题,而这三个问题对于各种数据链路层的协议都是通用的。(1)封装成帧。指的是在一段数据的前后分别添加首部和尾部,这样就构成了一个帧,从而能够作为数据链路层的基本单位进行数据传输。在发送帧时,是从帧的首部开始发送的。各种数据链路层协议都对帧首部和帧尾部的格式有着明确的规定,且都规定了所能传送的帧的数据部分长度上限——最大传送单元MTU。首部和尾部的作用是进行帧定界,帧定界可以使用特殊的帧定界符,当数据在传输中出现差错时,通过帧的帧定界符就可以知道收到的数据是一个不完整的帧(即只有首部开始符而没有结束符)。(2)透明传输。从上面的介绍中知道帧的开始和结束标记使用了专门的控制字符,因此所传输的数据中任何与帧定界符相同的比特编码是不允许出现的,否则就会出现帧定界错误。当传送的帧是用文本文件组成的帧时,它的数据部分一定不会出现和帧定界符相同的字符,这样的传输就叫做透明传输。为了解决其他类型文件传输时产生的透明传输问题,就将帧定界符的前面插入一个转义字符ESC,这种方法称为字节填充。如果转义字符也出现在数据中,就在转义字符前面加上一个转义字符,当接收端收到两个转义字符时,就删除前面的那一个。(3)差错检测。在现实中,通信链路都不会是完美的,在传输比特的过程当中都是会产生差错的,1变成0或者0变成1都是可能发生的,我们把这样的错误叫做差错检测。在数据链路层中,为了保证数据传输的可靠性,减少差错出现的数量,就会采用各种差错检测措施,目前最常使用的检错技术是循环冗余校验。它的原理简单来说就是在被传输的数据M后面添加供错检测用的n为冗余码,构成一个帧数据发送出去。关于n位冗余码的得出方式与检验方式,可以 点击这里进一步了解 。对于点对点链路,点对点协议PPP是目前使用得最广泛的数据链路层协议。由于因特网的用户通常都要连接到某个ISP才能接入到因特网,PPP协议就是用户计算机和ISP进行通信所使用的数据链路层协议。在设计PPP协议时必须要考虑以下多方面的需求:(1)简单。简单的设计可使协议在实现时不容易出错,这样使得不同厂商对协议的不同实现的互操作性提高了。(2)封装成帧。PPP协议必须规定特殊的字符作为帧定界符(即标志一个帧的开始和结束的字符),以便使接收端从收到的比特流中能准确的找出帧的开始和结束的位置。(3)透明性。PPP协议必须保证数据传输的透明性。如果说是数据中碰巧出现和帧定界符一样的比特组合时,就要采用必要的措施来解决。(4)多种网络层协议。PPP协议必须能够在同一条物理链路上同时支持多种网络层协议(IP和IPX等)的运行。(5)多种类型链路。除了要支持多种网络层的协议外,PPP还必须能够在多种链路上运行(串行与并行链路)。(6)差错检测。PPP协议必须能够对接收端收到的帧进行检测,并舍弃有差错的帧。(7)检测连接状态。必须具有一种机制能够及时(不超过几分钟)自动检测出链路是否处于正常工作状态。(8)最大传送单元。协议对每一种类型的点对点链路设置最大传送单元MTU。(9)网络层地址协商。协议必须提供一种机制使通信的两个网络层(如两个IP层)的实体能够通过协商知道或能够配置彼此的网络层地址。(10)数据压缩协商。协议必须能够提供方法来协商使用数据压缩算法。但PPP协议不要求将数据压缩算法进行标准化。PPP协议主要是由三个方面组成的:(1)一个将IP数据报封装到串行链路的方法。(2)一个用来建立、配置和测试数据链路连接的链路控制协议LCP(Link Control Protocol)。(3)一套网络控制协议NCP(Network Control Protocol),其中的每一个协议支持不同的网络层协议,如IP、OSI的网络层、DECnet,以及AppleTalk等。最后来介绍PPP协议帧的格式:首先是各个字段的意义。首部中的地址字段A规定为0xFF,控制字段C规定为0x03,这两个字段并没有携带PPP帧的信息。首部的第一个字段和尾部的第二个字段都是标识字段F(Flag)。首部的第四个字段是2字节的协议字段。当协议字段为0x0021时,PPP帧的信息部分字段就是IP数据报。若为0xC021,则信息字段是PPP链路控制协议LCP的数据,而 0x8021表示这是网络层的控制数据。尾部中的第一个字段(2字节)是使用CRC的帧检验序列FCS。接着是关于PPP协议的差错检测的方法,主要分为字节填充和零比特填充。当是PPP异步传输时,采用的是字节填充的方法。字节填充是指当信息字段中出现和标志字段一样的比特(0x7E)组合时,就必须采取一些措施使这种形式上和标志字段一样的比特组合不出现在信息字段中。而当PPP协议使用的是同步传输时,就会采用零比特填充方法来实现透明传输,即只要发现有5个连续1,则立即填入一个0的方法。广播信道可以进行一对多的通信。由于局域网采用的就是广播通信,因此下面有关广播通信的讨论就是基于局域网来进行的。首先我们要知道局域网的主要特点,即网络为一个单位所拥有,且地理范围和站点数目均有限。在局域网才出现时,局域网比广域网有着较高的数据率、较低的时延和较小的误码率。局域网的优点主要有一下几个方面:(1)具有广播功能,从一个站点可方便地访问全网。(2)便于系统的扩展和逐渐地演变,各设备的位置可灵活地调整和改变。(3)提高了系统的可靠性(reliability)、可用性(availibility)、生存性(survivability)。关于局域网的分类,我们一般是对局域网按照网络拓扑进行分类:1.星状网:由于集线器的出现和双绞线大量用于局域网中,星形以太网和多级星形结构的以太网获得了非常广泛的应用。2.环形网:顾名思义,就是将各个主机像环一样串起来的拓扑结构,最典型的就是令牌环形网。3.总线网:各站直接连在总线上。总线两端的匹配电阻吸收在总线上传播的电磁波信号的能量,避免在总线上产生有害的电磁波反射。以太网主要有两个标准,即DIX Ethernet V2和IEEE 802.3标准,这两种标准的差别很小,可以不是很严格的区分它们。但是由于有关厂商的商业上的激烈竞争,导致IEEE 802委员会未能形成一个最佳的局域网标准而制定了几个不同的局域网标准,所以为了数据链路层能够更好的适应各种不同的标准,委员会就把局域网的数据链路层拆成两个子层:逻辑链路控制LLC子层和媒体接入控制MAC子层。计算机与外界局域网的连接是通过通信适配器(adapter)来进行的。适配器本来是在电脑主机箱内插入的一块网络接口板(或者是在笔记本电脑中插入一块PCMCIA卡),这种接口板又称为网络接口卡NIC(Network Interface Card)或简称为网卡。适配器和局域网之间的通信是通过电缆或双绞线以串行传输方式进行的,而适配器和计算机之间的通信则是通过计算机主板上的I/O总线以并行传输方式进行的,因此适配器的一个重要功能就是要进行数据串行传输和并行传输的转换。由于网络上的数据率和计算机总线上的数据率并不相同,所以在适配器中必须装有对数据进行缓存的存储芯片。若在主板上插入适配器时,还必须把管理该适配器的设备驱动程序安装在计算机的操作系统中。这个驱动程序以后就会告诉适配器,应当从存储器的什么位置上把多长的数据块发送到局域网,或应当在存储器的什么位置上把局域网传送过来的数据块存储下来。适配器还要能够实现以太网协议。要注意的是,适配器在接收和发送各种帧时是不使用计算机的CPU的,所以这时计算机中的CPU可以处理其他的任务。当适配器收到有差错的帧时,就把这个帧丢弃而不必通知计算机,而当适配器收到正确的帧时,它就使用中断来通知该计算机并交付给协议栈中的网络层。当计算机要发送IP数据报时,就由协议栈把IP数据报向下交给适配器,组装成帧后发送到局域网。特别注意:计算机的硬件地址—MAC地址,就在适配器的ROM中。计算机的软件地址—IP地址,就在计算机的存储器中。CSMA/CD协议主要有以下3个要点:1.多点接入:指的是这是总线型网络,许多计算机以多点接入的方式连接在一根总线上。2.载波监听:就是用电子技术检测总线上有没有其他的计算机也在发送。载波监听也称为检测信道,也就是说,为了获得发送权,不管在发送前,还是在发送中,每一个站都必须不停的检测信道。如果检测出已经有其他站在发送,则自己就暂时不发送数据,等到信道空闲时才发送数据。而在发送中检测信道是为了及时发现有没有其他站的发送和本站发送的碰撞。3.碰撞检测:也就是边发送边监听。适配器一边发送数据一边检测信道上的信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。所谓碰撞就是信号之间产生了冲突,这时总线上传输的信号严重失真,无法从中恢复出有用的信息来。集线器的一些特点如下:(1)使用集线器的以太网在逻辑上仍然是一个总线网,各个站点共享逻辑上的总线,使用的还是CSMA/CD协议。(2)一个集线器是有多个接口。一个集线器就像一个多接口的转发器。(3)集线器工作在物理层,所以它的每一个接口仅仅是简单的转发比特。它不会进行碰撞检测,所以当两个接口同时有信号的输入,那么所有的接口都将收不到正确的帧。(4)集线器自身采用了专门的芯片来进行自适应串音回波抵消。这样可使接口转发出去的较强的信号不致对该接口收到的较弱信号产生干扰。(5)集线器一般都有少量的容错能力和网络管理能力,也就是说如果在以太网中有一个适配器出现了故障,不停地发送以太网帧,这是集线器可以检测到这个问题从而断开与故障适配器的连线。在局域网中,硬件地址又称为物理地址或者MAC地址,这种地址是用在MAC帧中的。由于6字节的地址字段可以使全世界所有的局域网适配器具有不同的地址,所以现在的局域网适配器都是使用6字节MAC地址。主要负责分配地址字段的6个字节中的前3个字节。世界上凡事要生产局域适配器的厂家都必须向IEEE购买这3个字节构成的地址号,这个地址号我们通常叫做公司标识符,而地址字段的后3个字节则由厂家自行指派,称为扩展标识符。IEEE规定地址字段的第一字节的最低位为I/G位。当I/G位为0时,地址字段表示一个单个站地址,而当I/G位为1时表示组地址,用来进行多播。所以IEEE只分配地址字段前三个字节中的23位,当I/G位分别为0和1时,一个地址块可分别生 2^24 个单个站地址和2^24个组地址。IEEE还把地址字段第1个字节的最低第二位规定为G/L位。当G/L位为0时是全球管理,来保证在全球没有相同的地址,厂商向IEEE购买的都属于全球管理。当地址段G/L位为1时是本地管理,这时用户可以任意分配网络上的地址,但是以太网几乎不会理会这个G/L位的。适配器对MAC帧是具有的过滤功能的,当适配器从网络上每收到一个MAC帧就先用硬件检查MAC帧中的目的地址。如果是发往本站的帧则收下,然后再进行其他的处理,否则就将此帧丢弃。这样做就可以不浪费主机的处理机和内存资源这里发往本站的帧包括以下三种帧:(1)单播帧:即收到的帧的MAC地址与本站的硬件地址相同。(2)广播帧:即发送给本局域网上所有站点的帧。(3)多播帧:即发送给本局域网上一部分站点的帧。常用的以太网MAC帧格式是以太网V2的MAC帧格式。如下图:可以看到以太网V2的MAC帧比较的简单,有五个字段组成。前两个字段分别为6字节长的目的地址和源地址字段。第三个字段是2字节的类型字段,用来标志上一层使用的是什么协议,以便把收到的MAC帧的数据上交给上一层的这个协议。下一个字段是数据字段,其长度在46到1500字节之间。最后一个字段是4字节的帧检验序列FCS(使用CRC检验)。从图中可以看出,采用以太网V2的MAC帧并没有一个结构来存储一个数据的帧长度。这是由于在曼彻斯特编码中每一个码元的正中间一定有一次电压的转换,如果当发送方在发送完一个MAC帧后就不再发送了,则发送方适配器的电压一定是不会在变化的。这样接收方就可以知道以太网帧结束的位置,在这个位置减去FCS序列的4个字节,就可以知道帧的长度了。当数据字段的长度小于42字节时,MAC子层就会在MAC帧后面加入一个整数字节来填充字段,来保证以太网的MAC帧的长度不小于64字节。当MAC帧传送给上层协议后,上层协议必须具有能够识别填充字段的功能。当上层使用的是IP协议时,其首部就有一个总长度字段,因此总长度加上填充字段的长度,就是MAC帧的数据字段的长度。从图中还可以看出,在传输MAC帧时传输媒体上实际是多发送了8个字节,这是因为当MAC帧开始接收时,由于适配器的时钟尚未与比特流达成同步,因此MAC帧的最开始的部分是无法接收的,结果就是会使整个MAC成为无用帧。所以为了接收端能够迅速的与比特流形成同步,就需要在前面插入这8个字节。这8个字节是由两个部分组成的,第一个部分是由前7个字节构成的前同步码,它的主要作用就是就是实现同步。第二个部分是帧开始界定符,它的作用就是告诉接收方MAC帧马上就要来了。需要注意的是,帧与帧之间的传输是需要一定的间隔的,否则接收端在收到了帧开始界定符后就会认为后面的都是MAC帧而会造成错误。以太网上的主机之间的距离不能太远,否则主机发送的信号经过铜线的传输就会衰减到使CSMA/CD协议无法正常工作,所以在过去常常使用工作在物理层的转发器来拓展以太网的地理覆盖范围。但是现在随着双绞线以太网成为以太网的主流类型,拓展以太网的覆盖范围已经很少使用转发器,而是使用光纤和一对光纤调制解调器来拓展主机和集线器之间的距离。光纤解调器的作用是进行电信号与光信号的转换。由于光纤带来的时延很小,并且带宽很宽,所以才用这种方法可以很容易地使主机和几公里外的集线器相连接。如果是使用多个集线器,就可以连接成覆盖更大范围的多级星形结构的以太网:使用多级星形结构的以太网不仅能够让连接在不同的以太网的计算机能够进行通信,还可以扩大以太网的地理覆盖范围。但是这样的多级结构也带来了一些缺点,首先这样的结构会增大它们的碰撞域,这样做会导致图中的某个系的两个站在通信时所传送的数据会通过所有的集线器进行转发,使得其他系的内部在这时都不能进行通信。其次如果不同的以太网采用的是不同的技术,那么就不可能用集线器将它们互相连接起来。拓展以太网的更常用的方法是在数据链路层中进行的,在开始时人们使用的是网桥。但是现在人们更常用的是以太网交换机。以太网交换机实质上是一个多接口的网桥,通常是有十几个或者更多的接口,而每一个接口都是直接与一个单台主机或者另一个以太网交换机相连。同时以太网交换机还具有并行性,即能同时连通多对接口,使多对主机能同时通信,对于相互通信的主机来说都是独占传输媒体且无碰撞的传输数据。以太网交换机的接口还有存储器,能够在输出端口繁忙时把到来的帧进行缓存,等到接口不再繁忙时再将缓存的帧发送出去。以太网交换机还是一种即插即用的设备,它的内部的地址表是通过自学习算法自动的建立起来的。以太网交换机由于使用了专用的交换结构芯片,用硬件转发,它的转发速率是要比使用软件转发的网桥快很多。如下图中带有4个接口的以太网交换机,它的4个接口各连接一台计算机,其MAC地址分别为A、B、C、D。在开始时,以太网交换机里面的交换表是空的。首先,A先向B发送一帧,从接口1进入到交换机。交换机收到帧后,先查找交换表,但是没有查到应从哪个接口转发这个帧,接着交换机把这个帧的源地址A和接口1写入交换表中,并向除接口1以外的所有接口广播这个帧。C和D因为目的地址不对会将这个帧丢弃,只有B才收下这个目的地址正确的帧。从新写入的交换表(A,1)可以得出,以后不管从哪一个接口收到帧,只要其目的地址是A,就应当把收到的帧从接口1转发出去。以此类推,只要主机A、B、C也向其他主机发送帧,以太网交换机中的交换表就会把转发到A或B或C应当经过的借口号写入到交换表中,这样交换表中的项目就齐全了,以后要转发给任何一台主机的帧,就都能够很快的在交换表中找到相应的转发接口。考虑到有时可能要在交换机的接口更换主机或者主机要更换其网络适配器,这就需要更改交换表中的项目,所以交换表中每个项目都设有一定的有效时间。但是这样的自学习有时也会在某个环路中无限制的兜圈子,如下图:假设一开始主机A通过接口交换机#1向主机B发送一帧。交换机#1收到这个帧后就向所有其他接口进行广播发送。其中一个帧的走向:离开#1的3->交换机#2的接口1->接口2->交换机#1的接口4->接口3->交换机#2的接口1......一直循环下去,白白消耗网络资源。所以为了解决这样的问题,IEEE制定了一个生成树协议STP,其要点就是不改变网络的实际拓扑,但在逻辑上切断某些链路,从而防止出现环路。虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的计算机属于VLAN。要注意虚拟局域网其实只是局域网给用户提供的一种服务,而不是一种新型局域网。现在已经有标准定义了以太网的帧格式的扩展,以便支持虚拟局域网。虚拟局域网协议允许在以太网的帧格式中插入一个4字节的标识符,称为VLAN标记,它是用来指明发送该帧的计算机属于哪一个虚拟局域网。VLAN标记字段的长度是4字节,插入在以太网MAC帧的源地址字段和类型字段之间。VLAN标记的前两个字节总是设置为0x8100,称为IEEE802.1Q标记类型。当数据链路层检测到MAC帧的源地址字段后面的两个字节的值是0x8100时,就知道现在插入了4字节的VLAN标记。于是就接着检查后面两个字节的内容,在后面的两个字节中,前3位是用户优先级字段,接着的一位是规范格式指示符CFI,最后的12位是该虚拟局域网VLAN标识符VID,它唯一的标志了这个以台网属于哪一个VLAN。高速以太网主要是分为三种,即100BASE-T以太网、吉比特以太网和10吉比特以太网:

【网络】TCP/IP-数据链路层
本文主要从数据链路层主要功能展开,涉及到以下相关概念 首先我们看看TCP/IP网络模型中数据链路层的功能定义:透明传输,差错检测,封装成帧数据链路层进程的任务是在两个网络层进程之间提供无错误的,透明的通信1 提供差错检测机制(处理传输错误)2使用滑动窗口机制进行流量控制 (调节数据流,确保慢速的接收方不会被发送方淹没)3 向网络层提供一个定义良好的网络接口在OSI参考模型中,上层使用下层所提供的服务必须与下层交换命令,这些命令称为 服务原语 。相邻层之间的接口称为 服务访问点SAP ,对等层之间传送的数据单位称为 协议数据单元PDU以下图说明网络链路,数据传输构成,和数据链路层分层可分为 (面向字符的通信规程) 和 (面向比特的通信规程) 两类“TCP 是一个面向字节流的协议”指的是“字节就是字节”在令牌环网中,令牌环的帧格式有两种,分别是 (令牌帧) 和 (数据帧)在点-点链路中,发送信息和命令的站称为主站,接收信息和命令而发出确认信息或响应的站称为从站,兼有主、从功能可发送命令与响应的站称为复合站透明传输模式0201 工作原理以太网有两类01 经典以太网,解决多路访问问题02 交互式以太网,使用交换机连接不同的计算机。交换机中每个端口有自己独立的冲突域。采用较为灵活的无连接的工作方式,即不必先建立连接就可以直接发送数据。以太网对发送的数据帧不进行编号,也不要求对方发回确认。以太网提供的服务是不可靠的交付,即尽最大努力的交付。以太网是使用1-持续CSMA/CD 技术的总线型网络。以太网的逻辑结构是总线型结构,物理结构是星型或者拓扑星型结构。以太网属于数据链路层协议应用,规定的最短帧长 最短帧长度为64字节。为了确保最小帧长为64字节,同时维持网络直径为200m,千兆以太网采用了载波扩展和数据包分组两种技术。为什么要限制最短帧长以太网的争用期是指总线两端的两个站之间的往返传播时延,又称为碰撞窗口。以太网的端到端往返时延 2τ称为争用期,或碰撞窗口。争用期长度为 2τ,即端到端 传播时延 的两倍。经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞网桥工作在数据链路层,作用是连接不用的物理局域网形成逻辑局域网,它们通过检查数据链路层地址来转发帧。用于连接类型相似的局域网。在网桥中,帧从物理层往上传给以太网的MAC层。路由器作用于网络层,提供网络层协议转换。通过检查数据包地址,并基于数据包地址路由数据包。在网络之间存储和转发分组网关提供传输层及以上各层协议之间的转换网桥与路由器的区别1 二层设备与三层设备2 网桥连接相似的局域网,路由器连接不同的网络3 网桥不隔离广播,而路由器可以隔离广播网桥的主要任务是地址学习和帧转发以太网交换机实际上是一个多端口的网桥。节点交换机与以太网交换机都是数据链路层设备,前者使用点对点信道,后者使用广播信道。例:以太网交换机在收到一帧后先进行存储,在转发帧是,对于未知目的的帧,可以采用广播的方式转发。交换机是按照存储转发方式工作的,在收到一帧后,一定是先将它存储再进行处理,不管目的地址。在转发时,查找转发表和收到帧的源地址有无匹配的项目,有则更新,无则向除接收该帧的接口以外转发帧,即广播。以太网交换机按照自学习算法建立转发表,它通过 ARP协议 进行地址学习。ARP协议 不属于链路层 。A RP不是向网络层提供服务,它 本身就是网络层的一部分,帮 助向传输层提供服务。在数据链路层不存在IP 地址的问题。数据链路层协议是象HDLC 和PPP 这样的协议,它们把比特串从线路的一端传送到另一端。例题高级数据链路控制(High-Level Data Link Control或简称HDLC),是一个在同步网上传输数据、面向比特的【可靠传输】数据链路层协议。目前我们普遍使用HDLC作为数据链路控制协议。HDLC帧格式如下当我们传输数据时,要传输的不仅仅是数据的大小,还会给这些数据加上头和尾,以及一些其他的标志。比如标志位有八位,就是一个字节。所以除数据外其他的字段加在一起要占据6字节的空间。HDLC定义了三种类型的站:分别是主站,从站,复合站HDLC包括三种类型的帧,信息帧,监控帧,和无编号帧。第1位为“0”表示是信息帧,第1、2位为“10”是监控帧,“11”是无编号帧。信息帧用于传送有效信息或数据,通常简称I帧。监控帧用于监视和控制数据链路,完成信息帧的接收确认、重发请求、暂停发送请求等功能。监控帧不具有信息字段。无编号帧用于数据链路的控制,它本身不带编号,可以在任何需要的时刻发出HDLC的帧类型中用于差错控制和流量控制的帧是 A.命令帧 B.信息帧 C.无编号帧 D.监控帧答案 DATM是一种 面向分组 的技术,其分组称为信元。 ATM 信元由信元头和净荷(Payload)两部分构成。信元头中包含信元控制信息,净荷用于承载用户的数据。ATM是一种面向连接的技术,传输基于固定长度的信息信元,每个信元在他的头部带有虚电路标识符,交换设备根据此标识符演着连接建立的路径转发信元。ATM是异步传输模式的缩写,是两种交换技术的结合,电路交换和分组交换。信元和信元头长度分别是53字节和5字节在计算机网络中,数据交换的方式有:(1)线路交换。在数据传送之前需建立一条物理通路, 在线路被释放之前,该通路将一直被一对用户完全占有。(2)报文交换。报文从发送方传送到接收方采用存储转发 的方式。在传送报文时,只占用一段通路;在交换节点中需要 缓冲存储,报文需要排队。因此,这种方式不满足实时通信的 要求。(3)分组交换。此方式与报文交换类似,但报文被分成组传送,并规定了分组的最长度,到达目的地后需重新将分组组装成报文。这是网络中最广泛采用的一种交换技术。常用的差错控制方法是在数据中加入差错控制编码,在所要发送的信息位之前按照某种规则加上一定的冗余位,构成一个码字再传送。交换机可以用来分割LAN,连接不同的LAN,或者扩展LAN的覆盖范围。4B/5B编码是将数字数据转换为数字信号的编码方式。数据链路层和大多数高层都存在的一个问题是如何避免一个快速发送方用数据【淹没】一个慢速接受方。所以需要一个流量调节机制,以便让发送方知道接收方何时可以接收更多的数据。两种方式:1 基于反馈的流量控制接收方给发送方发信息2 基于速率的流量控制限制发送方传输速率数据链路层和传输层的TCP协议都会涉及到滑动窗口机制。侧重点不一样。数据链路层主要有两种: 停-等流量控制和滑动窗流量控制 。发送方窗口内的序列号代表了那些已经被发送,但是还没有被确认的帧,或者是那些可以被发送的帧。首先整理下滑动窗口涉及到的3个协议1 停等协议:发送方每发送一帧,都要等待接收方的应答信号,之后才能发送下一帧;接收方每接收一帧,都要反馈一个应答信号,表示可接收下一帧,如果接收方不反馈应答信号,则发送方必须一直等待。2 后退N帧协议:在后退n协议中,接收方若发现错误帧就不再接收后续的帧,即使是正确到达的帧,这显然是一种浪费。接受方发现接收到的信息帧时序有问题时,要求发送方发送最后一次正确发送后确认接收的帧之后的所有的未被确认的帧。3 选择重传协议:当接收方发现某帧出错后,其后继续送来的正确的帧虽然不能立即递交给接收方的高层。但接收方仍可收下来,存放在一个缓冲区中,同时要求发送方重新传送出错的那一帧,一旦收到重新传来的帧后,就可以原已存于缓冲区中的其余帧一并按正确的顺序递交高层。总之海明码:如果要检测 d位错误,需要海明距为 d+1的编码方案;如果要纠正 d位错误,需要海明 距 为 2d+1的 编 码 方 案 。1.集线器本身是一个 冲突域 ,因为它不能分隔冲突域。2.交换机本身是一个 广播域 ,它分隔冲突域,即它的每一个端口都是一个冲突域。3. 路由器 分隔 广播域 ,它的每一个接口都是一个 广播域 。4.交换机和 路由器 相连的链路即是冲突域又是广播域。某用户程序采用 UDP协议进行传输,则差错控制应由 协议完成。A.数据链路层 B.网络层 C.物理层 D.应用层PPP协议是透明传输,实际上就是通常所说的透传。PPP协议使用的是一种面向字节的协议,所有的帧长度都是整数个字节,使用一种特殊的字符填充法完成数据的填充。例题为实现透明传输,PPP协议使用的填充方法是()。BA.位填充B.字符填充C.对字符数据使用字符填充,对非字符数据使用位填充D.对字符数据使用位填充,对非字符数据使用字符填充例题:PPP 帧的起始和结束标志都是 0x7e,若在信息字段中出现与此相同的字符,必须进行填充。在同步数据链路中,采用___比特填充法____方法进行填充;在异步数据链路中,采用___字符填充法____方法进行填充1 纠错,PPP协议只进行检错2流量控制 3 序号 PPP协议是不可靠的传输协议,因此不需要给帧编号。

数据链路层的主要功能有哪六个?
您好,数据链路可以粗略地理解为数据通道。物理层要为终端设备间的数据通信提供传输媒体及其连接.媒体是长期的,连接是有生存期的.在连接生存期内,收发两端可以进行不等的一次或多次数据通信. 1、数据链路层是OSI参考模型中的第二层,介乎于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。为达到这一目的,数据链路必须具备一系列相应的功能2、与其它计算机进行通讯的一个应用,它是对应应用程序的通信服务的。例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心OSI的第7层。但是,如果添加了一个传输文件的选项,那么字处理器的程序员就需要实现OSI的第7层。示例:telnet,HTTP,FTP,NFS,SMTP等。 3、数据链路(逻辑线路):在一条物理线路之上,通过一些规程或协议来控制这些数据的传输,以保证被传输数据的正确性。实现这些规程或协议的硬件和软件加到物理线路,这样就构成了数据链路。从数据发送点到数据接收点(点到点 point to point)所经过的传输途径。
物理层的基本功能是:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。 数据链路层的基本功能是:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。 网络层基本功能是:通过路由选择算法,为报文或分组通过通信子网选择最适当的路径。 在计算机网络中由于各种干扰的存在,物理链路是不可靠的。因此,这一层的主要功能是在物理层提供的比特流的基础上,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路,即提供可靠的通过物理介质传输数据的方法。 数据链路层中使用的物理地址(如MAC地址)仅解决网络内部的寻址问题。在不同子网之间通信时,为了识别和找到网络中的设备,每一子网中的设备都会被分配一个唯一的地址。由于各子网使用的物理技术可能不同,因此这个地址应当是逻辑地址(如IP地址)。

[计算机网络]Ch.3 数据链路层
数据链路层使用物理层提供的服务在通信信道上发送和接收比特。(1)向网络层提供一个定义良好的接口(2)处理传输错误(3)调节数据流,确保慢速的接收方不会被快速的发送方淹没提供的服务(1)无确认的无连接服务 (局域网)(2)有确认的无连接服务 (无线通信)(3)有确认的有连接服务 (电话)无线通信,信道使用率很低但数据传输的误码率相对较高,确认是必要的成帧:将原始的位流分散到离散的帧中。成帧的方法有:(1)字符计数法(2)带字节/字符填充的标志字节法(3)比特填充的比特标志法(4)物理层编码违例法字节计数法:利用帧头部的一个字段来标识该帧中的字符数缺点:简单,无法恢复,已经很少使用该方法考虑了错误之后重新开始同步的问题,用一些特殊字节(FLAG)作为帧开始和结束标志,用转义字符(ESC)来区分二进制数据中存在的特殊字节。采用冗余编码技术,如曼切斯特编码,即两个脉冲宽来表示一个二进制位数据0:低-高电平对数据1:高-低电平对高-高电平对和低-低电平对没有使用,可用作帧边界差错的种类:差错的处理:计算机网络中主要采用:海明距离的意义:如果海明距离为d,则一个码字需要发生d个1位错误才能变成另外一个码字海明距离与检错和纠错的关系:纠正单比特错的冗余位下界,m为数据位数,r为校验位数将某一位数据位的编号展开成2的乘幂的和,那末每一项所对应的位即为该数据位的校验位(收方使用)。如: 11 = 1 + 2 + 829 = 1 + 4 + 8 + 16校验位1的检验集合为所有奇数位。校验位2的检验集合:2、3、6、7、10、11、…校验位4的检验集合:4、5、6、7、……校验位8的检验集合:8、9、10、11、……海明码纠错过程(只纠错1位)首先将差错计数器置“0”。当海明码数据到达接收端后,接收端逐个检查各个校验位的奇偶性。如发现某一校验位和它所检测的集合的奇偶性不正确,就将该检验位的编号加到差错计数器中。待所有校验位核对完毕:若差错计数器仍为“0”值,则说明该码字接收无误。非“0”值,差错计数器的值为出错位的编号,将该位求反就可得到正确结果。例子:经计算需要的检验字个数的最小值 r应满足 (所以r最小值为4,再根据校验位的对应规则可得下表:Data: 1011010Even: 1011010 0(偶校验)Odd: 1011010 1(奇校验)使用CRC编码时发送方和接收方必须预先商定一个生成多项式G(x),假设有一个m为的帧M(x),使用G(x)生成的帧的步骤如下:假设G(x)的阶为r, 那么M(x)在末尾添加r个0,得到 m+r位的位模式 。利用模2出发,用G(x)去除 ,得到对应的余数(总是小于等于r位)。利用 减去(模2减法)第2步中得到的余数,得到的位模式就是即将被传输的带校验和的帧Sender在数据帧的低端加上r个零,对应多项式为XrM(x)采用模2除法,用G(x)去除XrM(x),得余数采用模2减法,用XrM(x)减去余数,得到带CRC校验和的帧Receiver用收到的帧去除以G(x)为零:无错误产生。非零:发生了错误,重传在一定条件下运作:缺点:缺点:对协议2的改进:确认帧只在接收无差错时才发确认帧,出错时不发确认帧。重发网络中采用检错码,无法纠正错误,由重发原来帧的方式来恢复正确的帧。计时器控制何时重发,防止无限期等待(死锁)。帧序号防止重发时接收端收到重复的帧,序号还用于接收时排序。保证送给网络层的都是按序无重复的分组帧格式:****与前三个协议不同,这是一个双向传递的协议。之后的三个协议都属于滑动窗口协议。滑动窗口协议如果发送端可以连续发送一批数据帧,必须考虑接收端是否来得及接纳与处理这么多的帧,这里就提出了网络流量控制问题N回退协议和选择重传协议:由于传输过程中存在延迟,即数据在传播过程中需要时间,那么如果使用上面所提及的协议,传输过程中有大量的时间存在阻塞状态,所以为了充分利用带宽,我们让发送方一次发送w个帧。所以就存在如何处理在传输过程中出现的帧错误的问题协议四的基本工作原理:窗口设置窗口滑动机制特点出错情况:连续发送W个数据帧,其中有一帧出错,但其后续帧被成功发送接收方的接收策略:丢弃错帧,其后续帧因不是期望接收帧也被丢弃(接收窗口为1)。发送方的重传策略:缓存在发送窗口中的出错帧以及其后续帧全部重发W<=2BD+1(个帧)BD:带宽-延迟乘积,bit乘积出来之后换算成帧的个数该图的发送方和接收方的窗口大小都是7,那么也就是说发送方一次最多只能发送7个帧,刚开始发送方只能发送序号为0~6的数据帧,图中发送方收到序列号为第0和第1号帧的确认帧,那么整个窗口向前滑动,发送方可以发送序列号为7和8 的数据帧,但是不幸的是2号数据帧并没有收到确认帧,所以整个窗口并不会向前滑动,此时只能等待2号数据帧的计时器超时,那么超时后发送方将会从2号数据帧开始发送,重复这个过程。实现出错情况原因:如果错误很少发生,那么协议5可以很好的工作。一旦线路质量很差,那么重传帧需要浪费大量带宽。而选择重传节约了带宽,允许接收方缓存丢失帧之后的所有帧接收方的接收策略:丢弃错帧,缓存后续正确接收帧发送方的重传策略:只重发出错帧。基本概念:选择重传策略:接收方丢掉坏帧,但接受并缓存坏帧后面的所有好帧。否定重传策略:当接收方收到错误,他就发送一个否定确认(NAK)信息,而不需要等到相应的计数器超时,提高协议性能。滑动窗口长度w的选择协议5(回退n帧)W = MAX_SEQ协议6(选择重传)W= (MAX_SEQ + 1) / 2发送方和接收方的窗口大小 W=((MAX_SEQ+1))/2,原因是防止窗口重叠,在确认帧丢失的情况下而导致的数据错误接收方在某个帧出错后继续接受和缓存后续发送的数据包,直到整个窗口的填满后,把帧进行排序后才传递给网络层。面向字符的数据链路协议PPP 是一种在链路上传输分组的常用方法3个主要特性:PPP两种认证协议: PAP and CHAPPPP的帧格式PPP成帧是面向字节填充的:具体细节可以参考上面的字节填充法, 因为PPP重用了HDLC的技术,所以PPP使用标志字(0x7E01111110)来标记帧的起始,使用0x7D来作为转义字符,具体操作如下:接收方接收到帧后进行下面处理:在帧中遇到0x7D 就把0x7D删除,在把紧跟在0x7D 后的字节和0x20进行异或运算,就得到对应的数据LCP ( Link Control Protocol)提供了建立、配置、维护和终止点对点链接的方法PPP的工作过程
![[计算机网络]Ch.3 数据链路层](https://static.wangsu123.cn/pich-W+iuoeeul+acuue9kee7nF1DaC4zIOaVsOaNrumTvui3r+Wxgg==g.png)
本文由 在线网速测试 整理编辑,转载请注明出处。