1、TCP/IP与OSI协议之间的相关性
那?TCP/IP?是如何运作的呢?我们就拿妳常常连上的?Yahoo?入口网站来做个说明好了,整个联机的状态可以这样看:
1?应用程序阶段:妳打开浏览器,在浏览器上面输入网址列,按下?[Enter]。此时网址列与相关数据会被浏览器包成一个数据,?并向下传给?TCP/IP?的应用层;
2?应用层:由应用层提供的?HTTP?通讯协议,将来自浏览器的数据报起来,并给予一个应用层表头,再向传送层丢去;
3?传送层:由于?HTTP?为可靠联机,因此将该数据丢入?TCP?封包内,并给予一个?TCP?封包的表头,向网络层丢去;
4?网络层:将?TCP?包裹包进?IP?封包内,再给予一个?IP?表头?(主要就是来源与目标的?IP?啰),向链结层丢去;
5?链结层:如果使用以太网络时,此时?IP?会依据?CSMA/CD?的标准,包裹到?MAC?讯框中,并给予?MAC?表头,再转成位串后,?利用传输媒体传送到远程主机上。
等到?Yahoo?收到你的包裹后,在依据相反方向拆解开来,然后交给对应的层级进行分析,最后就让?Yahoo?的?WWW?服务器软件得到你所想要的数据,该服务器软件再根据你的要求,取得正确的资料后,又依循上述的流程,一层一层的包装起来,?最后传送到你的手上!就是这样啰!
?
2、集线器
CSMA/CD?载波监听多路访问/冲突检测机制
集线器是一种网络共享媒体,什么是网络共享媒体啊?想象一下上述的环境就像一个十字路口,而集线器就是那个路口!?这个路口一次只允许一辆车通过,如果两辆车同时使用这个路口,那么就会发生碰撞的车祸事件啊!那就是所谓的共享媒体。?也就是说,网络共享媒体在单一时间点内,?仅能被一部主机所使用。
理解了共享媒体的意义后,再来,我们就得要讨论,那么以太网络的网卡之间是如何传输的呢?我们以上图中的?A?要发给?D?网卡为例好了,简单的说,?CSMA/CD?搭配上述的环境,它的传输情况需要有以下的流程:
1?监听媒体使用情况?(Carrier?Sense):A?主机要发送网络封包前,需要先对网络媒体进行监听,确认没有人在使用后,?才能够发送出讯框;
2?多点传输?(Multiple?Access):A?主机所送出的数据会被集线器复制一份,然后传送给所有连接到此集线器的主机!?也就是说,?A?所送出的数据,?B,?C,?D?三部计算机都能够接收的到!但由于目标是?D?主机,因此?B?与?C?会将此讯框数据丢弃,而?D?则会抓下来处理;
3?碰撞侦测?(Collision?Detection):该讯框数据附有检测能力,若其他主机例如?B?计算机也刚好在同时间发送讯框数据时,?那么?A?与?B?送出的数据碰撞在一块?(出车祸)?,此时这些讯框就是损毁,那么?A?与?B?就会各自随机等待一个时间,?然后重新透过第一步再传送一次该讯框数据。
3、路由器?
我的数据要由计算机?A?通过?B?后才送达?C?,而?B?计算机有两块网络卡,其中?MAC-2?与?A?计算机的?MAC-1?互通,至于?MAC-3?则与?C?计算机的?MAC-4?互通。但是?MAC-1?不能与?MAC-3?与?MAC-4?互通,为啥?因为?MAC-1?这块网络卡并没有与?MAC-3?及?MAC-4?使用同样的?switch/hub?相接嘛!所以,数据的流通会变成:
1?先由?MAC-1?传送到?MAC-2?,此时来源是?MAC-1?而目的地是?MAC-2;
2?B?计算机接收后,察看该讯框,发现目标其实是?C?计算机,而为了与?C?计算机沟通,?所以他会将讯框内的来源?MAC?改为?MAC-3?,而目的改为?MAC-4?,如此就可以直接传送到?C?计算机了。
也就是说,只要透过?B?(就是路由器)?才将封包送到另一个网域?(IP?部分会讲)?去的时候,?那么讯框内的硬件地址就会被改变,然后才能够在同一个网域里面直接进行讯框的流通啊!
?
集线器?【共享媒体】
交换机(switch/hub)【非共享媒体】
?路由器(route)【连接不通网络的】
?
4、交换机(switch)
集线器?(hub)?这个网络共享媒体就可能会发生碰撞的情况,?这是因为?CSMA/CD?的缘故。那有没有办法避免这种莫名其妙的封包碰撞情况呢?有的,那就使用非共享媒体的交换器即可啊!
交换器?(switch)?等级非常多,我们这里仅探讨支持?OSI?第二层的交换器。交换器与集线器最大的差异,在于交换器内有一个特别的内存,?这个内存可以记录每个?switch?port?与其连接的?PC?的?MAC?地址,所以,当来自?switch?两端的?PC?要互传数据时,每个讯框将直接透过交换器的内存数据而传送到目标主机上!?所以?switch?不是共享媒体,且?switch?的每个埠口?(port)?都具有独立的带宽喔!
举例来说,10/100?的?Hub?上链接?5?部主机,那么整个?10/100Mbps?是分给这五部主机的,?所以这五部主机总共只能使用?10/100Mbps?而已。那如果是?switch?呢?由于『每个?port?都具有?10/100Mbps?的带宽』,?所以就看你当时的传输行为是如何啰!举例来说,如果是底下的状况时,每个联机都是?10/100?Mbps?的。
A?传送到?D?与?B?传送到?C?都独自拥有?10/100Mbps?的带宽,两边并不会互相影响!?不过,如果是?A?与?D?都传给?C?时,由于?C?port?就仅有?10/100Mbps?,等于?A?与?D?都需要抢?C?节点的?10/100Mbps?来用的意思。?总之,你就是得要记得的是,switch?已经克服了封包碰撞的问题,因为他有个?switch?port?对应?MAC?的相关功能,?所以?switch?并非共享媒体喔!同时需要记得的是,现在的?switch?规格很多,?在选购的时候,千万记得选购可以支持全双工/半双工,以及支持?Jumbo?frame【其实就是巨型帧,比现在一般的以太网帧大】?的为佳!
?