原创 OMCI協議

OMCI( ONU Management and Control Interface)是GPON標準中定義的一種配置傳輸通道,通過在OLT和ONT之間建立專有的ATM PVC或GEM PORT傳輸OMCI消息。 ONT在向OLT註冊時建立

原创 IP首部、TCP首部、UDP首部

                                                                    IP首部 版本:L3協議版本號,IPv4或IPv6 首部長度:單位爲4字節 協議:L4協議類型 T

原创 建立TCP連接的三次握手

(1) client發送一個SYN報文段來發起一個連接,指明client打算連接的server的端口,以及初始序號(ISN)。 (2) server發回一個SYN報文段,將確認號設爲client的ISN+1,以對client的SYN報文

原创 Traceroute

windows系統下 windows系統下執行Traceroute命令: Tracert hostname 用於偵測主機到目的主機之間所經路由情況。 Traceroute的原理: 在解析出目的主機的IP後,首先給目的主機發送一個TTL=

原创 線程等待

void *func(void *args) {Sleep(2);printf("this is func!\n"); } void main() {pthread_t pid;if(pthread_cr

原创 管道通信

管道是半雙工的,數據只能向一個方向流動,需要雙方通信時,需要建立起兩個管道。 管道只能用於父子進程或兄弟進程之間的通信。 管道的讀寫規則:管道兩端可分別用描述字fd[0]以及fd[1]來描述。需要注意的是,管道兩端是固定了任務的,即fd[

原创 linux相關工具

linux編譯、鏈接工具:gcc, as,ld 調試工具:gdb 自動編譯工具:make void main() {printf("hello!\n");return; } 編譯過程: 1. gcc hello.c -o hello 2

原创 HWAPI模塊

typedef struct {     /*initialization*/     HW_STATUS (*hwInit)(UINT8 chipUnit);     /*vlan*/     HW

原创 線程互斥

static int value = 0; pthread_mutex_t mutex; void *fun(void *args) {while(1){pthread_mutex_lock(&mutex

原创 ICMP、IGMP

ICMP報文的類型由報文中的類型字段和代碼字段共同決定,分爲兩大類:查詢報文和差錯報文。 IGMP協議 版本:V1/V2/V3 類型:query/report

原创 系統框圖

原创 中斷

中斷分爲同步中斷和異常中斷。 同步中斷(也稱爲異常)是當指令執行時由CPU控制單元產生的,之所以稱爲同步,是因爲只有在一條指令終止後CPU纔會發出中斷。 異步中斷是由其他硬件設備依照CPU時鐘信號隨機產生的。 中斷處理與進程切換有一個明

原创 多線程

void *func_1(void *args) {while(1){Sleep(1);printf("this is func_1!\n");} } void *func_2(void *args) {

原创 父進程與子進程

子進程與父進程之間除了代碼是共享的之外,堆棧數據和全局數據均是獨立的。 void main() {pid_t pid;/*fork函數被調用一次但返回兩次。爲什麼fork會返回兩次?由於子進程在複製時複製了父進程的堆棧段,所以兩個進程都停

原创 DX107寄存器索引

  表名 控制寄存器 數據寄存器 長度 STP 0x0A00000C 0x0A000004 2 VLAN 0x0A00000C 0x0A000000 3 QOS_PROFILE 0x0