人人干人人模-人人干人人看-人人干人人搞-人人干人人干人人干-人人干人人干-人人干人人插

您現(xiàn)在的位置:首頁 > 服務(wù)支持 > 資訊動態(tài)資訊動態(tài)

關(guān)于全國產(chǎn)交換芯片-盛科CTC5160

 概述

    海翎光電的小編接觸盛科芯片4個(gè)年頭了,中間基于CTC5160、CTC7132、CTC2118做了很多項(xiàng)目,下面基于小編對盛科SDK的理解,做一些筆記,以便時(shí)常翻閱,愿意與小伙伴一同分享。資料主要來源盛科對外提供的資料。
ctc5160芯片介紹
    CTC5160(GreatBelt)是一款多功能,高性能的IP/Ethernet交換芯片,旨在滿足下一代企業(yè)網(wǎng)和包傳輸接入/匯聚網(wǎng)絡(luò)需求。憑借高度集成的L2~L4層包處理引擎,先進(jìn)的流量管理器和內(nèi)置的OAM引擎,芯片提供豐富功能和高達(dá)120Gbps線速處理能力。
     依托盛科先進(jìn)的靈活表項(xiàng)管理(FTM™)技術(shù),CTC5160可以根據(jù)不同的應(yīng)用場景提供不同的表項(xiàng)配置,單芯片最大支持128KMAC或者64K IP LPaM表項(xiàng)。
     作為盛科第三代高性能核心交換芯片,CTC5160以其卓越的可擴(kuò)展性增強(qiáng)了原有的基于服務(wù)的處理架構(gòu)(service-aware architecture)。芯片的處理流程不僅支持完全無阻塞的高性能交換,而且還為客戶化提供了額外的靈活特性。
0.png
CTC5160可以靈活配置為不同的工作模式,典型的如下:

  • 24X1GE + 8X10GE
  • 48X1GE + 8X10GE
  • 12X10GE

N-Cube架構(gòu)
1.png

SDK常用的概念
架構(gòu)
lport、gport、logic port
      端口是交換芯片和其它設(shè)備進(jìn)行對接傳輸數(shù)據(jù)的,盛科sdk中把端口劃分成了本地端口(lport)、全局端口(gport)和邏輯端口(logic port)這三種類型。
lport
    單芯片情況下的本地端口,包括物理口、芯片中保留端口、內(nèi)部端口。
本地端口一般由芯片能出的MAC數(shù)目而決定,芯片支持的本地端口最大值:

  • Greatbelt 支持128個(gè)本地端口
  • Humber 支持256個(gè)本地端口

物理端口的作用:可以作為一些表項(xiàng)的索引,例如DsPhyPort、DsSrcPort、DsDestPort.
Greatbelt lport的組成
2.png
gport
    如果單芯片情況下表示的就是lport,但是有時(shí)會出現(xiàn)多芯片場景的應(yīng)用,例如分布式系統(tǒng)或者堆疊系統(tǒng)。使用lport是無法區(qū)分哪個(gè)芯片上的端口。此時(shí)就需要global port,簡稱gport。
    像堆疊系統(tǒng)中,多臺堆疊成員設(shè)備虛擬成一臺網(wǎng)絡(luò)設(shè)備,此時(shí)單播轉(zhuǎn)發(fā)表的出端口必須要知道是哪個(gè)芯片上的端口,gport就攜帶芯片信息,然后經(jīng)過堆疊口單播出去。
Global port的組成
3.png
logic port
    盛科的邏輯端口是一種物理端口的映射,指的是一種業(yè)務(wù)在一個(gè)物理端口上的抽象,用在特殊的地方。

  • VPLS:作為AC的logic port時(shí),可以通過gport+vlan或gport映射得到,作為PW端口時(shí)可以通過VC Label映射得到。
  • APS:兩層保護(hù)切換網(wǎng)絡(luò),一對保護(hù)組的出口同時(shí)屬于一個(gè)logic port,可通過Port模塊的接口把兩個(gè)端口配置屬于同一個(gè)logic port。

FID
Greatbelt芯片最大支持16k個(gè)FID。
Forwarding Instance ID:轉(zhuǎn)發(fā)實(shí)例號,盛科的芯片所有二層轉(zhuǎn)發(fā)都基于MAC+FID進(jìn)行的。FID的來源

  • 基于VLAN的L2 Bridge轉(zhuǎn)發(fā)

1.IVL: vlan:fid是1:1關(guān)系
2.SVL:vlan:fid是n:1關(guān)系,可通過配置DsVlan.fid對應(yīng)的VLAN在SVL中的FID。

  • 基于C+S VLAN的轉(zhuǎn)發(fā)

上層用戶可以通過Vlan mapping的接口ctc_vlan_add_vlan_mapping()把C+S映射到一個(gè)FID中進(jìn)行轉(zhuǎn)發(fā)。

  • 基于VSI的VPLS的轉(zhuǎn)發(fā)

在VPLS應(yīng)用中,虛擬交換實(shí)例即VSI可映射為芯片中的FID,在配置AC端口或PW端口時(shí)指定在同一個(gè)VSI,相當(dāng)于在同一個(gè)轉(zhuǎn)發(fā)實(shí)例中轉(zhuǎn)發(fā)。VSI范圍4096 + 1K
Mcast Group ID
    在芯片中,二層組播、三層組播、基于VLAN的泛洪、基于VSI的泛洪都采用組播復(fù)制的方式實(shí)現(xiàn),每個(gè)組播組都是用組播ID來索引。
下面時(shí)默認(rèn)Mcast Group ID分配情況
4.png
VRF ID
VRF:Virtual Routing Forwarding,虛擬路由轉(zhuǎn)發(fā)實(shí)例。在一臺交換機(jī)上啟用VRF,可以虛擬多臺交換機(jī),三層之間相互隔離。每個(gè)VRF獨(dú)立管理自己的路由表。
    一般VRF在L3VPN中使用,在PE設(shè)備上,為每個(gè)直接相連的Site建立并維護(hù)專門的VRF實(shí)例,即VPN實(shí)例。每個(gè)實(shí)例有自己的IP路由表、標(biāo)簽轉(zhuǎn)發(fā)表、與VPN實(shí)例綁定的接口以及VPN實(shí)例的管理信息。
    在盛科SDK中,vrfid屬于L3 interface的屬性。
L3 interface
l3 interface 全局支持1k interface, 分為三種類型:

  1. physical interface: 為Routed port,僅僅可以配置三層屬性,只有路由功能,相當(dāng)于路由器上的接口,是基于物理port的,可以直接連接路由器。
  2. Vlan interface: 是三層交換機(jī)中vlan配置的路由接口,Vlan interface基于vlan,vlan接口集成了交換和路由的功能。
  3. Sub interface: 為Routed port,僅僅可以配置三層屬性,只有路由功能,是基于port + vlan來區(qū)分的,在一個(gè)物理端口port上,可以通過vlan來劃分不同的Interface。

Nexthop
    NextHop在盛科芯片中是一個(gè)很重要的概念,它是對芯片中一系列表項(xiàng)的總稱,這些表象包括DsFwd、DsNexthop、DsL2Edit、DsL3Edit。這些表項(xiàng)的作用就是決定將報(bào)文發(fā)往哪些端口,并且在出端口前對報(bào)文做哪些編輯等等。
NextHop 類型

  • L2UC:二層單播,初始化創(chuàng)建,F(xiàn)DB使用。
  • L2MC:二層組播,SDK維護(hù),用于二層組播
  • IPUC:三層單播,用戶自己創(chuàng)建刪除,可以add/update/remove.
  • IPMC:三層組播,SDK維護(hù),用于三層組播
  • MPLS
  • IP tunnel

可以歸為兩類:

  1. 用戶可以管理的:IPUC, MPLS, IP tunnel
  2. SDK自己維護(hù):L2UC, L2MC, IPMC

自定義上送CPU的報(bào)文類型
    在開發(fā)私有協(xié)議時(shí),有時(shí)會用到特殊的報(bào)文類型,芯片無法自動識別上送CPU,此時(shí)需要采用特殊手段,由芯片主動抓取,然后上送CPU進(jìn)行處理。
創(chuàng)建Mcast Nexhop
    用于識別出報(bào)文后,報(bào)文將要進(jìn)行的動作,發(fā)往哪些端口。

  1. /* 直接創(chuàng)建一個(gè)mcast nexthop即可,用于acl識別出報(bào)文關(guān)聯(lián) */
  2. ctc_nh_add_mcast(mcast_nhid, &nh_mcast_group);

特殊報(bào)文識別
ACL報(bào)文抓取:

  1. ctc_acl_create_group —創(chuàng)建一個(gè)入方向的acl組。
  2. ctc_acl_add_entry — 創(chuàng)建acl表項(xiàng),可以基于l2/l3/l4進(jìn)行報(bào)文的識別。
  3. ctc_acl_install_group — 安裝,使之生效。

{/*  根據(jù)l4類型或則端口號進(jìn)行匹配 示例 */

  • acl_entry->entry_id = entry_id;
  • acl_entry->key.type = CTC_ACL_KEY_IPV4;
  • p_key->flag = CTC_ACL_IPV4_KEY_FLAG_L4_PROTOCOL;
  • p_key->l4_protocol = l4_protocol;
  • p_key->l4_protocol_mask = 0xff;
  • p_action->nh_id = nhid;   /* 第一步創(chuàng)建的mcast nexthop */ 
  • p_action->flag |= CTC_ACL_ACTION_FLAG_REDIRECT;
  • ret = ctc_acl_add_entry(acl_group_id, acl_entry);
  • }

創(chuàng)建Misc Nexthop
使用的Misc Nexthop,用于關(guān)聯(lián)cpu reason,上送CPU。

  • nh_param.type = CTC_MISC_NH_TYPE_TO_CPU;
  •  nh_param.misc_param.cpu_reason.cpu_reason_id = reason_id;
  • ret = ctc_nh_add_misc(nhid, &nh_param);

自定義CPU Reason
1.創(chuàng)建一個(gè)CPU reason, 并映射到16個(gè)CPU group中的一個(gè)queue

  • que_cfg.type = CTC_QOS_QUEUE_CFG_QUEUE_REASON_MAP;
  • que_cfg.value.reason_map.cpu_reason = reason_id;
  • que_cfg.value.reason_map.queue_id = queue_id;
  • que_cfg.value.reason_map.reason_group = group_id;
  • ret = ctc_qos_set_queue(&que_cfg);


2.將CPU reason的目的地指向CPU

  • dest_type = CTC_PKT_CPU_REASON_TO_LOCAL_CPU;
  • que_cfg.type = CTC_QOS_QUEUE_CFG_QUEUE_REASON_DEST;
  • que_cfg.value.reason_dest.cpu_reason = reason_id; 
  • que_cfg.value.reason_dest.dest_type = dest_type;
  • ret = ctc_qos_set_queue(&que_cfg);


3.最后將上述創(chuàng)建的上送CPU的Misc Nexthop關(guān)聯(lián)這個(gè)CPU reason

  • nh_param.type = CTC_MISC_NH_TYPE_TO_CPU;
  • nh_param.misc_param.cpu_reason.cpu_reason_id = reason_id;
  • ret = ctc_nh_add_misc(nhid, &nh_param);


關(guān)聯(lián)Mcast Nexthop和Misc Nexthop
這一步主要是將Misc-Nexthop添加到Mcast-Nexhop中去。上面使用Mcast-Nexthop的目的是為了不單單將自定義報(bào)文上送CPU,而且還要轉(zhuǎn)發(fā)出去。如果僅僅時(shí)上送CPU,可以直接省略掉Mcast-Nexthop步驟,直接在ACL規(guī)則中關(guān)聯(lián)Misc-Nexthop即可。

1.添加上送CPU的misc-nexthop

  • nh_mcast_group.mem_info.member_type=CTC_NH_PARAM_MEM_LOCAL_WITH_NH;
  • nh_mcast_group.opcode=CTC_NH_PARAM_MCAST_ADD_MEMBER;
  • nh_mcast_group.mem_info.ref_nhid = misc_nhid;
  • ret = ctc_nh_update_mcast(mcast_nhid, &nh_mcast_group);


2.添加普通的物理端口

  • nh_mcast_group.mem_info.member_type=CTC_NH_PARAM_MEM_BRGMC_LOCAL;
  • nh_mcast_group.opcode=CTC_NH_PARAM_MCAST_ADD_MEMBER;
  • nh_mcast_group.mem_info.destid = gport;
  • ret = ctc_nh_update_mcast(mcast_nhid, &nh_mcast_group);


CTC5160產(chǎn)品特性
低功耗

  • 可用于無風(fēng)扇設(shè)計(jì)產(chǎn)品
  • 支持EEE(能效以太網(wǎng))

低延遲

  • 支持Cut-Through轉(zhuǎn)發(fā)模式

云堆疊

  • 基于網(wǎng)絡(luò)的任意端口堆疊,支持環(huán)狀/樹狀/網(wǎng)狀拓?fù)?/section>

SmartPort™技術(shù)

  • 擁有4個(gè)獨(dú)立可配的HSS Macro,支持高速SerDes (1.25~12.5Gbps)
  • 支持豐富的端口協(xié)議:CX4, KX, KX4, 10G KR, XFI, SFI, XAUI, SGMII, QSGMII

先進(jìn)的三層功能

  • IPv4/IPv6雙棧轉(zhuǎn)發(fā)
  • IPv4/IPv6隧道 GRE over IPv4/IPv6, GRE based VPN, 6to4, ISATAP, MPLS over IP
  • 豐富的IPv6過渡技術(shù),如:NAT64,IVI

SDN功能

  • 支持OpenFlow 1.3
  • 創(chuàng)新的32K Hash流表

豐富的OAM和PM服務(wù)

  • 以太網(wǎng)OAM (CCM, LBM, LBR, LM, DM, throughput等)
  • 同時(shí)支持基于Y.1731和BFD MPLS-TP OAM
  • 針對IP/MPLS的BFD

層次化APS (多達(dá)3級)

  • 可層次化應(yīng)用在PW、LSP和tunnel之上
  • 協(xié)議/拓?fù)錈o關(guān)的實(shí)現(xiàn)機(jī)制,保證快速切換

層次化QoS

  • 三級流量整型/調(diào)度
  • 支持SrTCM, TrTCM和改進(jìn)的TrTCM算法
  • 支持MEF HBWP
  • 可靈活映射的隊(duì)列

增強(qiáng)的網(wǎng)絡(luò)時(shí)鐘同步

  • 遵循G.8261標(biāo)準(zhǔn)的SyncE功能
  • IEEE1588 v1/v2,OC/BC/TC,支持1-step和2-step模式
  • 支持基于Ethernet/IP/UDP/MPLS封裝的PTP報(bào)文傳輸功能
    產(chǎn)品應(yīng)用:

  • 5.png

  • 6.png

主站蜘蛛池模板: 午夜官网| 亚洲另类图片专区 | 一级毛片特级毛片国产 | 黄色网址视频在线播放 | 欧美一区二区三区四区在线观看 | 日韩精品高清自在线 | 欧美日本一区二区三区道 | 成人小视频免费观看 | 欧美人视频 | 久久久久国产精品免费免费不卡 | 亚洲欧美日韩中文字幕一区二区三区 | 亚州一级毛片在线 | 国产高清美女一级毛片图片 | 久久久精品| 综合在线播放 | 一级女人毛片人一女人 | 欧美日韩加勒比一区二区三区 | 青草视频在线观看免费视频 | 欧美洲大黑香蕉在线视频 | 国产精品三级一区二区 | 午夜看片福利 | 亚洲欧美日韩在线精品一区二区 | 国内黄色一级精品 | 午夜视频欧美 | 国产精品视频免费的 | 一级毛片一片毛 | 高清性色生活片97 | 特黄特色大片免费 | 久久精品久久久久久久久人 | 久久久久亚洲 | 一级毛片大全 | 国产欧美一区二区三区免费看 | 一级片成人 | 国产精品第 | 日本特黄在线观看免费 | 成人伊人 | 国产青草视频免费观看97 | 高清毛片在线看高清 | 亚州综合激情另类久久久 | 国产毛片在线 | 亚洲精品国产啊女成拍色拍 |