網絡基礎

網絡基礎

osi七層模型和TCP/IP五層模型

應用層————————————–|——|

表示層————————————–|應用層|

會話層————————————–|——|

傳輸層————————————–傳輸層

網絡層————————————–網絡層

數據鏈路層———————————-數據鏈路層

物理層————————————–物理層

osi的七層參考模型中,應用層、表示層和會話層對應于TCP/IP模型中的應用層,其他層次都是一一對應,應用數據從源主機的應用層開始,從上往下層層封裝。達到目的端之后再從物理層開始層層解封裝,直到到達相關的應用層接口。

OSI參考模型和TCP/IP的對應關系和對應的網絡協議如圖所示:

網絡基礎

應用層: 直接面向各種應用和服務,向用戶提供一組常用的應用程序,比如電子郵件、文件傳輸訪問、遠程登錄等。遠程登錄TELNET使用TELNET協議提供在網絡其它主機上注冊的接口。TELNET會話提供了基于字符的虛擬終端。文件傳輸訪問FTP使用FTP協議來提供網絡內機器間的文件拷貝功能。

表示層: 對數據進行格式化,進行代碼轉換,數據加密。

會話層: 與其他對等層建立或解除連接。

傳輸層: 提供端對端的接口,提供應用程序間的通信。其功能包括:一、格式化信息流;二、提供可靠傳輸。為實現后者,傳輸層協議規定接收端必須發回確認,并且假如分組丟失,必須重新發送。

網絡層: 負責相鄰計算機之間的通信。其功能包括三方面。

一、處理來自傳輸層的分組發送請求,收到請求后,將分組裝入IP數據報,填充報頭,選擇去往信宿機的路徑,然后將數據報發往適當的網絡接口。

二、處理輸入數據報:首先檢查其合法性,然后進行尋徑–假如該數據報已到達信宿機,則去掉報頭,將剩下部分交給適當的傳輸協議;假如該數據報尚未到達信宿,則轉發該數據報。

三、處理路徑、流控、擁塞等問題。

數據鏈路層:提供主機之間的二層通訊,傳輸有地址的幀,對幀進行CRC校驗,并抽取其中的ip包發送給網絡層。

物理層:將物理的電信號轉化為bit流,并將bit流數據傳遞給二層。

iproute家族命令

iproute家族主要包括的命令有:ip,route,ifconfig,netstat,ss,ifup/ifdown,hostnamectl

ifconfig:用于接口地址查詢和管理,在centos7上已經被ip命令取代,不過仍然可以使用

語法結構:ifconfig [option] [interface]

常用選項:

-a:顯示所有的網絡接口信息,包括狀態是down的

-s:簡要地顯示網卡信息

-v:顯示網絡接口所接收到的數據包的錯誤信息

關閉/啟動網卡:

ifconfig INTERFACE up

ifconfig INTERFACE down(ssh登錄的慎用)

修改IP地址:

ifconfig? INTERFACE? IPADDRESS

ifconfig? INTERFACE? IPADDTESS netmask? NETMASK

ifconfig? INTERFACE? IPADDRESS netmask? NETMASK? broadcast BROADCAST

開啟/關閉ARP協議:

ifconfig INTERFACE arp(開啟)

ifconfig INTERFACE -arp(關閉)

設置最大傳輸單元(MTU):

ifconfig INTERFACE mtu MTU(不能小于1500)

route命令:

路由查看及管理

使用route命令之前需要先安裝net-tools命令:yum install net-tools

語法結構:route [option] [argument]

常用選項:

-A:設置地址類型

-C:打印并將linux的路由緩存

-v:顯示詳細消息

-n:不執行DNS反向查找,直接顯示數字形式的IP地址

-e:使用netstat格式顯示路由表

-net:顯示到一個網絡的路由表

-host:顯示到一個主機的路由

常用參數:

add:增加指定路由

del:刪除指定路由

target:目的網絡或目的主機

gw:設置默認網關

mss:set the MTU of the route to Mb

window W:set the TCP window size for connection over this route to W bytes

dev IF :force the route to accociated with the specified device

示例:

(1)添加網關

route add -net 192.168.99.0 netmask 255.255.255.0 dev ens33

//增加一條去往192.168.99.0/24網絡的路由

route add -net 192.168.99.0 netmask 255.255.255.0 reject

//屏蔽一條路由

(2)刪除路由

route del -net 192.168.99.0 netmask 255.255.255.0 dev ens33

//刪除去往192.168.99.0/24網絡的路由

route del -net 192.168.99.0 netmask 255.255.255.0 reject

//刪除這條屏蔽路由

route del default gw 192.168.99.1

route add default gw 192.168.99.1,添加的路由默認metric為零

網絡基礎

netstat:

顯示網絡連接狀態,接口狀態,路由表信息

語法結構: netstat [option]… | [grep] [PATTERN]

常用選項:

-a:顯示所有選項,默認不顯示LISTEN相關

-t:僅顯示tcp相關選項

-u:僅顯示udp選項

-n:僅顯示數字類型的地址,而不顯示主機名和用戶名

-l:僅列出在listen狀態的服務

-p:顯示程序名

-r:顯示路由信息,路由表

-e:顯示擴展信息,-ee可以顯示最多的信息

-s:按協議來進行統計顯示

-c:每隔一個固定時間執行netstat命令

示例:

(1)顯示所有端口

netstat -a

(2)顯示所有TCP端口

netstat -at

(3)顯示每個協議的統計信息

netstat -s

(4)顯示pid和進程名稱

netstat -p

(5)持續輸出netstat信息

netstat -c

(6)顯示路由信息

netstat -r

(7)找出特定程序信息

netstat -ap | grep ssh

ss命令:

可以用來獲取socket的統計信息,類似于netstat,但能顯示更詳細的狀態信息,比netstat更快捷高效。

nmcli:是centos7的網絡管理命令工具

語法結構:nmcli [option] OBJECT {COMMAND | help}

示例:

(1)顯示所有連接

nmcli con show;nmcli connection show

(2)顯示所有活動連接

nmcli con show-active

(3)顯示網絡連接配置

nmcli con show “System ens33”

(4)顯示設備狀態

nmcli dev status

(5)顯示網絡接口屬性

nmcli dev show ens33

(6)創建連接(默認使用dhcp)

nmcli con add con-name default type Ethernet ifname ens34

(7)刪除連接

nmcli con del default,也可以直接刪除配置文件

(8)創建靜態連接(static)

nmcli con add con-name? static ifname ens34 autoconnect no type Ethernet ip4 192.168.99.103/24 gw4 192.168.99.254

dstat命令:

dstat是可以取代vmstat,iostat,netstat和ifstat的一個功能強大的多功能產品。

特性:

(1)結合了vmstat,iostat,ifstat,netstat以及更多的信息

(2)實時顯示統計信息

(3)啟用或對監控項進行排序

(4)模塊化設計

(5)使用python編寫,易于后續功能擴展

(6)包含許多擴展插件,更易于增加監控項目

(7)支持CSV格式報表,能夠導入到excel形成圖形

語法結構: dstat [option]

顯示字段含義:

total-cpu-usage:cpu的使用率

dsk/total:磁盤的讀寫總數

net/total:網絡設備接收和發送總數

paging:系統的分頁活動,數值越大代表系統使用了大量的交換空間,或者說明內存很分散,一般來說0,0是比較希望看到的數值

system:中斷(int)和上下文切換(csw),較大的數值代表系統有大量的進程擁塞。

常用選項:

-c:支持cpu性能指標相關的統計數據

-d:顯示disk相關的速率數據

-g:顯示page相關的速率數據

-i:顯示interrupt相關的速率數據

-l:顯示load avarge相關的速率數據

-m:顯示memory相關的速率數據

-n:顯示網絡收發數據的速率

-p:顯示進程相關的統計數據

-r:io請求速率

-s:顯示swap相關數據

-y:顯示系統相關的數據,包括中斷和進程切換

–top-cpu:顯示最占用cpu的進程

–top-io:顯示最消耗io的進程

–top-io:顯示最消耗block io的進程

–top-mem:顯示最消耗內存的進程

–ipc:顯示進程間通信相關的速率數據

–raw:顯示raw套接的相關的數據

–tcp:顯示tcp套接字相關的數據

–udp:顯示udp套接字相關的數據

–unix:顯示unix sock相關的統計數據

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/97301

(0)
JimmyJimmy
上一篇 2018-05-01 15:54
下一篇 2018-05-01 17:20

相關推薦

欧美性久久久久