概述:
大家都可以通過網絡進行通訊,那麼這些通訊是如何實作?主要用java語言的編寫程式,這就是本章的目的
1.1計算機網絡,分組封包和協定
這個通訊過程就像以前的打電話的情形,而路由器就是相等于接線員,主機1打過來說我要連接配接主機2,這時候路由器切換通信信道轉到,
更恰當比喻就是你應該問過路,路人就是像路由器,因為他知道你要去的地方怎麼走。
現在有個問題,我開始問路了,可說的是我們那裡方言,他聽不懂,這下尴尬了,是以國家推行國語,而在網路通信就是協定,咱們制定規則然後都遵守這個規則,就像漢字,我們都知道這個字意思和讀音,因為新華字典就是樣子的。
網絡主要常用的協定就是TCP協定和UDP協定
TCP需要握手連接配接,安全,傳輸效率稍低
UDP不需要連接配接,不安全,容易丢包,順序混亂
1.2關于位址:
類似郵寄東西的位址,網絡主要是網際網路位址+端口号
主要分為IPv4和IPv6, iPv4是32能區分40億獨立位址, IPv6 位址長度為186位長。
IPv6 16位元組
2000:fdb8:0000:0000:0001:00ab:853c:39a1 簡寫 :2000:fdb8::1:00ab:853c:39a1
端口号的範圍是1到65535
回環接口:就是從哪裡來回到那裡去(原路傳回)
IPv4的回環位址是127.0.0.1[ ],IPv6的回環位址是0:0:0:0:0:0:0:1。
IPv4位址:所有以10或192.168開頭的位址,以及第一個數是172,第二個數在16到31的位址。(在IPv6中沒有相應的這類位址)這類位址最初是為了在私有網絡中使用而設計的
多點傳播位址:IPv4 第一個數字224-239 IPv6 FF開頭
1.3.關于名字
一個名字對應IP,這個對應關系通過DNS進行解析(Domain Name System) DNS是分布資料庫系統
1.4用戶端和服務端
用戶端就是請求者,而服務端是響應者
用戶端怎麼找服務端,URL(Universal Resource Locator 統一資源定位符)
1.5 什麼是套接字
Socket(套接字)是一種抽象層,就是應用的程式的通過他來發送和接受的資料。
TCP/IP協定中主要是socket為流套接字 和資料報套接字