1、網絡通信協議:計算機網絡中實現通訊必須有一些約定的協議,對速率、傳輸代碼、代碼結構、傳輸控制步驟、出錯控制等制定標准。
2、網絡通訊接口:為了使兩個結點之間能進行對話,必須在它們之間建立通訊工具(即接口),使彼此之間能進行信息交換,接口包括兩部分:
(1)硬件裝置:實現結點之間的信息傳送(理解成網卡)
(2)軟件裝置:規定雙方進行通訊的約定協議
3、通訊協議分層:同層之間可以通訊,上一層可以調用下一層,而與再下一層不發生聯系,各層互不影響,便於系統的擴展。網絡協議分層通常把用戶應用程序作為最高層,物理通訊線路作為最底層,將期間的協議處理分為若干層,規定每層處理的任務,也規定每層的接口標准。只要彼此之間接口不變,每一層都可以自己獨立擴展。應用程序編程即只編應用的一層,底層的東西都被屏蔽掉了,不用關心,只要知道接口就可以。分層思想無處不在,上級給下級下達命令,也是一層一層,運用到分層的思想。


實際開發中,應用到的是四層模型,網絡層(IP層)、傳輸層(TCP、UDP層)
通訊的傳輸過程:A機器—>A的應用程序層—>A的 TCP\UDP層—>A的IP層—>A的物理層—>B機器的物理層—>B的IP層—>B的 TCP\UDP層—>B的應用程序層—>B機器
IP協議的最大的貢獻就是提供了獨一無二的IP地址,便於機器之間通訊。計算機內部用四個字節(IPV4)代表Ip地址,每一個部分是0-255.局域網里的是內網Ip,這個內網Ip實際是一個假Ip,內網里的所有機器連出去的話實際上只有一個IP,即作為網關的那一台機器的IP。由於可能Ip不夠用了,擴展出了IPV6(8個字節)
四個字節的IP地址中有一些字節可能是網絡的IP,網絡IP占一個字節的是A類網,兩個字節的是B類網,三個字節的是C類網。網關機器一般有兩塊網卡,一塊配的是公網,一塊配的是內網。如果一台機器上的內容想讓世界上所有的機器都能訪問,必須要有公網的IP。
4、TCP協議和UDP協議
TCP(transmission control protocol):專門設計用於在不可靠的因特網上提供可靠的、端到端的字節流通訊的協議。是一種面向連接的協議。TCP連接是字節流而非報文流。可靠的:必須先建立起連接,才能傳輸數據,每發一次數據都需要對方確認才會繼續(TCP三次握手)。
比如A和B打電話
A:你好(必須等到B回復你好才會說下一句話) B:你好
A:明天一起跑步吧(必須得等到B回復才說下一句話) B:好呀
A:明天早上7點集合(如果B不回復“好呀 ”,A的“明天早上7點集合 ”就不會發出去)
UDP(user data protocol):向應用程序提供了一種發送封裝的原始IP數據報的方法、並且發送時無需建立連接,是一種不可靠的連接。還是剛才的例子:A說了明天一起跑步吧 ,不管B收沒收到。
TCP可靠,但是慢;UDP不可靠,但是快。比如說銀行轉賬等交易的時候必須是TCP協議;而QQ視頻等通訊則用的是UDP,丟一兩個數據包並沒有什么影響;玩游戲發射子彈用的是UDP;游戲等服務器傳用戶名和密碼的時候用的是TCP。