通訊技術 通訊技術部分習題解析

2021-07-14 01:28:07 字數 4760 閱讀 4084

例題:

1、說明計算機裝置中哪個不是用來網路通訊的 a

、並口b

、串列埠c

、鍵盤口

d、乙太網口答案c

解析: 並口有8條資料線,並有i、o通道

序列介面的晶元的通訊線只有一條傳送線

乙太網口是新型高速通訊介面,速度≈序列介面速度*1000

例題:8

、廣域網和區域網的區別

答:廣域網的範圍大,通訊距離遠

區域網(lan)的特點:

1、用帶位址的幀來傳遞資料

2、不存在中間交換導致不用路由選擇

廣域網(wan)的特點:

1、需要路由器、交換機、中繼器等裝置

2、傳輸距離遠,但速度相對區域網會慢一點

1、  1946(計算機誕生)~1967(建立ascii碼)   ascii碼含義是美國標準資訊交換碼

2、  ascii(dos時代)~iso8859(gb2312) ~ansi(win95/win98時代)

3、  utf-32~utf-16~utf-8  unicode時代

utf-32 所有字元都是四個位元組

utf-16 大部分字元都以固定長度的位元組 (2位元組) 儲存,但utf-16卻無法相容於ascii編碼

utf-8 是分為1、2、3三種位元組。英文乙個,漢字三個,相容ascii編碼

例題:10

、未涉及的字元編碼是

答:utf-24

這個沒有11、

ansi

編碼中乙個漢字佔答:2

個位元組utf-8是4

個??12

、在零平面

utf-8

編碼中乙個漢字占用的位元組是答:3

個13、在0

平面utf-16

編碼中乙個漢字占用的位元組是答:2

個utf-32是

32位,

4個位元組14、

word

可用來傳輸全世界的資訊,因為用的

unicode

,那麼unicode

使用的編碼是??

答:utf-8 15

、一般的

unicode

是指utf

ansi

還是? 

答:utf-16 16

、utf-8

的優點是?

1,2,3

,三種位元組漢字3

個英文1個

a、0平面字元位元組數同一?錯b、

英文本元乙個位元組?對

c、漢字兩個位元組?錯!d、

有利於快速檢錯?錯!因為位元組數變化複雜!不好檢索17、

unicode

的優點是      

-------->根據這個題,知道unicode一般指的是utf-16a、

0平面字元同一?對b、

漢字2位元組?錯!c、

有利於網頁傳輸?錯!英文是2

個位元組,不利於傳輸

http全稱 hypertext transfer protocol 超文字傳輸語言

html全稱 hypertext markup language 超文字標記語言

例題:26

:具體含義是

答:超文字傳輸協議27、

html

的具體含義是

答:超文字標記語言

url 全稱為統一資源定位符

www 環球資訊網的縮寫,又稱全球資訊網

usb 通訊序列匯流排 universal serial bus

例題:28

、通用資源定位位址縮寫是?a、

url?對b、

www c、

usb

osi的7層從上到下分別是 7 應用層 6 表示層 5 會話層 4 傳輸層 3 網路層 2 資料鏈路層 1 物理層 ;

其中高層,即7、6、5、4層定義了應用程式的功能;

下面3層,即3、2、1層主要面向通過網路的端到端的資料流。

例題:7

個層次,但通訊的時候只考慮(傳輸層)(對話層)

傳輸層負責傳送資料

對話協議負責正確理解

伺服器處於被動狀態,而客戶機處於主動狀態。伺服器等待客戶的詢問,等待應答。

這種通訊的乙個栗子,客戶端發出請求,然後對方伺服器響應,再把結果返回給我們。

tcp:transmission control protocol 傳輸控制協議

特點:面向連線,傳輸可靠,用於傳輸大量資料,速度稍慢

udp:user datagram protocol 使用者資料報協議

特點:面向非連線,傳輸不可靠,用於傳輸少量資料,速度快

cjk 是中文(chinese)、日文(japanese)、韓文(korean)三國文字的縮寫,cjk 是《gb2312-80》、《big5》等字符集的超集。

也就是包含這3國語言的字符集。包含這3個國家常見的漢字,一共有2萬多個。

答:因為網頁傳輸用的是utf-8,所以會導致cjk出現亂碼

socket:套接字是一種網路程式設計介面

api:應用程式介面

winsock中的套接字可以是阻塞,也可以是非阻塞。處於阻塞方式套接字的函式在其完成任務之間是不會返回的

例如receive-buf()函式

例題:7

、阻塞與非阻塞。為什麼阻塞會引起「宕機

」又叫「螢幕凍結」

答:非阻塞,我不等你的訊息;阻塞,伺服器的訊息不來,我就「宕機

」等待與串列埠相關的結構體包括dcb類結構體和commtimeouts

dcb:date center bridging,dcb技術是針對傳統乙太網的一種增強,為了實現乙太網不丟包,這種增強型的乙太網叫無損乙太網,顧名思義就是保證以太網路不丟包

commtimeouts包括readfile、writefile、readfileex、writefileex.之前得用createfile建立控制代碼

注:詳細看p125~p127

重難點:unicode

utf-16 並不是乙個完美的選擇,它存在幾個方面的問題:

utf-16 能表示的字元數有 6 萬多,看起來很多,但是實際上目前 unicode 5.0 收錄的字元已經達到 99024 個字元,早已超過 utf-16 的儲存範圍;這直接導致 utf-16 地位頗為尷尬——如果誰還在想著只要使用 utf-16 就可以高枕無憂的話,恐怕要失望了

utf-16 存在大小端位元組序問題,這個問題在進行資訊交換時特別突出——如果位元組序未協商好,將導致亂碼;如果協商好,但是雙方乙個採用大端乙個採用小端,則必然有一方要進行大小端轉換,效能損失不可避免(大小端問題其實不像看起來那麼簡單,有時會涉及硬體、作業系統、上層軟體多個層次,可能會進行多次轉換)

另外,容錯性低有時候也是一大問題——區域性的位元組錯誤,特別是丟失或增加可能導致所有後續字元全部錯亂,錯亂後要想恢復,可能很簡單,也可能會非常困難。(這一點在日常生活裡大家感覺似乎無關緊要,但是在很多特殊環境下卻是巨大的缺陷)

目前支撐我們繼續使用 utf-16 的理由主要是考慮到它是雙位元組的,在計算字串長度、執行索引操作時速度很快。當然這些優點 utf-32 都具有,但很多人畢竟還是覺得 utf-32 太佔空間了。

反過來 utf-8 也不完美,也存在一些問題:

文化上的不平衡——對於歐美地區一些以英語為母語的國家 utf-8 簡直是太棒了,因為它和 ascii 一樣,乙個字元只佔乙個位元組,沒有任何額外的儲存負擔;但是對於中日韓等國家來說,utf-8 實在是太冗餘,乙個字元竟然要占用 3 個位元組,儲存和傳輸的效率不但沒有提公升,反而下降了。所以歐美人民常常毫不猶豫的採用 utf-8,而我們卻老是要猶豫一會兒

變長位元組表示帶來的效率問題——大家對 utf-8 疑慮重重的乙個問題就是在於其因為是變長位元組表示,因此無論是計算字元數,還是執行索引操作效率都不高。為了解決這個問題,常常會考慮把 utf-8 先轉換為 utf-16 或者 utf-32 後再操作,操作完畢後再轉換回去。而這顯然是一種效能負擔。

當然,utf-8 的優點也不能忘了:

字元空間足夠大,未來 unicode 新標準收錄更多字元,utf-8 也能妥妥的相容,因此不會再出現 utf-16 那樣的尷尬

不存在大小端位元組序問題,資訊交換時非常便捷

容錯性高,區域性的位元組錯誤(丟失、增加、改變)不會導致連鎖性的錯誤,因為 utf-8 的字元邊界很容易檢測出來,這是乙個巨大的優點(正是為了實現這一點,咱們中日韓人民不得不忍受 3 位元組 1 個字元的苦日子)

那麼到底該如何選擇呢?

因為無論是 utf-8 和 utf-16/32 都各有優缺點,因此選擇的時候應當立足於實際的應用場景。例如在我的習慣中,儲存在磁碟上或進行網路交換時都會採用 utf-8,而在程式內部進行處理時則轉換為 utf-16/32。對於大多數簡單的程式來說,這樣做既可以保證資訊交換時容易實現相互相容,同時在內部處理時會比較簡單,效能也還算不錯。(基本上只要你的程式不是 i/o 密集型的都可以這麼幹,當然這只是我粗淺的認識範圍內的經驗,很可能會被無情的反駁)

稍微再展開那麼一點點……

在一些特殊的領域,字元編碼的選擇會成為乙個很關鍵的問題。特別是一些高效能網路處理程式裡更是如此。這時採用一些特殊的設計技巧,可以緩解效能和字符集選擇之間的矛盾。例如對於內容檢測/過濾系統,需要面對任何可能的字元編碼,這時如果還採用把各種不同的編碼都轉換為同一種編碼後再處理的方案,那麼效能下降將會很顯著。而如果採用多字元編碼支援的有限狀態機方案,則既能夠無需轉換編碼,同時又能夠以極高的效能進行處理。當然如何從規則列表生成有限狀態機,如何使得有限狀態機支援多編碼,以及這將帶來哪些限制,已經又成了另外的問題了。

技術部分享

組織大家分享,讓每個人都動起來 聊聊 if else 那些事 分享人 李燕平 sql 四大排名函式 row number rank dense rank ntile 簡介 分享人 劉陽江 分頁大雜燴 分享人 何曉亮 net快取小結 分享人 石俊 c lambda表示式 基礎 分享人 張崑崙 簡單介紹...

通訊技術部落格

size large 在進入大二開始,我們這群it初步者也開始了在通訊階段的學習 接觸通訊之前也只是隱隱約約地從周圍同學那了解到它有多麼地重要,在我們的學習中佔很大一部分時間 僅僅這些還是沒有讓我們感覺到它的重要性 真正體現了它的重要性的是斌哥的一句話 無通訊不軟體 可見我們要想做像樣的軟體 還是得...

通訊技術基礎

作為一名通訊行業的硬體初級生,想在工作之餘抽出時間記錄學到的知識和經驗,常是才提筆卻難以下筆。自己在實際工作中常常感到基礎知識的欠缺,比如通訊理論知識,基本電路原理,fpga邏輯基礎等,對於某些概念或者設計方法彷彿學過 接觸過,但又不是信手拈來。俗話說基礎不牢地動山搖,面對浩瀚的通訊知識,就從工作中...