网络、vlan、二层交换机、三层交换机概述
2015-10-19 00:00
501 查看
以太网,是当今现有局域网采用的最通用的通信协议标准,以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术,并以10M/S的速率运行在多种类型的电缆上:从介质的发展过程看,经历了同轴电缆,非屏蔽双绞线,光纤。
中继器,工作在物理层,主要功能是通过对数据信号的重新发送或者转发,来扩大网络传输的距离。
集线器(Hub),被称为多端口中继器是指将多条以太网双绞线或光纤集合连接在同一段物理介质下的设备。节点发信号到线路,集线器接收该信号进行放大后广播转发给其他端口。
MAC: 物理地址,用来定义网络设备的位置。
48位,前24由电气和电子工程协会给不同厂家分配的代码,后24位是由
厂家自行指派给生产的适配器接口。MAC地址对应于OSI参考模型的第二层数据链路层。
MAC地址的第一个字节的第8Bit标识这个地址是组播地址还是单播地址。MAC地址全为1则为广播地址。工作在数据链路层的交换机维护着计算机MAC地址和自身端口的数据库。
谈起MAC地址,不得不说一下IP地址。IP地址工作在OSI参考模型的第三层网络层。两者之间分工明确,默契合作,完成通信过程。IP地址专注于网络层,将数据包从一个网络转发到另外一个网络;而MAC地址专注于数据链路层,将一个数据帧从一个节点传送到相同链路的另一个节点。
在一个稳定的网络中,IP地址和MAC地址是成对出现的。如果一台计算机要和网络中另一外计算机通信,那么要配置这两台计算机的IP地址,MAC地址是网卡出厂时设定的,这样配置的IP地址就和MAC地址形成了一种对应关系。在数据通信时,IP地址负责表示计算机的网络层地址,网络层设备(如路由器)根据IP地址来进行操作;MAC地址负责表示计算机的数据链路层地址,数据链路层设备(如交换机)根据MAC地址来来进行操作。IP和MAC地址这种映射关系由ARP(Address
Resolution Protocol,地址解析协议)协议完成。
HUB之后出现了交换机,交换机工作在第二层数据链路层,也叫二层交换机
二层交换机根据收到的数据帧中的MAC地址字段来转发数据帧。
所谓数据帧(Data frame),就是数据链路层的协议数据单元,它包括三部分:帧头,数据部分,帧尾。
MAC帧的帧头包括三个字段。前两个字段分别为6字节长的目的地址字段和源地址字段,目的地址字段包含目的MAC地址信息,源地址字段包含源MAC地址信息。第三个字段为2字节的类型字段,里面包含的信息用来标志上一层使用的是什么协议,以便接收端把收到的MAC帧的数据部分上交给上一层的这个协议。
二层交换机存在着广播风暴,比如当前网络下有多个部门,当一个部门下的主机发送广播报文时,所有部门都会收到此报文,如果要只让当前部门能够收到则要用到vlan技术(划分多个不同的广播域)。默认情况下这些不同的广播域是相互隔离的。不同的广播域之间想要通信,需要通过一个或多个路由器。这样的一个广播域就称为VLAN。它在以太网帧的基础上增加了VLAN头,使用最广泛的VLAN协议标准是
IEEE 802.1Q,它是用VLAN ID把用户划分为更小的工作组,限制不同工作组间的用户互访,每个工作组就是一个虚拟局域网。虚拟局域网的好处是可以限制广播范围,并能够形成虚拟工作组,动态管理网络。
根据端口连接的设备是否支持802.1q标准来划分端口类型,支持则为trunk,不支持则为access端口。
access: 主要用来接入终端设备。
trunk: 主要用在连接其它交换机,以便在线路上承载多个vlan。
从trunk端口的输出的数据帧保持vlan ID,从access输出的数据帧剥离vlan
id,再通过交换机的mac地址转发,这样就实现了虚拟局域网。
如果要使不同vlan间进行通信:则需要用到路由器,通过单臂路,单臂路由(router-on-a-stick)是指在路由器的一个接口上通过配置子接口(或“逻辑接口”,并不存在真正物理接口)的方式,实现原来相互隔离的不同VLAN(虚拟局域网)之间的互联互通。或者通过三层交换机,也就是具有路由功能的交换机实现。普通的路由器是通过cpu和软件实现路由转发,对于交换机的线速转发速度上不是很匹配,而三层交换机通过使用硬件交换机构实现了IP的路由功能,其优化的路由软件使得路由过程效率提高,解决了传统路由器软件路由的速度问题。
中继器,工作在物理层,主要功能是通过对数据信号的重新发送或者转发,来扩大网络传输的距离。
集线器(Hub),被称为多端口中继器是指将多条以太网双绞线或光纤集合连接在同一段物理介质下的设备。节点发信号到线路,集线器接收该信号进行放大后广播转发给其他端口。
MAC: 物理地址,用来定义网络设备的位置。
48位,前24由电气和电子工程协会给不同厂家分配的代码,后24位是由
厂家自行指派给生产的适配器接口。MAC地址对应于OSI参考模型的第二层数据链路层。
MAC地址的第一个字节的第8Bit标识这个地址是组播地址还是单播地址。MAC地址全为1则为广播地址。工作在数据链路层的交换机维护着计算机MAC地址和自身端口的数据库。
谈起MAC地址,不得不说一下IP地址。IP地址工作在OSI参考模型的第三层网络层。两者之间分工明确,默契合作,完成通信过程。IP地址专注于网络层,将数据包从一个网络转发到另外一个网络;而MAC地址专注于数据链路层,将一个数据帧从一个节点传送到相同链路的另一个节点。
在一个稳定的网络中,IP地址和MAC地址是成对出现的。如果一台计算机要和网络中另一外计算机通信,那么要配置这两台计算机的IP地址,MAC地址是网卡出厂时设定的,这样配置的IP地址就和MAC地址形成了一种对应关系。在数据通信时,IP地址负责表示计算机的网络层地址,网络层设备(如路由器)根据IP地址来进行操作;MAC地址负责表示计算机的数据链路层地址,数据链路层设备(如交换机)根据MAC地址来来进行操作。IP和MAC地址这种映射关系由ARP(Address
Resolution Protocol,地址解析协议)协议完成。
HUB之后出现了交换机,交换机工作在第二层数据链路层,也叫二层交换机
二层交换机根据收到的数据帧中的MAC地址字段来转发数据帧。
所谓数据帧(Data frame),就是数据链路层的协议数据单元,它包括三部分:帧头,数据部分,帧尾。
MAC帧的帧头包括三个字段。前两个字段分别为6字节长的目的地址字段和源地址字段,目的地址字段包含目的MAC地址信息,源地址字段包含源MAC地址信息。第三个字段为2字节的类型字段,里面包含的信息用来标志上一层使用的是什么协议,以便接收端把收到的MAC帧的数据部分上交给上一层的这个协议。
二层交换机存在着广播风暴,比如当前网络下有多个部门,当一个部门下的主机发送广播报文时,所有部门都会收到此报文,如果要只让当前部门能够收到则要用到vlan技术(划分多个不同的广播域)。默认情况下这些不同的广播域是相互隔离的。不同的广播域之间想要通信,需要通过一个或多个路由器。这样的一个广播域就称为VLAN。它在以太网帧的基础上增加了VLAN头,使用最广泛的VLAN协议标准是
IEEE 802.1Q,它是用VLAN ID把用户划分为更小的工作组,限制不同工作组间的用户互访,每个工作组就是一个虚拟局域网。虚拟局域网的好处是可以限制广播范围,并能够形成虚拟工作组,动态管理网络。
根据端口连接的设备是否支持802.1q标准来划分端口类型,支持则为trunk,不支持则为access端口。
access: 主要用来接入终端设备。
trunk: 主要用在连接其它交换机,以便在线路上承载多个vlan。
从trunk端口的输出的数据帧保持vlan ID,从access输出的数据帧剥离vlan
id,再通过交换机的mac地址转发,这样就实现了虚拟局域网。
如果要使不同vlan间进行通信:则需要用到路由器,通过单臂路,单臂路由(router-on-a-stick)是指在路由器的一个接口上通过配置子接口(或“逻辑接口”,并不存在真正物理接口)的方式,实现原来相互隔离的不同VLAN(虚拟局域网)之间的互联互通。或者通过三层交换机,也就是具有路由功能的交换机实现。普通的路由器是通过cpu和软件实现路由转发,对于交换机的线速转发速度上不是很匹配,而三层交换机通过使用硬件交换机构实现了IP的路由功能,其优化的路由软件使得路由过程效率提高,解决了传统路由器软件路由的速度问题。
相关文章推荐
- Java 网络编程
- android http session and cookie
- 兼容https和http协议的java代理服务器代码
- 用于视觉识别的卷积神经网络
- 17网络编程
- nginx实现tcp反向代理
- 好用的网络请求库Retrofit2(入门及讲解)
- tcp之keepalive
- http之keepalive
- TCP长连接与短连接
- 在Android中使用HttpClient 4.3.x出现NoSuchFieldError的问题
- Java网络编程
- QEMU的虚拟机环境网络原理
- Android_04_HttpURLConnection使用总结
- OSI七层与TCP/IP五层网络架构详解
- Java基础知识强化之网络编程笔记22:Android网络通信之 Android常用OAuth登录(获取个人信息)
- Java基础知识强化之网络编程笔记21:Android网络通信之 Android常用OAuth登录(获取令牌信息)
- 网络图片的获取以及二级缓存策略(Volley框架+内存LruCache+磁盘DiskLruCache)
- 由于权限不足而无法读取配置文件出现的HTTP 500.19解决办法
- Java编写网络爬虫