網絡協議與標準
當我們上網的時候,我們可以看到各種縮寫,如HTTP、HTTPS、TCP/IP等,這些都屬於網絡的一種協議標準,當然具體細化下去可以分多個層次、種類。這些暫且不談,我們先了解一下這些協議出現的必要性。首先,想像一下你和一個人或者一群人進行信息的交互,比如打電話、Facetime,亦或是微信、QQ群聊,你認為這些通信方式所需要的共同要素有哪幾個?
儘管有其他一些細小的要素也可以是它們的共同要素,我們這裏的主題只涉及最重要的三種要素:來源、路徑、目的。在我們交換信息的時候,如同面對面談話,需要知道是誰在說話,是在和誰說話,通過什麼樣的語言、語法把信息傳遞給對方。身為人類,我們都有一種共同的協議-語言,說中文的可以和說中文的共同交流,說英文的同理。那麼我們使用網絡的時候,計算機之間如何可以達到這種效果呢?協議便是出於這種目的而出現的。
協議的重要性在於它是我們任何通信信息的翻譯器,在我們互相建立通信之前,我們不得不使用既有的協議來管理通信。只有遵守了這些協議的內容,互相之間才能成功傳遞和理解信息,因此,協議必須針對下列幾種信息進行標準化:
- 標識出發送方和接收方
- 通用語言和語法
- 傳遞的速度和時間
- 確認請求
網絡協議共享許多基本特質,除了識別源地址和目的地址之外,這些協議還定義了網絡中信息傳輸的一些具體流程。常用的協議包含多種要求,如消息編碼、消息封裝、消息時序、消息大小、傳輸消息等等。
在我們發送消息時,首先執行的步驟之一是編碼。編碼是為了便於傳輸信息,信息將被轉換為另一種廣為接受的形式。解碼是編碼的逆向過程,其目的是解釋信息,如同我們可以通過摩斯電碼轉換回日常所使用的語言文字一樣。因此編碼是計算機互相通信時必須執行的,主機之間的編碼也必須採用適合介質的格式。通過網絡發送的消息先由發送主機轉換成位。根據用來傳輸位的網絡介質,將每個位編碼成聲音、光波或電子脈衝的樣式。接收端接收並解碼信號,解釋收到的消息。