精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

糟糕的應(yīng)用層通信協(xié)議設(shè)計

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
去年和今年分別參與了兩個公司的項目,這兩個項目都涉及到了通信方面的程序設(shè)計,或者是以太網(wǎng)絡(luò)通信,或者是串口通信。凡是通信就必須要有通信協(xié)議,個人認(rèn)為協(xié)議的設(shè)計是個非常嚴(yán)肅的工作,需要理解業(yè)務(wù)需求和掌握基本的協(xié)議設(shè)計知識。但是從這兩個項目來看,其協(xié)議的設(shè)計可以說是 糟糕到了極點。下面就其糟糕的設(shè)計之處予以批判。

去年和今年分別參與了兩個公司的項目,這兩個項目都涉及到了通信方面的程序設(shè)計,或者是以太網(wǎng)絡(luò)通信,或者是串口通信。凡是通信就必須要有通信協(xié)議,個人認(rèn)為協(xié)議的設(shè)計是個非常嚴(yán)肅的工作,需要理解業(yè)務(wù)需求和掌握基本的協(xié)議設(shè)計知識。但是從這兩個項目來看,其協(xié)議的設(shè)計可以說是 糟糕到了極點。下面就其糟糕的設(shè)計之處予以批判。

1 糟糕設(shè)計之一:消息格式“包頭+數(shù)據(jù)+包尾”

與UDP不同,TCP通信屬于流式通信,沒有消息邊界,所以需要應(yīng)用層自行對報文進(jìn)行界定分離。實際項目1中,包頭為{{兩個字節(jié),包尾為}}兩個字節(jié),例如{{t=123}}。其格式為:

開始邊界+消息1+結(jié)束邊界+開始邊界+消息2+結(jié)束邊界+開始邊界+消息3+結(jié)束邊界+....

由于TCP是安全的傳輸層協(xié)議,除非特別需要,應(yīng)用層無需再做校驗。消息邊界只需要一個標(biāo)識即可,基本格式為:

消息1+邊界+消息2+邊界+消息3+邊界+...

無論從節(jié)約網(wǎng)絡(luò)帶寬,還是從簡化報文解析代碼,***種設(shè)計都是非常的愚蠢!

無獨有偶,項目2中基于串口的通信應(yīng)用層協(xié)議也采用了這種設(shè)計格式。

當(dāng)問其設(shè)計人員為何如此設(shè)計時,說一直就是這么設(shè)計的,自己也不知道這么設(shè)計的原因,還美滋滋地說一直沒有什么問題,真想揍他一拳。

2 糟糕設(shè)計之二:用結(jié)構(gòu)體代碼而不是文本描述消息結(jié)構(gòu)

項目2中,根本無協(xié)議的描述文本,只有一個包含結(jié)構(gòu)體定義的頭文件供協(xié)議的使用者參考。

通信就會涉及到多個機器,所以通信協(xié)議必須要能跨平臺。而我們知道

struct A
{
char x;
int y;
};

在不同編譯器,不同平臺,不同編譯選項下會有不同的二進(jìn)制布局。況且協(xié)議使用者也可能看不懂C系語言代碼。更搞笑的是,頭文件中竟然沒有強制結(jié)構(gòu)體單字節(jié)對齊。

問到協(xié)議的設(shè)計者設(shè)計思路時,說我們公司一直這樣啊,一直沒問題啊。之所以沒有問題,是因為使用這個協(xié)議的所有機器都是同一CPU型號,同一開發(fā)環(huán)境,同一操作系統(tǒng)。

3 糟糕設(shè)計之三:傳送二進(jìn)制浮點數(shù)

浮點數(shù)的二進(jìn)制格式并不是只有一種,不同平臺采用不同的方式存放。這要比大端小端的整數(shù)差別更加嚴(yán)重。所以跨平臺傳送二進(jìn)制浮點數(shù)是非常不安全的。而在項目2中,消息中大量使用了二進(jìn)制浮點數(shù)。

要傳送浮點數(shù),通常有兩種解決方式:

文本化。也就是傳送描述浮點數(shù)的字符串,我們知道字符串是完全跨平臺的,尤其是在UTF-8這樣全球統(tǒng)一字符編碼的情況下。

轉(zhuǎn)換為整數(shù)。例如1.2,可以用整數(shù)12代替,只是要規(guī)定單位為0.1即可。

4 糟糕設(shè)計之三:大量備用字段

項目二的消息結(jié)構(gòu)體類似如下:

struct A
{
char name[16];
int age;
int spare1;
short spare2;
short spare3;
int spare4;
};

大量的備用字段充斥在結(jié)構(gòu)體中。少量的備用字段可以理解,如此大量的后備力量,真是深遠(yuǎn)謀慮啊。真不知道協(xié)議使用者在看到spare時會不會吐。如果真的需要這么多備用字段,完全可以重新定義一個消息結(jié)構(gòu)了。

5 糟糕設(shè)計之四:照貓畫虎的握手和校驗

握手和校驗是保證安全完整通信的基本手段,但是其實現(xiàn)卻非常不簡單,看看TCP的實現(xiàn)代碼就知道了,需要考慮各種異常情況。項目二中串口設(shè)備和主機之間照貓畫虎地定義了一個握手協(xié)議。開機后 設(shè)備向主機一直發(fā)送AA,主機收到AA后向設(shè)備發(fā)送AA,設(shè)備收到AA后向主機發(fā)送55,主機收到55后向設(shè)備發(fā)送55。這個簡單的握手存在很多問題,隨便說幾個:

完全沒有必要握手。一般的串口設(shè)備無需知道主機的工作狀態(tài),主機如果想了解設(shè)備狀態(tài),發(fā)個詢問報文即可。

如果主機發(fā)送AA后程序退出,那么串口設(shè)備永遠(yuǎn)也等不到來自主機的55。

如果主機中途關(guān)掉,在運行時可能收到來自串口設(shè)備的AA,而此時的AA其實只是消息報文的一個字節(jié),而不是握手信號。

只要仔細(xì)想想,還有很多類似的情況需要處理。而且實際使用過程中,確實發(fā)生了上面的情況,致使必須重啟串口設(shè)備或主機。

還是項目2中,基于UDP的應(yīng)用層協(xié)議自行設(shè)計了校驗。其實這也無可厚非,比如著名的tftp就是這樣的協(xié)議。只是設(shè)計者考慮不周,各種問題頻出,最終的結(jié)果是這些校驗字段根本就沒有實際使用,白白浪費了網(wǎng)絡(luò)帶寬。需要說明的是,這個協(xié)議的設(shè)計者還是國內(nèi)很大的一家公司,當(dāng)然是國企,你懂的

責(zé)任編輯:何妍 來源: CSDN博客
相關(guān)推薦

2010-06-11 14:25:08

通信協(xié)議

2010-06-25 14:43:46

通信協(xié)議

2024-01-08 09:08:53

2010-06-09 10:25:18

SET應(yīng)用層協(xié)議

2010-06-21 17:58:06

2010-06-13 17:46:47

2010-06-25 15:22:16

2010-06-13 17:51:16

SET應(yīng)用層協(xié)議

2023-10-12 19:37:50

通信協(xié)議HTTP

2010-06-28 15:52:17

2010-06-09 10:28:20

2010-06-09 12:20:34

網(wǎng)絡(luò)通信協(xié)議層

2010-06-11 14:31:08

通信協(xié)議

2022-12-02 14:42:37

2016-11-29 15:22:47

協(xié)議應(yīng)用層安全層

2014-06-27 10:04:55

網(wǎng)絡(luò)協(xié)議ipv4IP

2017-08-17 17:48:06

2010-06-09 11:38:37

傳輸層通信協(xié)議

2024-11-27 13:01:22

應(yīng)用層領(lǐng)域?qū)?/a>對接層

2010-06-09 10:43:54

廣義網(wǎng)協(xié)議
點贊
收藏

51CTO技術(shù)棧公眾號

不卡视频在线| 人妻中文字幕一区| 你懂的一区二区三区| 亚洲欧洲精品成人久久奇米网| 国产精品视频区| 国产黄色一区二区三区| 成人影院在线观看| 国产成人免费视频网站高清观看视频 | 久久免费精品视频| aaaaaav| 88xx成人网| 日韩一区中文字幕| 国产精品一区在线播放| 91视频久久久| 我不卡手机影院| 精品sm在线观看| 久久无码高潮喷水| 天堂а√在线官网| 国产一区二区三区美女| 国产91精品高潮白浆喷水| 女尊高h男高潮呻吟| 欧美成人app| 亚洲激情男女视频| 明星裸体视频一区二区| 国产绿帽刺激高潮对白| 影音先锋亚洲精品| 亚洲人成在线观看| 男女视频在线看| 羞羞视频在线观看免费| 久久亚洲一区二区三区明星换脸 | 中文字幕有码av| 高h视频在线观看| www国产精品av| 国产男人精品视频| 圆产精品久久久久久久久久久| 成人免费a**址| 欧美性生活一区| 福利视频免费在线观看| 成人高清在线| 97精品久久久午夜一区二区三区| 91精品久久久久久| 青青草免费观看视频| 欧美日韩一区自拍| 中文字幕亚洲国产| 国产精品揄拍100视频| 九九热这里有精品| 色综合久久久久久久久久久| 经典三级在线视频| 成人动漫在线播放| 91视频国产观看| 99re视频在线| 国产免费av电影| 日本欧洲一区二区| 青青a在线精品免费观看| 校园春色 亚洲| 精品美女视频| 亚洲人成电影在线播放| 亚洲一区二区三区三州| 成人在线视频免费| 日韩欧美成人区| 奇米精品一区二区三区| 蜜桃成人365av| 一区二区三区在线视频免费观看| 亚洲视频电影| 国产三级在线看| 久久精品视频在线免费观看| 久久国产精品久久| 污污视频在线观看网站| 国产黄色精品视频| 国产精品狼人色视频一区| 久久久精品毛片| 亚洲精品一级二级三级| 亚洲第一区在线观看| 国产精品熟女一区二区不卡| 欧美三级一区| 日韩一区二区三区视频在线| 日本少妇激三级做爰在线| 玖玖精品在线| 91精品国产全国免费观看 | 在线看片福利| 欧美日韩在线视频观看| 日本黄网站免费| 嫩草伊人久久精品少妇av杨幂| 欧美亚一区二区| 天堂在线资源视频| 日韩精品第二页| 欧美一区二区大片| 日韩成人av影院| 国产精品白浆| 亚洲欧美国内爽妇网| 欧洲av一区二区三区| 成人在线免费视频观看| 亚洲国产精品中文| 西西444www无码大胆| 成人免费电影网址| 久久6免费高清热精品| 久久久精品视频在线| 日韩视频免费| 国产精品白嫩初高中害羞小美女 | 一本久道中文字幕精品亚洲嫩| 丁香婷婷激情网| 亚洲精品一区二区在线播放∴| 欧美一区二区三区四区久久| 黄色片视频免费观看| 国产一区不卡| 久久国产精品亚洲| 好吊妞视频一区二区三区| 日产欧产美韩系列久久99| 成人网在线观看| 熟妇人妻一区二区三区四区 | 国产精品乱码| 国产日韩精品在线看| 亚洲免费观看高清完整版在线观看熊| 91午夜在线观看| xx欧美视频| 欧美一区二区视频在线观看2022| 国产真实乱人偷精品| 日韩一区二区中文| 久久久久在线观看| 亚洲综合精品国产一区二区三区| 成人午夜电影网站| 日韩三级电影| 91探花在线观看| 在线成人免费观看| 久久精品一区二区免费播放| 99久久婷婷这里只有精品| 97国产一区二区精品久久呦| 91丨九色丨蝌蚪丨对白| 91看片淫黄大片一级在线观看| 一本一道久久久a久久久精品91 | 欧美老女人另类| 久久久久久久97| 在线观看免费观看在线| 99精品桃花视频在线观看| 香蕉视频在线网址| 偷拍视频一区二区三区| 亚洲国产私拍精品国模在线观看| 69夜色精品国产69乱| 免费在线成人| 国产区一区二区| 羞羞视频在线观看免费| 欧美精品第1页| 久久久久无码精品国产sm果冻| 黑丝一区二区| 99re国产在线播放| 高清全集视频免费在线| 欧美日本国产视频| 人人妻人人澡人人爽| 欧美激情1区2区3区| 国产精品揄拍一区二区| 黄色av免费在线观看| 亚洲一区免费视频| 午夜不卡福利视频| 国产国产精品| 国产精品久久久久久久久久免费| 五月天激情婷婷| 精品国产91久久久| 亚洲av成人片色在线观看高潮| 欧美日韩午夜| 国产精品露出视频| xxxx视频在线| 亚洲激情电影中文字幕| 久久久久久久蜜桃| 国产福利一区在线观看| 超级碰在线观看| 日韩欧国产精品一区综合无码| 在线成人一区二区| 中文字幕+乱码+中文| 欧美国产欧美亚州国产日韩mv天天看完整 | 国产成人影院| 日本精品久久电影| 日韩在线免费播放| 欧美性jizz18性欧美| 国产精品边吃奶边做爽| 国产精品免费看| 免费一区二区三区| 天天免费亚洲黑人免费| 影音先锋欧美精品| 一级片免费在线播放| 国产午夜精品美女毛片视频| 蜜臀视频一区二区三区| 亚洲尤物av| 国产精品青草久久久久福利99| 1pondo在线播放免费| 在线观看日产精品| 黄色录像一级片| 国产成人精品免费网站| 日日摸日日碰夜夜爽无码| 日本在线中文字幕一区| 国产精品高潮呻吟久久av黑人| 999在线视频| 日韩一区二区三区在线| 五月天婷婷综合网| 久久精品一区二区三区av| 亚洲小视频网站| 国产一区欧美| 欧美一级爽aaaaa大片| 国产精品99久久免费| 欧美激情在线播放| 日韩a在线看| 91精品视频网| 久久久久久久久久免费视频| 国产欧美日韩久久| 亚洲第一天堂久久| 亚洲日本免费| 天堂√在线观看一区二区| 日韩欧美一级| 日韩女优在线播放| av网址在线播放| 亚洲欧美精品中文字幕在线| 一区二区三区免费在线| 婷婷中文字幕综合| 日韩精品久久久久久久的张开腿让| 国产乱子伦一区二区三区国色天香 | 日本妇女毛茸茸| 99久久久久久| 一卡二卡三卡四卡五卡| 蜜臀精品久久久久久蜜臀| 无码专区aaaaaa免费视频| 中文字幕免费一区二区| 亚洲一卡二卡三卡四卡无卡网站在线看| 成人中文字幕视频| 96pao国产成视频永久免费| 亚洲成人短视频| 欧美在线观看网址综合| 91麻豆免费在线视频| 国产一区二区三区丝袜| 午夜av免费观看| 亚洲成人黄色网| 国内精品久久久久久久久久久| 欧美日韩国产综合一区二区三区 | 久久99在线观看| 另类小说色综合| 日韩国产在线一| 免费无码av片在线观看| 一本色道精品久久一区二区三区| 污污污污污污www网站免费| 911精品美国片911久久久| 亚洲福利av| 日韩精品网站| 台湾成人av| 91久久夜色精品国产按摩| 午夜精品一区二区三区四区| 欧美日韩高清| 色99中文字幕| 日本精品三区| 日韩精品久久久免费观看| 国产一区不卡| 亚洲最新在线| 欧美顶级大胆免费视频| 中文字幕在线观看一区二区三区| 色喇叭免费久久综合网| 在线丝袜欧美日韩制服| 亚洲字幕久久| 黄色三级中文字幕| 精久久久久久| 国产 福利 在线| 久久免费国产| www.日本一区| 狠狠色综合日日| 激情小说欧美色图| www.亚洲精品| 免费观看av网站| 国产欧美一区二区精品秋霞影院 | 香蕉视频免费看| 亚洲欧美日韩中文在线制服| 波多野结衣在线影院| 另类少妇人与禽zozz0性伦| 久久亚洲导航| 欧美中文在线字幕| 国产激情欧美| 成人在线资源网址| 伊人春色精品| 在线码字幕一区| 在线观看视频免费一区二区三区| 成年人午夜免费视频| 日日摸夜夜添夜夜添精品视频| 国产一伦一伦一伦| 成人爽a毛片一区二区免费| a级在线观看视频| 亚洲欧洲国产专区| 国产乡下妇女做爰| 在线欧美小视频| www视频在线| 国产一区二区三区在线看 | 岛国毛片在线播放| 国产成人在线视频免费播放| 少妇饥渴放荡91麻豆| 成人免费一区二区三区在线观看| 久久国产精品波多野结衣av| 色伊人久久综合中文字幕| 99国产揄拍国产精品| 亚洲精品久久久久国产| 免费人成在线观看播放视频| 91精品国产91久久久久久最新| 欧美aaa大片视频一二区| 99re视频在线播放| 成人嫩草影院| 人妻熟妇乱又伦精品视频| 久久草av在线| 精品人妻无码一区二区三区换脸 | 国产精品久久久久久久久久久久久久久久久 | 欧美另类videosbestsex日本| 香蕉精品999视频一区二区 | 久久婷婷久久一区二区三区| 男人与禽猛交狂配| 日本高清不卡一区| 亚洲国产福利视频| 日韩在线免费视频| 美脚恋feet久草欧美| 国产精选在线观看91| 中文无码久久精品| 日本中文字幕精品—区二区| 久久影院电视剧免费观看| 久久免费视频精品| 欧美日韩激情一区| 国产一级片在线| 91sao在线观看国产| 天堂av一区| 在线看成人av电影| 美女高潮久久久| 国产综合精品在线| 色综合久久久久| 青青草手机在线| 午夜精品久久久久久久久久久久| 精品国产三级| 性欧美18一19内谢| 久久国产福利国产秒拍| 亚洲无人区码一码二码三码的含义| 精品国产福利视频| 午夜视频在线免费播放| 欧美国产日韩一区| 欧洲大片精品免费永久看nba| 中文字幕欧美人与畜| 日本色综合中文字幕| 一级在线观看视频| 欧美亚洲综合在线| 爱久久·www| 国产成人精品在线播放| 小嫩嫩12欧美| 十八禁视频网站在线观看| 91浏览器在线视频| 黄瓜视频在线免费观看| 亚洲男人天堂九九视频| 成人美女黄网站| 热re99久久精品国产99热| 日韩二区三区四区| 色婷婷国产精品免| 欧美日韩国产一级片| 蜜桃视频在线观看免费视频网站www| 国产精品一区二区三| 97视频热人人精品免费| 不卡的在线视频| 一区二区三区中文免费| 黄色一级大片在线免费看国产一| 欧美精品videofree1080p| av成人app永久免费| 国产婷婷一区二区三区| 91蝌蚪国产九色| 中文字幕+乱码+中文字幕明步| 最近2019年日本中文免费字幕 | 国产伦精品一区二区三区视频女| 欧美视频精品在线观看| 美女黄视频在线观看| 91成人免费视频| 99在线|亚洲一区二区| japanese中文字幕| 欧美日韩国产高清一区二区三区 | 国产高潮失禁喷水爽到抽搐| 婷婷开心激情综合| 国产一二在线观看| 成人免费在线视频网址| 亚洲第一黄网| 久久久视频6r| 欧美一区二区三区在线看| 成人高潮aa毛片免费| 日韩欧美电影一区二区| 国产在线精品一区二区不卡了| 免费日韩在线视频| 亚洲精品日韩丝袜精品| 欧美亚洲二区| 国产美女网站在线观看| 国产精品视频你懂的| 亚洲精品第五页| 国产xxx69麻豆国语对白| 影音先锋成人在线电影| 性色av蜜臀av色欲av| 5566中文字幕一区二区电影| 漫画在线观看av| 26uuu成人| www日韩大片| aaa一区二区三区| 国产91在线播放| 国产精品v日韩精品v欧美精品网站 | 亚洲日本丝袜连裤袜办公室| 偷拍自拍在线视频| 91在线看www| 日韩在线卡一卡二| 精品一区在线视频| 中文字幕欧美精品在线 |