網絡層次劃分
計算機網絡學習的核心內容就是網絡協議的學習。網絡協議是爲計算機網絡中進行數據交換而創建的規則、標準或者說是約定的集合。由於不一樣用戶的數據終端可能採起的字符集是不一樣的,二者須要進行通訊,必需要在必定的標準上進行。linux
計算機網絡協議同咱們的語言同樣,多種多樣。而ARPA公司與1977年到1979年推出了一種名爲ARPANET的網絡協議受到了普遍的熱捧,其中最主要的緣由就是它推出了人盡皆知的TCP/IP標準網絡協議。目前TCP/IP協議已經成爲Internet中的「通用語言」,下圖爲不一樣計算機羣之間利用TCP/IP進行通訊的示意圖。
在Linux系統中,日誌數據主要包括三種類型:
內核及系統日誌:這種日誌數據由系統服務rsyslog統一管理,根據其主配置文件/etc/rsyslog.conf中的設置決定將內核消息及各類系統程序消息記錄到什麼位置。
用戶日誌:用與記錄Linux系統用戶登陸及退出系統的相關信息,包括用戶名、登陸的終端、登陸時間、來源主機、正在使用的進程操做等。
程序日誌:有些應用程序會選擇由本身獨立管理一份日誌文件(而不是交給rsyslog服務管理),用於記錄本程序運行過程當中的各類事件消息。程序員
Linux系統自己和大部分服務器程序的日誌文件默認都放在目錄/var/log/下,一部分程序公用一個日誌文件,一部分程序使用單個日誌文件,而有些大型服務器程序因爲日誌文件不止一個,因此會在/var/log/目錄中創建相應的子目錄存放日誌文件。算法
經常使用的日誌文件:
/var/log/messages:記錄Linux內核消息及各類應用程序的公共日誌信息、包括啓動、1/0錯誤、網絡錯誤、程序故障等。
/var/log/cron:記錄crond計劃任務產生的事件信息。
/var/log/dmesg:記錄Linux系統在引導過程當中的各類事件信息。
/var/log/maillog:記錄進入或發出系統的電子郵件活動。
/var/log/lastlog:記錄每一個用戶最近的登陸事件。
/var/log/secure:記錄用戶認證相關的安全事件信息。
/var/log/wtmp:記錄每一個用戶登陸、註銷及系統啓動和停機事件。
/var/log/btmp:記錄失敗的、錯誤的登陸嘗試及驗證事件。編程
常見的文本處理命令 : cat ,more,less,head, tail ,cut ,sort, uniq,grepc#
文本排序 :sort
-n :數值排序
-r : 降序
-t :字段分割符緩存
管道和重定向 : > < >> << 安全
分析日誌文件的目的在於經過瀏覽日誌查找關鍵信息、對系統服務進行調試,已經判斷髮生故障的緣由等。大多數文本格式的日誌文件,使用tail、more、less、cat等文本處理工具就能夠查看日誌內容。服務器
內核及系統日誌功能主要由默認安裝的rsyslog-5.8.10-8.el6.x86_64軟件包提供。rsyslog服務所使用的配置文件爲/etc/rsyslog.conf。網絡
系統啓動流程 :
POST --- >BIOS(Boot Sequence) -->BootLoader (MBR) -- >Kernel(initrd,initramfs) --> init (/etc/inittab)less
/etc/inittab :
設定默認運行級別 :
系統初始化(/etc/rc.d/rc.sysinit)
運行指定級別的訪問腳本
/etc/rc.d/init.d
/etc/rc.d/rc#.d
rc0.d -- rc6.d
X+
S+
00-99 : 運行次序
啓動虛擬終端 啓動圖形終端
/etc/rc.d/rc.sysinit :
檢測並以讀寫方式從新掛載根文件系統 :
設定主機名:
檢測並掛載/etc/fstab中的其餘文件系統;
啓動swap分區:
初始化外圍硬件設備的驅動;
根據/etc/sysctl.conf設定內核參數 ;
激活udev和selinux;
激活過時鎖和PID文件;
裝載鍵映射:
內核功能 :
進程管理
內存管理
文件系統
網絡功能
硬件驅動
安全機制
守護進程的類型 :
獨立守護進程
xinetd : 超級守護進程,代理人
瞬時守護進程:不須要關聯至運行級別
核心 : /boot/vmlinux-version
內核模塊(ko) : /lib/modules/version/
內核設計 :
單內核
模塊化設計
微內核
裝載模塊:
insmod
modprobe
linux 內核網站 :×××w.kernel.org
用戶空間訪問、監控內核的方式 :
/proc , /sys
僞文件系統 : /proc/sys :此目錄中的文件不少是可讀寫的 /sys/ : 某些文件可寫 設定內核參數值的方法 : echo VALUE > /proc/sys/TO/SOMEFILE sysctl -w kernel.hostname 注意 : 能當即生效,但沒法永久有效; 永久有效 ,但不能當即生效:/etc/sysctl.conf 修改文件完成以後,執行以下命令可激勵生效: sysctl -p : sysctl -a : 顯示全部內核參數及其值 內核模塊管理 : lsmod : 查看 modprobe MOD_NAME :裝載某模塊; modprobe -r MOD_NAME :卸載某模塊; modinfo MOD_NAME :查看模塊的具體信息; insmod /PATH/TO/MODULE_FILE : 裝載模塊 rmmod MOD_NAME 內核中功能除了核心功能以外,在編譯時,大多功能都有三種選擇 : 一、不使用此功能; 二、編譯成內核模塊; 三、編譯進內核;
如何手動編譯內核 :
make gconfig :Gname桌面環境使用,須要安裝圖形開發庫組:GNAME Software Development
make kconfig :KDE桌面環境使用,須要安裝圖形開發庫
make menuconfig : make make modules_install make install screen命令 : screen -ls : 顯示已經創建的屏幕 screen :直接打開一個新的屏幕 Ctrl +a .d: 拆除屏幕 screen -r ID : 還原某屏幕 exit :退出 二次編譯時清理 ,清理時,若是有須要,箐備份配製文件.config: make clean make mrproper /etc/inittab的任務 一、設定默認運行級別; 二、運行系統初始化腳本; 三、運行指定運行級別對應的目錄下的腳本; 四、設定Ctrl+Alt+Del組合鍵的 操做; 五、 定義UPS電源在電源故障 / 恢復時執行的操做; 六、定義虛擬化終端(2345級別); 七、啓動圖形終端(5級別);
RHEL5 , RHEL 6 :
upstart --> init
/etc/inittab
/etc/init/*.conf
mount
-n : 掛載
cat /proc
內核初始化 :
硬件探測
裝載驅動
掛載根文件系統(rootfs)
啓動用戶空間中的第一個進程init
在Linux內核中,根據日誌消息的重要程度不一樣,將其分爲不一樣的優先級別(數字等級越小、優先級越高、消息越重要)
0 EMERG(緊急):會致使主機系統不可用的狀況。
1 ALERT(警告):必須立刻採起措施解決的問題。
2 CRIT(嚴重):比較嚴重的錯誤。
3 ERR(錯誤):運行出現錯誤。
4 WARNING(提醒):可能影響系統功能,須要提醒用戶的重要事件。
5 NOTICE(注意):不會影響正常功能,可是須要注意的事件。
6 INFO(信息):通常信息。
7 DEBUG(調試):程序或系統調試信息等。
內核及大多數系統消息都被記錄到**公共日誌文件/var/log/messages中**,而其餘一些程序消息被記錄到各自獨立的日誌文件中,此外日誌消息還可以記錄到特定的存儲設備中,或者直接發送給指定用 對於rsyslog服務統一管理的大部分日誌文件,使用的日誌記錄格式基本上都相同。以公共日誌/var/log/messages文件的記錄格式,其中每一行表示一條日誌消息,每一條消息都均包括如下四個字段。
時間標籤:消息發出的日期和時間。
主機名:生成消息的計算機的名稱。
子系統名稱:發出消息的應用程序的名稱。
消息:消息的具體內容。
0一、網絡層次劃分
爲了使不一樣計算機廠家生產的計算機可以相互通訊,以便在更大的範圍內創建計算機網絡,國際標準化組織(ISO)在1978年提出了「開放系統互聯參考模型」,即著名的OSI/RM模型(Open System Interconnection/Reference Model)。它將計算機網絡體系結構的通訊協議劃分爲七層,自下而上依次爲:物理層(Physics Layer)、數據鏈路層(Data Link Layer)、網絡層(Network Layer)、傳輸層(Transport Layer)、會話層(Session Layer)、表示層(Presentation Layer)、應用層(Application Layer)。其中第四層完成數據傳送服務,上面三層面向用戶。
除了標準的OSI七層模型之外,常見的網絡層次劃分還有TCP/IP四層協議以及TCP/IP五層協議,它們之間的對應關係以下圖所示:
0二、OSI七層網絡模型
TCP/IP協議毫無疑問是互聯網的基礎協議,沒有它就根本不可能上網,任何和互聯網有關的操做都離不開TCP/IP協議。無論是OSI七層模型仍是TCP/IP的四層、五層模型,每一層中都要本身的專屬協議,完成本身相應的工做以及與上下層級之間進行溝通。因爲OSI七層模型爲網絡的標準層次劃分,因此咱們以OSI七層模型爲例從下向上進行一一介紹。
1)物理層(Physical Layer)
該層爲上層協議提供了一個傳輸數據的可靠的物理媒體。簡單的說,物理層確保原始的數據可在各類物理媒體上傳輸。物理層記住兩個重要的設備名稱,中繼器(Repeater,也叫放大器)和集線器。
2)數據鏈路層(Data Link Layer)
數據鏈路層在物理層提供的服務的基礎上向網絡層提供服務,其最基本的服務是將源自網絡層來的數據可靠地傳輸到相鄰節點的目標機網絡層。爲達到這一目的,數據鏈路必須具有一系列相應的功能,主要有:如何將數據組合成數據塊,在數據鏈路層中稱這種數據塊爲幀(frame),幀是數據鏈路層的傳送單位;
數據鏈路層在不可靠的物理介質上提供可靠的傳輸。該層的做用包括:物理地址尋址、數據的成幀、流量控制、數據的檢錯、重發等。
有關數據鏈路層的重要知識點:
1> 數據鏈路層爲網絡層提供可靠的數據傳輸;
2> 基本數據單位爲幀;
3> 主要的協議:以太網協議;
4> 兩個重要設備名稱:網橋和交換機。
3)網絡層(Network Layer)
網絡層的目的是實現兩個端系統之間的數據透明傳送,具體功能包括尋址和路由選擇、鏈接的創建、保持和終止等。路徑選擇、路由及邏輯尋址;
網絡層中涉及衆多的協議,其中包括最重要的協議,也是TCP/IP的核心協議——IP協議。IP協議很是簡單,僅僅提供不可靠、無鏈接的傳送服務。IP協議的主要功能有:無鏈接數據報傳輸、數據報路由選擇和差錯控制。與IP協議配套使用實現其功能的還有地址解析協議ARP、逆地址解析協議RARP、因特網報文協議ICMP、因特網組管理協議IGMP。
有關網絡層的重點爲:
1> 網絡層負責對子網間的數據包進行路由選擇。此外,網絡層還能夠實現擁塞控制、網際互連等功能;
2> 基本數據單位爲IP數據報;
3> 包含的主要協議:
IP協議(Internet Protocol,因特網互聯協議);
ICMP協議(Internet Control Message Protocol,因特網控制報文協議);
ARP協議(Address Resolution Protocol,地址解析協議);
RARP協議(Reverse Address Resolution Protocol,逆地址解析協議)。
4> 重要的設備:路由器。
4)傳輸層(Transport Layer)
第一個端到端,即主機到主機的層次。傳輸層負責將上層數據分段並提供端到端的、可靠的或不可靠的傳輸。此外,傳輸層還要處理端到端的差錯控制和流量控制問題。
傳輸層的任務是根據通訊子網的特性,最佳的利用網絡資源,爲兩個端系統的會話層之間,提供創建、維護和取消傳輸鏈接的功能,負責端到端的可靠數據傳輸。在這一層,信息傳送的協議數據單元稱爲段或報文。
網絡層只是根據網絡地址將源結點發出的數據包傳送到目的結點,而傳輸層則負責將數據可靠地傳送到相應的端口。
有關網絡層的重點:
1> 傳輸層負責將上層數據分段並提供端到端的、可靠的或不可靠的傳輸以及端到端的差錯控制和流量控制問題;
2> 包含的主要協議:TCP協議(Transmission Control Protocol,傳輸控制協議)、UDP協議(User Datagram Protocol,用戶數據報協議);
3> 重要設備:網關。
5)會話層
會話層管理主機之間的會話進程,即負責創建、管理、終止進程之間的會話。會話層還利用在數據中插入校驗點來實現數據的同步。
6)表示層
表示層對上層數據或信息進行變換以保證一個主機應用層信息能夠被另外一個主機的應用程序理解。表示層的數據轉換包括數據的加密、壓縮、格式轉換等。
7)應用層
爲操做系統或網絡應用程序提供訪問網絡服務的接口。
會話層、表示層和應用層重點:
1> 數據傳輸基本單位爲報文;
2> 包含的主要協議:FTP(文件傳送協議)、Telnet(遠程登陸協議)、DNS(域名解析協議)、SMTP(郵件傳送協議),POP3協議(郵局協議),HTTP協議(Hyper Text Transfer Protocol)。
0三、IP地址
1)網絡地址
IP地址由網絡號(包括子網號)和主機號組成,網絡地址的主機號爲全0,網絡地址表明着整個網絡。
2)廣播地址
廣播地址一般稱爲直接廣播地址,是爲了區分受限廣播地址。
廣播地址與網絡地址的主機號正好相反,廣播地址中,主機號爲全1。當向某個網絡的廣播地址發送消息時,該網絡內的全部主機都能收到該廣播消息。
3)組播地址
D類地址就是組播地址。
先回憶下A,B,C,D類地址吧:
A類地址以0開頭,第一個字節做爲網絡號,地址範圍爲:0.0.0.0~127.255.255.255;
B類地址以10開頭,前兩個字節做爲網絡號,地址範圍是:128.0.0.0~191.255.255.255;
C類地址以110開頭,前三個字節做爲網絡號,地址範圍是:192.0.0.0~223.255.255.255。
D類地址以1110開頭,地址範圍是224.0.0.0~239.255.255.255,D類地址做爲組播地址(一對多的通訊);
E類地址以1111開頭,地址範圍是240.0.0.0~255.255.255.255,E類地址爲保留地址,供之後使用。
注:只有A,B,C有網絡號和主機號之分,D類地址和E類地址沒有劃分網絡號和主機號。
4)255.255.255.255
該IP地址指的是受限的廣播地址。受限廣播地址與通常廣播地址(直接廣播地址)的區別在於,受限廣播地址只能用於本地網絡,路由器不會轉發以受限廣播地址爲目的地址的分組;通常廣播地址既可在本地廣播,也可跨網段廣播。例如:主機192.168.1.1/30上的直接廣播數據包後,另一個網段192.168.1.5/30也能收到該數據報;若發送受限廣播數據報,則不能收到。
注:通常的廣播地址(直接廣播地址)可以經過某些路由器(固然不是全部的路由器),而受限的廣播地址不能經過路由器。
5)0.0.0.0
經常使用於尋找本身的IP地址,例如在咱們的RARP,BOOTP和DHCP協議中,若某個未知IP地址的無盤機想要知道本身的IP地址,它就以255.255.255.255爲目的地址,向本地範圍(具體而言是被各個路由器屏蔽的範圍內)的服務器發送IP請求分組。
6)迴環地址
127.0.0.0/8被用做迴環地址,迴環地址表示本機的地址,經常使用於對本機的測試,用的最多的是127.0.0.1。
7)A、B、C類私有地址
私有地址(private address)也叫專用地址,它們不會在全球使用,只具備本地意義。
A類私有地址:10.0.0.0/8,範圍是:10.0.0.0~10.255.255.255
B類私有地址:172.16.0.0/12,範圍是:172.16.0.0~172.31.255.255
C類私有地址:192.168.0.0/16,範圍是:192.168.0.0~192.168.255.25503
IP地址
1)網絡地址
IP地址由網絡號(包括子網號)和主機號組成,網絡地址的主機號爲全0,網絡地址表明着整個網絡。
2)廣播地址
廣播地址一般稱爲直接廣播地址,是爲了區分受限廣播地址。
廣播地址與網絡地址的主機號正好相反,廣播地址中,主機號爲全1。當向某個網絡的廣播地址發送消息時,該網絡內的全部主機都能收到該廣播消息。
3)組播地址
D類地址就是組播地址。
先回憶下A,B,C,D類地址吧:
A類地址以0開頭,第一個字節做爲網絡號,地址範圍爲:0.0.0.0~127.255.255.255;
B類地址以10開頭,前兩個字節做爲網絡號,地址範圍是:128.0.0.0~191.255.255.255;
C類地址以110開頭,前三個字節做爲網絡號,地址範圍是:192.0.0.0~223.255.255.255。
D類地址以1110開頭,地址範圍是224.0.0.0~239.255.255.255,D類地址做爲組播地址(一對多的通訊);
E類地址以1111開頭,地址範圍是240.0.0.0~255.255.255.255,E類地址爲保留地址,供之後使用。
注:只有A,B,C有網絡號和主機號之分,D類地址和E類地址沒有劃分網絡號和主機號。
4)255.255.255.255
該IP地址指的是受限的廣播地址。受限廣播地址與通常廣播地址(直接廣播地址)的區別在於,受限廣播地址只能用於本地網絡,路由器不會轉發以受限廣播地址爲目的地址的分組;通常廣播地址既可在本地廣播,也可跨網段廣播。例如:主機192.168.1.1/30上的直接廣播數據包後,另一個網段192.168.1.5/30也能收到該數據報;若發送受限廣播數據報,則不能收到。
注:通常的廣播地址(直接廣播地址)可以經過某些路由器(固然不是全部的路由器),而受限的廣播地址不能經過路由器。
5)0.0.0.0
經常使用於尋找本身的IP地址,例如在咱們的RARP,BOOTP和DHCP協議中,若某個未知IP地址的無盤機想要知道本身的IP地址,它就以255.255.255.255爲目的地址,向本地範圍(具體而言是被各個路由器屏蔽的範圍內)的服務器發送IP請求分組。
6)迴環地址
127.0.0.0/8被用做迴環地址,迴環地址表示本機的地址,經常使用於對本機的測試,用的最多的是127.0.0.1。
7)A、B、C類私有地址
私有地址(private address)也叫專用地址,它們不會在全球使用,只具備本地意義。
A類私有地址:10.0.0.0/8,範圍是:10.0.0.0~10.255.255.255
B類私有地址:172.16.0.0/12,範圍是:172.16.0.0~172.31.255.255
C類私有地址:192.168.0.0/16,範圍是:192.168.0.0~192.168.255.255
0四、子網掩碼及網絡劃分
什麼是子網掩碼?
子網掩碼是標誌兩個IP地址是否同屬於一個子網的,也是32位二進制地址,其每個爲1表明該位是網絡位,爲0表明主機位。它和IP地址同樣也是使用點式十進制來表示的。若是兩個IP地址在子網掩碼的按位與的計算下所得結果相同,即代表它們共屬於同一子網中。
在計算子網掩碼時,咱們要注意IP地址中的保留地址,即「 0」地址和廣播地址,它們是指主機地址或網絡地址全爲「 0」或「 1」時的IP地址,它們表明着本網絡地址和廣播地址,通常是不能被計算在內的。
0五、RP/RARP協議
地址解析協議,即ARP(Address Resolution Protocol),是根據IP地址獲取物理地址的一個TCP/IP協議。主機發送信息時將包含目標IP地址的ARP請求廣播到網絡上的全部主機,並接收返回消息,以此肯定目標的物理地址;收到返回消息後將該IP地址和物理地址存入本機ARP緩存中並保留必定時間,下次請求時直接查詢ARP緩存以節約資源。地址解析協議是創建在網絡中各個主機互相信任的基礎上的,網絡上的主機能夠自主發送ARP應答消息,其餘主機收到應答報文時不會檢測該報文的真實性就會將其記入本機ARP緩存;由此***者就能夠向某一主機發送僞ARP應答報文,使其發送的信息沒法到達預期的主機或到達錯誤的主機,這就構成了一個ARP欺騙。ARP命令可用於查詢本機ARP緩存中IP地址和MAC地址的對應關係、添加或刪除靜態對應關係等。
0六、路由選擇協議
常見的路由選擇協議有:RIP協議、OSPF協議。
RIP協議 :底層是貝爾曼福特算法,它選擇路由的度量標準(metric)是跳數,最大跳數是15跳,若是大於15跳,它就會丟棄數據包。
OSPF協議 :Open Shortest Path First開放式最短路徑優先,底層是迪傑斯特拉算法,是鏈路狀態路由選擇協議,它選擇路由的度量標準是帶寬,延遲。
0七、UDP協議
UDP用戶數據報協議,是面向無鏈接的通信協議,UDP數據包括目的端口號和源端口號信息,因爲通信不須要鏈接,因此能夠實現廣播發送。UDP通信時不須要接收方確認,屬於不可靠的傳輸,可能會出現丟包現象,實際應用中要求程序員編程驗證。
UDP與TCP位於同一層,但它無論數據包的順序、錯誤或重發。所以,UDP不被應用於那些使用虛電路的面向鏈接的服務,UDP主要用於那些面向查詢---應答的服務,例如NFS。相對於FTP或Telnet,這些服務須要交換的信息量較小。
每一個UDP報文分UDP報頭和UDP數據區兩部分。報頭由四個16位長(2字節)字段組成,分別說明該報文的源端口、目的端口、報文長度以及校驗值。UDP報頭由4個域組成,其中每一個域各佔用2個字節,具體以下:
(1)源端口號;
(2)目標端口號;
(3)數據報長度;
(4)校驗值。
使用UDP協議包括:TFTP(簡單文件傳輸協議)、SNMP(簡單網絡管理協議)、DNS(域名解析協議)、NFS、BOOTP。
TCP 與 UDP 的區別:TCP是面向鏈接的,可靠的字節流服務;
UDP是面向無鏈接的,不可靠的數據報服務。
0八、DNS協議
DNS是域名系統(DomainNameSystem)的縮寫,該系統用於命名組織到域層次結構中的計算機和網絡服務,能夠簡單地理解爲將URL轉換爲IP地址。域名是由圓點分開一串單詞或縮寫組成的,每個域名都對應一個唯一的IP地址,在Internet上域名與IP地址之間是一一對應的,DNS就是進行域名解析的服務器。DNS命名用於Internet等TCP/IP網絡中,經過用戶友好的名稱查找計算機和服務。
0九、NAT協議
NAT網絡地址轉換(Network Address Translation)屬接入廣域網(WAN)技術,是一種將私有(保留)地址轉化爲合法IP地址的轉換技術,它被普遍應用於各類類型Internet接入方式和各類類型的網絡中。緣由很簡單,NAT不只完美地解決了lP地址不足的問題,並且還可以有效地避免來自網絡外部的***,隱藏並保護網絡內部的計算機。
十、DHCP協議
DHCP動態主機設置協議(Dynamic Host Configuration Protocol)是一個局域網的網絡協議,使用UDP協議工做,主要有兩個用途:給內部網絡或網絡服務供應商自動分配IP地址,給用戶或者內部網絡管理員做爲對全部計算機做中央管理的手段。
十一、HTTP協議
超文本傳輸協議(HTTP,HyperText Transfer Protocol)是互聯網上應用最爲普遍的一種網絡協議。全部的WWW文件都必須遵照這個標準。
HTTP 協議包括哪些請求?
GET:請求讀取由URL所標誌的信息。
POST:給服務器添加信息(如註釋)。
PUT:在給定的URL下存儲一個文檔。
DELETE:刪除給定的URL所標誌的資源。
HTTP 中, POST 與 GET 的區別
1)Get是從服務器上獲取數據,Post是向服務器傳送數據。
2)Get是把參數數據隊列加到提交表單的Action屬性所指向的URL中,值和表單內各個字段一一對應,在URL中能夠看到。
3)Get傳送的數據量小,不能大於2KB;Post傳送的數據量較大,通常被默認爲不受限制。
4)根據HTTP規範,GET用於信息獲取,並且應該是安全的和冪等的。
轉載來源 : IT行業技術圈
https://mp.weixin.qq.com/s/N3wVEox5zKvqgSJaOMktAw