企业网站 优点,云服务器怎么搭建,新浪博客网页版登录入口,商标和logo的区别一、物理层
1.物理层
物理层面的通信标准可以概括划分为与网络基础设施有关的标准和与被传输物理信号有关的标准两类。
网络基础设施的标准#xff1a;鉴于物理层面的消息互通也是物理层应该兑现的服务#xff0c;因此物理层的标准还会包括针脚的用途、线缆的材料与设计等…一、物理层
1.物理层
物理层面的通信标准可以概括划分为与网络基础设施有关的标准和与被传输物理信号有关的标准两类。
网络基础设施的标准鉴于物理层面的消息互通也是物理层应该兑现的服务因此物理层的标准还会包括针脚的用途、线缆的材料与设计等因素。我们大家耳熟能详的水晶头RJ-11和RJ-45、串行接口EIA-RS-232、网线线序ANSI/TIA/EIA-568都属于这一类标准。
所传物理信号的标准既然接收方设备通过传输介质接收到用物理表示方法描述的二进制信号时需要将物理信号还原成本来的二进制数据那么收发数据的双方就必须拥有一套相同的数据编码标准。每个比特的时长、传输开始和终止的信号标志都需要进行定义。不归零编码NRZ、曼彻斯特编码、不归零反转编码NRZI和4B/5B编码等都对信号的标准进行了定义。
在一些实际网络中二进制数字信号在传输的过程中需要借助电话线路等模拟网络进行发送。在这种情况下人们需要在终端与模拟线路之间安装一台调制解调器将这些数字信号转换为模拟信号这样才能让信号在模拟线路中传输如图所示。 2.网络介质
有线介质
目前连接局域网时采用的有线介质以双绞线和光纤为主。双绞线是指为了冲抵干扰而将由两根相互绝缘的导线按照一定规格相互缠绕在一起而形成的通信介质。 双绞线的最大传输距离为100m。 双绞线传输数据时采用的方法是将数据转换为电信号进行传输而光纤传输数据时则会将其转换为光信号。 光纤可以分为单模光纤和多模光纤。
多模光纤可以让不同模式的光在一根光纤上传输由于模间色散较大而导致信号脉冲展宽严重因此多模光纤传输距离较短主要用于局域网中的短距离传输但也可以达到数百米的传输距离相比双绞线来说已经拥有了数倍的优势。
单模光纤只能传输一种模式的光不存在模间色散因此适用于长距离高速传输传输距离可以达到数千米甚至上百千米。 当然除了双绞线和光纤之外人们在连接广域网时也会采用以EIA-RS-232标准为主的串行连接Serial接口等其他连接标准
无线介质
使用有线介质在通过线缆传输信号时终端会用电压和光强来描述二进制信号。而对于无处不在的无线介质终端设备则会使用电磁波来描述要传输的信号并通过微波来承载这些信号。 无线的连接方式主要分为下面两种
基础设施连接Infrastructure终端设备通过接入点AP接入局域网并进而访问更大的网络常常是互联网。
自组织连接Ad hoc即终端设备之间直接通过无线信号实现连接这种连接方式的目的是建立一个小规模的通信网络而未必是为了连接到其他大型的网络如互联网当中。
二、数据链路层
根据OSI参考模型的定义当接收方设备通过物理层协议将电压高低、光的闪灭或电磁特征等物理描述方式转换为由数据编码成的二进制信号时这台设备就要继续通过数据链路层来处理这些接收到的比特流并将经过处理的数据帧交由上层的网络层进行处理。
同样当发送方设备将网络层封装好的数据包交给数据链路协议处理时这一层的协议也需要将其封装成数据帧交由物理层进行编码和发送。
为了完成这些任务数据链路层需要解决的问题如下。
数据成帧当网络层封装的数据包到达数据链路层时数据链路层协议需要给数据包添加上头部和尾部这个封装之后的结构称为数据帧Frame。数据帧就是物理层执行编码转换的数据。
错误校验由于信号在物理层传输的过程中难免会出现差错因此位于物理层之上的数据链路层就需要承担错误校验的功能以确保交付给网络层的数据帧是正确的。
物理寻址数据链路层为处于同一个网段中的设备提供物理寻址的依据让发送方设备可以使用接收方设备的地址来封装数据帧以确保接收方设备能够接收并接受发送方发来的数据。
可靠传输在物理介质差错率比较严重的情况下数据链路层协议可以像传输层协议一样提供保障数据可靠传输的机制即通过确认和重传来确保通信的接收方接收到了数据。由于确认和重传也会占据链路的开销因此在物理介质差错率不高的环境中数据链路层协议往往不会提供与可靠传输有关的功能而会把相关的步骤留给传输层协议进行处理。
1.链路类型
从贴近物理层的角度来看设备之间的相互连接需要通过某种介质来实现而这种介质要么是共享型介质要么是两台设备之间独占的点对点连接。
对于所有通过同一个共享型介质连接在一起的设备来说只要有一台以上的设备同时发送数据它们发送的信号就会在这个共享介质上叠加导致接收方难以识别其中任何一台设备发送的数据这种因为数据在共享介质上信号叠加导致接收方无法识别原数据的情形称为冲突Collision而通过同一个共享型介质连接在一起的设备则称为处于同一个冲突域Collision Domain中。
采用共享介质传输数据的环境的协议需要解决的问题至少比采用独占信道通信的协议多出了以下两点
如何找到接收方如何避免冲突。
相比点对点连接诸如WLAN这类共享型介质环境要求数据链路层协议提供更多硬件层面的标准。尽管相比TCP/IP模型OSI模型已经细化了对于底层的定义将TCP/IP模型中网络接入层的服务分散到了数据链路层和物理层两层当中。
共享型网络要想实现数据传输必须针对大量设备如何在网络中有序收发数据、如何实现相互寻址等服务制订明确的规则而这类规则在逻辑上应该比数据链路层的其他服务更加靠近物理层于是IEEE将数据链路层的服务分为了LLC子层和MAC子层它们的作用概括如下。
逻辑链路控制LLC子层与网络层相接为不同的MAC子层协议与网络层协议之间提供统一的接口并提供流量控制等服务。
介质访问控制MAC子层与物理层相接为统一的LLC子层协议和不同的物理层介质之间提供沟通的媒介并执行与硬件有关的服务包括在共享环境中实现资源分配、让通信可以适应不同的传输介质、实现数据寻址等。这个子层也就是本小节要进行介绍的介质访问控制子层。 从逻辑上看保障共享介质不会出现信息冲突的方法有下面两种。
定义不可发送数据的情形如果介质中有数据正在传输则设备不能发送数据否则可以随时发送数据。定义可以发送数据的情形只有获得发送数据许可的通信设备可以发送数据同时只有一台设备可以获得许可。 载波侦听多路访问/冲突检测后文简称CSMA/CD是一种通过定义不可发送数据的情形来避免冲突的技术。 载波侦听多路访问指每个站点在发送信号之前需要首先监测共享介质查看介质中是否有消息正在传输如果介质中有消息正在传输则暂不传输数据。 不过如果因为介质中有信号正在传输导致多台准备发送数据的设备都暂停发送数据那么这些设备难免会在介质中信号传输结束之后同时开始发送数据这也会导致冲突。因此发送方站点在开始发送数据之后仍会侦听传输介质查看介质中传输的信号是否与自己发送的信号一致如果不一致说明发生了冲突此时发送方就会暂停发送等待一段随机时间之后再发送这个过程叫作冲突检测。 令牌环是一种通过定义可以发送数据的情形来避免冲突的技术其方法类似于驾驶员在十字路口等待本方向获得绿灯时方可通过。 在一个环形拓扑环境中一台设备要发送数据必须首先获取一个赋予设备向介质中发送信号权限的特殊数据帧这个数据帧就称为令牌Token如图4-7所示。令牌在网络中沿着固定的方向一站一站地进行传输如果收到令牌的设备并没有数据需要传输它会立刻把令牌转发给下一台设备否则就会持有该令牌最大限度地发送数据帧然后再将令牌转发给下一台设备。 载波侦听多路访问/冲突避免后文简称CSMA/CA是用于无线局域网环境中的冲突避免技术这是另一种通过定义不可发送数据的情形来避免冲突的技术。 无线环境之所以没有沿用传统的CSMA/CD技术一方面是因为无线环境中的信号衰减十分严重这使得发送方无法在发送信号的同时通过判断自己接收到的信号是否与发送的信号一致来检测信号是否在信道中发生了冲突因为相对于发送方正在发送的信号而言它有可能接收到的信号往往在强度上过于微弱设备难以判断信号是否在信道中与其他信号产生了叠加另一方面无线设备是以帧为单位发送数据的即使检测到了冲突也不会为了避免冲突而立刻停止发送数据帧。根据上述两点我们可以得出结论在无线环境中执行冲突检测不仅难以做到而且也没有必要。于是CSMA/CA机制则规定除了发送第一个数据帧的设备可以在检测到信道空闲时仅仅经历一段短暂的间隔时间就可以发送数据帧之外其他设备即使检测到信道空闲也必须随机回退一段时长来避免冲突。设备在回退时会设置一个计时器等待过程中只要检测到信道被占用则暂停计时器倒计时待计时器倒计时结束再执行数据帧的发送。 2.数据封装格式
每当技术人员需要深入了解一项网络协议或者标准最直观的方法就是观察这项协议或者标准所定义的封装格式。 前导码Preamble前导码由7字节组成这7字节的每个字节均固定为10101010。在7字节的前导码之后的字节称为帧起始定界符这个字节固定为10101011。这8个字节的目的是为了通过编码让一个以太网数据帧的开头部分表现为有规律的物理信号以便提醒接收方设备让它与自己同步时钟。而帧起始定界符的最后两位被定义为11这是为了告知接收方在这两个比特之后即为以太网数据帧下一个字段的开始。
目的地址Destination Address目的地址由6字节组成其作用是标识数据帧的目的设备类似于快递包裹的收件人地址。
源地址Source Address源地址由6字节组成其作用是标识数据帧的始发设备类似于快递包裹的发件人地址。
类型Type类型字段由2字节组成。类型字段的作用是为了告知对端设备这个数据帧在网络层是使用什么协议进行封装的以便接收方选择同样的协议来对这个数据帧进行解封装。
填充Pad以太网标准规定一个以太网数据帧的最小长度不得小于64字节。标准将数据字段的最小长度定义为46字节如果数据部分不足46字节则用填充位来填充这个数据帧让它的长度可以满足最小长度的要求。
FCSFrame Check SequenceFCS译为帧校验序列这个字段长度为4字节。这个字段会被封装在数据帧的尾部其目的是供对端设备校验其接收到的数据帧是否与发送方发送时一致。
3.MAC地址
MAC地址的作用是在数据链路层标识一台设备适配器的身份。由于MAC地址往往烧录在适配器的硬件上而不由设备管理员通过逻辑手段进行修改因此MAC地址也称为硬件地址。
如00-9A-CD-00-00-0A就是一个典型的MAC地址。
此外在MAC地址的6字节中前3个字节是IEEE分配给该MAC地址适配器厂商的代码这个代码是我们在前文中提到过的组织唯一标识符Organizationally-Unique IdentifierOUI。
这是适配器制造商在生产适配器之前向IEEE注册并申请到的本厂商标识符。
而MAC地址的后3个字节则要由设备制造商给各个适配器分配同一厂商生产的不同适配器它们的后3个字节不能相同。
如图所示在传统的共享型以太网中集线器只会将数据帧从所有接口不加区分地转发出去无论终端在发送数据时以哪台设备的MAC地址作为目的地址来封装数据帧这个数据帧都会被集线器转发给所有它连接的终端。
所有终端的适配器也都会查看数据的以太网数据帧头部信息但只有发现该目的MAC地址与自己MAC地址相同的适配器才会进一步解封装数据帧去查看其内部的信息其余设备在发现数据帧的目的地址并非自己之后就会丢弃数据帧。 在交换型以太网中交换机只会将数据帧从其目的地址所在的那个接口发送出去。
交换机之所以有能力实现有针对性地数据帧转发是因为交换机内部包含了一个叫作CAMContent Address Memory表的缓存表。当终端设备第一次向自己直连的交换机发送数据时交换机不仅会查看数据帧的目的MAC地址以便将其转发给目的设备同时也会查看数据帧的源MAC地址并且将数据帧的源MAC地址与交换机接口之间的映射关系添加到自己的CAM表中。
这样一来以后交换机再收到以这个数据帧的源MAC地址作为目的MAC的数据帧时交换机只要查看自己CAM表中的映射关系就可以查询到需要将这个数据帧从哪个端口转发出去了。 如图所示通过IP地址为192.168.0.11的PC1向IP地址为192.168.0.13的PC3发送ping命令时交换机会向其他端口发送广播arp请求只有PC3会返回响应说明自己的MAC地址192.168.0.13 (54:89:98:45:7f:e6)。而PC2会丢弃该数据不返回响应。 当首次返回消息时交换机的MAC地址缓存表会记录PC1和PC3的MAC地址及对应端口而没有通信的PC2的MAC地址和端口还没有记录在该表中。 单播MAC地址绝大多数MAC地址都是单播MAC地址。 广播MAC地址只有全1的MAC地址为广播MAC地址即FF-FF-FF-FF-FF-FF。根据广播的定义所有设备在接收到以广播MAC地址作为目的MAC地址的数据时都应该对数据进行解封装而不应该丢弃。此外交换机会将以广播MAC地址为目的MAC地址的数据帧从除了接收到它的那个接口之外的所有接口转发出去。鉴于广播可达的区域称为广播域因此交换机所连接的设备共同构成了一个广播域。 在使用Windows操作系统的计算机上管理员在开始-运行中输入cmd命令进入命令提示符然后在命令提示符中输入命令ipconfig/all即可在Physical address物理地址一行看到这台计算机各个适配器的MAC地址。
三、网络层
数据链路层如何在一个局域网的范围内实现寻址。然而当连接异构局域网形成强烈需求时那些希望通过更高一层协议最终实现异构网络之间建立连接的用户他们显然不会满足于仅仅在一个局域网范围内进行通信。
那么既然需要通过更高一层的协议将多个局域网进行互联这个协议也就必须为不同局域网环境定义统一的寻址标准这样才能在逻辑上真正实现设备之间跨越局域网的全局信息互通。
为了让使用某协议的设备之间可以实现跨网络的通信就需要在OSI模型的网络层或TCP/IP模型的互联网层给这个协议定义寻址的服务和流程。因此网络层协议需要定义的内容包括但不限于
参与协议的设备相互间用什么地址对进行跨网络的通信这些设备如何通过该地址对要发送/接收的数据实现寻址网络层协议的头部格式如何定义才能满足寻址等服务的需求如何向传输层协议隐藏下层复杂的环境和标准。
1.IP协议
IP协议的目的就是在全局范围内实现跨越异构网络的寻址所有与此宗旨无关的服务都不在定义IP协议的考量范畴之内这也形成了IP协议的特点。
为了跨越不同类型网络实现全面互联IP协议需要忽略底层的传输介质将使用不同介质的局域网络连接起来。跨越使用不同介质的网络有线网络、无线网络最终实现通信的。
所谓IP协议可以在任何技术上运行或者IP协议独立于底层介质用通俗的方式表达就是IP公司在收寄包裹时会利用一切交通方式将包裹送达目的地无论到达目的地址需要采用哪种交通方式都可以通过IP公司来完成包裹的投递。
其次原始TCP协议已经按照服务分为了当今工作在网络层也即TCP/IP模型中的互联网层的IP协议以及当今工作在传输层的TCP协议同时与传输可靠性有关的服务都交给了工作在传输层的TCP协议来实现。
而IP协议的宗旨就是提供最简单的服务实现从源到目的的数据转发。因此IP协议既不会在传输数据之前先与接收方建立连接也不保证传输的可靠性它只提供尽力而为的服务。
IP协议定义的数据包封装格式 版本Version由于IP协议不止一个版本因此根据IP协议的定义数据包要在头部的一开头即列明这个数据包是使用哪个版本的IP协议进行封装的不同版本的IP协议所采用的数据包头部封装格式也各不相同。目前网络中使用的IP协议几乎都是IPv4或者IPv6。关于IPv6的数据包封装格式我们会在系列教材第3册中进行展示和说明。
首部长度Header Length如图5-1所示IPv4的数据包头部中定义了一个可选项字段。由于可选项字段的长度并不固定因此IPv4的数据包头部长度也是不固定的这就是为什么IPv4需要在头部定义一个头部长度字段来界定整个数据包中哪一部分是数据包的头部以及数据部分从哪里开始。首部长度字段的长度为4字节。
服务类型Type of Service服务类型字段的定义和名称都发生过很多次变化但其宗旨都是界定这个数据包要接受什么等级的服务。目前这个字段已经改称为区分服务Differentiated Services字段用来说明这个数据需要执行加速传输还是精确传输以及数据在传输过程中是否经历了拥塞。
数据长度Length这个字段负责列明整个数据包的长度也就是头部长度和数据长度之和。
标识Identification当数据包的长度大于链路允许传输的数据长度时这个数据包就需要进行分片Fragment目的设备接收后再通过重组进行还原。标识字段的作用就是在分片前指明哪些分片此前属于同一个数据包以备未来重组数据包时之用。
标记Flag标记位的作用是标识这个数据包是否允许路由器对其进行分片标记位的第2位以及这个分片是不是整个数据包的最后一个分片标记位的第3位。具体来说如果标记位的第2位被设置为1那么当路由器发现必须对这个数据包进行分片才能将其转发到目的地时路由器就会丢弃这个数据包因此标记位的第2位叫作DF位译为“勿分片Don’t Fragment”位如果标记位的第3位没有被设置为1则代表这个分片是整个数据包的最后一个分片整个数据包的分片都已到达后面不再有任何这个数据包的分片了因此这一位译为“还有更多分片”More Fragments位。标记位一共有3位至于第1位的用途IP协议并没有进行定义。
分片偏移Fragment Offset分片偏移字段的作用是告诉重组分片的设备应该按照什么样的顺序重组数据包。即用来标识这个分片在整个数据包中的位置。
生存时间Time To Live生存时间字段本来的目的是对数据包在网络中传输的时间进行倒计时一旦生存时间字段标识的时间耗尽即使这个数据包还没有传输到目的设备它也会被网络设备丢弃。设置这个字段的目的显然为了防止数据包在网络中无限地消耗传输资源。然而由于数据包在网络中传输的时间远比预计得要快很多因此这个字段目前的用法是对数据包在网络中传输的跳数进行限制。始发数据包每经过一跳路由设备设备在转发时就会将其生存时间字段的数值减1直至该数据包被丢弃。
协议Protocol协议字段的作用是标识IP协议上层所使用的协议如TCP或UDP等以便让对端设备知道该如何在传输层对数据包进行进一步的解封装。
头部校验和Checksum这个字段的作用是供接收方检测数据包的头部在传输过程中是否出现了错误。由于数据包头部在传输中出现错误可能意味着目的地址等重要参数已经与始发时不同因此这个数据包已经没有继续传输的价值。在大部分情况下路由器会丢弃头部校验和字段校验失败的数据包。
源IP地址Source IP Address源IP地址的作用是标识该数据包源设备的IPv4地址。
目的IP地址Destination IP Address目的IP地址的作用是标识该数据包目的设备的IPv4地址。
可选项OptionIP协议支持设备对数据包封装的头部格式进行扩展这是IP协议的设计者为后来者按照需求改造协议预留的空间。在设计可选项字段时人们最初定义了5个可选项其中包括在数据包的源站点指定数据包的全部或部分传输路径、记录数据包传输过程中经过的路由器等服务。但由于很多路由器并不支持可选项服务因此可选项字段的使用并不广泛。可选项字段虽然很少使用但它的存在导致了IPv4数据包头部的长度无法固定这就是IP协议需要定义一个头部长度字段的原因。这就意味着可选项字段的定义降低了IPv4协议的传输效率所以这个字段在IPv6协议定义的数据包头部字段中已经取消。 2.路由
无论哪个版本的IP协议都可以为寻址提供逻辑地址。不过仅仅定义逻辑地址尚不足以将数据从源设备发送给目的设备要想实现真正的通信还需要通过其他协议来界定联网设备如何使用逻辑地址实现寻址。 使用逻辑地址实现全局寻址的方式涉及一系列的问题包括
联网设备相互之间如何分享路径信息这些设备如何根据其他设备分享的路径信息找出一条从自己通往目的网络的路径如果去往同一网络拥有多条不同路径这些设备如何判断它们的优劣等
充当名词时路由是路由条目的简称表示转发设备之间为了跨网络转发数据包而相互传播的路径信息。
充当动词时路由表示路由器或其他依据逻辑地址转发数据包的设备对数据包所执行的转发操作。
在默认情况下一台路由器只拥有直连Directly Connected网络的路由所有非直连网络的路由则超出了路由器默认掌握的信息范畴。然而路由器却常常需要将数据包转发给非直连网络为此路由器之间就需要共同遵循某些相互分享路由的标准以便相互交换彼此掌握的路由信息这类标准称为路由协议。