2020年7月16日 星期四

常見以太網接口介紹

from:https://www.wpgdadatong.com/tw/blog/detail?BID=B0594

一. 
PHY包含的各個子層

PCS:編碼和解碼
PMA:串行器和反序列化器
PMD:取決於物理介質
Firgure 1: OSI模型裡示意圖:
Firgure 2: 實際互連示意圖:


二. 以太網上常見的MAC 與PHY 之間的接口( 按照速度區分)
  1. 1億
  MII:介質獨立接口( IEEE 802.3 CL22 
  • 一種數字接口,可在10/100 Mbit / s PHY與MAC子層之間提供4位寬的數據路徑。
  • TXC,TXD [3:0],TXEN,TXER
  • RXC,RXD [3:0],RXDV,RXER
  RMII:簡化的媒體獨立接口
  • 對比MII,是信號線數量減半
  • 主要支持廠家有BRCM/AMD/TI等
Figure 3:RMII連接示意圖:


  SMII:串行MII
  • 串行化的MII
  • 信號主要有: REFCLK, STXD, SRXD, SSYNC, TX_EN, RX_DV
  • 主要支持廠家有Cisco
Figure 4:SMII連接示意圖:
S3MII:源同步SMII
  • REFCLK,SSMII_RXC,SSMII_RSYNC,RXD,SSMII_TXC,SSYNC,TXD
  • 主要支持廠家Cisco
Figure 5:S3MII連接示意圖:

  1. 1000M
   2.1>.1GE 並行接口
       GMII:  千兆位媒體獨立接口,IEEE 802.3 CL35
  • 在1000 Mbit / s PHY和MAC子層之間提供8位寬數據路徑的數字接口。它還支持IEEE 802.3z規範中定義的4位寬的MII接口。
  • GTXCLK,TXD [7:0],TXEN,TXER
  • RXC,RXD [7:0],RXDV,RXER,COL CRS
Figure 6: GMII 連接示意圖:

RGMII:簡化的GMII,
-對比GMII,主要是數據線數量減半;
-主要支持廠家有BRCM/HP/MAVL
  2.2>. 1GE 串行接口
      SGMII:串行MII 1.25G波特率,Cisco
  • 一個數字接口,可在1000 Mbit / s PHY和MAC子層之間提供1.25 Gbps串行雙數據速率數據路徑。
  • SGIN +-/ SGOUT +-
  • 8b / 10b編碼
Figure 7: SGMII 連接示意圖:

QSGMII:Quad SGMII 5G波特率Cisco
  • 四路串行千兆媒體獨立接口:一種數字接口,可在四個1000 Mbit / s PHY端口和MAC子層之間提供5.0 Gbps串行數據路徑
  • QSGMII_RDp / n,QSGMII_TDp / n
  • 8b / 10b編碼
USGMII:通用SGMII,1.25G / 5G / 10G波特率,思科
  • 當前SGMII和QSGMII的擴展。USGMII提供了添加新功能的靈活性,同時保持了向後兼容性。
  • USGMII_RDp / n,USGMII_TDp / n
  • 8b / 10b編碼
  • 最多可以支持8個1GE 口
  • PCH: Packet Control Header. 這個是最大特點。
PCH提供諸如PTP時間戳之類的可選功能,並可以通過重複使用下文所述的擴展字段來添加功能。PHY通過PCH與端口MAC(ASIC)通信。PCH是8個字節,它代替了幀的前同步碼。

 1000base-X:  Serdes,8b / 10b編碼,IEEE 802.3 CL36 / 37
 1000base-KX:   1G背板的應用, 8b/10b coding, IEEE 802.3 CL70
2.3>. 擴展—BRCM supports USXGMII:
      USXGMII: Universal serial XGMII,它是基於一對serdes的一個端口;
      -10.3125G波特率,64b / 66b編碼;
     Figure 9:USXGMII工作在10G和5G時候的區別:
2.4>. 比較:
      -USGMII與SGMII / QSGMII
       USGMII可以最多支持8個1GE口,通過一對10G serdes,對於高密度的應用更合適;
       USGMII可以過PCH(PacketControlHeader)傳遞MAC和PHY之間的control/status信息,這對PTP上timestamp的應用提供了便利;
  • USGMII與USXGMII
       USGMII是出8個1GE口,
       USXGMII是出一個口,此口可以是10M/100M/1000M/5G/10G等
  1. 10G
      XAUI ---- 10千兆位附件單元接口,IEEE 802.3 CL47 10GBASE-LX4(CL53),10GBASE-KX4(CL71),10GBASE-CX4(CL54)
  • 125Gbps,8b / 10b編碼
  • XG_RX [3:0] _p / n,XG_TX [3:0] _p / n
  • 4對差分線出1一個10G口;
     DXAUI--雙重XAUI 4x6.25Gbps,8b / 10b編碼
  • XG_RX [3:0] _p / n,XG_TX [3:0] _p / n
  • 4對差分線出一個20G口;
    RAXUI ---減少XAUI 2x6.25Gbps,8b / 10b編碼
  • XG_RX [1:0] _p / n,XG_TX [1:0] _p / n
  • 兩對差分線出一個10G口;
     XFI:  10 Gigibit附件單元接口,INF-8077 
  • The XFI 用來做10G速率下chip-to-chip 互聯,最初是被XFP multi-source agreement定義.
  • 10.3125Gbps,64b / 66b編碼
  • 一對差分線出10G口;
    10GBASE-KR:背板側應用,IEEE 802.3,CL72
  • 主要特點是CL73 AN,CL72 training,CL74 FEC;
  • 速率10.3125G,64b/66b編碼;
  • 一對差分線出一個10G口;

2020年7月1日 星期三

QoS中ToS和CoS的區別?802.1p、ip pri、dscp的區別?

from:https://blog.51cto.com/imccie/1750821

談到qos首先需要了解qos調度的幾個重要過程,qos調度過程包括網絡入口數據流量的分類和標記、骨幹網設備上的擁塞避免和擁塞管理、網路出口的隊列調度這幾個重要過程.
1、cos和tos的區別:
通過acl對流量進行分類以後,緊接著就需要對報文進行標記,打標記可以在三層(ip)報文頭上做,也可以在二層報文頭上做.
tos(type of service)就是指在三層報文頭(即ip頭)作標記,cos(code of service)則是在二層報文頭作標記,tos與cos只是qos的一種標記機制。
2、802.1p、ip preference、tos、dscp的區別:
(1)、802.1p:
當需要在二層報文頭做標記的時候,由於單純二層報文沒有地方能打標記,二層打標記只能在trunk上完成,trunk要用到802.1q或isl協議,如果使用的是802.1q協議,標記會打在802.1q協議頭的tci字段上,打了標記(優先級)後的報文,就稱為802.1p報文了。
二層報文頭:
dasadatafcs

802.1q報文頭:
dasatpid
2byte
tci
2byte
ptdatafcs

tci字段結構:
tci
pri
3 bits
cfi
1 bit
vlan id
12 bits
 
tpid字段標識此報文是802.1q報文,tci字段有3bit是用來標記優先級的,如果標記了優先級就稱為802.1p報文了。
(2)、ip preference和tos:
ip報文結構如下:
versionihltype of servicepacket length
identificationflagfrag offset
time to liveprotocolheader checksum
source address
destination address
optionspadding






ip報文頭的type of sevice字段長度為1個字節,其中高3 bit用來標記優先級,所以有0-7共8個ip preference級別。
type of service字段的中間4bit為tos子字段,最低1bit未用但必須置0。4bit的tos分別代表:最小時延、最大吞吐量、最小費用和最高可靠性。4bit中只能將其中1bit置1。如果所有4bit均為0,那麼就表示是普通服務。type of service字段結構如下:
type of service
xxxdelaytroughputcostrely0
ip preferencetos長置0

(3)、dscp:
為了更精細化的控制數據流分類,rfc2474定義了dscp(differential services code point),dscp擴展了type of service字段的高6 bit來表示報文優先級,因此,標記範圍從0-63。type of service字段結構如下:
type of service
xxxxxx00
ip preference長置0

dscp定義了四個系列,default、cs系列、af系列、ef系列。
①、default :
就是默認的不做優先級,即ip preference字段都是0。
type of service
00000000
ip preference長置0

②、cs系列:
rfc2474定義最高3比特為級別/類別選擇代碼(class selector codepoints,cs),其意義和ipv4報頭中ip優先級的定義是相同的,cs0 ~ cs7的級別相當於ip優先級0 ~ 7。但它並沒有定義第3到第5比特的具體含義以及使用規則。dscp使用6比特,可以定義64個優先級(0-63)。cs系列ip報文中type of service字段結構如下:
 
type of service
00100000
ip preference長置0

.
.
.
type of service
11100000
ip preference長置0

cs = 6網間控制(internetwork control),dscp = 48 (110000).路由協議優先級默認是cs6。
cs = 7網內控制(intranetwork control),dscp = 56 (111000)
③、af :
保證轉發(assured forwarding, af)由rfc2597對cs1~cs4進行進一步定義。它使用第3和第4比特做丟棄優先級標誌。01-低丟棄優先級;10-中丟棄優先級;11-高丟棄優先級。這樣,在同一類數據中,又根據被丟棄的可能性劃分出3個級別。af11~af13,af21~af23,af31~af33,af41~af43.下表列出了af服務等級及其對應的dscp值:

cs1
00100
cs2
01000
cs3
01100
cs4
10000
low drop
01
af11
00101
af21
01001
af31
01101
af41
10001
medium drop
10
af12
00110
af22
01010
af32
01110
af42
10010
high drop
11
af13
00111
af23
01011
af33
01111
af43
10011

④、ef:
由rfc2598定義,dscp值為46 (101110)。ef服務適用於低丟包率,低延遲,低抖動及保證帶寬的業務,voip默認級別是ef。

How to use simple speedtest in RaspberryPi CLI

  pi@ChunchaiRPI2:/tmp $  wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py --2023-06-26 10:4...