上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 19 下一页
摘要: 通过以太网传输的光纤通道流量(FCoE)就是要求无丢包服务的一个典型示例。为了使以太网能够满足应用的无丢包要求,需要制定一种方法来通过以太网提供无损服务。基于优先级的流量控制正是在这种背景下出现。 基于优先级的流量控制(PFC)是对暂停机制的一种增强(如下图)。当前以太网暂停选择(IEEE802.3 Annex 31B)也能达到无丢包的要求,但它会阻止一条链路上的所有流量,本质上来讲,它会暂停整条链路。PFC 允许在一条以太网链路上创建 8 个虚拟通道,并为每条虚拟通道指定一个 IEEE 802.1P 优先等级,允许单独暂停和重启其中任意一条虚拟通道,同时允许其它虚拟通道的流量无中断通过... 阅读全文
posted @ 2012-08-11 09:39 KingsLanding 阅读(9660) 评论(1) 推荐(0) 编辑
摘要: FCoE 采用增强型以太网作为物理网络传输架构,能够提供标准的光纤通道有效内容载荷,避免了 TCP/IP 协议开销,而且 FCoE 能够像标准的光纤通道那样为上层软件层(包括操作系统、应用程序和管理工具)服务。 FCoE 可以提供多种光纤通道服务,比如发现、全局名称命名、分区等,而且这些服务都可以像标准的光纤通道那样运作。不过,由于 FCoE 不使用 TCP/IP 协议,因此 FCoE 数据传输不能使用 IP 网络。FCoE 是专门为低延迟性、高性能、二层数据中心网络所设计的网络协议。 和标准的光纤通道 FC 一样,FCoE 协议也要求底层的物理传输是无损失的。因此,国际标准化组织已经... 阅读全文
posted @ 2012-08-11 09:22 KingsLanding 阅读(16881) 评论(0) 推荐(0) 编辑
摘要: 数据中心桥接交换协议(DCBX)是一种数据中心自动化管理的协议基础,主要供 IEEE 数据中心桥接发现对等的配置,并在符合 DCB 要求的桥接之间交换配置信息,同时 DCBX 能够检测出桥接之间错误的配置信息或用于引导对端进行配置等。· 数据中心桥接交换协议(DCBX)通常在数据中心环境中使用,用于通告数据中心桥接的相关参数,如 ETS 的优先级组、是否支持和使能 PFC 等;· 数据中心桥接交换协议(DCBX)作为信息的承载体,需要与其它数据中心协议配合使用。DCBX 需要从其它协议获取本地的数据中心相关参数配置信息通告给邻居设备,同时它能够接收和存储邻居设备发送的配置信 阅读全文
posted @ 2012-08-11 09:12 KingsLanding 阅读(13309) 评论(1) 推荐(0) 编辑
摘要: 数据中心的网络以交换以太网为主,只有传统意义的汇聚层往上才是IP的天下。数据中心的以太网络会逐步扩大,IP转发的层次也会被越推越高。 数据中心网络从设计伊始,主要着眼点就是转发性能,因此基于CPU/NP转发的路由器自然会被基于ASIC转发的三层交换机所淘汰。传统的Ethernet交换技术中,只有MAC一张表要维护,地址学习靠广播,没有什么太复杂的网络变化需要关注,所以速率可以很快。而在IP路由转时,路由表、FIB表、ARP表一个都不能少,效率自然也低了很多。数据中心网络设备就是交换机,而交换机就分为框式与盒式两种。当前云计算以大量X86架构服务器替代小型机和大型机,导致单独机架Rack上的.. 阅读全文
posted @ 2012-08-11 09:03 KingsLanding 阅读(1579) 评论(0) 推荐(0) 编辑
摘要: 云计算的各方面定义很多,基于用户的视角来看,目的就是让使用者在不需了解资源的具体情况下做到按需分配,将计算资源虚拟化为一片云。站在高处看,当前的主流云计算更贴切于云服务,个人认为可理解为早先运营商提供数据中心服务器租用服务的延伸。以前用户租用的是一台台物理服务器,现在租用的是虚拟机,是软件平台甚至是应用程序。公认的三个云计算服务层次是IaaS(Infrastructure as a Service)、PaaS(Platform as a Service)和SaaS(Software as a Service),分别对应硬件资源、平台资源和应用资源。对于用户来说:1、当提供商给你的是一套a .. 阅读全文
posted @ 2012-08-11 08:50 KingsLanding 阅读(1902) 评论(0) 推荐(0) 编辑
摘要: C++ 沉思录也算是C++中的经典书籍,其中介绍OO思想的我觉得很好,但是全书中贯穿了handle,使用引用计数等,也有点不适合现代C++的设计思想。这里使用shared_ptr 智能指针改写了“句柄”这一章的程序,明显使代码量下降,而且管理方便。下面来看代码:#include <iostream>#include <memory>using namespace std;class Point{public: Point() : xval(0),yval(0){}; Point(int x, int y): xval(x), yval(y){}; Point(const 阅读全文
posted @ 2012-08-10 21:11 KingsLanding 阅读(1647) 评论(0) 推荐(0) 编辑
摘要: shared_ptr的作用有如同指针,但会记录有多少个shared_ptrs共同指向一个对象。这便是所谓的引用计数(reference counting)。一旦最后一个这样的指针被销毁,也就是一旦某个对象的引用计数变为0,这个对象会被自动删除。shared_ptr 在 Technique report I 中已经出现,在effective C++ 中提到过shared_ptr 的使用,现在已经成为C++11 的正式成员。shared_ptr 的自动删除功能是一个很好的防止内存泄露的方法,在C++中也称为RAII(Resource Acquisition Is Initialization).. 阅读全文
posted @ 2012-08-10 21:02 KingsLanding 阅读(2358) 评论(0) 推荐(0) 编辑
摘要: rtl8139 网卡驱动分析:(注:这里只分析了主要函数,代码版本是:8139too.c71420 bytes2010-04-01 22:56:18)/* * 提供了一系列驱动程序可调用的接口,主要用于发现和初始化设备 */static struct pci_driver rtl8139_pci_driver = { .name = DRV_NAME, .id_table = rtl8139_pci_tbl, .probe = rtl8139_init_one, .remove ... 阅读全文
posted @ 2012-08-04 21:35 KingsLanding 阅读(2013) 评论(0) 推荐(0) 编辑
摘要: 紧接上一篇,这里简要介绍net_device 结构和网卡驱动框架。 struct net_device 是一个比sk_buff 更复杂的结构,里面包含了与TCP/IP协议栈通信的接口函数,但是自从2.6.31 之后的内核中这些接口函数就被封装在了 stuct net_device_ops 结构中,在net_device 结构中以 netdev_ops 成员的形式出现。我们就来看如何使用该结构:1. 在初始化幻术中驱动需要分配一个net_device 结构,可以使用alloc_netdev()函数,也可以使用一个更常用的函数 alloc_etherdev() 函数来实现。这个函数在创建... 阅读全文
posted @ 2012-08-04 21:33 KingsLanding 阅读(2823) 评论(1) 推荐(0) 编辑
摘要: 接上一篇,我们来看与skb相关的一些重要函数:网络模块中,有两个用来分配SKB描述符的高速缓存,在SKB模块初始函数skb_init()中被创建:void __init skb_init(void){skbuff_head_cache = kmem_cache_create("skbuff_head_cache", sizeof(struct sk_buff), 0, SLAB_HWCACHE_ALIGN|SLAB_PANIC, NULL);skbuff_fclone_cache = kmem_cache_create("skbuff_fclone_cache&q 阅读全文
posted @ 2012-08-04 21:26 KingsLanding 阅读(1829) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 19 下一页