網絡:
網絡是幾乎可以實作互相發送和接收資料的計算機和其他裝置的集合
網絡通常用纜線連接配接,資料位轉換為電池波,通過線纜移動
無線網絡通過無線電波傳輸資料,長距離的傳輸實作現在會用玻璃纖維發送可見過的光纖電纜來完成
傳輸資料的實體媒體:
可以通過碳驅動的計算機發送煙信号互相傳傳輸(網絡的響應時間可能很差)
網絡中的每台機器都稱為一個節點
大多數節點是計算機
具有完備功能的計算機節點稱為主機
每個網絡節點都有位址
用于唯一辨別節點的一個位元組序列
每個位址中的位元組越多,可用的位址就越多,可以有更多的裝置同時連入網絡
網絡的分層
網絡發送資料是一項複炸的操作
必須仔細協調網絡的實體特性以及所發送資料的邏輯特征
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuIzMxADNwQTN20yMykjNzADMzEjMyUDM5EDMy0yN1cDO4QTMvwVNwkTMwIzLcdTN3gDO0EzLcd2bsJ2Lc12bj5ycn9Gbi52YugTMwIzZtl2Lc9CX6MHc0RHaiojIsJye.png)
圖中顯示了網絡中可能存在的協定棧
上層和下層的協定變化很大
有些主機使用Ethernet,有些使用WIFI
棧頂使用的協定完全取決于主機運作的程式
頂層和底層的協定實作分層,互不關心,
(分層模型實作了應用協定與網絡硬體實體特性以及網絡連接配接拓撲結構的解耦合)
Web浏覽器像Web伺服器發送擷取網頁的請求時
浏覽器實際上隻與本地客戶及的傳輸層對象
傳輸層将請求分解為TCP片,像資料添加序列号和校驗和
然後将請求傳遞給本地網際層
網際層根據本地網絡所需要的大小将各TCP片分成IP資料報
并傳遞到主機網絡層一邊通過線纜傳遞資料
主機網絡層将資料編碼為合适特定實體媒體的模拟信号
将請求發送到線纜
目标位址的遠端系統的主機網絡層可以由此讀取請求
遠端系統的主機網絡層将模拟信号解碼為數字資料
将生成的IP資料報傳遞給伺服器的網際層
網際層簡單的檢查IP資料報是否被破壞
如果已經分盤則重組資料
然後傳遞給伺服器的傳輸層
伺服器的傳輸層檢查是否所有的資料都已到達
對于丢失或者破壞的部分則要求重傳(遠端系統--->用戶端系統 逆向)
一旦伺服器的傳輸層接收到足夠多的連續資料報
就将重組寫入一個流
由伺服器應用層向上運作的Web伺服器
伺服器響應這個請求,在通過伺服器系統的各個分層發回響應通過Internet進行輸出并且發給Web用戶端
Java的網絡類隻工作于TCP/IP網絡中
始終運作在應用層或傳輸層上
主機網絡層
Java開發,此時處于最高的位置
網絡中隐藏部分資料主機網絡層(鍊路層)
主機網絡層定義了一個特定的網絡接口如何通過實體連接配接本地網絡或世界其他地方發送IP資料報
主機網絡層中由于連接配接不同的計算機硬體組成的部分有時稱為網絡的實體層
出現問題:斷網,
網際層
網絡的下一層
在OSI模型中稱為網絡層
網絡層協定定義了資料位和位元組如何組織為更大的分組,稱為包
還定義了尋址機制
不同計算機按照這個尋址機制找到對象
網際協定(IP)是世界上使用做廣泛的網絡層協定,也是Java唯一了解的網絡層協定
兩個協定:IPv4、IPv6
IPv4使用32為位址,IPv6使用128位位址
還增加一些特性來幫助完成路由
該量協定資料包在網際層上傳輸,這些包稱為資料包
每個Ipv4資料報包含一個長度位20-60位元組的首部,以及一個包含65515位元組資料的有效載荷
實際上大多數IPv4資料報都小的多,供幾十位元組到稍大于8K位元組不等
IPv6資料報包含一個更大的首部,資料可以多達4G位元組
各部分在Ipv4資料報中是如何排列的
處理路由和尋址網際層的第二個作用是支援不同類型的主機網絡互相對象
Internet路由器會完成WIFI和Ethernet、Ethernet和DSL、DSL和光纖往返協定之間的轉換
傳輸層
原始資料有一些缺點
最顯著的就是不能保證可靠傳送
即使能傳送也可能在傳輸過程中遭到破壞
首部檢驗和隻能檢查首部中的破壞情況,而不能檢測資料報中的資料部分
最後即使資料報到達目的地未破壞名單時也不能準确的到達
傳輸層負責確定各個包以發送的順序接收
保證沒有資料丢失或者破壞
丢包:傳輸層會請求發送方重新發送
IP網絡會給每個資料報添加一個附加首部,其中包含更多的資訊
這一層主要有兩個協定
1、傳輸控制協定(TCP):開銷很高,支援對丢失或破壞的資料進行重傳,并且按照發送時的順序傳送
2、使用者資料報協定(UDP):允許接收方檢測被破的包,反不能保證這些包以正确的順序傳送
UDP通常比TCP快
TCP稱為可靠的協定
UDP稱為不可靠的協定
應用層
向使用者發送資料的層
下面三層共同定義了資料如何從一台計算機傳輸到另一台計算機
應用層确定了資料傳輸後的操作
應用層使用HTTP協定可以確定Web浏覽器将圖像顯示為圖檔而不是 一長串數字
程式中有關網絡大多都是在應用層花費時間
應用層協定除了Web的HTTP,還有電子郵件的SMTP、POP和MAP,用于檔案傳輸的FTP、FSP、TFTP,
用于檔案共享的Guntella和BitTorrent等
IP、TCP、UDP
IP(網際協定)特性:
1、健壯
2、開放
可以在IP之上運作很多其他協定,最常見的是就是ICMP(網際控制消息協定)
它使原始IP資料報在主機之間傳遞錯誤資訊
使用這個協定最著名的就是ping程式
Java不支援ICMP,也不允許發送原始IP資料報(隻允許TCP/UDP)
是以Java支援的協定隻有TCP/IP
IP位址和域名
掌握IP的尋址
IPv4中每台計算機都由4個位元組的數字辨別
一般分為點四分段格式
如192.1.32.90:每個數都是無符号數位元組,範圍從0-255
IPv4網絡中的每台計算機都有唯一的4位元組位址
當資料通過網絡傳輸時,包的首部會包括要發往的機器位址和發送這個包的位址
沿路由器通過檢查目的位址來選擇發送資料的最佳路由
包括源位址是為了讓接收方知道要向誰回複
現在IPv4資源基本用完
向IPv6過度,将使用16位元組位址
這樣就可以有足夠的ip位址來辨別每一個人、每台計算機
IPv位址通常為冒号分割的8個區塊
每個區塊4個十六進行數字
FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
前導的0不需要寫
兩個冒号表示多個0區塊
但每個位址之多出現一次
在IPv4和IPv6的混合網絡中,IPv6位址的最後4位元組有時寫為IPv4的點分四段
= FEDC:BA98:7654:3210:FEDC:BA98:118.48.50.116
域名系統
可以更易于記憶的主機名轉換為數字Internet位址
Java程式通路網絡時,他們需要處理數字位址和相應的 主機名
端口
每台計算機一次隻做一件事情,那麼位址就可能足夠了
現在的計算機同時需要作很多不同的事情
電子郵件需要與FTP請求分開,FTP又要與WEB業務流分開
這裡可以通過端口實作
每台有IP位址的計算都有很多個邏輯端口(65535)
這些是計算機記憶體中的抽象
不表示任何實體實體,與USB端口不同
每個端口由1到65535之間的一個數字表示
每個端口可以配置設定一個特定的任務
已知端口配置設定:
Internet
是世界上最大的基于IP的網絡
他是所有七大洲多個不同國家的計算機使用IP互相對話的一個無組織的集合
Internet上每台計算機都至少有一個辨別此計算機的IP位址
大多數還有一個主機名映射到這個IP位址
Internet不屬于任何人
不受任何人控制
隻是約定以一種标準的方式互相對象的一個非常大的計算機集合
Internet不是唯一的基于IP的網絡,但卻是最大的一個
其他的IP網絡稱為internet:如果麼有連接配接Internet的高安全性内網
Internetda大緻描述額公司大量資料置于内部Web伺服器的實踐
這些資料對本地網絡以外的使用者不可見
Internet位址分塊
網絡位址轉換
防火牆
代理伺服器
用戶端/伺服器模型
Internet标準
IETE RFC
W3C推薦
5個标準等級:
轉載于:https://www.cnblogs.com/Mrchengs/p/10906158.html