网络中数据传输过程解析
比如有一个网络: 1、PC-A、PC-B、PC-C、PC-D都有一个MAC地址,路由器是不是也有一个MAC地址?
2.不管是二层还是三层交换机,在每个交换机的交换接口都有一个MAC地址,但此MAC地址不会在数据转发时起作用, 3.数据包的发包路由过程是一个较为复杂的过程,要首先了解数据包的封装结构。pc-a要发包给pc-c,如果pc-a没有知道pc-c的ip地址, 4.pc-a 与pc-c的mac设为相同不会影响正常通信,因为这两个主机所处的lan被广域网分割开来,通过上面发包的过程可了解不会有任何问题。 5.所谓网关,是说这样一种设备:如果主机要发包,就往这个设备发送。也就是说此设备要有路由功能或有去往外部网路的路径。 网络各层次物理设备区别(总结)
一层设备:中继器(repeater),集线器(hub) 网络设备都是按照层次划分滴,每一层滴设备都会具有所在层滴功能和特点。所以,把设备分层记忆会很简单。下次别人再说哪个设备是第几层滴,你就能很快滴知道这个设备大概滴功能是什么了.但是,功能并不局限于这个设备所在层。比如,路由器上有ping,ping是一个应用层程序。那么就能说路由器是一个七层设备吗?并不是这样滴。这些只是辅助功能,主要功能还是集中在三层。一层设备,主要功能就是对信号进行放大和整形。我们可以认为这样滴设备就是一条线缆一样。那么只不过这条线缆具有信号滴放大和整形滴作用。 所有的设备共享同一根总线,也就是说,所有的数据都会发到这个总线上。假设左上的机器要发给下面这台机器一个数据。那么数据到了总线上会向两端传输,这样,所有串在总线上的设备都会收到这个数据。不过,只有下面滴机器会处理和相应这个数据。这就是说总线型网络上,只要有一个设备占用了总线,其余滴数据就没有办法传输了。那要是其他设备传输了数据会怎么样呢?这个时候就会和总线上正在传输滴数据冲突了,两个数据发生碰撞之后就会损坏了。 所有连在同一个总线上滴设备,组成滴区域叫做冲突域。所以,需要一种机制来避免这样的冲突,来提高数据滴正确率。网络中传输滴数据会包含目的IP地址和目的MAC地址。右上滴机器看到这些内容和自己滴IP以及MAC不同,便不会处理这些数据。在总线型网络中,避免冲突滴方式是一种叫做CSMA/CD滴东东。 补充一下:他们两个都同时发出了数据。还是会发生冲突。冲突了咋办?这个就是CD=冲突检测 所有连在集线器上滴设备都有可能发生冲突。而且这些设备只能以半双工滴方式工作。之所以不能以全双工模式工作,是因为总线型网络上滴机器木有办法双向传输。 Carrier Sense Multiple Access with Collision Detection(CSMA/CD) 以太网使用一种叫做带冲突检测的载波监听多路访问(CSMA/CD)技术进行通信.这是一种比较友好的会话方式.比如你有话要说,但是你很礼貌的先听听看有没有别的人在说话(carrier sense),如果有人在说话,你就等他把话说完,你才开始说;如果没人说话,你就开始说.但是假如有2 个人同时说话怎么办?假如有2 个人同时说话了,双方一旦听到同时有除自己以外的人在说话的话(collision detection),就停止继续说话,2 个人都随机等待一段时间,然后其中1 个人再开始继续说话,另外那个人等他说完再接着说。是不是这样就不会发生冲突了呢?也不是。因为如果两个PC,同时侦听网络,都没有数据传输,他们两个都同时发出了数据。还是会发生冲突。冲突了咋办?这个时候两个数据会回退,等待一个随机滴时间再次侦听网络。注意,不是一个一定滴时间。因为如果是一定滴时间,两个还会同时发送数据,还是会发生冲突。所以是等待一个随机滴时间。 二层设备:网桥(Bridge),交换机(switch) 先说说这两个设备滴主要区别。主要有三点区别:1.网桥是靠软件实现滴,交换机靠ASIC硬件实现。所以交换机滴转发效率要比网桥快很多。2.网桥最多支持16个端口,交换机理论上可以无限支持。3.网桥分成很多种类,而交换机只是实现其中滴一个功能,就是透明网桥。 二层设备对于一层设备来说,提升滴功能就是可以认识二层地址了(二层地址有很多种,现阶段理解为MAC地址就行了)。认识二层地址滴好处就是不会像集线器那样,从一个端口收到数据,会转发到所有端口。二层设备是可以学习端口上连接滴设备滴MAC地址。所以,数据会根据二层设备上学习到滴MAC地址信息进行数据转发。 正是因为有了MAC地址表,所以才充分避免了冲突,因为交换机通过目的MAC地址知道应该把这个数据转发到哪个端口。而不会像HUB一样,会转发到所有滴端口。所以,交换机是可以划分冲突域滴。因为冲突会导致网络传输效率降低。所以划分多个冲突域,减小冲突域范围是很有必要滴。
还是先说这两个滴区别:1.三层交换机端口多于路由器。但是三层交换机只有快速以太口和吉比特以太口,不如路由器接口种类丰富。2.三层交换机滴路由功能是通过在二层交换机上增加一个路由模块来完成。只是一块ASIC卡。所以三层处理能力不如路由器(不是转发能力)。 在三层设备上,比二层设备更突出的一个功能就是能够隔离广播域。在一层和二层设备上,广播是会被发到所有滴端口,除了发出广播滴端口。这个功能是通过一个叫做路由表滴东东实现滴。这个类似于交换机里面滴MAC地址表。但是这里面放滴是IP地址信息。 路由器不像交换机,交换机不配置滴话也是可以正常使用滴。路由器是必须要配置滴,至少要给每一个接口上配置一个IP地址,路由器才能够正常滴工作。记住一点,路由器上每个接口滴IP地址不能够在同一个网段(不懂滴这里先记下,网段这个概念在讲IP地址之后就懂了)。 广播是不能够透过路由器滴接口从一端转发到另一端滴(严格来讲,这种说法是错误滴,不过现阶段讲错在哪就多了,所以暂且认为路由器可以隔离所有广播)。这样,我们就可以靠路由器来隔离广播域了。因为很多协议都是基于广播实现滴(比如ARP和DHCP等),所以,网络中广播多了也会影响网络滴性能。隔离广播域也是很必要滴。是接收处理,但不转发。因为在同一个网段滴广播,任何本网段内滴设备都必须处理.三层交换机接口分为两种,一个是switchport,一个是routed port。缺省情况下,所有滴都是switchport。switchport只能配置VLAN信息,trunk信息。不能配置IP地址。 先说什么是面向连接什么是无连接。面向连接滴意思就是说,在传输数据之前,会先在源和目的地之间建立一个逻辑滴连接信道。后面传输滴所有数据都会从这个建立滴逻辑连接上传输。无连接滴意思则是指会如图,A是源,E是目的。如果是面向连接滴传输,在传输之前会先协商起一个逻辑滴路径。比如走A-C-D-E这个路线。那么后续滴所有数据都会通过这个路线传输到目的地。如果是无连接滴传输,那么每个数据包都可以任意走任何路线。比如第一个数据包走A-B-E这条路,第二个有可能走A-E这条路线。 什么是可靠什么是不可靠呢?可靠就是指有确认机制,如果没有确认滴数据包,源会主动滴重发。这样,保证了数据包肯定到达了对端。不可靠就是没有这种确认机制。如果有传输滴错误,导致有些包没有到达。对端,则需要靠上层滴协议或者应用程序来解决重传滴问题。 TCP是面向连接可靠传输。所以,TCP传输是可靠性高,但是效率会比较低下。UDP是无连接不可靠传输,所以UDP有可能会有错误,但是效率会比较高.现在网络线路滴可靠性很高,不容易出错。所以UDP是一种对延迟要求很高滴应用很好滴选择。现在滴video和voice基本都是基于UDP协议滴。 |
|
来自: 王霄 > 《网络系统工程(师)技术》