国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看

合肥生活安徽新聞合肥交通合肥房產(chǎn)生活服務(wù)合肥教育合肥招聘合肥旅游文化藝術(shù)合肥美食合肥地圖合肥社保合肥醫(yī)院企業(yè)服務(wù)合肥法律

代寫CSEN 331、代做 C++程序語(yǔ)言

時(shí)間:2024-03-16  來(lái)源:合肥網(wǎng)hfw.cc  作者:hfw.cc 我要糾錯(cuò)



Programming Assignment CSEN 331 Wireless & Mobile Networks
General Guidelines
➢ Programming projects are individual assignments; each student should write his/her own code.
➢ This assignment should be written only in C programing language.
➢ Each project requires a demo, during which the student should explain how the code
works.
➢ Demos are part of the grade. The student will only receive full credit if the demo has proper results.
➢ In addition to the demo, each student should submit the source code, input/output files, and a README.txt file containing instructions on how to compile and run your source code.
➢ The program should be turned in on or before the deadline; demo must be performed on or before the deadline but after the program files have been turned in.
➢ Here are a couple of useful links to point you to the right direction for an Introduction to Socket Programming
http://beej.us/guide/bgnet/
https://www.youtube.com/watch?v=Emuw71lozdA
1. Client using UDP protocol for sending information to the Access Point (AP)
One client connects to one Access point.
The frame is recognized in UDP payload by two fields which contain identifiers:
Start of frame identifier .... 0XFFFF End of frame identifier ..... 0XFFFF
After the start of frame, the IEEE 802.11 frame is included and then the End of frame identifier will be attached, see Fig.1 in chapter 1.3.
For the FCS (Frame Check Sequence) calculation use the following function which will output FCS result for each frame sent by AP (Access Point) or client, see section 1.2.
     CSEN 331 Programming Assignment
1

 1.1 Operation:
a) Transmit:
For each frame which is transmitted by client or AP (Access Point) the FCS should be calculated
based on the function in chapter 1.2, and then in the FCS field of IEEE 802.11 frame inserted, the whole IEEE 802.11 frame will be included in the UDP payload field.
The client should start an ack_timer at the time the frame is sent to the AP (Access Point)), if the response related to request message (See below the list of expected response messages from AP) for each frame has not been received during ack_timer period by client before expiration of timer, then client should retransmit the frame that was sent before and restart the timer.
The timer can be set at 3 seconds (recommended) and a retry counter should be used for resending the frame. If the response for the frame does not arrive before the timeout, the client will retransmit the frame and restart the ack_timer, and the ack_timer should be reset for a total of 3 times.
If no response was received from the server after resending the same frame 3 times, the client should generate the following message and display on the screen,
“Access Point does not respond”.
b) Receive:
For each frame which is Received by client or AP (Access Point) the FCS should be re-calculated and compared with the FCS received field of IEEE 802.11 frame, if it is correct then the received frame will be accepted and according to the request message the response will be generated and sent to the client, else should AP generate an error message and display on the screen.
Note: For all frame exchanges between mobile client/AP and between AP/mobile client should use Checksum verification for transmitted and received frames (function in chapter 1.2).
List of request/response messages
The table 1 contains the list of messages:
       Client
 Access Point
   Association Request Probe Request
RTS (Request To Send) Data
Association Response Probe Response
CTS (Clear To Send) ACK (Acknowledge)
         Error Message, to be generated when no proper response for each frame after 3 times timer expires.
    Table 1. List of request/response messages
CSEN 331 Programming Assignment
2

1.2. Checksum function for calculation of transmitted and received frames:
The following function for frame checksum calculation will be used, you will include this function in your code.
This FCS calculation function should be added in your code: #include <stdint.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h> #include <unistd.h>
/*
* Takes in an input string and generates a **-bit checksum hash value of type uint**_t
* This function is internally called by the function getCheckSumValue(); so not to be called directly by
developer
* Input type: String
* Output type: uint**_t */
uint**_t generate**bitChecksum(const char* valueToConvert) { uint**_t checksum = 0;
while (*valueToConvert) {
checksum += *valueToConvert++; checksum += (checksum << 10); checksum ^= (checksum >> 6);
}
checksum += (checksum << 3); checksum ^= (checksum >> 11); checksum += (checksum << 15); return checksum;
}
/*
* This function can be called by the developer to generate a **-bit checksum directly from the pointer to your
frame structure
* The function is independent of the contents/data types used in your frame structure
* It works based on the bits in your structure
* IMPORTANT NOTE & Hint: For accurate results, you must use __attribute__((packed)) while creating your
Frame structure
* to avoid additional padding bytes which occur in C language structures
* Input: Pointer to the frame structure, the size of the frame structure, number of bytes to skip from the start
and end (for crc calculation)
* Providing example input for reference: uint**_t checksum = getCheckSumValue(&yourFrame,
sizeof(yourFrame), bytesToSkipFromStart, bytesToSkipFromEnd)
* Hint: bytesToSkipFromEnd is provided (for instance) since the CRC computation should not include the FCS
field of the payload
* Output: uint ** bit final Check Sum value */
uint**_t getCheckSumValue(const void *ptr, size_t size, ssize_t bytesToSkipFromStart, size_t bytesToSkipFromEnd) {
const unsigned char *byte = (const unsigned char *)ptr;
// binaryString[] is a logical representation of 1 byte. Each character in it represents 1 bit.
// Do not confuse with the size of character in C language (which is 1 byte). This is just a representation. char binaryString[9]; // One additional character for the null terminator
binaryString[8] = '\0'; // Null terminator definition
  CSEN 331 Programming Assignment
3

char *buffer = malloc(1); // Allocates space for an empty string (1 byte for the null terminator) buffer[0] = '\0'; // Initializes an empty string
for (size_t i = 1; i <= size; i++) { for (int j = 7; j >= 0; j--) {
int bit = (byte[i - 1] >> j) & 1;
binaryString[7 - j] = bit + '0'; // Converts bit to character '0' or '1' }
buffer = realloc (buffer, strlen(buffer) + strlen(binaryString) + 1); // Resizes buffer to fit the concatenated result
strcat(buffer, binaryString); }
buffer[strlen(buffer)-(bytesToSkipFromEnd*8)] = '\0';
memmove(buffer, buffer + (bytesToSkipFromStart*8), strlen(buffer) - (bytesToSkipFromStart*8) + 1); //+1 for null terminator
// printf("\nGenerated string: %s\n", buffer);
// printf("\nSize of generated string in bytes: %zu\n", strlen(buffer)/8);
uint**_t checkSumValue = generate**bitChecksum(buffer). free(buffer); // Freeing memory allocated by malloc.
return checkSumValue;
}
CSEN 331 Programming Assignment
4

1.3 Frame Format:
UDP Payload which will contain IEEE 802.11 frame:
Bytes: 2 2346 (Maximum) 2
   Start of Frame ID
 Payload
 End of Frame ID
    Bytes2 2 6 6 6 2 6 0-2312 4
Bit 0 Bit 15
bits2 2 4 1 1 1 1 1 1 1 1
Figure 1: UDP Payload which will contain IEEE 802.11 frame
 Frame Control
 Duration ID
 Address 1
 Address 2
 Address 3
 Sequence Control
 Address 4
 Pay load
 FCS
   Protocol version
 Type
 Sub type
 To DS
 From DS
 More Frags
 Retry
   Power More
WEP ManaIgEemEeEn 80D2a.1ta1 frame.
t
 order
   CSEN 331 Programming Assignment
5

1.4 Procedure:
Initially client and server will set the following fields based on frame type and sub-type:
Set Protocol version: Current protocol version is 0. More Fragment: 0
Retry: Disabled
Power management: Disabled
More Data: 0
WEP: 0
Order: 0
Sequence Control: 0000
Address 4: Bridge address set to 000000000000
To DS and From DS fields: Set these fields for each frame you send properly:
• Data From client to AP
ToDS, To AP (Infrastructure Network) =1
From DS, From AP (Infrastructure Network) =0
• From AP to client:
ToDS, To AP (Infrastructure Network) =0
From DS, From AP (Infrastructure Network) =1
FCS (Frame Check Sequence): use the function mentioned in chapter 1.2. All the above fields should be set properly for each frame type and sub
type.
1. Client sends Association Request:
Set properly the fields for IEEE 802.11 frame in chapter 1.3. AP will fill in the sub type properly.
Set type = 00
Set sub type = 0000
Set Duration ID =0
Address 1 field: Final receiver address MAC address (example: AABBCCDDEEDD)
Address 2: Originator Address, (example:1245CCDDEE88) Address 3: Access point address (example: AABBCCDDEEDD)
Client will calculate FCS (Frame Check Sequence) using the FCS function in chapter 1.2.
    CSEN 331 Programming Assignment
6

2. AP (Access Point) sends Association Response to Client:
Recalculate FCS (Frame Check Sequence) using the FCS function in chapter 1.2.
The received AP compares recalculated and received FCS values, if they are equal then will proceed with the following steps:
AP will set the subtype properly.
Set type = 00
Set sub type = 0001
Set Duration ID =XXXX <<< set any two Bytes Hex value to the user, this will be the association ID
Address 1 field: Final receiver address MAC address (example: 1245CCDDEE88) Address 2: Originator address, is AP (example: AABBCCDDEEDD)
Address 3: Access Point address (example: AABBCCDDEEDD)
All fields should be set properly.
Set properly the fields for IEEE 802.11 frame in chapter 1.4.
Calculate for this new frame the FCS (Frame Check Sequence) using the FCS function in chapter 1.2.
3. Client sends Probe Request:
Client will fill in the type and sub type properly. Set type = 00
Set sub type = 0100
Set Duration ID =0
Address 1 field: Final receiver address MAC address (example: AABBCCDDEEDD) Address 2: Originator Address, AP (Access point address)
(example: 1245CCDDEE88)
Address 3: Access point address (example: AABBCCDDEEDD)
The client will fill in the Address 2 field with its own MAC address.
Set properly the fields for IEEE 802.11 frame in chapter 1.4. FCS (Frame Check Sequence): use the FCS function in chapter 1.2.
4. AP (Access Point) Response sends Probe Response to Client:
Prior to sending response the AP will recalculate the FCS of the received Probe Request frame by using the FCS function in chapter 1.2.
Set properly the fields for IEEE 802.11 frame in chapter 1.4.
Set Duration ID =XXXX <<< set any two Bytes Hex value to the user, this will be the association ID
The received AP compares recalculated and received FCS values, if they are equal then will proceed with the following steps:
Set properly the fields for IEEE 802.11 frame in chapter 1.3.
Address 1 field: Final receiver address MAC address (example: 1245CCDDEE88) Address 2: Originator Address, AP (Access point address)
   CSEN 331 Programming Assignment
7

(example: AABBCCDDEEDD)
Address 3: Access point address (example: AABBCCDDEEDD)
FCS (Frame Check Sequence): use the FCS function in chapter 1.2.
5. Client sends RTS:
Set properly the fields for IEEE 802.11 frame in chapter 1.4.
Address 1 field: Final receiver address MAC address (example: AABBCCDDEEDD) Address 2: Originator Address, (example:1245CCDDEE88)
Address 3: Access point address (example: AABBCCDDEEDD)
Set type =01
Set sub type= 1011
Set Duration ID =4
Set properly the fields for IEEE 802.11 frame in chapter 1.4.
Calculate for this new frame the FCS (Frame Check Sequence) using the FCS function in chapter 1.2.
6. AP (Access Point) sends CTS Response to Client:
Recalculate received FCS (Frame Check Sequence) using the FCS function in chapter 1.2. The received AP compares recalculated and received FCS values, if they are equal then will proceed with the following steps to prepare the frame.
Set properly the fields for IEEE 802.11 frame in chapter 1.4.
Address 1 field: Final receiver address MAC address (example: 1245CCDDEE88) Address 2: Originator address, is AP (example: AABBCCDDEEDD)
Address 3: Access Point address (example: AABBCCDDEEDD)
Set Type = 01
Set Sub Type = 1100
Set Duration ID =3
Set properly the fields for IEEE 802.11 frame in chapter 1.4.
Calculate for this new frame the FCS (Frame Check Sequence) using the FCS function in chapter 1.2.
7. Client sends one Data Frame:
The received client compares recalculated and received FCS values, if they are equal then will proceed with the following steps:
Address 1 field: Final receiver address MAC address (example: AABBCCDDEEDD) Address 2: Originator Address, (example:1245CCDDEE88)
Address 3: Access point address (example: AABBCCDDEEDD) Set Type = 10
Set Sub Type = 0000
Set Duration ID =2
The 802.11 payload can be any hex value the maximum length is 2312 Bytes, if less than this value fills in the rest with 0XFF.
Set properly the fields for IEEE 802.11 frame in chapter 1.4.
      CSEN 331 Programming Assignment
8

Calculate for this new frame the FCS (Frame Check Sequence) using the FCS function in chapter 1.2.
8. AP (Access Point) sends ACK to Client:
Recalculate FCS (Frame Check Sequence) using the FCS function in chapter 1.2. to calculate FCS.
The received AP compares recalculated and received FCS values, if they are equal then will proceed with the following steps to send ACK:
Address 1 field: Final receiver address MAC address (example: 1245CCDDEE88) Address 2: Originator address, is AP (example: AABBCCDDEEDD)
Address 3: Access Point address (example: AABBCCDDEEDD)
Set Type = 01
Set Sub Type = 1101
Set Duration ID =1
Set properly the fields for IEEE 802.11 frame in chapter 1.4.
Calculate for this new frame the FCS (Frame Check Sequence) using the FCS function in chapter 1.2.
++++++++++++++++++++++++++++++++++++++++++++++++ 9. FCS Error handling:
NOTE: After successful transmission of data frame which client sends and receive of ACK (Above items 7 and 8), the client should generate a frame with wrong
checksum, filling FCS field with some data which is not calculated by FCS (Frame Check Sequence) function in chapter 1.2.
The AP (Access Point) should generate an error message for FCS (Frame Check Sequence) error after recalculation of checksum which recognizes this value is not equal to the received FCS (Frame Check Sequence).
AP (Access Point) generates the error message “FCS (Frame Check Sequence) Error” and displays on the screen.
      ***************************************************
10. Sending Multiple Frame Procedure:
Client sends five fragmented frames (Frame 1, 2, 3, 4, 5) which are fragments of a file to the AP.
Prior client sending the 5 frames, send one time the RTS frame with Duration ID =12, AP response CTS with Duration ID =11 (This procedure will allocate time for the 5 frames and ACKs transmissions)
For each DATA frame sent from client Duration ID will be decremented, and for each frame sent from AP Duration ID will be decremented.
The AP acknowledges with ACK frame the correct frame received from client by sending five ACK frames.
Set the parameters in IEEE 802.11 header properly for client and AP (see chapter 7 and 8) in addition you need to set the more fragment bit properly.
          CSEN 331 Programming Assignment
9

The client then sends another five fragmented frames (Frame 1, 2, 3, 4, 5) to the AP, emulating one correct frame and four frames with errors.
The server acknowledges with ACK each correct frame sent from client, and with corresponding error message displayed on the screen “No ACK Received for Frame No.X” for the frames with errors (Total of four error message).
The client will start an ack_timer at the time each frame is sent to AP, if the ACK frmae for each frame has not been received during ack_timer period by client before expiration of timer then client should retransmit again the frame that was sent before.
The timer can be set at 3 seconds (recommended) and a retry_ack_counter should be used for resending the frame. If the ACK for the frame does not arrive before the ack_timer times out, the client will retransmit the frame and restart the ack_timer, and the ack_timer should be reset for a total of 3 times (retry_ack_counter = 3).
If no ACK is received from the AP after resending the same frame 3 times, the client should generate the following message and display on the screen:
“No ACK received from AP”.
Error handling:
NOTE: All four error handling messages should be simulated and displayed on the screen, the error response messages should be included in a (.pdf, .png, .jpg) file and turned in with your source code.
  CSEN 331 Programming Assignment
請(qǐng)加QQ:99515681  郵箱:99515681@qq.com   WX:codehelp 

掃一掃在手機(jī)打開(kāi)當(dāng)前頁(yè)
  • 上一篇:ME1014代做、代寫 Matlab 程序設(shè)計(jì)
  • 下一篇:CS101 編程代寫、代做 java程序語(yǔ)言
  • 無(wú)相關(guān)信息
    合肥生活資訊

    合肥圖文信息
    流體仿真外包多少錢_專業(yè)CFD分析代做_友商科技CAE仿真
    流體仿真外包多少錢_專業(yè)CFD分析代做_友商科
    CAE仿真分析代做公司 CFD流體仿真服務(wù) 管路流場(chǎng)仿真外包
    CAE仿真分析代做公司 CFD流體仿真服務(wù) 管路
    流體CFD仿真分析_代做咨詢服務(wù)_Fluent 仿真技術(shù)服務(wù)
    流體CFD仿真分析_代做咨詢服務(wù)_Fluent 仿真
    結(jié)構(gòu)仿真分析服務(wù)_CAE代做咨詢外包_剛強(qiáng)度疲勞振動(dòng)
    結(jié)構(gòu)仿真分析服務(wù)_CAE代做咨詢外包_剛強(qiáng)度疲
    流體cfd仿真分析服務(wù) 7類仿真分析代做服務(wù)40個(gè)行業(yè)
    流體cfd仿真分析服務(wù) 7類仿真分析代做服務(wù)4
    超全面的拼多多電商運(yùn)營(yíng)技巧,多多開(kāi)團(tuán)助手,多多出評(píng)軟件徽y1698861
    超全面的拼多多電商運(yùn)營(yíng)技巧,多多開(kāi)團(tuán)助手
    CAE有限元仿真分析團(tuán)隊(duì),2026仿真代做咨詢服務(wù)平臺(tái)
    CAE有限元仿真分析團(tuán)隊(duì),2026仿真代做咨詢服
    釘釘簽到打卡位置修改神器,2026怎么修改定位在范圍內(nèi)
    釘釘簽到打卡位置修改神器,2026怎么修改定
  • 短信驗(yàn)證碼 寵物飼養(yǎng) 十大衛(wèi)浴品牌排行 suno 豆包網(wǎng)頁(yè)版入口 wps 目錄網(wǎng) 排行網(wǎng)

    關(guān)于我們 | 打賞支持 | 廣告服務(wù) | 聯(lián)系我們 | 網(wǎng)站地圖 | 免責(zé)聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網(wǎng) 版權(quán)所有
    ICP備06013414號(hào)-3 公安備 42010502001045

    国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看
    精品欧美一区二区三区久久久| 亚洲一区二区免费| 欧美区在线播放| 欧美a在线视频| 久久久久久伊人| 亚洲色欲综合一区二区三区| 国产三级精品网站| 久久久久久久久国产| 日日摸日日碰夜夜爽av| 91精品综合久久久久久五月天| 久久综合免费视频| 国产在线观看不卡| 国产精品久久久影院| 欧美激情精品久久久久久小说| 国产ts人妖一区二区三区| 亚洲高清不卡一区| 91久久久在线| 亚洲免费在线精品一区| 91高潮精品免费porn| 中文字幕制服丝袜在线| 国产日韩三区| 欧美日韩高清区| 国产一二三四区在线观看| 懂色中文一区二区三区在线视频| 成人国产一区二区三区| 亚洲色欲综合一区二区三区| 国产精品永久入口久久久| 久久99久国产精品黄毛片入口| 国产日韩欧美综合精品| 国产av不卡一区二区| 成人在线小视频| 亚洲欧洲三级| 久久国产精品免费观看| 欧美在线日韩在线| 日韩视频一区在线| 欧美国产综合视频| 不卡中文字幕av| 国产乱人伦真实精品视频| 欧美日韩国产成人| 91精品国产自产在线老师啪| 日本久久精品视频| 国产精品欧美日韩| 国产日韩av高清| 一本久道中文无码字幕av| 91精品国产91久久久久福利| 色综合久久久久无码专区| 色偷偷9999www| 国内一区二区在线视频观看| 国产aⅴ夜夜欢一区二区三区| 91精品国产乱码久久久久久蜜臀| 色综合久久久久久久久五月| 久久国产成人精品国产成人亚洲| 狠狠色狠狠色综合人人| 一道精品一区二区三区| 久久久久久久免费视频| 青青青青在线视频| 美日韩精品免费视频| 久久综合毛片| 国内精品视频在线| 无码日韩人妻精品久久蜜桃| 久久精彩免费视频| 成人毛片100部免费看| 日韩久久久久久久久久久久久| 国产精品十八以下禁看| 国产卡一卡二在线| 日韩视频第二页| 欧美日产国产成人免费图片| 国产成a人亚洲精v品在线观看| 蜜桃视频成人| 日日噜噜噜噜夜夜爽亚洲精品| 国产精品美女午夜av| 91av在线网站| 国产中文字幕日韩| 日本免费成人网| 欧美精品xxx| 无码人妻精品一区二区三区99v| 欧美成人免费在线观看| 国产精品视频中文字幕91| 久久久久女教师免费一区| 久久亚洲午夜电影| 久久久在线视频| 国产精品午夜视频| 国产日韩二区| 国产日韩av在线播放| 国产在线播放91| 麻豆成人av| 国产一区深夜福利| 国产一区二区三区小说| 国精产品99永久一区一区| 精品91免费| 蜜桃传媒一区二区| 免费观看国产精品视频| 免费亚洲一区二区| 国产在线视频91| 国产精品亚洲片夜色在线| 99久久国产综合精品五月天喷水| 国产免费一区二区三区四在线播放| 国产色视频一区| 国产精品午夜国产小视频| 91九色蝌蚪国产| 国产成人亚洲精品无码h在线| 国产成人在线精品| 色噜噜久久综合伊人一本| 国产精品无码电影在线观看| 国产精品三级美女白浆呻吟| 国产精品福利视频| 国产99视频精品免视看7| 欧美激情网站在线观看| 亚洲五码在线观看视频| 午夜精品一区二区在线观看的| 亚洲国产欧美一区二区三区不卡| 亚洲精品久久久久久一区二区| 涩涩日韩在线| 欧美国产日韩在线播放| 国产在线视频欧美一区二区三区| 国产色综合一区二区三区| 99热成人精品热久久66| 久久精品五月婷婷| 一区二区冒白浆视频| 一道本在线观看视频| 在线观看日本一区| 亚洲最大av网| 亚洲精品免费在线看| 亚洲成人第一| 天天操天天干天天玩| 天天综合中文字幕| 99久久久精品视频| 91精品国产高清自在线看超| 91精品国产高清久久久久久久久| 成人免费在线网址| 亚洲午夜精品久久久中文影院av| 精品国产一区二区三区久久久久久| 亚洲综合日韩在线| 青青草国产精品视频| 国产欧美一区二区三区在线看| 777精品视频| 精品国产免费久久久久久尖叫| 中文字幕一区综合| 热99在线视频| 精品久久蜜桃| 久久久久久久一区二区三区| 色婷婷综合成人av| 国产精品久久久久久久久久久不卡| 久久九九免费视频| 欧美伦理91i| 亚洲欧洲国产日韩精品| 日本一区二区在线播放| 日韩免费观看av| 蜜桃成人在线| 精品一区二区中文字幕| 成人精品一区二区三区| 久久久婷婷一区二区三区不卡| 国产a级全部精品| 国产精品九九久久久久久久| 欧美极品欧美精品欧美视频| 国产情人节一区| 99精品免费在线观看| 久久99精品国产99久久| 国产精品高潮呻吟久久av野狼| 亚洲图片小说在线| 欧美在线一区二区三区四区| 国产一区二区三区奇米久涩| 久久久欧美一区二区| 国产精品嫩草影院一区二区| 中文字幕免费高| 色噜噜狠狠一区二区三区| 黄色国产精品视频| 99久热re在线精品996热视频| 久久精品国产精品亚洲精品色| 国产精品色午夜在线观看| 一区二区三区欧美在线| 色噜噜一区二区| 国产专区在线视频| 91精品久久久久久久久久入口| 久久精品久久久久久| 亚洲综合日韩中文字幕v在线| 欧洲精品一区二区三区久久| 国产在线青青草| 国产精品com| 久久91亚洲精品中文字幕| 日本aa在线观看| 国产精品一区二区你懂得| 日韩视频免费在线| 亚洲一区二区三区视频| 欧美xxxx黑人又粗又长密月| 国产精品99久久久久久www| 久久久国产一区| 亚洲精品天堂成人片av在线播放| 日韩毛片在线免费看| 成人精品一区二区三区电影免费| 国产成人免费高清视频| 亚洲欧美国产不卡| 国产在线观看精品一区二区三区| 国产高清一区二区三区| 精品国产三级a∨在线| 欧美亚洲色图视频| 91极品视频在线| 九色成人免费视频| 欧美视频1区| 国产高清自拍99|