网络概念
Posted c++,c随笔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络概念相关的知识,希望对你有一定的参考价值。
在网路中,使用双绞线的目的是,降低外界噪声的干扰。通过将信号线缠绕在一起的方式,噪声得到了抑制,从结果来看提升了网线的性能。
除此之外还有其他一些工艺也能够帮助提升性能。例如在信号线之间加入隔板保持距离,以及在外面包裹可阻挡电磁波的金属屏蔽网等。有了这些工艺的帮助,我们现在可以买到性能指标不同的各种网线。
集线器将信号发送给所有连接在它上面的线路。
交换机内部有一张MAC地址与网线端口的对应表,当接收到包时,会将相应的端口号码和发送方MAC地址写入表中,这样就可以根据地址判断出该设备连接在那个端口上,交换机就是根据这些信息进行报道转发的。
交换机:交换机每个MAC地址模块不具有MAC地址,即交换机的端口没有MAC地址。交换机的端口不核对MAC地址址,而是直接接收所有的包并存放到缓冲区中。网卡本身具有MAC地址,并通过核对收到的包的接收方MAC地址判断是不是发给自己的,如果不是发给自己的则丢弃;
交换机的端口的PVID是唯一的,一个端口可以有一个vlan(access状态下),也可以有多个vlan(trunk状态下)。
当数据包进入交换机时,可能带vlan(他的上一层也是交换机类的东西,从上个交换机到下个交换机的数据包是可以带vlan的,也可以不带vlan,通常是带vlan的),也可能去掉vlan(untag和tag的区别就是带不带vlan(vlan占四个字节),untag不带vlan),从交换机到互联网或者另一台计算机。
当包从最上面的端口发送到最下面的端口时,其他端口都处于空闲状态,这些端口可以传输其他的包,因此交换机可以同时转发多个包。
集线器会将输入的信号广播到所有的端口,如果同时输入多个信号就会发生碰撞,无法同时传输多路信号,因此从设备整体的转发能力来看,交换机要高于集线器。
交换机中MAC地址表主要包含两个信息,一个是设备的MAC地址,另一个是该设备连接在交换机的哪个端口上。MAC地址和端口是一一对应的,通过这张表就能够判断出收到的包应该转发到哪个端口。 交换机的全双工模式可以同时发送和接收信号。 能自动切换工作模式(全双工,半双工)之外,还能探测对方的传输速率并进行自动切换。这种自动切换的功能称为自动协商。
路由器和交换机的区别:路由器是基于ip设计的,而交换机是基于以太网设计的。
路由器分为转发模块和端口模块,中转发模块负责判断包的转发目的地,端口模块负责包的收发操作。路由器转发模块和端口模块的关系,就相当于协议栈的IP模块和网卡之间的关系。
路由器的各个端口具有MAC地址和ip地址,从某种意义上来说,他和计算机的网卡是一样的,当转发包时,首先路由器端口会接收发给自己的以太网包,然后查询转发目标,再由相应的端口作为发送方将以太网包发送出去。这一点和交换机是不同的,交换机只是将进来的包转发出去而已,它自己并不会成为发送方或者接收方。
交换机是通过 MAC 头部中的接收方 MAC 地址来判断转发目标的,而路由器则是根据 IP 头部中的 IP 地址来判断的。
路由器根据“IP 地址”判断转发目标。
交换机在地址表中只匹配完全一致的记录,而路由器则会忽略主机号部分,只匹配网络号部分。打个比方,路由器在转发包的时候只看接收方地址属于哪个区,×× 区发往这一边,×× 区发往那一边。
路由器会忽略主机号,只匹配网络号。
路由表的子网掩码列只表示在匹配网络包目标地址时需要对比的比特数量。也就是说,子网掩码的32为比特为0的和为1的数。
最后一列的跃点数,表示距离目标 IP 地址的距离是远还是近。数字越小,表示距离目的地越近;数字越大,表示距离目的地越远。
对路由表进行维护的方法有几种,大体上可分为以下两类。
(a)由人手动维护路由记录
(b) 根据路由协议机制,通过路由器之间的信息交换由路由器自行维护路由表的记录
其中(b)中提到的路由协议有很多种,例如 RIP、OSPC、BGP 等都属于路由协议。
路由器的端口都具有 MAC 地址,只接收与自身地址匹配的包,遇到不匹配的包则直接丢弃。
通过路由器转发的网络包,其接收方 MAC 地址为路由器端口的MAC 地址。
完成包接收操作之后,路由器就会丢弃包开头的 MAC 头部。MAC 头部的作用就是将包送达路由器,其中的接收方 MAC 地址就是路由器端口的 MAC 地址。因此,当包到达路由器之后,MAC 头部的任务就完成了,于是 MAC 头部就会被丢弃。
路由表中子网掩码为 0.0.0.0 的记录表示“默认路由”。
一般来说都是可以分片的,但下面两种情况不能分片:1) 发送方应用程序等设置了不允许分片;2) 这个包已经是经过分片后的包。
以太网包到达路由器后,需要获取下一跳的mac地址,此时通过ARP 协议去查看下一跳的mac地址。arp协议是根据 IP 地址查询 MAC 地址的协议。
路由器判断下一个转发目标的方法如下。
● 如果路由表的网关列内容为 IP 地址,则该地址就是下一个转发目标。
● 如果路由表的网关列内容为空,则 IP 头部中的接收方 IP 地址就是下一个转发目标。路由器也会使用 ARP 来查询下一个转发目标的 MAC 地址。
IP 协议本身没有传输包的功能,因此包的实际传输要委托以太网来进行。路由器是基于 IP 设计的,而交换机是基于以太网设计的,因此 IP 与以太网的关系也就是路由器与交换机的关系。换句话说,路由器将包的传输工作委托给交换机来进行,在创建MAC 头部时,也是从 IP 的路由表中查找出下一个路由器的 IP 地址,并通过 ARP 查询出 MAC 地址,然后将 MAC 地址写入 MAC 头部中的,这表示 IP 对以太网的委托只是将包传输到下一个路由器就行了。
简单来说,IP(路由器)负责将包发送给通信对象这一整体过程,而其中将包传输到下一个路由器的过程则是由以太网(交换机)来负责的。
以上是关于网络概念的主要内容,如果未能解决你的问题,请参考以下文章