集线器
最开始要使计算机之间实现通信,采⽤的是两台计算机之间互联通信线路。
这样的⽅式进⾏计算机之间的通信会耗费⼤量的通信资源,⽽且不⽅便管理。
窦靖童染白发被赞于是⼈们在这种模式上加⼊了转发和标识,转发就是通过集线器(Hub)进⾏代理转发,不⽤要求两两计算机之间都要连接通信线路,⽽只需要将所有的计算机与集线器Hub连接即可,如若发送数据由集线器代理转发。标识就是在计算机接收通过集线器转发的数据时,如果标识是本台计算机要接收的数据,那么接收,否则就会丢弃。
举个例⼦:
1要给4发送数据,那么⾸先1的数据会到集线器,然后由集线器⼴播(⽆条件转发)到2,3,4,5,然⽽2,3,5并不是要接收数据的标识,因此都丢弃数据,只有4接收数据。
这样的话就会存在⼀个问题,如果2也要发送数据,集线器⽆法分辨是1还是2发的数据,全部都⼴播出去,导致4可能接收到的数据是1和2的混合数据。
解决的办法就是采⽤CSMA/CD载波侦听检测链路上是否有⼈要发送数据,可以防⽌冲突。注意CSMA/CD是⽤在数据链路层的介质访问控制层(MAC层),管理着物理层,多⽤在以太⽹中。如果⽆线局域⽹,使⽤CSMA/CA。
但是集线器也会存在缺点:带宽利⽤率低,链路上只能由⼀个设备发送数据;集线器只适⽤于⼩规模⽹络⼯作于物理层。
交换机
曾江与谢贤事件怎么处理的⾸先交换机是维护着⼀张表(mac地址–端⼝),注意这个端⼝不是指的应⽤层的端⼝号,⽽是单纯的交换机的端⼝是⼏号。
其次交换机是可以实现全双⼯通信的,⽐如1号在发送数据时也可以接收数据。
奔流不息如果1要给3发送数据,1先发送给sw交换机,交换机再到⾃⼰维护的表中查计算机3的mac地址mac3对应的端⼝号是3,那么数据就从交换机的3号⼝发送给了3。
缺点:维持表的数据才⼏千,⽹络规模⼤的场景不适⽤。
**问题:**交换机确实满⾜了⼩规模家⽤局域⽹的互联互通,但是互联⽹的⽬的是跨局域⽹的全球互联,这个时候交换机就不能满⾜需求了,那么什么设备能够实现跨⽹络之间进⾏数据转发呢?
路由器
王艺 纪凌尘引⼊路由器的初衷就是为了实现跨⽹络时进⾏数据转发。
跟交换机⼀样,路由器也维护着⼀张表,建⽴这张表的过程有很多算法进⾏实现。
IP地址的作⽤:标识⽹络和标识设备。
**问题:**如果认为IP直接能到对应的主机,那岂不是不需要mac地址了?(同样可以问:有了IP地址,还需要mac地址吗?)
⾸先得知道IP是抽象的地址,不能⽤作直接通信,只能使⽤mac地址直接通信。
那么192.168.1.52向192.168.1.254发送数据的过程:
1、查1.254的mac地址(通过ARP协议可查得)
2、mac层传输
传输过程中IP的源⽬地址是不变的。(特例是NAT协议时IP会变)。
如果想要了解NAT协议可参考
ARP协议
ARP协议整理⾃⿊马的linux⽹络编程
⾸先看看以太⽹帧格式
那么对于ARP数据报格式
ARP的过程:
这⾥的arp1⽬的mac地址是⼴播地址,应该是ff:ff:ff:ff:ff:ff
arp1是从192.168.1.20⼴播到路由192.168.1.35的arp数据报格式,然后由192.168.1.35的路由填充arp1的⽬的mac和接收端mac进⾏返回,这样192.168.1.20就拿到了⽬的mac地址。
简单来说ARP就是获取下⼀跳的mac地址的协议,获取的mac地址就是数据包要发送的下⼀个路由的mac地址。贾晓烨
数据包寻路:在寻路的过程当中,最终的⽬的ip是在⽹络层的IP协议中。在每次经过⼀个路由时,会将以太⽹帧和ip协议拆开暴露出来,然后ip协议可以通过查看当前路由器的路由表查询到下⼀跳的ip地址,然后填⼊到arp中,通过arp获得下⼀跳的mac地址,然后依次这样向前寻路,直⾄将数据包传送到最终的ip地址。
如果路由节点之间⽹络传输存在问题,那么可能会出现在⼀个环路⾥⾯死循环,会拥塞⽹络。那么处
理的办法就是TTL,就是最⼤⽣命周期,⽐如初始值是56,经过⼀跳之后就减⼀,如果TTL为0还没有传输完成,那么路由器就会丢弃数据包。
集线器和交换机区别
1、集线器在物理层通过⼴播形式转发数据;交换机⼯作在数据链路层,通过mac地址转发数据。
2、集线器内部采⽤总线型拓扑,各个节点共有⼀条总线进⾏通信,数据包的发送和接收采⽤CSMA/CD协议,在同⼀时间内必须是单向的,只能维持在半双⼯模式下;交换机上的两个端⼝之间是相互独⽴的,可以实现全双⼯通信,两个端⼝可以同时收发数据。
ps3手柄交换机和路由器区别
1、⼯作层次⽅⾯:交换机⼯作在数据链路层;路由器⼯作在⽹络层。
2、转发依据⽅⾯:交换机转发所依据的对象是mac地址;路由器转发所依据的对象是IP地址。
3、主要功能⽅⾯:交换机⽤于组建规模⼩的局域⽹;路由器则是将交换机组建好的局域⽹连接起来,即实现跨⽹络数据转发。
发布评论