1. 實作網絡通信需要哪些支援?
- 通信裝置:網卡(PC機自帶),交換機,路由器,光纖,電纜,基站。
- 通信協定:作業系統自帶協定棧(Linux的特點:豐富的協定);裸機開發需要獨立的協定棧
-
套接字的作用:傳輸層的檔案描述符
類型:流式套接字(TCP)、資料報套接字(UDP——資料報形式)
簡單的網絡通信隻需要學會使用系統API
2. 什麼是通信協定及作用?
含義:通信協定是指雙方實體完成通信或服務所必須遵循的規則和約定。協定定義了資料單元使用的格式,資訊單元應該包含的資訊與含義,連接配接方式,資訊發送和接收的時序,進而確定網絡中資料順利地傳送到确定的地方。簡單來說,就是通信雙方确定一種資料格式,以及通過什麼形式來發送。
作用:通過通信信道和裝置互連起來的多個不同地理位置的資料通信系統,使其能協同工作實作資訊交換和資源共享。
3. TCP/IP協定棧
OSI七層網絡模型,Linux四層網絡模型
OSI七層網絡模型 | Linux四層網絡模型 | 對應的協定 |
---|---|---|
應用層 | 應用層 | TFTP,FTP,NFS,WAIS |
表示層 | 應用層 | Telnet,Rlogin,SNMP,Gopher |
會話層 | 應用層 | SMTP,DNS |
傳輸層 | 傳輸層 | TCP,UDP |
網絡層 | 網際層 | IP,ICMP,ARP,RARP,AKP,UUCP |
資料鍊路層 | 網絡接口層 | PDN,SLIP,PPP |
實體層 | 網絡接口層 | IEEE 802.1A,IEEE 802.2 |
OSI七層網絡模型中每層的作用:
實體層:通信媒體的信号到數字信号(二進制)的轉換;
資料鍊路層:區域網路之間計算機通信通過MAC位址(實體網卡)通信;
網絡層:IP位址,路由(通過公網IP來通路全世界);
傳輸層:TCP、UDP、端口
會話層:控制發包的資料
表示層:檔案格式
應用層:應用程式的使用
分層的好處:
1、各層之間是獨立的
2、靈活性強
3、結構上可以分開
4、易于維護
5、能促進标準化工作
TCP/IP協定棧的作用:
協定棧實作資料的壓縮加密和解壓解密
4. IP位址
IP位址:實際上是32位的二進制數
公網IP(廣域網通信):
A類:1.0.0.1~126.255.255.254
B類:128.0.0.1~191.255.255.254
C類:192.0.0.1~223.255.255.254
D類:224.0.0.1~239.255.255.254
E類:240.0.0.1~255.255.255.254
私網(區域網路):
A類:10.0.0.1~10.255.255.255
B類:172.16.0.0~172.255.255.255
C類:192.168.0.0~192.168.255.255
IPv4的位址範圍:0.0.0.0~255.255.255.255
如何解決IP位址荒:
1、IPv6
2、網絡位址轉換NAT()
一些協定的作用:
DNS:将域名解析成IP位址
SMTP:郵件發送
FTP:下載下傳/上傳檔案
IP:定義IP位址解析
子網路遮罩的作用:決定一個網段的大小(可用IP數量)
同一個網段的IP才可以直接互相通信,不同網段需要路由器。
舉例說明:
192.168.11.0/24:8個可用
192.168.11.0 網絡号
192.168.11.255 廣播位址
5. 端口号
端口的作用是對TCP/IP體系的應用程序進行統一的标志,使運作不同作業系統的計算機的應用程序能夠互相通信。
協定 | 端口号 |
---|---|
FTP | 21 |
TELNET | 23 |
SMTP | 25 |
DNS | 53 |
TFTP | 69 |
HTTP | 80 |
著名端口号:0~1023
注冊端口号:1024~49151
動态端口号:49152~65535
6. TCP封包格式
TCP協定的特點:面向連接配接、可靠的位元組流傳輸
校驗方式:
1、奇偶校驗
2、bcc異或校驗
3、crc循環備援校驗
4、MD5校驗和數字簽名
5、海明碼校驗
TCP在區域網路中傳輸資料的長度=1518-18-20-20=1460bit;
廣域網傳輸不限定大小,因為超過大小時會自動進行拆包。
7. TCP如何建立連接配接
通過三次握手建立連接配接;通過四次揮手端口連接配接。
網絡通信是全雙工的。
8. UDP協定(無連接配接不可靠)
-
UDP傳輸資料的最長長度
區域網路:UDP傳輸資料的最長長度=1518-18-20-8=1472bit
廣域網:UDP傳輸資料的最長長度=65535-IP(頭20)-UDP(8)=65507bit,使用sendto函數發送超過65507會傳回錯誤。
-
協定的特點:
1、無連接配接,減少了開銷和發送資料前的延遲
2、盡最大努力進行傳遞(不保證可靠傳遞),主機不需要維持複雜的連接配接狀态表
3、面向封包:發送方的UDP對應用程式傳遞下來的封包,在添加首部之後就向下傳遞給IP層,既不拆分也不合并
4、沒有阻塞控制
5、支援一對一、多對一和多對多互動通信
9. TCP和UDP的對比
特點 | TCP | UDP |
---|---|---|
是否連接配接 | 連接配接 | 不連接配接 |
是否可靠 | 可靠,使用流量控制和擁塞控制 | 不可靠,不使用流量控制和擁塞控制 |
連接配接對象的個數 | 隻能一對一 | 支援一對一、多對一和多對多互動通信 |
傳輸方式 | 面向位元組流 | 面向資料報 |
前部開銷 | 開銷大,首部最小20位元組,最大60位元組 | 開銷小,8位元組 |
适用場景 | 适用于要求可靠傳輸的應用 | 适用于實時應用 |
10. C/S
-
優點:
1、由于用戶端實作與伺服器的直接連接配接沒有中間環,是以響應更快
2、操作界面漂亮,形式多樣,可以充分滿足客戶自身的個性化要求
3、C/S結構的管理資訊系統具有較強的事務處理能力,能實作複雜的業務流程
-
缺點:
1、需要安裝專門的用戶端程式,分布功能弱針對面廣,且不具備網絡條件的使用者群體不能夠實作快速不是和安裝
2、相容性差,對不同的開發工具,具有較大的局限性,采用不同的工具需要程式改寫程式
3、開發成本高,需要具有一定的專業水準的技術人員才能完成
11. B/S
-
優點:
1、具有分布式特點,可以随時随地進行查詢、浏覽等業務
2、業務擴充簡單,通過增加網頁即可增加伺服器功能
3、維護友善,隻需要改變網頁,即可實作所有使用者同步更新
4、開發簡單
-
缺點:
1、表現要達到C/S程式的程度需要花費不少精力
2、速度和安全上需要花費巨大的設計成本,這是B/S架構最大的問題