1. 程式人生 > 實用技巧 >Linux入門(七)

Linux入門(七)

1、簡述osi七層模型和TCP/IP五層模型

osi七層模型:

物理層:二進位制傳輸,為啟動、維護以及關閉物理鏈路定義了電氣規範、機械規範、過程規範和功能規範。
資料鏈路層:訪問介質,定義如何格式化資料以便進行傳輸以及如何控制對網路的訪問,支援錯誤檢測。
網路層:資料傳輸,路由資料包,選擇傳遞資料的最佳路徑,支援邏輯定址和路徑選擇。
傳輸層:確保資料傳輸的可靠性,建立、維護和終止虛擬電路,通過錯誤檢測和恢復,資訊流控制來保證可靠性。
會話層:主機間通訊,建立、管理和終止在應用程式之間的會話。
表示層:資料表示,確保接受系統可以讀出該資料,格式化資料,構建資料,協商用於應用層的資料傳輸語法,提供加密。

應用層:網路程序訪問應用層,為應用程式程序(電子郵件、檔案傳輸等)提供網路服務,提供使用者身份驗證。

TCP/IP五層模型:

應用層:應用層生成了資料。
傳輸層:將應用層的資料添加了TCP或UDP包頭,生成了資料段。
網路層:將資料段進一步封裝IP包頭,稱為報文或者IP包。
資料鏈路層:將包進一步封裝成幀,指明目標主機的MAC地址。
物理層:以數字訊號進行傳輸,單位為位元(Bit)


2、總結描述TCP三次握手四次揮手

TCP三次握手:建立虛連線

  1. 客戶端傳送SYN包到伺服器,進入SYN_SENT狀態,等待伺服器確認。
  2. 服務端收到SYN包,確認客戶,併發送ACK包,同時自己也傳送一個SYN包,伺服器進入SYN_RECV狀態。
  3. 客戶端收到服務端的SYN+ACK包,確認服務端,向服務端傳送ACK包,傳送完畢後,客戶端和服務端進入ESTABLISHED狀態(TCP連結成功),完成三次握手

TCP四次揮手:斷開虛連線

  1. 客戶端完成資料傳輸,需要斷開,向伺服器端傳送FIN包,客戶端進入FIN-WAIT-1
  2. 服務端收到FIN包,向客戶端傳送一個ACK,然後將剩餘的資料繼續傳送給客戶端,服務端進入CLOSE_WAIT,客戶端進入FIN-WAIT-2
  3. 剩餘的資料傳送完成了,再向客戶端傳送FIN包,表示資料已經全部發送,可以徹底關閉連線,服務端進入LAST_ACK
  4. 客戶端收到FIN包後,向服務端傳送ACK包,然後斷開連線。進入TIME_WAIT,2MSL(去向ACK訊息最大存活時間(MSL) + 來向FIN訊息的最大存活時間(MSL))後關閉。

3、描述TCP和UDP區別

TCP:

  • 工作在傳輸層
  • 面向連線協議
  • 提供可靠的網路訪問
  • 全雙工協議
  • 錯誤檢查
  • 將資料打包成段,排序
  • 確認機制
  • 資料恢復,重傳
  • 流量控制,滑動視窗
  • 擁塞控制,慢啟動和擁塞避免演算法

UDP:

  • 工作在傳輸層
  • 非面向連線協議
  • 提供不可靠的網路訪問
  • 有限的錯誤檢查
  • 傳輸效能高
  • 無資料恢復特性

4、總結ip分類以及每個分類可以分配的IP數量

A類地址:

1.0.0.0-126.255.255.255
每個網路中的可分配的數量:2^24-2
預設子網掩碼:255.0.0.0
私網地址:10.0.0.0

B類地址:

128.0.0.0-191.255.255.255
每個網路中的可分配的數量:2^16-2
預設子網掩碼:255.255.0.0
私網地址:172.16.0.0-172.31.0.0

C類地址:

192.0.0.0-223.255.255.255
每個網路中的可分配的數量:2^8-2
預設子網掩碼:255.255.255.0
私網地址:192.168.0.0-192.168.255.0

D類地址:組播

224.0.0.0-239.255.255.255
224.0.0.1特指所有主機
224.0.0.2特指所有路由器。
224.0.0.5指OSPF路由器
地址多用於一些特定的程式以及多媒體程式

E類地址:未使用

240.0.0.0-255.255.255.254

特殊地址:

0.0.0.0:表示所有不清楚的主機和目的網路
255.255.255.255:限制廣播地址,對本機來說,這個地址指本網段內(同一廣播域)的所有主機
127.0.0.1-127.255.255.254:本機迴環地址,主要用於測試。
169.254.x.x:如果Windows主機使用了DHCP自動分配IP地址,而又無法從DHCP伺服器獲取地址,系統會為主機分配這樣地址。


5、總結IP配置方法

靜態指定:

  • ifconfig:配置臨時ip地址,重啟失效
ifconfig IFACE IP netmask NETMASK
ifconfig IFACE IP/MASK [up|down]
  • ip: 重啟失效
ip addr add IFADDR dev IFACE
  • system-config-network-tui,setup:通過圖形介面修改網絡卡地址,重啟後依然生效
  • 配置檔案:/etc/sysconfig/network-scripts/ifcfg-IFACE

通過修改/etc/sysconfig/network-scripts/ifcfg-IFACE檔案配置ip地址。會與NetworkManager服務有衝突,通過手動修改檔案建議關閉NetworkManager服務。

DEVICE:此配置檔案應用到的裝置
HWADDR:對應的裝置的MAC地址
BOOTPROTO:啟用此裝置時使用的地址配置協議,常用的dhcp, static, none, bootp
NM_CONTROLLED:NM是NetworkManager的簡寫,此網絡卡是否接受NM控制;建議CentOS6為“no”
ONBOOT:在系統引導時是否啟用此裝置
TYPE:介面型別;常見有的Ethernet, Bridge
UUID:裝置的惟一標識
IPADDR:指明IP地址
NETMASK:子網掩碼
GATEWAY: 預設閘道器
DNS1:第一個DNS伺服器指向
DNS2:第二個DNS伺服器指向
USERCTL:普通使用者是否可控制此裝置
PEERDNS:如果BOOTPROTO的值為“dhcp”,YES將允許dhcp server分配的dns伺服器資訊直接覆蓋至/etc/resolv.conf檔案,NO不允許修改resolv.conf

  • nmcli:需要開啟NetworkManager服務。
新增配置:
nmcli connection add type ethernet con-name IFACE-FILE ifname IFACE
修改地址:
nmcli connection modify IFACE-FILE ipv4.method manual ipv4.addresses IP/MASK ipv4.gateway GATEWAY ipv4.dns DNS-IP connection.autoconnect on

動態分配:

DHCP