天天看點

java TCP/IP Socket程式設計-----簡介-----筆記2

概述:

大家都可以通過網絡進行通訊,那麼這些通訊是如何實作?主要用java語言的編寫程式,這就是本章的目的

1.1計算機網絡,分組封包和協定

java TCP/IP Socket程式設計-----簡介-----筆記2

這個通訊過程就像以前的打電話的情形,而路由器就是相等于接線員,主機1打過來說我要連接配接主機2,這時候路由器切換通信信道轉到,

更恰當比喻就是你應該問過路,路人就是像路由器,因為他知道你要去的地方怎麼走。

現在有個問題,我開始問路了,可說的是我們那裡方言,他聽不懂,這下尴尬了,是以國家推行國語,而在網路通信就是協定,咱們制定規則然後都遵守這個規則,就像漢字,我們都知道這個字意思和讀音,因為新華字典就是樣子的。

網絡主要常用的協定就是TCP協定和UDP協定

java TCP/IP Socket程式設計-----簡介-----筆記2

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(套接字)是一種抽象層,就是應用的程式的通過他來發送和接受的資料。

java TCP/IP Socket程式設計-----簡介-----筆記2

TCP/IP協定中主要是socket為流套接字 和資料報套接字