光端机,防火墙,路由器,交换机。
具体要看你们的网络拓扑,或者看你们的预算。
我还有一些补充,因为我也面临着跟你一样的情况,公司进行网络架构,我也查了一些相关资料
先说大体,光端机进入,连入企业级交换机,主服务器,备份服务器,企业级交换机下,每层楼连接部门级交换机,部门服务器,每个办公室用普通交换机相连。你可以以每个办公室为一个子网,同楼层的所有办公室继续归类于一个子网,所有楼层到一房就是一个整体的网络,还可以根据需要在主服务器的同级增加ERP,OA。我就打算用此类方法为我们公司进行网络架构***,VLAN。这样的话整个公司内部可以互相访问,公司整体可以登录外网。可以对外网人员进行授权使其可以登录公司内网。我觉得这些功能对一般的公司已经足够了。
纯手打,希望采纳。
在局域网中, 硬件地址 又称为 物理地址 或者 MAC地址 (因为这种地址用在MAC帧中)
IEEE 802标准为局域网规定了一种48位(6字节)的全球地址,固化在适配器的ROM中。
如果计算机中或者路由器有多个适配器,那么这样的主机或者路由器就有多个“地址”,更准确的说,这种48位“地址”应当是某个接口的标识符。
IEEE的注册管理结构RA是局域网全球地址的法定管理机构,它负责分配地址字段6个字节中的前三个字节。 世界上凡是要生产局域网适配器的厂家都必须向IEEE注册管理结构购买由这三个字节构成的号(地址块) ,这个号的正式名称为 组织唯一标识符OUI ,通常也叫公司标标识符。
以太网适配器还可以设置为一种特殊的工作方式,即 混杂模式 ,工作在混杂模式的适配器只要“听到”有帧在以太网上就可以悄悄传输接收下来,而不管帧发送到哪里。
常用的以太网MAC帧格式有两种,一种是DIX Ethernet V2标准(以太网V2标准),另一种是IEEE的8023标准。这里介绍使用最多的以太网V2的MAC帧格式(图3-22)。图中假定网络层使用的是IP协议。
以太网V2的MAC帧比较简单,由5个字段组成。前两个字段分别为6字节长的 目的地址 和 源地址 字段。第三个字段为2字节的 类型字段 ,用来标识上一层(例如网络层)使用的是什么协议,以便把收到的MAC帧的数据上交给上一层的这个协议。例如,当协议字段为0x0800代表上层网络层使用的是IP数据报;若类型为0x8137表示的是上层是从Novell IPX发过来的。第四个字段是 数据字段 ,其长度为46-1500字节之间(最小长度64字节减去首部和尾部以及类型的长度18)。第五个字段为4字节的 帧检验序列FCS(使用CRC校验) 。
MAC层怎么知道从从接收到的以太网帧取出多少字节交付给上一次层呢?这时候我们需要说一下曼彻斯特编码,曼彻斯特编码的重要一个特点是:在曼彻斯特编码的每一个码元的正中间一定有一次电压转换(由高到低或者由低到高)。当发送方把一个以太网帧发送完毕后,就不再发送其它码元了(既不发送0,也不发送1)。因此,发送方的网络适配器上的接口上的电压就不会发生变化了。这样,接收方就可以很容易找到以太网帧的结束位置。在这个位置上往前移4字节(FCS校验4字节),就能确定数据字段的结束位置。
当数据字段的长度小于46字节时候,MAC子层就会在数据字段加入一个整数字段进行填充,以保证以太网的帧不小于64字节。
从图3-22还可以看出,在传输媒体上实际传送的要比MAC帧还多8个字节,这是因为当一个站在刚开始接收MAC帧时,由于适配器的时钟尚未与到达的比特流达成同步,因此MAC帧的最前面的若干位就无法接收,结果使得整个MAC帧成为无用的帧。为了接收端迅速的实现位同步,从MAC层向下物理层还要帧的前面插入8字节(由硬件生成),它由两个字段构成。第一个字段时7字节的 前同步码(1和0交替码) ,它的作用是使接收端的适配器在接收MAC帧的时候能够迅速调整其时钟频率,使它和发送端的时钟同步,也就是 实现位同步 ,第二个字段是 帧开始定界符 ,定义为10101011,它的前6位作用和前同步码一样,最后两个连续的1就是告诉接收端适配器:“MAC帧信息就要来了,请适配器注意接收”。
在以太网上传送数据时是以 帧 位单位传送的。以太网在传送帧时,各帧之间还必须有一定的间隙。因此,接收端只要找到帧开始定界符,其后面的连续到达的比特流就属于同一个MAC帧。可见以太网不需要使用帧结束定界符。
扩展的以太网再网络层看起来仍然是一个网络
以太网上的主机之间的距离不能太远,否则主机发送的信号经过铜线传输就会衰减到CSMA/CD协议无法正常工作。
现在,扩展主机和集线器之间的距离的一种办法就是使用光纤和一堆光纤调制解调器。如图3-23:所示:
光纤调制解调器的作用是进行电信号与光信号的转换。由于光纤带来的时延很小,并且带宽很宽,因此使用这种方法可以很容易的使主机从几千公里以外的集线器相连。
扩展以太网更常用的方法是在数据链路层上进行。最初人们使用的是 网桥 ,网桥对接收到的帧根据其目的MCA地址进行 转发 和 过滤 。
在1990年出现了 以太网交换机
以太网交换机实质上就是一个 多接口的网桥 ,以太网交换机的每个接口都直接与一台计算机或者另一台以太网交换机相连。并且一般都是工作在 全双工方式 ,以太网交换机还具有 并行性 ,即能同时联通多对接口,使多对主机能同时通信(而网桥只能一次分析和转发一个帧),相互通信的主机都是 独占传输媒体,无碰撞的传输数据 。
以太网的接口还有存储器,能在输出端口繁忙时把到来的帧进行缓存。因此,如果以太网交换机上的两台主机,同时向另一台主机发送帧,那么当这台主机上的接口繁忙时,发送帧的这两台主机的接口会把收到的帧暂存一下,以后再发送出去。
以太网交换机是一种即插即用的设备,其内部的帧交换表(又称地址表)是通过 自学习 算法自动逐渐建立起来的。以太网交换机由于使用了专门的交换结构芯片,用硬件转发,其转发速率往往比要使用软件转发快得多。
使用一个简单的例子说明交换机是怎样进行学习的。
假定在图3-25中以太网有4个接口,各连接一台计算机,其MAC地址分别为A,B,C,D。一开始交换机里面的交换表使空的。(图3-25(a))
A向B发送一帧,从端口1进入到交换机,交换机在接收到帧后,先查找交换表,没有查到应从哪个接口转发这个帧(在MAC地址这列中,找不到目的地址为B的主机)。接着,交换机把这个帧的源地址A和接口2写入到交换表中,并向除接口1以外的所有接口广播这个帧。
C,D丢弃掉这个帧,因为目的地址不对,只有B收下这个帧,这也称之为 过滤 。
从新写入交换表的项目(A,1)可以看出,以后不管从哪一个接口收到帧,只要其目的地址是A,就应当把收到的帧从接口1转发出去。这样做的依据是: 既然A发出的帧是从接口1进入到交换机的,那么从交换机的接口1转发出去的帧也应当可以到达A 。经过一段时间后,交换表中的项目就齐全了。
有时候交换机上的接口更换主机,或者主机更换了网络适配器,这就需要更改交换表中的项目。为此,在交换表中每个项目都设有一定的有效时间,过期的项目就会被自动删除,用这样的方法保证交换表中的数据都符合当前网络的实际情况。
以太网交换机的这种自学方法不需要人工进行配置,非常的方便。
但有时候为了增加网络的可靠性,在使用以太网交换机组件网络的时候,往往会增加一些冗余的链路。在这种情况下,自学习的过程就可能导致以太网帧在网络的某一个环路中无限制的兜圈子,白白消耗了网络资源,如图3-26:
为了解决兜圈子问题,IEEE的8021D标准制定了一个 生成树协议STP ,其要点的协议是不改变网络的实际拓扑,但在逻辑上切断某些链路。使得从一台主机到其他主机的路径是无环路的树状结构,从而避免广播风暴大量占用交换机的资源。
生成树STP协议原理:任意一交换机中如果到达根网桥有两条或者两条以上的链路,生成树协议都根据算法把其中一条切断,仅保留一条,从而保证任意两个交换机之间只有一条单一的活动链路。因为这种生成的拓扑结构,很像是以根交换机为树干的树形结构,故为生成树协议。
总线以太网使用了CSMA/CD协议,以半双工进行通信,但是以太网交换机采用的是全双工通信,并不是使用CSMA/CD协议,为什么还叫以太网?原因是它的 帧结构未发生变化,仍然采用以太网的帧结构 。
利用以太网交换机可以很方便的实现 虚拟局域网(VLAN) ,在IEEE8021Q标准中,对虚拟局域网是这样定义的:虚拟局域网是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网络具有某些共同的需求,每一个VLAN帧都有一个明确的标识符,指明发送这个帧的计算机属于哪一个VLAN。
从通信和处理信息的角度看,运输层是向它上面的应用层提供通信服务的,它属于面向通信部分的最高层,同时也是用户功能中的最低层。当网络的边缘部分中的两台主机使用网络的核心部分的功能进行端到端的通信时,只有主机的协议栈才有运输层,而网络核心部分中的路由器在转发分组时都只用到下三层的功能。
运输层的两个主要协议 TCP/IP 都是互联网的正式标准,即:
(1)用户数据报协议UDP
(2)传输控制协议TCP
TCP则是面向连接的服务。在传送数据之前必须先建立连接,数据传送结束后要释放连接。TCP不提供广播或者多播服务。由于TCP要提供可靠的面向连接的运输服务,因此需要增加很多的开销。
TCP/IP的运输层用一个16位端口号来标志一个端口。端口号只有本地意义。它是为了标志本计算机应用层中的各个进程在和运输层交互时的层间接口。
运输层的端口号分为以下两类:
(1)服务器端使用的端口号: 它主要分为系统端口号0~1023和登记端口号1024~49151。
(2)客户端使用的端口号: 49152~65535,这类端口号仅在客户端进程运行时才动态选择。当服务器收到客户端进程的报文时,就知道客户端进程的端口号。因而可以把数据发送给客户进程。
用户数据报协议相比于IP的数据报服务就是只增加了复用、分用和差错检测功能。UDP的主要特点是:
(1)UDP是无连接的, 发送数据之前不需要建立连接,因此减少开销和发送数据之前的时延。
(2)UDP使用尽最大努力交付, 即不保证可靠交付,因此主机不需要维持复杂的连接状态表。
(3)UDP是面向报文的。 发送方的UDP对应用交下来的报文,添加首部后就向下交付给IP层。不对报文做任何处理,因此当报文过长时,IP层可能需要进行分片处理。
(4)UDP没有拥塞控制, 网络出现的拥塞不会使源主机的发送速率减低。
(5)UDP支持一对一、一对多、多对一和多对多的交互通信。
(6)UDP的首部开销小, 只有8个字节。
UDP有两个字段:数据字段和首部字段。先介绍首部字段,它是由4个字段组成的,每个字段只有2个字节,总共有8个字节。各个字段的意义如下:
(1)源端口: 源端口号。在需要对方回信时选用。不需要时可用全0。
(2)目的端口: 目的端口号。在这终点交付报文时必须使用。
(3)长度: UDP用户数据报的长度,其最小值是8(只有首部)。
(4)检验和: 检测UDP用户数据报在传输中是否有错,有错则丢弃。
当在传送用户数据报时,如果接收方UDP发现收到的报文中目的端口号不正确(即不存在对应于该端口号的应用进程),就丢弃该报文,并由网际控制报文协议ICMP发送“端口不可达”差错报文给发送方。
TCP的主要特点如下:
(1)TCP是面向连接的运输层协议。 应用程序在使用TCP协议之前,必须先建立TCP连接。传送数据完毕后,必须释放TCP连接。
(2)每一条TCP连接只能有两个端点。 每一条TCP连接只能是点对点的。
(3)TCP提供可靠交付的服务。 通过TCP连接传送的数据,无差错、不丢失、不重复,并且按序到达。
(4)TCP提供全双工通信。 TCP允许通信双方的应用进程在任何时候都能发送数据。
(5)面向字节流。 TCP中的流指的是流入到进程或进程流出的字节序列。虽然应用程序和TCP的交互是一次一个数据块,但TCP把应用程序交下来的数据看成一连串的无结构的字节流。TCP不保证发送方发送的数据块和接收方接收的数据块一致,但保证程序接收到的字节流和程序发送的字节流一致。
TCP连接的端点叫做套接字或者插口。套接字是指将端口号拼接到IP地址之后,即:
每一条TCP连接唯一的被通信两端的两个端点所确定。即:
如图所示,A发送分组M1,发送完毕就暂停发送,等待B的确认,B收到了M1就向A发死你确认。A在收到了对M1的确认之后,就再发送下一个分组M2,以此类推。
如图所示,当B接收M1时检测出了差错,就丢弃M1,其他什么也不做。而A只要超过了一段时间没有收到确认,就会认为刚才发送的分组丢失了,因而重传前面发送过的分组,这就叫做超时重传,而实现超时重传则需要A为每一个已发送的分组都设置一个超时计时器。
需要注意以下三点:
(1)A在发送完一个分组后,必须暂时保留已发送的分组的副本。
(2)分组和确认分组必须编号,这样才能明确哪一个发出的分组收到了确认。
(3)超时计时器设置的重传时间应当比数据在分组传输的平均往返时间更长。
如图所示,B所发送的对M1确认丢失了,A在设定的超时重传时间内没有收到确认,所以无法知道自己发送的分组是怎样出错的,所以会重传M1,而当B又收到了重传的分组M1,这时应该采取两个行动:
(1)丢弃这个重复分组M1。
(2)向A发送确认。
还有一种情况就是在传输过程中没有出现差错,但B对分组M1的确认迟到了,而A会收到重复的确认,A收下后就会丢弃,B仍然会收到重复的M1,并且同样要丢弃重复的M1,并且重传确认分组。
停止等待协议的优点是简单,缺点则是信道的利用率太低。我们用TD表示A发送分组需要的时间,TA表示B发送确认分组需要的时间,RTT为往返时间,则:
为了提高传输的效率,发送方可以不使用低效率的停止等待协议,而是采用流水线传输的方式。即不必每发完一个分组就停下来等待对方的确认,这样就可以使信道上一直有数据在不间断的传送。
如图表示的是发送方维持的发送窗口,它指的是位于发送窗口内的5个分组都可以连续发送出去而不需要等待对方的确认。同时连续ARP协议规定,发送方每收到一个确认,就把发送窗口向前滑动一个分组的位置。
对于接收方采用的则是累计确认的方式,即接收方不必对收到的分组逐个发送确认。而是在收到几个分组后,对按序到达的最后一个分组发送确认,这就表示:到这个分组为止的所有分组都已正确收到了。这种方式的优点是:容易实现,即使确认丢失也不必重传(意思是发送方不必重传)。但缺点是不能向发送方反映出接收方已经正确收到的所有分组信息。
TCP虽然是面向字节流的,但传送TCP的数据单元却是报文段。一个TCP报文段可以分为首部和数据两部分。
为了后面讲述的方便,我们假设数据传输只在一个方向进行,即A发送数据,B给出确认。
TCP的滑动窗口是以字节为单位的。如图所示,现在假定A收到了B发来的确认报文段,其中的窗口是20字节,而确认号是31,根据这2个数据,A就构造出自己的发送窗口。
发送窗口表示:在没有收到B的确认的情况下,A可以连续把窗口内的数据都发送出去。凡是已经发送过的数据,在未收到确认之前都必须暂时保留,以便在超时重传时使用。发送窗口后面的部分表示已发送且已经收到了确认。而发送窗口前沿的部分表示不允许发送的。
现在假定A发送了序号为31~41的数据。这时发送窗口位置并未改变但是发送窗口内靠后面有11个字节表示已发送但是未收到确认。而发送窗口内靠前面的9个字节时允许发送但未发送的。如图所示:
而对于B,它的接收窗口大小是20,在接收窗口外面到30号位置的数据是接收并确认的,因此可以丢弃。在下图中,B收到了32和33的数据,但它们不是按序到达的,因为并没有收到31号数据。B只能对按序达收到的数据中的最高序号给出确认,因此B发送的确认报文字段的确认号依然是31号。
现在假定B收到了序号为31的数据,并把31~33的数据交付主机,然后B删除这些数据。接着把窗口向前移动3个序号,同时给a发送确认,其中的窗口值仍为20,但确认号变为34。表明B已经收到序号33为止的数据。
因为TCP的发送方在规定的时间内没有收到确认就要重传已经发送的报文段,但是重传时间的选择却TCP最复杂的问题之一。为此TCP采用了一种自适应算法,它记录了一个报文段发出的时间以及收到相应的确认的时间。这两个时间之差就是报文段的往返时间RTT,同时TCP保留了RTT的加权平均往返时间RTTs。而RTTD是RTT的偏差加权平均值,它与RTTs和新的RTT样本之差有关。
超时重传时间的算法如下:
第一次测量时,加权平均往返时间取往返时间RTT,以后每次测量到一个新的RTT,按以下公式计算:
第一次测量时,RTT偏差的加权平均等于RTT的一半,以后的测里中,按以下公式计算:
综上超时重传时间RTO计算如下:
若收到的报文无差错,只是未按序号,使用选择确认SACK可是让发送方发送那些未收到的数据,而不重复发送已经收到的那些数据。如果要使用选择确认SACK,那么在建立TCP连接时,就要在TCP首部的选项中加上“允许SACK”的选项,并且双方必须都事先商量好。
流量控制就是指让发送方的发送速率不要太快,要让接收方来得及接收。而利用滑动窗口机制就可以很方便的在TCP连接上实现对发送方的流量控制。
如上图所示,接收方B进行了三次流量控制。第一次把窗口减小到rwnd=300,第二次又减到rwnd=100,最后是rwnd=0,即不允许发送方再发送数据了。
但是我们应该考虑一种情况,就是当接收方B的存储已满时,会向发送方发送零窗口的报文段,接着B的存储又有了一些空间,B再向A发送一个不为零的窗口值,但这个报文丢失了,结果就是双方一直等待下去。所以为了解决这个问题,TCP为每一个连接设有一个持续计时器。只要TCP连接的一方收到对方的零窗口通知,就启动持续计时器,当计时器到期后,就发送一个探测段文段,而对方就在确认这个探测段时给出了现在的窗口值。如果窗口仍然是0,那么收到这个报文段的一方就重新设置持续计时器,反之则死锁的僵局就可以打破了。
应用程序把数据传送到TCP的发送缓存后,TCP在何时发送这些数据?,在TCP的实现中广泛使用了Nagle算法。具体算法如下:
(1)若发送应用进程要把数据逐个字节地送到TCP的发送缓存,则发送方就把第一个数据字节先发出去,把后面到达的数据字节都缓存起来。
(2)方发送方收到对第一个数据字节的确认后,再把发送缓存中的所有数据组装成一个报文发送出去,同时继续对后续到来的数据进行缓存。
(3)只有收到对前一个报文段的确认后才继续发送下一个报文段。
当数据到达快而网络速度慢时,这种方法可以明显减少网络带宽。Nagle还规定:当到达的数据达到窗口的一半或最大报文长度时就立即发送一个报文。
但还还需要考虑一个叫做糊涂综合征的问题,具体内容是若接收方的缓存已满,应用进程每次只从缓存中取1个字节,然后向发送方确认,并把窗口设为1个字节(缓存只空了1个字节的空间),接着发送方发来1个字节,接收方发回确认,仍然将窗口设为1,这样进行下去,网络的利用率很低。
为了解决这个问题,可以让接收方等待一段时间,使得或者缓存已有足够的空间或者等到接收缓存已有一半的空闲空间。此时,接收方就发出确认报文,并向发送方通知当前窗口的大小。
拥塞 是指在某一段时间内,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏的情况。而所谓的 拥塞控制 就是防止过多的数据注入到网络当中,这样可以使网络中的路由器或者链路不致过载,它是一个全局性的过程,涉及到所有的主机和路由器,而流量控制往往是指点对点通信量的控制。拥塞控制所要做的都有一个前提,就是网络能够承受现有的网络负荷。
TCP进行拥塞控制的算法有4种:慢开始、拥塞避免、快重传和快恢复。下面在讨论这些算法时我们假定:
(1)数据是单方向传送的,对方只传送确认报文。
(2)接收方总是有足够大的缓存空间。
发送方维持一个拥塞窗口的状态变量,其大小取决于拥塞程度,并且动态变化。发送方让自己的发送窗口小于拥塞窗口(如果考虑接收方的接收能力的话,发送窗口可能小于拥塞窗口)。发送方控制拥塞窗口的原则是:只要网络没有拥塞,拥塞窗口就再增大一点,以便把更多的分组发送出去,只要出现拥塞,就减小拥塞窗口,以减少注入到网络的分组数。
下面会从“慢开始算法”讲起来讨论拥塞窗口的大小如何变化的。
慢开始的算法思路是:当主机开始发送数据时,由于并不清楚网络的负荷情况,所以如果立即把大量数据字节注入到网络中,就有可能引起网络拥塞。因此会采用由小逐渐增大发送窗口。即在通常开始发送报文时,先将拥塞窗口cwnd的值设为一个最大报文段MSS的数值,而在每收到一个新的报文段确认后,把拥塞窗口增加至多一个MSS的数值。
如上图所示,开始时cwnd=1,发送方发送一个M1,接收方收到M1发送确认,发送方收到一个确认后将cwnd加1,此时cwnd=2,因此发送方发送M2和M3两个报文段,接收方收到后返回两个确认,因此cwnd增加两次,此时cwnd=4,接着发送方发送M4~M7四个报文段。依次类推。因此使用慢开始算法后,每经过一个传输轮次,拥塞窗口就加倍。
但是为了防止拥塞窗口cwnd增加过大导致网络拥塞,需要设置一个慢开始门限ssthresh,慢开始门限用法如下:
当cwnd<ssthresh时,使用上述的慢开始算法。
当cwnd>ssthresh时,停止使用慢开始算法,使用拥塞避免算法。
当cwnd=ssthresh时,既可以使用慢开始算法,也可以使用拥塞避免算法。
这里的拥塞避免算法是指让拥塞窗口缓慢的增大,即每经过一个往返时间RTT就把发送方的拥塞窗口cwnd加1,而不是像慢开始阶段那样加倍增长。
需要注意的是无论在慢开始阶段还是拥塞避免阶段,只要发送方判断网络出现拥塞(根据是没有按时收到确认),立即把慢开始门限ssthresh设为出现拥塞时的发送窗口的一半。然后发送窗口cwnd重新设为1,执行慢开始算法。目的是迅速减少主机发送到网络分组的分组数。
快重传算法要求接收方每收到一个失序的报文段后就立即发送重复确认,如下图接收了M1和M2后,又接收到一个M4,M4属于失序报文,则发送对M2的重复确认。发送方只要连续收到三次确认重复就立即重传对方未收到的报文段M3。
与快重传算法配合的还有快恢复算法,过程如下:
(1)当发送方连续收到三个重复确认时,就把慢开始门限ssthresh减半,这是为了防止网络拥塞,接着并不执行慢开始算法。
(2)由于上图这种情况很可能不是因为网络拥塞引起的,因此这里不执行慢开始算法(即不把拥塞窗口cwnd设为1,这样速度太慢),而是把cwnd值设置为慢开始门限ssthresh减半后的数值,然后开始执行拥塞避免算法。
TCP的运输连接有是三个阶段:连接建立、数据传送和连接释放。在TCP的连接过程中要解决以下三个问题:
(1)要使每一方能够确知对方的存在。
(2)要允许双方协商一些参数(如最大窗口值、是否使用窗口扩大选项和时间戳选项以及服务质量)。
(3)能够对运输实体资源进行分配。
TCP建立连接的过程叫做握手,握手需要在客户和服务器之间交换3个TCP报文段。如图是三报文握手建立的连接过程:
A最后还要发送一次确认的原因是为了防止已经失效的连接请求报文段突然又传送到了B,因而产生错误。试想一种情况:如果只有第一次和第二次握手,第二次B向A发送的确认丢失了,此时B进入了连接建立状态,A没有收到确认,过一段时间后会再次向B发送连接请求,B收到后又会再次建立连接,白白浪费B的资源。
A在TIME-WAIT状态等待2MSL(MSL,最长报文段寿命),主要是因为以下两点考虑:首先是为了保证A发送的最后一个ACK报文段能够到达B,因为这个ACK报文段可能丢失,此时B会重传连接释放报文,如果A已经关闭,则无法收到这个报文。其次,当A在发送完最后一个ACK报文段后,再经过时间2MSL,就可以使本连接持续时间内产生的所有报文段都从网络中消失。这样,下一个新连接中不会出现这种旧的连接请求报文段。
在图中每一个方框即TCP可能具有的状态。每个方框中的大写英文字符串时TCP标准所使用的的TCP连接状态名。状态之间的箭头表示可能发生的状态变迁。箭头旁边的字表明引起这种变迁的原因,或表明发生状态变迁后又出现什么动作,在图中粗实线箭头表示对客户进程的正常变迁,粗虚线箭头表示对服务器进程的正常变迁,细线箭头表示异常变迁。
OSI的七层协议体系结构的概念清楚,理论也比较完整,但它既复杂又不实用,TCP/IP体系结构则不同,它现在已经得到了非常广泛的应用,TCP/IP是一个四层的体系结构,它包含应用层、运输层、网际层和网络接口层(用网际层这个名字是强调这一层是为了解决不同网络的互连问题 ),不过从实质来讲,TCP/IP只有最上面的三层,因为最下面的网络接口层基本上和一般的通信链路的功能上没有多大差别,对于计算机网络来说,这一层并没有什么特别新的具体的内容,因此在学习计算机网络原理是往往采用折中的办法,即综合OSI和TCP/IP的优点,采用一种只有五层协议的体系结构,这样既简洁又能将概念阐述清楚
计算机网络中五层协议分别是(从下向上):
1) 物理层
2)数据链路层
3)网络层
4)传输层
5)应用层
其功能分别是:
1)物理层主要负责在物理线路上传输原始的二进制数据;
2)数据链路层主要负责在通信的实体间建立数据链路连接;
3)网络层主要负责创建逻辑链路,以及实现数据包的分片和重组,实现拥塞控制、网络互连等功能;
4)传输曾负责向用户提供端到端的通信服务,实现流量控制以及差错控制;
5)应用层为应用程序提供了网络服务。
一般来说,物理层和数据链路层是由计算机硬件(如网卡)实现的,网络层和传输层由 *** 作系统软件实现,而应用层由应用程序或用户创建实现。
希望以上的回答能够让你满意。
对于计算机或计算机网络来说,他包含了很多种硬件设备,如计算机本身、网卡、交换机、路由器等。但硬件本身并不能工作,就像一台新买回来的电脑没有安装 *** 作系统(如:Windows XP),它除了会浪费电以外,什么也干不了。所以能让这些硬件设备所工作的是设备所安装的软件系统,及“协议”。而这些软件协议又很多,又很复杂,人们为了把这些复杂的协议让人更容易 *** 作、理解、学习。就把这些协议按照不同的功能分为七类,及七层,每一层的协议按照自己特定的功能去工作。去实现对数据的传输。
首先我们要了解OSI七层模型各层的功能。
第七层:应用层 数据 用户接口,提供用户程序“接口”。
第六层:表示层 数据 数据的表现形式,特定功能的实现,如数据加密。
第五层:会话层 数据 允许不同机器上的用户之间建立会话关系,如WINDOWS
第四层:传输层 段 实现网络不同主机上用户进程之间的数据通信,可靠
与不可靠的传输,传输层的错误检测,流量控制等。
第三层:网络层 包 提供逻辑地址(IP)、选路,数据从源端到目的端的
传输
第二层:数据链路层 帧 将上层数据封装成帧,用MAC地址访问媒介,错误检测
与修正。
第一层:物理层 比特流 设备之间比特流的传输,物理接口,电气特性等。
下面是对OSI七层模型各层功能的详细解释:
OSI七层模型 OSI 七层模型称为开放式系统互联参考模型 OSI 七层模型是一种框架性的设计方法
OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主
要的功能使就是帮助不同类型的主机实现数据传输
物理层 : O S I 模型的最低层或第一层,该层包括物理连网媒介,如电缆连线连接器。物理层的协议产生并检测电压以便发送和接收携带数据的信号。在你的桌面P C 上插入网络接口卡,你就建立了计算机连网的基础。换言之,你提供了一个物理层。尽管物理层不提供纠错服务,但它能够设定数据传输速率并监测数据出错率。网络物理问题,如电线断开,将影响物理层。
数据链路层: O S I 模型的第二层,它控制网络层与物理层之间的通信。它的主要功能是如何在不可靠的物理线路上进行数据的可靠传递。为了保证传输,从网络层接收到的数据被分割成特定的可被物理层传输的帧。帧是用来移动数据的结构包,它不仅包括原始数据,还包括发送方和接收方的网络地址以及纠错和控制信息。其中的地址确定了帧将发送到何处,而纠错和控制信息则确保帧无差错到达。
数据链路层的功能独立于网络和它的节点和所采用的物理层类型,它也不关心是否正在运行 Wo r d 、E x c e l 或使用I n t e r n e t 。有一些连接设备,如交换机,由于它们要对帧解码并使用帧信息将数据发送到正确的接收方,所以它们是工作在数据链路层的。
网络层: O S I 模型的第三层,其主要功能是将网络地址翻译成对应的物理地址,并决定如何将数据从发送方路由到接收方。
网络层通过综合考虑发送优先权、网络拥塞程度、服务质量以及可选路由的花费来决定从一个网络中节点A 到另一个网络中节点B 的最佳路径。由于网络层处理路由,而路由器因为即连接网络各段,并智能指导数据传送,属于网络层。在网络中,“路由”是基于编址方案、使用模式以及可达性来指引数据的发送。
传输层: O S I 模型中最重要的一层。传输协议同时进行流量控制或是基于接收方可接收数据的快慢程度规定适当的发送速率。除此之外,传输层按照网络能处理的最大尺寸将较长的数据包进行强制分割。例如,以太网无法接收大于1 5 0 0 字节的数据包。发送方节点的传输层将数据分割成较小的数据片,同时对每一数据片安排一序列号,以便数据到达接收方节点的传输层时,能以正确的顺序重组。该过程即被称为排序。
工作在传输层的一种服务是 T C P / I P 协议套中的T C P (传输控制协议),另一项传输层服务是I P X / S P X 协议集的S P X (序列包交换)。
会话层: 负责在网络中的两节点之间建立和维持通信。 会话层的功能包括:建立通信链接,保持会话过程通信链接的畅通,同步两个节点之间的对 话,决定通信是否被中断以及通信中断时决定从何处重新发送。
你可能常常听到有人把会话层称作网络通信的“交通警察”。当通过拨号向你的 I S P (因特网服务提供商)请求连接到因特网时,I S P 服务器上的会话层向你与你的P C 客户机上的会话层进行协商连接。若你的电话线偶然从墙上插孔脱落时,你终端机上的会话层将检测到连接中断并重新发起连接。会话层通过决定节点通信的优先级和通信时间的长短来设置通信期限
表示层: 应用程序和网络之间的翻译官,在表示层,数据将按照网络能理解的方案进行格式化;这种格式化也因所使用网络的类型不同而不同。
表示层管理数据的解密与加密,如系统口令的处理。例如:在 Internet上查询你银行账户,使用的即是一种安全连接。你的账户数据在发送前被加密,在网络的另一端,表示层将对接收到的数据解密。除此之外,表示层协议还对和文件格式信息进行解码和编码。
应用层: 负责对软件提供接口以使程序能使用网络服务。术语“应用层”并不是指运行在网络上的某个特别应用程序 ,应用层提供的服务包括文件传输、文件管理以及电子邮件的信息处理。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)