TCP/IP與OSI最大的不一樣在於OSI是一個理論上的網絡通訊模型,而TCP/IP則是實際運行的網絡協議; 1. OSI引入了服務、接口、協議、分層的概念,TCP/IP借鑑了OSI的這些概念創建TCP/IP模型。 2. OSI先有模型,後有協議,先有標準,後進行實踐;而TCP/IP則相反,先有協議和應用再提出了模型,且是參照的OSI模型。 3. OSI是一種理論下的模型,而TCP/IP已被普遍使用,成爲網絡互聯事實上的標準。
osi 七層模型包括: 物理層、數據鏈路層、網絡層、傳輸層、應用層、會話層; TCP/I五層模型包括:網絡接口層、網際層、傳輸層、應用層;
對應關係:
java
客戶端A向服務器B創建鏈接的三次握手: 一、A請求:A請求創建鏈接,發送序列號爲X、標誌位SYN=1的包,請求創建鏈接,此時,A進入同步已發送狀態(SYN-SEND); 二、B確認:B收到A發送的請求以後,若贊成創建鏈接,發送序列號位Y、確認序號爲X+一、SYN=一、ACK=1的包,此B進入同步已接收狀態(SYN-RCVD); 三、A確認:A收到B的確認包後,發送序列號爲X+一、確認序號爲Y+一、ACK=1的包,確認收到;將該報文發出後,A進入已鏈接狀態(ESTABLISHED),B收到以後進入已鏈接狀態(ESTABLISHED); 三次握手完成;
客戶端A和服務器B斷開鏈接的四次揮手: A發送斷開鏈接請求:A發送FIN報文, 序列號爲M,確認序號N(確認最後一個數據包序列號+1)、ACK=一、FIN=1;發送後,客戶端進入FIN-WAIT-1狀態; B確認:B收到A的請求以後發送確認報文,序列號爲N、確認號爲M+一、ACK=1,確認A發送的請求收到,發送完後進入CLOSE-WAIT狀態,此時還可能會向A發送數據; A收到來自B的確認以後,進入FIN-WAIT-2狀態,等待B發送鏈接FIN報文; B確認:B發送FIN報文,序號爲Q、確認號爲M+一、ACK=一、FIN=1,準備關閉鏈接,B進入LAST-ACK狀態; A確認:A收到B的FIN報文後,發出確認報文,序號爲M+1,確認號是Q+1,ACK=1,發送此報文後,等待2個msl時間後,進入CLOSED狀態; B收到A的確認以後,也進入CLOSED狀態; 四次揮手完成。
發送序號隨機生成,一次加1 ,防止被惡意***; 確認序號是指望的確認值,若是對方發來的確認序號不是指望值,丟棄數據包;
tcp: 傳輸控制協議,面向鏈接的可靠傳輸協議; 通訊前須要創建虛擬鏈路,結束後拆除鏈路; 具備確認機制、重傳機制、擁塞控制、窗口機制 ,數據不會丟失,且不重複,順序到達; 錯誤檢查; 速度慢,效率低;
UDP: 無鏈接的協議,不可靠傳輸協議; 沒有確認機制,儘量傳輸,容易丟包; 傳輸性能高,速度快,適合大量數據傳輸;
A類地址範圍:0.0.0.0--127.255.255.255 網絡號範圍0.0.0.0---127.0.0.0 默認子網掩碼:255.0.0.0 私網ip地址範圍:10.0.0.0--10.255.255.255 每一個網段中的能夠分配的IP個數:2^24-2
B類地址:128.0.0.0---191.255.255.255 網絡號範圍128.0.0.0---191.255.0.0 默認子網掩碼:255.255.0.0 私網ip地址範圍:127.16.0.0---127.31.0.0 每一個網段中的能夠分配的IP個數:2^16-2
C類地址:192.255.0.0---192.255.255.255 網絡號範圍192.255.0.0---223.255.255.0 默認子網掩碼:255.255.255.0 私網ip地址範圍:192.168.0.0---192.168.255.255 每一個網段中的能夠分配的IP個數:2^8-2
D類地址範圍:224.0.0.0---239.255.255.255 組播地址 E類地址範圍:240.0.0.0---247.255.255.255 保留地址
一、dhcp動態獲取; 二、靜態配置: 1)編輯網卡配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE 2)圖形化配置: nm-connection-editor 字符工具 : system-config-network-tui,setup nmtui nmtui-connect nmtui-edit nmtui-hostname 3)centos7 使用nmcli管理網絡: 建立新的鏈接eth1-test,指定靜態IP地址: nmcli con mod 「eth1-test」 ipv4.addresses "192.168.43.111/24 192.168.43.254" 修改eth1的地址,並修改配置文件: nmcli connection modify eth1 ipv4.method manual ipv4.addresses 3.3.3.3/24 建立新的鏈接eth1-test ,指定動態IP地址: nmcli connection add con-name eth1-test ifname eth1 type ethernet ipv4.method auto 建立新的鏈接eth1-test ,指定靜態IP地址: nmcli connection add con-name eth1-test ifname eth1 type ethernet ipv4.method manual ipv4.addresses 1.1.1.1/24 4)臨時改靜態IP 1)ip addr add 2)ifconfig IFACE IP netmask NETMASK ifconfig eht0 192.168.43.111/24 3)ip addr { add | del } IFADDR dev STRING ip addr add 192.168.43.111/24 dev eth1 label eth1:0 scope link ip a a 192.168.43.112/24 dev eth1 label eth1:1
架構班小夥伴做業看這裏:centos
一、基於nfs實現openstack雲盤容量的擴容。tomcat
二、安裝配置tomcat,實現對java代碼訪問。服務器