自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 我的新浪的blog地址

这是我的新浪的blog地址:http://blog.sina.com.cn/treeintherain 上面已经发表了39篇技术文章,今后我会保持两个blog同步。 IC之power C++之注意事项(四) C++之注意事项(三) C++之注意事项(二) C++之注意事项(一) C之编码规范 Algorithm parallel

2014-12-23 13:32:18 522

原创 IP之ARP

4.3 Control-plane protocol 4.3.1 ARP 当一个host需要得到目的host的mac时,它会广播一个arp request。目的host(或gateway)会应答一个arp reply(单播)。 hardware addresstype 和protocoladdress type表明哪个协议用在链路层或网络层。如果是Ethernet则hardwar

2015-03-23 12:17:58 1042

原创 IP之IPv6

4.2.6 IPv6   IPv6 header有固定的40bytes,没有option field,但是它有扩展头部。 Traffic class:类似于IPv4的TOS。 Flow label:用来识别相同流的数据包,如:视频流。 Payload lenght:不包括40bytes的ip header的数据包长度,多大为65535bytes。 Next header:表明上层协

2015-03-11 21:27:18 905

原创 IP之NAT(二)

4.2.5 NAT的实现 Source nat的hook name是NF_INET_POST_ROUTING,Destination nat的hook name是NF_INET_PRE_REOUTING和NF_INET_LOCAL_OUT。 建立source nat和destination nat的hook的数据结构(在/net/ipv4/netfilter/nf_nat_rule.c ):

2015-03-01 20:47:40 1539

原创 IP之NAT(一)

4.2.4 NAT 私有地址如下: 10.0.0.0 – 10.255.255.255 (10.0.0.0/8), 172.16.0.0 – 172.31.255.255 (172.16.0.0/12), 192.168.0.0 – 192.168.255.255 (192.168.0.0/16)   NAT对于ICMP协议的影响 对于icmp协议,不仅icmp packet的h

2015-02-15 11:06:40 1106

原创 IP之Fragmentation

4.2.3 Fragmentation and Reassembly IP的MTU是65536bytes;而Ethernet的MTU为1518bytes,所以需要分片,而router可能会对packet再次分片。 注意:分片的payload部分一定是8bytes的倍数。 属于同一个packet的所有分片的identifier field(位于IP header)的值相同,在flags fie

2015-02-09 09:26:04 3282

原创 IP之IP Packet Format

4.2.2 IP Packet Format   有很多资料都在介绍ip header,所以我只介绍一些需要注意的field。   Header Length:仅仅是IP header的长度,是4字节的倍数,如果没有options,则为20bytes。   Type of Service (TOS):根据RFC791 和 1349定义如下图:   而RFC 2474 定义前六个bi

2015-02-06 09:30:57 3293

原创 IP之routing(二)

接《IP之routing(一)》 Two-level hashing(fib structure)   Routing cache的数据结构叫做rt_hash_table,它是rt_hash_bucket的一个数组,它中的每个数组元素都指向rtable的list,而rt_hash()的参数有3个:source ip、destination ip、服务类型。 如果发生routing 

2015-02-03 10:14:11 876

原创 IP之routing(一)

4.2 Data-plane protocol for IPv4 4.2.1 Routing table 查找routing table 是用一个叫做longest prefix matching的原则来实现的,举例说明,有A和B两个公司,A拥有从194.24.0.0 到 194.24.6.255的IP,所以在routing table中与A对应的routing entry应该是192.24.

2015-01-31 20:52:14 1091

原创 IP之Overview

4 Internet Protocol Layer 4.1 概述   上图是IP layer的调用关系。     上图为IP address的类型。   If ((HostIP ^ DestinationIP) & SubnetMask)==0),该语句决定了本地地址跟目的地址是否在同一个子网中。      [此为原创,转载请标明出处,谢谢!]

2015-01-29 14:53:44 563

原创 Link layer之device driver

3.7 Device Drivers Driver在跟device通信之前,需要先初始化环境,包括:probing I/O ports、probing IRQs。   DMA是在没有CPU的干涉下将大块数据从内存传输数据(或将大块数据传输到内存)。 有两种方式可以出发DMA传输: 1)Read() or wirte()被调用 2)硬件异步的写数据到内存   DMA的操作步骤如下:

2015-01-25 19:47:37 637

原创 pipeline之stage(二)

在真正的RISC IC的制成中,不会只有这五个stage。它可能存在多条pipeline,每条pipeline 有多个stage。如: integer ALU:有5个stage; FP/integer multiplication(浮点/integer乘):大概有11个stage 由于每条指令的the number of stages不同,就可也能够造成较多的问题: 1、有些指令

2015-01-23 14:22:21 3796

原创 Link layer之Bridge

3.6 Bridging Hub:也叫repeater hub,是一个Layer-1 device,也就是说它只会将数据包广播到所有port上。 Mac bridge:也叫bridge和Layer-2 switch,因为它可以分析ethernet header,所以有self-learning(自学习)功能,可以有效的避免广播,节省带宽。当发生组播时,打开GMRP 功能,可以有效的减少组播的带

2015-01-21 09:57:41 1010

原创 Link layer之Ethernet

3.5 Ethernet Ethernet的link layer由mac sublayer和LLC syblayer构成。 Mac sublayer负责封装packets和media access control。下图是没有标签的Ethernet frame。   Preamble:用户同步物理信号,固定为1010...1010,Little-Endian bit ordering,共

2015-01-18 16:35:51 904

原创 Link layer之PPP

3.4 Point-to-Point Protocol(PPP) 它有三个组件: 一个封装上层协议的方法 Link Control Protocol(LCP):负责链接的建立和断开。 Network Control Protocol(NCP):负责配置不同网络层的选项。 3.4.1 PPP Operaton 数据包交互过程如下: 1、PPP首先发送LCP packets来建立连接和测

2015-01-16 12:30:53 931

原创 网络部分之Physical Layer

2 Physical Layer Physical layer需要将data转换成signal,所以需要2 steps: Step 1,叫做information coding,来对数据进行压缩和保护。 Step2,叫做modulation,把数据信号调制成模拟信号。   2.1 传输模型 现在我们来描述一下传输和接收流在physical layer上的处理过程。 1、首先,信息源产

2015-01-12 12:26:05 804

原创 网络部分之link layer

3 link layer 3.1 Frame Delimiting 在100BASE-X中,使用4B/5B encoding。 这种编码的特点是将欲发送的数据流每4bit作为一个组,然后按照4B/5B编码规则将其转换成相应5bit码。5bit码共有32种组合,但只采用其中 的16种对应4bit码的16种,其他的16种或者未用或者用作控制码,以表示帧的开始和结束、光纤线路的状态(静止、空闲、暂

2015-01-10 13:37:16 715

原创 pipeline之stage(一)

在IC的制成中,一条指令的执行是被分成多个stage的,每个stage使用一个cycle,一条 指令从第一个stage依次执行到结束,这个过程叫做pipeline。由于一条指令被切成了 多个stage,所以多条instruction可以同时运行在不同的stage上,增加了指令执行的throughput。 为了简单起见,假设指令被分成5个stage:IF、ID、EX、MEM、WB 1、I

2015-01-08 17:58:12 7519

原创 网络部分之概述

1、sk_buff 在这里,我不想描述sk_buff的结构,因为网上已经有很多资料了。 当一个数据包被网络设备接收时,alloc_skb()将被调用,用来为packet分配一块空的buffer,如下图:   起初,它是一个空的buffer,所以所有的指针都有跟head相同的值,当packet到达时,skb_put()被调用,它会改变几个头部指针,让他们指向正确的位置,就形成了下面的

2015-01-04 20:03:59 482

原创 pipeline之Hazards

在processor的pipeline的设计中,会遇到三种hazard: structural hazard、data hazard、control hazard。 1、structural hazard:由于硬件资源不足而产生的hazard,避免的方法有: 将一个function unit切分成更小的stage或对设计相同功能的硬件等,总之, 就是让硬件资源够用。 2、Data

2014-12-31 12:39:29 7863 1

原创 System之Dependability

1、reliability 人们用两个标准来衡量dependability:reliability(可靠度) and availability(可用度) reliability:连续工作的时间,可以用mean time to failure(MTTF)来表示。 failure rate=1/MTTF,而failure rate的单位是FIT(failures in time) FIT定

2014-12-24 20:50:09 1526

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除