pig2 发表于 2014-10-23 14:15:29

开发人员必读openstack网络基础1:什么是L2、L3

本帖最后由 pig2 于 2014-10-25 12:04 编辑


导读:
此文是对L2、L3的一个认识

static/image/hrline/1.gif




openstack中我们经常看到L2、L3那么,它的作用是什么?

L2其实是指七层网络协议中的第二层数据链路层,它的传输是以mac地址为基础

L3指网络层:是以ip地址为基础
网络层属于OSI中的较高层次了,从它的名字可以看出,它解决的是网络与网络之间,即网际的通信问题,而不是同一网段内部的事。网络层的主要功能即是提供路由,即选择到达目标主机的最佳路径,并沿该路径传送数据包。除此之外,网络层还要能够消除网络拥挤,具有流量控制和拥挤控制的能力。
个人总结:数据链路层数据传输在寻找mac地址,网络层数据传输则是寻找ip

其实对于openstack,我们只要知道L2、L3的是什么就可以,要想理解的更加深刻,则需要更多的实践经验。下面为第二层及第三层的详细解释

http://www.aboutyun.com/static/image/hrline/2.gif



第二层,数据链路层
这一层是和包结构和字段打交道的和事佬。一方面接收来自网络层(第三层)的数据帧并为物理层封装这些帧;另一方面数据链路层把来自物理层的原始数据比特封装到网络层的帧中。起着重要的中介作用。
数据链路层由IEEE802规划改进为包含两个子层:介质访问控制(MAC)和逻辑链路控制(LLC)。
智能集线器、网桥和网络接口卡(NIC)等就驻扎在这一层。但是网络接口卡它同样具有物理层的一些编码功能等。

第三层,网络层
这一层干的事就比较多了。它工作对象,概括的说就是:电路、数据包和信息交换。
网络层确定把数据包传送到其目的地的路径。就是把逻辑网络地址转换为物理地址。如果数据包太大不能通过路径中的一条链路送到目的地,那么网络层的任务就是把这些包分成较小的包。
这些光荣的任务就派给了路由器、网桥路由器和网关。
以后几层属于较高层,通常驻留在跨网络相互通信的计算机中,而不象以上几层可以独自为阵。设备中只有网关可跨越所有各层。


http://www.aboutyun.com/static/image/hrline/2.gif



更多层,参考下面内容:

第一层,物理层
OSI模型最低层的“劳苦大众”。它透明地传输比特流,就是传输的信号。该层上的设备包括集线器、发送器、接收器、电缆、连接器和中继器。



第四层,传输层。
确保按顺序无错的发送数据包。传输层把来自会话层的大量消息分成易于管理的包以便向网络发送。

第五层,会话层。
在分开的计算机上的两种应用程序之间建立一种虚拟链接,这种虚拟链接称为会话(session)。会话层通过在数据流中设置检查点而保持应用程序之间的同步。允许应用程序进行通信的名称识别和安全性的工作就由会话层完成。

第六层,表示层。
定义由应用程序用来交换数据的格式。在这种意义上,表示层也称为转换器(translator)。该层负责协议转换、数据编码和数据压缩。转发程序在该层进行服务操作。

第七层,应用层
该层是OSI模型的最高层。应用层向应用进程展示所有的网络服务。当一个应用进程访问网络时,通过该层执行所有的动作。
纵观七层,从低级到高级。作一个形象的比喻就是从汇编到了BASIC,越到高层与硬件的关联就越弱。
所谓的网络七层协议就是OSI模型,具体分为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
7——应用层
6——表示层
5——会话层
4——传输层
3——网络层
2——数据链路层
1——物理层

物理介质
七层模型在Windows程序下的体现:

物理层----就是我们看得见的网卡。网卡的作用就是把线路发送过来的高频电流转化数据包,然后传给网卡驱动程序,同是也把网卡驱动程序传送过来的数据包转化成电信号传送出去。定义通过网络设备发送数据的物理方式:是网络媒介和设备间的接口。

数据链路层----是网卡驱动程序。定义控制通信连接的程序;封包;监测和改正包传输错误。

网络层----即NDIS,NDIS提供网络接口。决定网络设备间如何传输数据;根据唯一的网络设备地址选择包;提供流和拥塞控制,以阻止同时网络资源的损耗。

传输层----即TCP,TCP协议的封包处理是在这一层进行的。管理网络中首尾连接的信息传送;提供通过错误恢复和流控制装置传送可靠且有序的包;提供无连接面向包的传送。

会话层----即SPI,SPI是服务提供者接口,管理用户间的会话和对话;控制用户间的连接和挂断连接;报告上层错误。

表示层----API,它为应用程序提供接口。API负责SPI与应用程序之间的通信;定义不同体系间不同数据格式;具体说明独立结构的数据传输格式;编码和解码数据;加密和解密数据;压缩和解压缩数据。

应用层----EXE,就是大家常见的应用程序。定义用于网络通信和数据传输的用户接口程序;提供标准服务,比如虚拟终端、文档以及任务的传输和操作。

七层协议与Windows结构的生产力映射如下:

7 应用层 7 应用程序(exe)
6 表示层 6 Winsock API (dll)
5 会话层 5 SPI(dll)
4 传输层 4 TDI(vxd、sys)
3 网络层 3 NDIS(vxd、sys)
2 数据链路层 2 网卡驱动程序(vxd、sys)
1 物理层 1 网卡

相关帖子:




开发人员必读openstack网络基础2:交换机、路由器、DHCP


开发人员必读openstack网络基础3: iptables详解


开发人员必读openstack网络基础4:Dnsmasq、网络混杂模式


开发人员必读openstack网络基础5:网络叠加模式VLAN、VxLAN、GRE


开发人员必读openstack网络基础6:什么是Tap/Tun、网桥

开发人员必读openstack网络基础7:到底什么是Open vSwitch




迷糊云 发表于 2015-11-18 12:32:12

太赞!
页: [1]
查看完整版本: 开发人员必读openstack网络基础1:什么是L2、L3