1. 程式人生 > >網路四層模型結構(我們程式設計到底是在哪裡程式設計?)

網路四層模型結構(我們程式設計到底是在哪裡程式設計?)

應用層:為使用者提供所需要的各種協議,負責傳送最終形態的資料,是直接和使用者打交道,HTTP,FTP(這兩個都是屬於TCP協議的),DNS(domain nane system)和SMTP(simple mail transfer protocol)也屬於TCP,而DNS和TFTP(trivail(微不足道的,簡單的) file transfer protocol)屬於UDP

傳輸層:端對端的通訊功能,TCP傳輸控制協議(transmission control protocol)(可靠的,面向連線的服務,有流量控制和差錯控制,比如郵件的接收和傳送、檔案傳輸、遠端登入),UDP(user datagram protocol)使用者資料報協議

(無連線的,提供高效率,低可靠性的,比如語音聊天、視訊通話、線上點播VOD等)

網路層:主機到主機的通訊,有四個主要協議,其中重要的是IP(internet protocol)網路協議,地址解析協議ARP(address revolution protocol),網際網路組管理協議IGMP,網際網路控制報文協議ICMP

鏈路層:負責電路的連結,是整個網路的物理基礎,典型的協議乙太網協議,ADSL (Asymmetric Digital Subscriber Line ,非對稱數字使用者環路)是一種新的資料傳輸方式。它因為上行和下行頻寬不對稱,因此稱為非對稱數字使用者線環路。

所以進行網路程式設計解決兩個問題:1.在網路中如何找到一臺主機或者多臺主機:依靠網路層的IP解決

2.當雙方連線成功之後,如何進行可靠的傳輸:針對傳輸層進行程式設計,傳輸層的主要兩個協議

TCP VS UDP

1.Tcp 面向連線,提供可靠的傳輸; UDP面向無連線,提供不可靠傳輸

2. Tcp 提供流量控制 ; UDP不提供流量控制

3. Tcp 保證傳輸資料順序 ; UDP不保證傳輸順序,也就是可能是亂序收包

4. TCP 面向位元組流UDP 面向資料包