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

合肥生活安徽新聞合肥交通合肥房產生活服務合肥教育合肥招聘合肥旅游文化藝術合肥美食合肥地圖合肥社保合肥醫院企業服務合肥法律

代寫CSEN 331、代做 C++程序語言

時間:2024-03-16  來源:合肥網hfw.cc  作者:hfw.cc 我要糾錯



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
請加QQ:99515681  郵箱:99515681@qq.com   WX:codehelp 

掃一掃在手機打開當前頁
  • 上一篇:ME1014代做、代寫 Matlab 程序設計
  • 下一篇:CS101 編程代寫、代做 java程序語言
  • 無相關信息
    合肥生活資訊

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

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看
    国产精品普通话| 国产在线不卡精品| 国产美女99p| 亚洲精品一区二| 日韩女优人人人人射在线视频| 国产综合第一页| 久久久噜噜噜久久中文字免| 一区二区三区的久久的视频| 黄色一级视频播放| 久久久久日韩精品久久久男男| 蜜桃视频在线观看91| 国产男女无遮挡| 国产精品欧美激情| 欧美专区日韩视频| 国产福利精品av综合导导航| 亚洲欧洲久久| 高清国产一区| 欧美成年人视频网站| 欧洲一区二区在线| 国产福利精品视频| 午夜精品美女自拍福到在线| 成人久久18免费网站图片| 美女av一区二区三区| 国产一区在线播放| 国产精品人人妻人人爽人人牛| 日产国产精品精品a∨| 91美女福利视频高清| 一本一本a久久| 国产女精品视频网站免费| 国产精品国色综合久久| 加勒比在线一区二区三区观看| 日韩在线中文视频| 人妻夜夜添夜夜无码av| 久久久久久美女| 热99在线视频| 久久久精品在线| 欧美精品一区二区三区三州| 国产成人三级视频| 欧美亚洲视频在线观看| 久久精品国产成人精品| 欧美日韩国产综合视频在线| 日韩专区在线播放| 黄色国产精品一区二区三区| 国产精品看片资源| 国产在线不卡精品| 国产99午夜精品一区二区三区| 国产乱淫av片杨贵妃| 亚洲一区二三| 久久国产精品久久| 欧美不卡1区2区3区| 欧美精品在线免费| 99爱精品视频| 日本一区二区三区在线播放| 日韩中文字幕精品| 国产一级不卡毛片| 欧美激情xxxx| 777精品久无码人妻蜜桃| 日韩少妇中文字幕| 国产精品久久久久久久9999| 国产免费裸体视频| 动漫一区二区在线| 久久久久久久久久久综合| 欧美国产二区| 中国丰满熟妇xxxx性| 久久综合亚洲精品| 欧美自拍视频在线观看| 精品乱色一区二区中文字幕| 国产精品香蕉av| 日本一二三区视频在线| 国产精品免费视频xxxx| 国产一级二级三级精品| 亚洲欧洲精品在线| 精品国模在线视频| 高清一区二区三区日本久| 欧美一级淫片播放口| 国产精品视频网站| 国产精品一 二 三| 日韩一级免费在线观看| 欧美精品一本久久男人的天堂| 91精品国产色综合久久不卡98| 欧美亚洲一级片| 亚洲一区二区三区色| 国产成人精品一区二区三区福利| 国产精品永久入口久久久| 热re99久久精品国产66热| 欧美成人午夜剧场免费观看| 久久婷婷人人澡人人喊人人爽| 欧美国产视频在线观看| 婷婷久久青草热一区二区| 国产精品成人久久久久| 久久精品.com| 国产欧美一区二区三区另类精品 | 91成人免费视频| 欧美日韩亚洲国产成人| 亚洲国产精品女人| 久久伊人色综合| 久久精品aaaaaa毛片| 国产精品午夜视频| 狠狠色噜噜狠狠色综合久| 亚洲视频精品一区| 国产精品久久久久福利| 久久亚洲一区二区| 成人免费观看cn| 国内精品久久久久久| 日本福利视频导航| 亚洲a级在线观看| 国产精品成人国产乱一区| 日韩中文娱乐网| 国产精欧美一区二区三区| 国产精品自拍片| 精品网站在线看| 全黄性性激高免费视频| 岛国视频一区免费观看| 最新av在线免费观看| 国产精品乱码久久久久| 色婷婷久久av| 国产成人亚洲欧美| 啊啊啊一区二区| 国产色一区二区三区| 欧美国产综合在线| 熟妇人妻va精品中文字幕| 亚洲在线www| 一区二区免费电影| 国产99久久九九精品无码| 国产精品久久久一区二区三区| 97精品视频在线播放| 国产在线不卡精品| 激情小说网站亚洲综合网| 欧洲精品在线一区| 日韩av高清| 亚洲精品一区二区三区樱花| 一区二区三区的久久的视频| 欧美精品videos性欧美| 免费av在线一区| 欧美日韩国产成人| 欧美日本在线视频中文字字幕| 久久夜色撩人精品| 久久91亚洲精品中文字幕奶水| 久久99亚洲精品| 欧美成人第一页| 国产在线精品播放| 欧洲成人在线观看| 日韩欧美一区二区三区四区 | 久久精品影视伊人网| 国产成a人亚洲精v品在线观看| 91av在线国产| www.欧美黄色| 91国语精品自产拍在线观看性色| 91麻豆精品秘密入口| 91久久精品一区二区别| 91久久精品在线| 久久人人97超碰人人澡爱香蕉| 久久久免费观看视频| 久草一区二区| 国产成人精品优优av| 国产精品国模在线| 国产精品欧美久久久| 另类天堂视频在线观看| 一区二区在线中文字幕电影视频| 亚洲中文字幕无码中文字| 亚洲www在线| 日韩高清专区| 欧洲精品在线一区| 麻豆久久久9性大片| 亚洲欧洲日韩精品| 在线视频福利一区| 久久天天躁狠狠躁夜夜躁2014| 国产精品免费一区二区三区四区 | 麻豆乱码国产一区二区三区| 国产精品久久网| 精品国产三级a∨在线| 中文字幕中文字幕在线中心一区 | 久久久久久久久久久视频| 国产精品视频网| 欧美专区日韩视频| 蜜桃成人在线| 免费看又黄又无码的网站| 欧洲熟妇精品视频| 国产欧美在线看| 久久这里只有精品18| 国产精品嫩草影院久久久| 中文网丁香综合网| 欧美专区国产专区| 成人免费91在线看| 久久精品国产2020观看福利| 伊人色综合久久天天五月婷| 欧美日韩福利电影| 日日摸日日碰夜夜爽av| 欧美区高清在线| 国产色视频一区| 91九色国产视频| 久久成人一区二区| 日韩不卡视频一区二区| 国产欧美一区二区白浆黑人| 日韩视频在线免费| 亚洲欧美日韩精品在线| 国产伦精品一区二区三| 国产精品久久色| 秋霞无码一区二区| 国产成人亚洲欧美|