色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在ns2中實現網絡協議的方案詳解

454398 ? 來源:博客園 ? 作者: 原來... ? 2020-10-27 14:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

用IE不會有顯示的問題Firefox有的代碼顯示不出來;

這篇文章適合初學者,關于初學者應該參考的文檔:NS by Example、NS2 Beginners Page都有很多實例可以參考。

本文通過實現一個簡單的傳輸協議來說明如何在 ns2 中實現網絡協議,當然,這個協議非常簡單,但是在ns2 中實現協議(不是修改)的流程大體就是這個樣子的了。我們稱這個簡單的協議做: simple_trans 協議,我們一步一步來,把 simple_trans 這個協議慢慢做的復雜。首先我想要明確一個概念:什么是在 ns2 中實現網絡協議,不把這個問題搞明白我們都不知道自己在做什么。網路協議顧名思義網絡上運行的協議,網絡是由關系(無論什么關系)組成的,在這個網絡上運行的規則(無論是優化網絡數據傳輸還是共享網絡信息)就叫做協議,所以我覺得把協議理解為強邏輯的規則是沒有問題的。我們實現一個網絡協議的前提是這個協議被設計出來,所以我們先要想好我們所要實現的協議是要用來做什么事情的;回到 ns2 , ns2 幫我們實現好了一個框架,這個框架給我們提供了數據包初始化,鏈路連接,數據包傳遞路由等功能,也就是說我們只要搭建好我們的邏輯就可以完成協議的模擬了,在 ns2 中我們通過對數據包類型、發送數據包邏輯等等進行控制。這就好比于 ns2 給我們提供了一個鐵路網,火車需要的電也有了,火車不夠了還可以生產,我們在 ns2 中實現協議就是要對火車進行調度,何時到站,到站后如何運行等等就是協議的內容。

下面就從我們的 simple_trans開始 說起,在這個協議里,首先我們要實現的任務非常簡單,簡單到什么程度了呢,簡單到這個協議就是 a 節點對 b 節點說一句話:“ hi!, I’m a ”。不要笑,這也是一個協議。要在 ns2 上完成這個任務,我們首先要給 simple_trans 這個協議起個名字使得 ns2 可以發出這個協議的數據包并且認得這個協議發出的數據包,現在開始就是第一步了。

1, 在 NS_HOME/common/packet.h 的 enum packet中 加入協議數據包名稱 PT_SIMPLE_TRANS_PACKET(必須的,注意不要加錯地方,最好加在倒數第二的地方),在 class p_info 中加入name_[PT_SIMPLE_TRANS_PACKET] = “simple_trans_packet” (非必須的)。 Packet.cc 就不要動了。

2, 為了我們協議的獨立性、好看性,我們在 NS_HOME 根目錄下創建一個文件夾,我就叫他 kgn ,好在 kgn目錄(也就是 NS_HOME/kgn )目錄下給協議的主角: simple_trans.h&simple_trans.cc 。兩個空文件沒什么用,下面我們添加協議內容。

3, simple_trans.h 內容:

view plain

#ifndef ns_simple_trans_h

#define ns_simple_trans_h

#include “agent.h”

#include “tclcl.h”

#include “packet.h”

#include “address.h”

#include “ip.h”

#define PROTOCOL_DEFAULT_PORT 1023

#define PROTOCOL_INIT_SYN 1

首先我們引用一些需要用到的頭文件,然后我們定義了兩個宏,第一個是我們 simple_trans 協議默認傳輸的端口(這方面如果有所疑問請參考這里 ),第二個是我們僅有的一條指令:同步指令(類似于 TCP 協議中三次握手的第一步,事實上我們的這個協議最終就是要實現一個簡化版的三步握手)。繼續看:

view plain

struct hdr_simple_trans {

int type;

static int offset_;

inline static int& offset() {

return offset_;

}

inline static hdr_simple_trans * access(const Packet * p) {

return (hdr_simple_trans*) p-》access(offset_);

}

};

這些可以當做領導講話的開頭部分內容。就是定義一個我們協議的頭所包括的內容,只有 type 這個是我定義的,其他的內容是 ns2 系統需要的。再繼續:

view plain

class simple_trans_agent : public Agent {

public :

simple_trans_agent();

virtual void recv(Packet *, Handler *);

void send_simple_msg(int type, int target);

int get_target(){ return simple_target; }

protected:

int simple_target;

int simple_port;

int command(int argc, const char*const*argv);

};

這里就是我們定義的負責“調度火車”的功能的類了。繼承的是 agent 類,在 ns2 中,這個 agent 不可小覷,他是我們可以產生數據包、發送數據包、接收數據包的地方,包括的 target 變量就是數據包發送給的下一個目標。recv 函數會在仿真的過程中“自動”的收到網絡上傳輸的數據包(更深層次的是經過了地址和端口過濾器);send_simple_msg 函數用來執行創建并發送數據的功能; get_target 就不用解釋了(接口保護)。接下來是我們在協議制定過程中經常會用到的 timer 的定義, timer 顧名思義是一個定時器(鬧鐘)在到時時候會調用一個expire (超時)函數,這個被執行的超時函數的內容就是我們所感興趣的,因為通過 timer 我們可以實現很多邏輯。

view plain

class SYNTimer : public TimerHandler {

public:

SYNTimer(simple_trans_agent* t) : TimerHandler(), t_(t) {

}

inline virtual void expire(Event *);

protected:

simple_trans_agent* t_;

};

我們只要實現 expire 函數即可, timer 的初始和使用見 simpe_trans.cc 文件:

view plain

SYNTimer *syn_timer = new SYNTimer(this);

syn_timer-》resched(1.00);

resched 用來給“鬧鐘上弦”。

view plain

void SYNTimer::expire(Event *){

t_-》send_simple_msg(PROTOCOL_INIT_SYN, t_-》get_target());

this-》resched(1.00);

}

expire 可以實現我們的“理想”了,譬如,我們到時了就發送我們的 SYN 信息給我們的目標節點(目標節點通過tcl 文件定義,下文中我們會見到)。

4, simple_trans.cc 內容:

view plain

int hdr_simple_trans::offset_;

static class simple_transHeaderClass : public PacketHeaderClass {

public:

simple_transHeaderClass() : PacketHeaderClass(“PacketHeader/simple_trans”,sizeof(hdr_simple_trans)) {

bind_offset(&hdr_simple_trans::offset_);

}

} class_simple_transhdr;

static class simple_transClass : public TclClass {

public:

simple_transClass() : TclClass(“Agent/simple_trans”) {}

TclObject* create(int, const char*const*) {

return (new simple_trans_agent());

}

} class_simple_trans;

simple_trans_agent::simple_trans_agent() : Agent(PT_SIMPLE_TRANS_PACKET),

simple_target(-1), simple_port(PROTOCOL_DEFAULT_PORT) {

bind(“simple_target_”, &simple_target);

bind(“simple_port_”, &simple_port);

}

這個又是八股文,前面幾個類照葫蘆畫瓢即可,如果想要理解是什么意思可以參考我的文章 ,最后一個我們bind 了幾個變量,這幾個變量通過綁定就可意思讓我們通過 tcl 腳本方便的改變他們的值了(不需要重新編譯c++ 文件)。

5, 在這個文件中我們主要注意這么幾點:

a) 在 send_simple_msg 中數據包的生成 Packet* pkt = allocpkt() ;

b) 數據包的訪問: hdr_ip *iph = hdr_ip::access(pkt) ;

c) 數據包 ip 地址和端口號的設定(從這里我們可以看出實現的是一個應用層協議);

d) 發送數據包 send( pkt, 0 ) ,我們可以不用去管 0 是什么意思;

e) Command 命令中不要忘記 return (TCL_OK) 這句話,否則會出錯的。

f) 在 recv 函數中實現我們的簡單邏輯:顯示出我們收到了來自對方的一個 simple_trans 的數據包。

6, 看我們這兩個宏命令:

view plain

#define NOW Scheduler::instance().clock()

#define MYNODE Address::instance().get_nodeaddr(addr())

這兩個命令給我們編程提供幫助,分別顯示系統時間和得到當前節點的地址,也許以后我們會用得著。

7, 在 tcl 腳本中我們需要使用我們的 simple_trans 協議:

view plain

set sT1 [new Agent/simple_trans]

$sT1 set-target [AddrParams addr2id [$n1 node-addr]]

$n0 attach $sT1 1023

set sT2 [new Agent/simple_trans]

$n1 attach $sT2 1023

。.. 。..

$ns at 1.0 “$sT1 begin”

在 tcl 中 new 一個對象,比如 sT1 之后我們要將其 attach 到所屬的節點上,注意最后一個 1023 ,這是我們attach 到節點上的給我們 simple_trans 協議分配的端口(深層次的意思是端口分類器會把目的端口是 1023 的數據包分給 sT1 )。 begin 方法是在 command 中實現的,回過頭到 simple_trans.cc 中可以看到他的意思,我們可以好好理解一下 command 中函數和 tcl 中的使用關系。

8, 最后一步,就是編譯我們整個協議將其鍵入到 ns 中了,編譯前我們要修改 makefile 文件,由于我們是在NS_HOME/kgn 目錄中所以, makefile 需要修改的有兩個地方:在 INCLUDES = 中加入 -I./kgn ,加入這個的好處就是我們在其他目錄使用 simple_trans.h 的時候不用將 kgn 次級目錄包含進去;在 OBJ_CC = 中加入 kgn/simple_trans.o / 。好了大功告成,下面回到 NS_HOME 目錄下 make 一下,如果成功,我們執行一下我們的 tcl 腳本,看看是不是真的可以運行了呢。

小結:到了這里我們已經添加了一個簡單的協議了,好了,有的人會說了,這么簡單的協議有什么用呢?那好,我們想一想我們有什么可以改進的嗎?以上的協議我們叫做 simpe_trans 協議 0.1 版,那么我們看看 0.2 版給我帶來了什么新的變化。

ACK timer

首先要做的就是協議的復雜化,我們將協議改為三次握手過程如圖所示:

這個過程對應以下代碼(修改simple_trans.h):

view plain

#define PROTOCOL_INIT_SYN 1

#define PROTOCOL_INIT_SYN_ACK 2

#define PROTOCOL_INIT_ACK 3

#define INTERVAL 0.3

class simple_trans_agent;

enum simple_state{

CLOSED,

SYN_SENT,

SYN_RCVD,

ESTABLISHED

};

其中 C-》CLOSED , SS-》SYN_SENT , SR-》SYN_RCVD , E-》ESTABLISHED 為節點可能處于的狀態在發送或接受 SYN 和發送 SYN-ACK 接受 ACK 后的變化,而兩個 timer 的作用就是使得沒有正確到底目的地的數據包可以被重新發送,當然這些 timer 需要在適當的時機取消比如: ack_timer-》cancel() ,取消 timer 使用 cancel 函數即可。具體代碼實現參考 0.2 版本的代碼。那么現在我們重新 make 編譯我們的程序,我們會發現兩個節點可以通過三次握手建立起來一個簡單的鏈接了,可以說我們在有這個簡單的可以建立連接的程序之后我們馬上想到是不是還可以發送數據呢,在 ns2 中,數據的發送,我們常見的如 CBR 或者 FTP ,都可以發送數據但是他們之間有很大的不同 CBR 使用的是 trafficgenerater ,而 FTP 可以看成是一個帶發送數據包的 agent ,現在為了讓我們的 simple_trans 協議可以在建立起連接以后發送數據,我們就有了兩種選擇,是繼承 trafficgenerater 成為數據發送源呢,還是類似 FTP 使用 agent 發送數據,考慮到我們協議的簡潔易懂性,我們直接使用一個 timer ,在每次 timer 到時的時候都利用 simple_trans 的 send 函數發送一個具有 PROTOCOL_DATA 類型(標識是一個數據)的包給通信對端( CN )。在 sendmsg 函數中的實現如下:

view plain

hdr_rtp* rh = hdr_rtp::access(p);

hdr_simple_trans *shdr = hdr_simple_trans::access(p);

hdr_ip* ih = hdr_ip::access(p);

double local_time = NOW;

hdr_cmn::access(p)-》size() = size;

hdr_cmn::access(p)-》timestamp() =

(u_int32_t) (SAMPLERATE * local_time);

rh-》seqno() = seqno++;

ih-》daddr() = simple_target;

ih-》dport() = simple_port;

ih-》saddr() = MYNODE;

shdr-》type = PROTOCOL_DATA;

target_-》recv(p);

這里面我們還可以通過 RTP 協議給每一個包設置序列號,當然也可以在 hdr_simple_trans 中添加一個 seq 的屬性。當然我們的協議升級到 0.3 版本后的變化并不只是有這些而已。我們還將 simple_trans 協議的數據包的大小以及發送頻率設置成可變的等,具體可以參考 0.3 的代碼。

小結:通過以上的設計,我們初步有了一個可以建立連接并發送數據的協議,什么?像是 SIP 協議,沒錯我們也可以將我們的程序叫做一個簡單的會話發起協議,當然你可以實現的更加復雜。至此,我們在 ns2 中添加一個基本網絡協議的事情已經完成了,我們注意到:不同的協議使用節點上的不同的端口,這樣的協議是不能夠影響到諸如路由、無線鏈路等協議的結果的,所以并不是所有的 ns2 中的協議都可以這么添加,我們還可以修改節點數據結構等方法添加我們自己的一些修改進 ns2 達到仿真的目的,所以這篇文章的目的還是介紹如何在 ns2 中實現協議的基礎,我們要根據我們自己的仿真需要來設計我們的程序。通過以上的介紹我們應該掌握的是在 ns2 中發送數據的方法、 ns2 中 timer 的使用方法等等技巧。下面我介紹一個比較有意思的利用我們的 simple_trans 做的協議修改實驗:添加無線節點丟包模型,在這里主要參考的是柯志亨老師的實現方法,但是在丟包方面我這里做的對原有協議破壞性更多(更不合理吧),我們將演示當兩個無線節點距離增大的時候會丟失數據包并且我們的ACKTimer 以及 SYNTimer 的作用。好,下面就是如何修改的過程了:

在 NS_HOME/mac 目錄下的 wireless-phy.cc 的 380 行左右,我們添加如下代碼:

view plain

//error model.

hdr_cmn *hdr_err = HDR_CMN(p);

hdr_simple_trans *sh = hdr_simple_trans::access(p);

double ratio = Pr/RXThresh_;

double std = error_modle_lf(ratio);

//printf(“wireless-phy model receive packet ratio=%lf std=%lf/n”,ratio,std);

if (hdr_err-》ptype() == PT_SIMPLE_TRANS_PACKET){

if (!sh-》error){

double tmp=((double)rand())/RAND_MAX;

if (tmp》std){

sh-》error = false;

}else{

sh-》error = true;

//printf(“wireless-phy error model set the packet error/n”);

}

}

}

//end of error model.

我們修改的是 WirelessPhy::sendUp(Packet *p) 函數,在發送數據包之前我們檢查數據包中 simple_trans 協議的數據包,并將該數據包中在 hdr_simple_trans 中定義好的 error 屬性置為 true (說明這個數據包出錯),實現數據包出錯分布的函數 error_modle_lf ,這是一個拉格朗日差值函數的實現:

view plain

double error_modle_lf(double ratio){

if(ratio 》1.5)return 0;

double x[6] = {1,1.1,1.2,1.3,1.4,1.5};

double y[6] = {1,0.5,0.3,0.1,0.02,0};

double res = 0;

for(int i = 0; i 《 6; i++){

double temp = 1;

double temp1 = 1;

for(int j = 0; j 《 6; j++){

if(i == j)continue;

temp *= (x[i] - x[j]);

temp1 *= (ratio - x[j]);

}

res += (temp1 / temp) * y[i];

}

return res;

}

顯然,我們設計的是無線節點離基站越遠對包個數越多。

1, 在 simple_trans.cc 中添加 if( shdr-》error )return ,這樣錯誤的包我們就“裝作”收不到了

2, 這里補充說明,柯志亨老師的錯誤模型實現是基于無線層的,出錯了就真的不發或者重發,而我的實現可以說是假的,還會造成無線網絡的吞吐,但是還是可以演示無線丟包情況的,具體結果可以編譯我稱作 0.4 版本的程序運行??梢詫男蛄刑柈嫵鰜?,這樣會更形象的展現丟包情況。

3, 我們將包序列號、包收到時間等等信息都通過 printf 函數打印出來,這樣我們就可以不用去考慮如何通過trace 文件來分析得到數據,這種方法有的時候更加有效,我們不必去了解 trace 機制,這也算是一個捷徑了。

總結:

Ns2 作為一個在科研領域應用廣泛的仿真器有著其內在的很多優勢的:開源協議修改自如、分裂設計可設計不同的仿真場景而不需要修改協議代碼,但是,我們在做網絡協議的研究的時候往往會發現 ns2 現有的協議不足以完成我們的仿真,這是就需要自己設計協議或者修改現有的協議,所以通過對這個簡單的 simple_trans 協議的實現我們可以更加的有的放矢,知道如何在那里修改 ns2 的協議,雖然 simple_trans 只是一個超級笨的協議,但是它已經展現了基本的協議設計技巧:集成 agent 、 timer 的使用、協議包頭設計等等。如果我們能夠再將 ns2有線無線節點結構、路由模塊、無線 mac 等等這些代碼仔細研讀,那么到時你就會發現在 ns2 上面實現一個協議倒不是難事,反而是在協議自身的設計上,這就和我們高級程序語言一樣,語言的學習不是難事,而真正熟練的利用語言解決問題才是我們的學習目標。
編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 仿真器
    +關注

    關注

    14

    文章

    1042

    瀏覽量

    85599
  • 網絡協議
    +關注

    關注

    3

    文章

    273

    瀏覽量

    22163
  • NS2
    NS2
    +關注

    關注

    4

    文章

    10

    瀏覽量

    12262
收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何排除 USB 協議分析儀測試的干擾源?

    分析儀設置更寬松的觸發閾值(如允許±50ns時序偏差)。 3. 協議實現錯誤 現象:DUT未正確實現USB
    發表于 08-01 15:00

    SNMP協議設備監控的使用

    介紹,并提供使用SNMP進行網絡管理的基本指南。 1.簡介 SNMP(Simple Network Management Protocol)是一個基于互聯網協議族(IP)的網絡管理標準,用于
    的頭像 發表于 06-27 11:48 ?174次閱讀
    SNMP<b class='flag-5'>協議</b><b class='flag-5'>在</b>設備監控<b class='flag-5'>中</b>的使用

    EtherCAT轉CANopen協議網關應用詳解

    成為運動控制領域的“明星”,而CANopen則憑借靈活性和成本優勢中小型設備中廣泛應用。當兩者相遇時,如何打破協議阻礙,實現無縫互聯? EtherCAT轉CANopen網關通過智能協議
    的頭像 發表于 05-19 14:19 ?239次閱讀
    EtherCAT轉CANopen<b class='flag-5'>協議</b>網關應用<b class='flag-5'>詳解</b>

    1588v2協議:精確時間同步技術深度解析與實測演示

    引言: 現代通信網絡,精確的時間同步是確保系統高效運行的關鍵。1588v2協議,也稱為精確時間協議
    的頭像 發表于 04-24 17:56 ?674次閱讀
    1588v<b class='flag-5'>2</b><b class='flag-5'>協議</b>:精確時間同步技術深度解析與實測演示

    三種藍牙架構實現方案(藍牙協議方案

    藍牙架構實現方案有哪幾種?我們一般把整個藍牙實現方案叫做藍牙協議棧,因此這個問題也可以這么闡述:藍牙協議
    的頭像 發表于 04-08 15:35 ?782次閱讀
    三種藍牙架構<b class='flag-5'>實現</b><b class='flag-5'>方案</b>(藍牙<b class='flag-5'>協議</b>棧<b class='flag-5'>方案</b>)

    iic協議物聯網的應用

    物聯網(IoT)是一個由相互連接的智能設備組成的網絡,這些設備能夠收集、交換和分析數據。物聯網的實現,通信協議扮演著至關重要的角色,它們
    的頭像 發表于 02-05 11:32 ?717次閱讀

    MTP協議的步驟和流程詳解

    MTP(Message Transfer Part)協議是電信網絡中用于信令的協議之一,它是SS7(Signaling System No. 7)信令系統的一部分。MTP的主要功能是
    的頭像 發表于 01-03 09:58 ?1598次閱讀

    網絡協議與網關的關聯

    現代通信網絡,數據的傳輸和接收依賴于一套復雜的規則和標準,這些規則和標準統稱為網絡協議。網絡
    的頭像 發表于 01-02 18:07 ?711次閱讀

    mtu不同網絡協議的應用

    現代網絡通信中,數據包的傳輸效率和可靠性是衡量網絡性能的關鍵指標。MTU作為網絡協議的一個重
    的頭像 發表于 12-16 14:22 ?1464次閱讀

    dap協議跨鏈技術的應用

    和通信協議,實現不同區塊鏈網絡之間的無縫連接。 一、DAP協議概述 DAP協議是一種去中心化應用協議
    的頭像 發表于 11-22 15:45 ?950次閱讀

    ipc協議物聯網的應用

    聯網概述 物聯網是一個由互聯網、傳統電信網、傳感器網絡等多種網絡組成的網絡,它允許物體與物體、物體與人、人與人之間的智能互聯。物聯網的核心在于數據的收集、傳輸、處理和應用,而通信協議
    的頭像 發表于 11-15 14:19 ?1395次閱讀

    受電端Type-C設計,PD協議的純硬件實現詳解

    受電端Type-C設計,PD協議的純硬件實現詳解 USB Type-C口電源主要有以下三個角色定義,分別為: ·SOURCE 純供電方
    的頭像 發表于 11-13 11:01 ?1237次閱讀

    打破網絡邊界:P2Link助力實現高效遠程訪問與內網穿透

    ,解決內網穿透難題,讓用戶輕松實現遠程訪問和管理。以下是一些典型的應用場景: 遠程辦公與文件訪問: 遠程辦公場景,員工常常需要從外部網絡訪問公司內網
    發表于 10-31 11:54

    華納云:探討可用于降低服務器網絡延遲的先進的網絡協議

    網絡延遲是影響在線服務性能的重要因素之一,尤其是實時應用和高交互性網站。通過采用更高級別的網絡協議,可以有效降低
    的頭像 發表于 09-30 15:14 ?606次閱讀

    Linux網絡協議棧的實現

    網絡協議棧是操作系統核心的一個重要組成部分,負責管理網絡通信中的數據包處理。 Linux 操作系統,
    的頭像 發表于 09-10 09:51 ?802次閱讀
    Linux<b class='flag-5'>網絡</b><b class='flag-5'>協議</b>棧的<b class='flag-5'>實現</b>
    主站蜘蛛池模板: 一交一性一色一伦一区二 | 无码人妻丰满熟妇精品区 | 少妇哺乳期在线喷奶 | 最新亚洲人成无码网站 | 亚洲国产三级 | 看免费毛片 | 中文在线а√在线 | 青青五月天| 99国产精品久久久久久久夜 | 一道本无吗一区 | 日韩综合第一页 | 日本免费福利视频 | av男人的天堂在线观看国产 | 久久久久久伦理 | 欧美日韩视频在线观看一区 | 97av视频 | 欧美肥妇bwbwbwbxx | 久久精品亚洲精品国产色婷 | 欧美日韩亚洲高清 | 插b内射18免费视频 亚洲欧美另类激情综合区 很黄很色60分钟在线观看 | 99久久婷婷国产综合精品免费 | 天堂视频免费看 | 欧美成人午夜精品久久久 | 国内自拍小视频 | 全黄色毛片 | 国产99一区 | 国内精品999 | 国产刺激视频 | 国产午夜手机精彩视频 | 国产伦精品一区二区三区四区视频 | 精品国产髙清在线看国产毛片 | 老头老太吃奶xb视频 | 91精品国产91久久综合 | 美女100%露胸无遮挡 | 奇米影视亚洲狠狠色 | 国产熟妇勾子乱视频 | 日本不卡影院 | 91羞羞视频 | 中文字幕亚洲综合久久综合 | 国产一级片免费看 | 6080日韩午夜伦伦午夜伦 | 日韩av在线一区二区 | 四虎永久在线精品免费观看网站 | 懂色av一区二区三区免费看 | 欧美久久综合 | 精品国产午夜 | 国产a级精品毛片 | 成人热舞视频一区 | 亚洲精品久久久狠狠狠爱 | 91丨九色丨蝌蚪丨老板 | 日本牲交大片免费观看 | 日韩久久成人 | 欧美大成色www永久网站婷 | 国产精品久久一区 | 大尺度一区二区 | 青青草成人免费 | 91伦理在线| 在线成人一区 | 无码av中文一区二区三区桃花岛 | 中文字幕国产亚洲 | 女邻居丰满的奶水 | 97丨九色丨国产人妻熟女 | 手机看片国产日韩 | 天天色天天草 | 尤果网福利视频在线观看 | 99草草国产熟女视频在线 | 黑人老外猛进华人美女 | 高清无码一区二区在线观看吞精 | 人妻精油按摩bd高清中文字幕 | 四库影院永久国产精品 | 狠狠影视 | 亚洲乱色伦图片区小说 | 欧美经典片免费观看大全 | 午夜精品网 | 手机福利在线 | 国产免费精彩视频 | 免费国产高清 | 亚洲男同网 | 欧美少妇毛茸茸 | 男人和女人黄 色大片 | 日本人丰满少妇xxxxx | 精品国产乱码久久久久久108 | 91丨九色丨蝌蚪丰满 | 好吊在线视频 | 国产免费女女脚奴视频网 | 国产精品久久久久久麻豆一区 | 国产中文字字幕乱码无限 | 免费观看不卡av | 国产精品久久久久久久一区二区 | 久久精品视频亚洲 | 亚洲精品一区二区在线观看 | 紧身裙女教师三上悠亚红杏 | 最新国产在线 | 少妇高潮太爽了在线观看 | 97久久精品国产一区二区片 | 二区在线观看 | 女同av国产亚洲片bbb及 | 夜夜激情网 | 熟女肥臀白浆大屁股一区二区 | 亚洲精品色在线网站 | 国产精品精品国产 | 九九热视频在线观看 | 第九色区av天堂 | 日本中文字幕视频在线 | 国产精品亚洲综合色区韩国 | 欧美精品亚洲精品日韩专区 | 亚洲成人一级片 | 丝袜捆绑调教午夜一区二区 | 在线免费激情视频 | 多p混交群体交乱小说 | 夜夜精品浪潮av一区二区三区 | 懂色av中文在线 | 国产高清av在线播放 | 亚洲天堂中文字幕 | 韩国中文字幕 | 高h禁伦餐桌上的肉伦水视频 | 91大神网址 | 做爰aa女r高潮 | 91美女在线视频 | 九九热视频精品 | 日韩欧美亚洲综合 | 91在线视频国产 | 中文字母av | 卡通动漫av| 麻豆黄色网 | 亚洲成在线观看 | 动漫av在线看男男 | 理论片午午伦夜理片久久 | 经典三级久久 | 伊人网综合网 | 国产免费看av | 欧美成人一区免费视频 | 久久久久久久影院 | www.久久av.com| 久久国产精品99久久人人澡 | 日韩成人av在线播放 | 国产一区二区三区 | 成人无码视频免费播放 | 日韩xxx高潮hd | 国产偷窥熟女精品视频 | 久久精品国产亚洲一区二区 | 国产精品乱 | 毛片女人18片毛片点击进入 | 久久久999国产 | 天堂男人av | 欧美精品1区2区 | 偷窥自拍亚洲 | 亚洲在线一区二区三区 | 黄色大片中文字幕 | 天天天天噜在线视频 | 特黄特色的大片观看免费视频 | 久久久精品久久日韩一区综合 | 麻豆av少妇aa喷水 | 91一起草 | 国产乱人伦偷精品视频不卡 | 国产露脸久久高潮 | 国产精品2020 | 艳妇臀荡乳欲伦交换在线播放 | 欧美日韩日本国产 | 就要操av| 久久大香焦 | 日一区二区 | 添女人囗交vk | 成人乱人乱一区二区三区 | 波多野结衣av在线观看 | 浪潮av色| 国产白丝无码免费视频 | 亚洲影视精品 | 人妻少妇被粗大爽.9797pw | 天堂资源| 国产精品1区2区3区 国产精品1区2区3区4区 | 少妇av在线| 小泽玛利亚一区二区在线观看 | 日本激情免费 | 波多野一区二区 | 国产视频手机在线播放 | 97人人澡人人爽人人模亚洲 | 波多野结衣一二三区 | 狠狠色综合色综合网络 | 国产91精品久久久久久久 | 国产精品海角社区 | 中文在线日韩 | 一区在线观看视频 | 超碰人人超碰人人 | 久热精品视频在线播放 | a级特黄一级一大片多人 | 亚洲美女性视频 | 亚洲精品乱码久久久久久动图 | 久久免费的精品国产v∧ | 绯色av一区二区三区在线观看 | 亚洲一区视频在线播放 | 精品人伦一区二区三区蜜桃视频 | 国产午夜在线播放 | 亚洲欧美黄色片 | 日韩人妻无码一区二区三区综合部 | 人人爽久久涩噜噜噜红粉 | 青青草无码精品伊人久久 | 永久免费的啪啪网站免费观看 | 国产成人手机高清在线观看网站 | 国产女主播视频一区二区 | 日韩的一区二区 | 色吊丝永久性观看网站 | 91夫妻视频 | 欧美成年人在线观看 | 成年美女黄网站色大免费视频 | 亚洲一区二区三区四区五区午夜 | 成人www | 欧美激情视频在线 | 日韩免费一二三区 | 欧美又大又硬又粗bbbbb | 亚洲成a人片在线 | 国产精品日日摸夜夜添夜夜av | 51久久国产露脸精品国产 | 色综合久久成人综合网 | 国产亚洲精品久久久久5区 国产亚洲精品久久久久久 国产亚洲精品久久久久久国模美 | 国产成人三级一区二区在线观看一 | 少妇一级淫片aaaaaaa | 国产裸体丰满白嫩大尺度尤物可乐 | 波多野结衣av一区二区三区中文 | 精品乱码一区二区三四区视频 | 国产露脸4p交换视频观看 | 亚洲免费永久精品 | 色屁屁ts人妖系列二区 | 日本一区免费 | 精品国产乱码久久久久久预案 | 成人免费网站黄 | 九九视频在线观看 | 国产成人久久综合第一区 | 国产7777777 | 少妇高潮太爽了在线视频 | play在线海量a v视频播放 | 久久黄色网 | 久久永久视频 | 免费av免费观看 | 强睡邻居人妻中文字幕 | 窝窝午夜理论片影院 | 丰满的少妇xxxxx人伦理 | 黄色在线小视频 | 中文字幕永久在线视频 | 超碰在线天天 | 99国产精品视频免费观看一公开 | 香蕉av777xxx色综合一区 | 日韩永久免费视频 | 国产日韩欧美在线 | 欧美成人一区二区三区片免费 | 丰满少妇av | 国产精品91久久 | 无码av动漫精品一区二区免费 | 爽成人777777婷婷 | 污污在线免费观看 | 亚洲国产美女视频 | 色综合天天综合网天天看片 | 色综合久久中文综合网 | 久久这里只有精品99 | 久久无码人妻精品一区二区三区 | 亚洲精品一区二区三区新线路 | a男人天堂| 日本国产一区二区三区 | 中文字幕精品亚洲无线码一区应用 | 免费欧美黄色 | 成 人 黄 色 视频免费播放 | 色干综合 | 少妇高潮淫片免费观看 | 久久久亚洲国产精品麻豆综合天堂 | 末发育娇小性色xxxxx视频 | 天天色综合三 | 特级黄一级播放 | 丰满护士巨好爽好大乳 | 欧美乱妇高清无乱码免费 | 国产91精品久久久久久久网曝门 | 亚洲五月花 | 亚洲最新 | 中文字幕无码人妻少妇免费 | 日韩精品一区二区三区中文 | 欧美人与野 | 国产精品久久久免费观看 | 麻豆成人免费 | 在线成人免费视频 | 国产午夜精品一区二区三区 | 色葡萄影院| 成人免费在线视频网站 | 黑人干亚洲女人 | 美女粉嫩饱满的一线天mp4 | 白嫩大乳丰满美女白嫩白嫩 | 婷婷91| 国产精品久久久免费 | 狠狠色丁香婷婷综合潮喷 | 粉嫩小箩莉奶水四溅在线观看 | 四虎4545www国产精品 | 亚洲丶国产丶欧美一区二区三区 | 青青草97国产精品免费观看 | 麻豆影视大全 | 美国一级大黄一片免费的网站 | 性,国产三级在线观看 | 中文毛片无遮挡高潮免费 | 国产看黄网站又黄又爽又色 | 国产在线xxx | 欧美精品自拍视频 | 欧美三级不卡 | 亚洲欧美高清一区二区三区 | 欧美成人高清在线 | 亚洲狠狠爱一区二区三区 | 成人性生交大片免费看中文 | 男人的天堂99 | 91亚洲精品视频 | 国产在视频线精品视频 | 亚洲成色www久久网站 | 污污的网站在线免费观看 | 国产三级视频 | 欧美一级二级三级视频 | 欧美性生交大片免费看 | 第一宅男av导航入口 | 国产乱子伦视频在线观看 | 国产精品99精品久久免费 | 成人做爰100部片免费看网站 | 中国国语毛片免费观看视频 | 老子影院午夜伦不卡 | 午夜dj高清免费观看视频 | 91碰碰 | 深爱激情久久 | 处破痛哭a√18成年片免费 | 欧美亚洲一区二区三区四区 | 91性高潮久久久久久久 | 国产午夜不卡片免费视频 | 偷看洗澡一二三区美女 | 91大神精品 | 日本人与禽zozzo小小的几孑 | 91色视频网站 | 亚洲黄色片免费看 | 国产精品三级视频 | 日日草草 | 人妻系列无码专区久久五月天 | 亚洲欧美激情精品一区二区 | 国产亚洲欧美一区二区三区 | 麻豆成人久久精品二区三区小说 | 99精品国产兔费观看久久99 | 9999国产精品欧美久久久久久 | 久久久6 | 天天插夜夜操 | 精品国产一区二区三区色欲 | 捏胸吃奶吻胸免费视频大软件 | 在线观看wwww | 国产精品午夜无码av体验区 | 欧美一二区视频 | 九九色九九 | 一本色道久久综合亚洲精品不 | 女同av在线播放 | 少妇精品久久久久久久久久 | 最新日韩精品中文字幕 | 午夜福利理论片高清在线 | 182tv福利视频| 久久久久久97免费精品一级小说 | 国产精品久久久爽爽爽麻豆色哟哟 | 精品欧美黑人一区二区三区 | 色妞视频男女视频 | 欧美日韩在线视频免费观看 | 日韩欧美亚洲一区二区 | 亚洲天堂第一区 | 日本免费高清一本视频 | 成人a站| 天天夜碰日日摸日日澡性色av | 男女视频国产 | 国产精品久久久久久久久晋中 | 中国美女囗交视频 | 国产又黄又粗又猛又爽 | 亚洲h在线播放在线观看h | 国产视频一区二区不卡 | 日日干综合 | 秋霞影院午夜老牛影院 | 大奶子在线 | 夜夜爽妓女8888视频免费观看 | 欧美精品一区二区久久婷婷 | 亚洲 欧美 综合 在线 精品 | 人人做| 欧美色图一区 | 97公开免费视频 | 天天做夜夜爱 | 99视频免费| 婷婷91 | 日本啪啪网站永久免费 | av网站入口 | 色爱综合另类图片av | 国产成人av一区二区三区在线观看 | 国产男女猛烈无遮掩视频免费网站 | 小明看欧美日韩免费视频 | 国产三级小视频 | 国产精品国产精品国产专区不卡 | 欧美日韩国产一区二区三区不卡 | 国产美女裸体无遮挡免费视频 | 九九九九精品视频在线观看 | 亚洲国产精品久久久久久无码 | 懂色av噜噜一区二区三区av | 久久一日本道色综合久久 | 中文字幕一路线二路线三路线 | 日韩一区二区三区视频在线观看 | 翘臀后进少妇大白嫩屁股91 | 国产精品久久久久久久竹霞 | 成人羞羞视频在线观看免费 | 亚洲色无码专区在线观看 | 17婷婷久久www| 精品乱人伦一区二区三区 | 欧洲av网站 | 69精品人人 | 国产传媒资源网站 | 豆国产96在线 | 亚洲 | 国产亚洲精品久久网站 | 三区在线观看 | 草草影院在线免费观看 | 日韩av影片在线观看 | 久久精品爱| 女儿的朋友4在线观看 | 爱爱爱免费视频 | 亚洲18禁私人影院 | 久久99精品久久久久久园产越南 | 国产精品无码久久综合 | 天天看夜夜| 国产亚洲精品精品精品 | 日韩精品成人无码专区免费 | jlzzjlzz亚洲女人18 | 国产第一毛片 | 日日摸夜夜添夜夜爽免费视频 | 稀缺呦国内精品呦 | 黄色应用在线观看 | 狠狠躁夜夜躁人人爽超碰女h | 亚洲va视频 | 四虎影视亚洲精品一区二区 | 亚洲欧美激情国产综合久久久 | 亚洲国产成人91精品 | 天天操天天舔天天干 | 国产91精品高清一区二区三区 | 久久无码专区国产精品s | 国产日韩激情 | 在线免费日韩 | 免费观看性生交大片女神 | 午夜亚洲国产理论片一二三四 | 一色屋精品久久久久久久久久 | 国产亚洲精品久久久网站好莱 | 亚洲欧美一区二 | 搡老熟女老女人一区二区 | 风流少妇按摩来高潮 | 日韩人妻系列无码专区 | 涩av| eeuss国产一区二区三区 | 日本一区二区三区在线视频 | 美女一区二区三区视频 | 欧美亚韩一区二区三区 | 欧美肥臀大乳一区二区免费视频 | 国产在线网 | 国产精品国产精品国产专区不卡 | h在线观看视频 | 国产免费观看久久黄av片 | 后宫妃h狠狠肉 | 无码无套少妇毛多18p | 91国内揄拍国内精品对白 | 小舞同人18吸乳羞羞在线观看 | 午夜剧场91 | av在线中文| 国产精品美女久久久久av爽李琼 | 亚洲裸男gv网站 | 色就是色亚洲色图 | 久久久日韩精品一区二区三区 | 国产免费黄色小视频 | 国产玉足脚交欧美一区二区 | 中文字幕一区二区在线视频 | 岛国裸体写真hd在线 | 澳门三级 黄色在线看! | 久久久久久久久久一级 | 香港三级澳门三级人妇99 | 涩爱av天天爱天天做夜夜爽 | 色女人av| 色欲欲www成人网站 婷婷成人综合激情在线视频播放 | 黑人性生活视频 | 污网站免费在线 | 亚洲综合色站 | 黄 色 成 人小短文 黄色a v视频 | 日韩高清一级 | 久久久久久国产精品三区 | av不卡中文字幕 | 男女视频一区二区三区 | 女人扒开腿让男人桶到爽 | 国产色拍 | 亚洲乱码一区av春药高潮 | 人妻内射一区二区在线视频 | 午夜视频黄 | 久久久xxx | 一级全黄少妇性色生活免费看 | 亚洲天堂一区在线观看 | 杨幂一区二区国产精品 | 忘忧草精品久久久久久久高清 | 免费全部高h视频无码 | 日批视频免费看 | www.国产精品 | 久久精品久久久久久久久久久久久 | 亚洲一区二区播放 | 亚欧激情| 国产一区二区三区精品在线 | 国产一区二区三区网站 | 日本另类视频 | 黑人一区二区三区四区五区 | 毛片在哪里看 | 欧美日韩免费一区二区 | 99国内精品久久久久久久 | 久操新在线| 巨胸喷奶水www视频网站 | 无码人妻精一区二区三区 | 亚洲视频在线视频 | 日本三级香港三级人妇99 | 欧美精品18videosex性欧美 | 日韩av无码中文字幕 | 成人区人妻精品一区二区三区 | 国产高中女学生第一次 | 天天狠天天透天干天天怕∴ | 91麻豆精品国产91久久久点播时间 | 久草视频手机在线观看 | 午夜伦理福利视频 | aaaaa级片| 亚洲天堂av在线播放 | 日韩精品极品视频在线观看免费 | 欧美男女激情 | 日韩短视频 | 激情视频网站 | 久草在线在线精品观看 | 美女100%视频免费观看 | 国产一级激情 | 女人裸体性做爰视频 | 精品无码久久久久久久久 | 国产亚洲欧美在线视频 | 国产精品毛片久久久久久久av | 中国a毛片 | 精品欧洲av无码一区二区三区 | 精品国产三级a∨在线观看 无码丰满熟妇 | 亚洲va久久久噜噜噜久久狠狠 | 国产无| 69174欧美丰满少妇猛烈 | 18男女无套免费视频 | 婷婷激情综合网 | 99热最新精品 | 国产五月 | 国产激情无套内精对白视频 | 久久免费毛片 | 中文在线a在线 | 激情六月色 | 欧美一级在线看 | 国产精品久久福利 | 天天夜夜骑 | 第一136av福利视频导航 | 国产免费又色又爽粗视频 | 国产三级精品三级男人的天堂 | 九九热视频精品 | 国产精品久久久久久久白丝制服 | 人妻少妇偷人精品视频 | 欧美麻豆视频 | 在线婷婷| 成人在线视频你懂的 | 99精品无人区乱码1区2区3区 | 四虎国产精品成人永久免费影视 | 精精国产xxxx视频在线 | 久草综合在线视频 | 国模叶桐尿喷337p人体 | 欧美日本另类 | 五月天堂婷婷 | 久草久草 | 久久久久逼 | 国产尤物av尤物在线看 | 日本一区二区三区在线观看 | 天堂精品久久 | 国产精品美女一区二区三区四区 | 国产三级精品在线观看 | 高清国产一区二区 | 无码av大香线蕉伊人久久 | 99香蕉国产精品偷在线观看 | 亚洲欧美一区二区三区四区 | 国产视频精品在线 | 欧美大片免费 | 逼特逼视频在线观看 | 欧美一级片免费 | 精品久久久中文字幕 | 激情综合色综合啪啪五月丁香 | 久久zyz资源站无码中文动漫 | 国产在线视频一区二区董小宛性色 | 亚洲午夜精品a片久久www慈禧 | www日本黄色片| 一级毛片黄 | 欧美在线视频不卡 | 国产另类xxxx | 欧美色综合色 | 成人在线免费看视频 | 午夜精品久久久久久久99老熟妇 | 天堂а√中文最新版在线 | 性一交一乱一色一视频 | 婷婷色视频 | 日韩精品中文字幕一区 | 欧美色图综合网 | 亚洲国产综合精品2020 | 奇米影视7777狠狠狠狠色 | 国产电影一区二区三区 | 色秀视频在线观看 | 国产精品毛多多水多 | 人人妻人人澡人人爽人人dvd | 黄色在线播放 | 亚洲综合av色婷婷 | 国产a黄 | 欧美一区二区视频在线 | 无码人妻精品一区二区三区9厂 | 久久99精品久久久久久园产越南 | 亚洲乱子伦 | 亚洲黄色毛片视频 | 仁科百华av解禁在线播放 | 超碰老司机 | www久久久天天com | 丁香六月综合激情 | 香蕉久久人人爽人人爽人人片av | 久久九九99 | 91黄色免费 | 99久热在线精品 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品