計算機網絡詳解

前言:對於計算機網絡部分,咱們主要學習的是TCP/IP協議棧。而TCP/IP協議棧並沒有法將各類的協議進行一個合理的區分,所以,在大學本科教育中咱們一般講解的是IOS七層網絡模型。
協議:簡單的理解就是通訊雙方相互交流的一種約定,也就是說只有通訊雙方知足這樣的約定纔可以相互通訊。然而,咱們也說過,各類協議必需要被軟件實現,纔可以被咱們所使用。
那麼,對於咱們的http協議而言,實現http協議的客戶端程序有curl,瀏覽器等工具,服務端有Apache、Nginx等這樣的靜態服務器軟件

Alt text

(二)什麼是Mac地址、什麼是網橋、什麼是交換機html

前言:MAC地址,用來表示互聯網上每個站點的標識符,採用十六進制數表示,共六個字節(48位),使用ifconfig命令能夠查看: ether 08:00:27:c1:cd:2b。其中,前三個字節是由IEEE的註冊管理機構RA負責給不一樣廠家分配的代碼(高位24位),也稱爲「編制上惟一的標識符」(Organizationally Unique Identifier),後三個字節(低位24位)由各廠家自行指派給生產的適配器接口,稱爲擴展標識符(惟一性)。
網橋:網橋(Bridge)是早期的兩端口二層網絡設備,用來鏈接不一樣網段。使得同一個網段內的通訊不會衝突,而不一樣網段內的通訊能夠順利進行。
交換機:多功能交換機,在局域網內,交換機和網橋的功能幾乎同樣。
路由器:路由器(Router)又稱網關設備(Gateway)是用於鏈接多個邏輯上分開的網絡。當數據從一個網段傳輸到另外一個網段時,可經過路由器的路由功能來完成。

(1)交換機經過Mac地址表使得網段內的全部的主機能夠相互通訊 
(2)路由器經過路由表使得不一樣網段之間的主機能夠相互通訊node

Alt text

  • 什麼是IP
IP = 網絡號+主機號
 
一個字節(byte)是 8位(bit),IP由32位組成,一共是4個字節
 
例如:IP: 172.16.19.245 netmask 255.255.255.0 broadcast 172.16.19.255
網絡號: 172.16.19.0
主機號: 172.16.19.245
 
那麼IP一共有: 0.0.0.0 ---- 255.255.255.255
256 x 256 x 256 x 256 = 4294967296
  • IP劃分
A 類地址
第一段爲網絡號,後三段爲主機號
0000000-01111111
1-127
其中: 127用爲本地lo還回地址
那麼A類地址的網絡地址有: 127
那麼A類地址的主機地址有: 2^24 - 網絡地址 - 廣播地址 = 2^24 - 2
netmask: 255.0.0.0(用戶標示網絡地址)
broadcast 255.255.255.255
私有地址: 10.0.0.0網段爲私有地址網絡
 
B 類地址
前兩段爲網路號,後兩段爲主機號
1000000.00000000-10111111.11111111
128-191
那麼B類地址的網絡地址有: 2^14(前兩個位不變,只是後14位變化)
那麼B類地址的主機地址有: 2^16 - 網絡地址 - 廣播地址 = 2^16 - 2
netmask: 255.255.0.0(用戶標示網絡地址)
私有地址: 172.0.0.0-172.31.0.0 網段爲私有地址網絡
 
C 類地址
前三段爲網路號,後一段爲主機號
11000000.00000000.00000000-11011111.11111111.11111111
192-223
那麼C類地址的網絡地址有: 2^21(前三位不變,只是後21位變化)
那麼C類地址的主機地址有: 2^8 - 網絡地址 - 廣播地址 = 2^8 - 2
netmask: 255.255.255.0(用戶標示網絡地址)
私有地址: 192.168.0.0~192.168.255.0 網段爲私有地址網絡
 
D 類地址:
組播地址
 
 
E 類地址:
大學等科研機構做爲科學研究使用

(三)簡單的聊聊什麼是路由表ios

前言:對於路由表而言,能夠認爲的寫,也能夠是路由器自動記錄識別

  • 路由器是如何經過路由表實現不一樣網段之間的通訊
目標地址由 "下一跳(網關)" 來實現

Alt text

(四)單臺主機之間的通訊如何實現nginx

前言:單臺主機站在內核空間用戶空間
將主機間的通訊畫圖給你們描繪一下,而且解釋TCP/IP協議棧的解包和封包的過程
給你們畫圖介紹,ARP地址如何解析

Alt text

  • 主機間通訊
Mac地址:本地通訊
實現本地局域網,不跨路由器的網絡通訊
 
IP地址:標示主機通訊,實現源主機和目標主機之間的通訊
 
主機內核端口:標示進程通訊,實現一個主機上的哪一個進程進行通訊
  • 基於TCP/IP協議棧解析封包與解包
物理層:封裝幀報文首部
以太網幀:MTU( 1500字節)
互聯網層:封裝 IP報文首部
傳輸層:封裝TCP報文首部
應用層:各類應用協議的報文首部

(五)網絡配置工具詳解(這裏很重要)apache

前言:ifcfg類命令,ip類命令, nm類命令

一:ifcfg類命令 (須要安裝 net-tools 包) 適用於紅帽五、六、7

ifconfig :查看或設置IP地址
route :查看或設置路由表
netstat :一般查看主機的服務,端口,和服務的狀態
ifup、ifdown:啓用網卡或關閉網卡
  • (1)ifconfig命令
對比六、7的網絡信息
enp0s3: flags=4163<UP(已經啓用),BROADCAST(支持廣播),RUNNING,MULTICAST(支持多播)> mtu 1500
inet 192.168.23.11 netmask 255.255.255.0 broadcast 192.168.23.255
inet6 fe80::a00:27ff:fec1:cd2b prefixlen 64 scopeid 0x20<link>
ether 08:00:27:c1:cd:2b txqueuelen 1000(傳輸隊列長度) (Ethernet)
RX(接受的數據包) packets 28355 bytes 10835366 (10.3 MiB)
RX errors(錯誤包數量) 0 dropped(丟包數量) 0 overruns 0 frame 0
TX(傳出的數據包) packets 15286 bytes 2489410 (2.3 MiB)
TX errors(錯誤包數量) 0 dropped(丟包數量) 0 overruns 0 carrier 0 collisions 0
 
 
eth0 Link encap:Ethernet HWaddr 08:00:27:23:C1:E7
inet addr:192.168.23.4 Bcast:192.168.23.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe23:c1e7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:104 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12969 (12.6 KiB) TX bytes:11936 (11.6 KiB)
ifconfig命令使用(設置IP地址能夠當即生效)
1)顯示激活網卡,以及網絡信息
ifconfig
 
2)顯示激活網卡,以及網絡信息
ifconfig eth0
 
3)顯示全部網卡,以及網絡信息
ifconfig -a
 
4)啓用網卡地址
ifconfig eth0 up
ifconfig enp0s3 up
 
 
5)中止網卡地址
ifconfig eth0 down
ifconfig enp0s3 down
 
6)網卡取別名的兩種寫法
ifconfig eth0: 0 192.168.23.10/24
ifconfig enp0s3: 0 192.168.23.100 netmask 255.255.255.0 broadcast 192.168.23.255
  • (2)route命令
1:增
添加主機地址路由
route add -host 192.168.24.100 gw 192.168.23.1 dev eth0
 
添加網絡地址路由
route add -net 192.168.24.0/24 gw 192.168.23.1 dev eth0
 
添加默認地址路由
route add -net 0.0.0.0/0.0.0.0 gw 192.168.23.1 dev eth0
 
2:刪
刪除主機地址路由
route del -host 192.168.24.100
 
刪除網絡地址路由
route del -net 192.168.24.0/24
 
刪除默認地址路由
route del default
3:改
先刪除,再修改
 
4:查
route -n
Kernel IP routing table
 
Destination(目的地址) Gateway(網關,嚇一跳) Genmask(子網掩碼) Flags Metric Ref Use Iface(接口)
192.168.23.0 0.0.0.0(同一個網段無需網關) 255.255.255.0 U 0 0 0 eth0
192.168.23.0 0.0.0.0 255.255.255.0 U(up:表示啓用狀態) 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
0.0.0.0 192.168.23.1 0.0.0.0 UG(G表示網關) 0 0 0 eth0
  • (3)netstat命令(對應的ss命令請自行總結)
會常常使用
必備技能:netstat -lntup
-u:UDP
-t:TCP
-l:查看監聽狀態
-n:以數字的形式顯示
-p:顯示進程、服務名稱
-a:顯示all信息
 
[root@6 ~] # netstat -lentupa
Active Internet connections (servers and established)
Proto(協議) Recv-Q(接收) Send-Q(發送) Local Address(本地監聽的套接字) Foreign Address(客戶端鏈接的套接字) State(進程狀態) User(用戶的id) Inode(文件的inode號) PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 9197 1090/sshd
tcp 0 0 192.168.23.4:22 192.168.23.2:65106 ESTABLISHED 0 9567 1191/sshd
tcp 0 0 :::22 :::* LISTEN 0 9199 1090/sshd
udp 0 0 0.0.0.0:68 0.0.0.0:* 0 8497 856/dhclient
  • (4)ifup、ifdown命令
須要添加 /etc/sysconfig/network-scripts/ifcfg-eth1網卡配置文件,才能給ifup、ifdown控制
 
ifup eth1
ifdown eth1

二:ip類命令 適用於紅帽五、六、7(須要安裝 iproute 包)

ip link:管理網卡接口
ip addr :查看或設置IP地址
ip route:配置路由
ip link show:顯示設備屬性
ip link set dev eth0 up:開啓網卡設備
ip link set dev eth0 down:關閉網卡設備
 
ip addr add 192.168.23.4/24 dev eth1: 添加IP地址
ip addr add 192.168.23.4/24 dev eth1 label eth1:0 : 添加別名
ip addr del 192.168.23.4/24 dev eth1: 刪除IP地址
ip addr show:顯示IP地址
 
 
ip route add 192.168.24.0/24 via 192.168.23.1 dev eth1 src 192.168.23.10: 添加網絡路由地址
ip route add default via 192.168.23.1 :添加默認路由
ip route del 192.168.24.0/24 :刪除路由地址
ip route show :顯示路由地址

三:nm類命令 適用於紅帽 7

nmcli:命令行工具
nmtui:就像紅帽 6的setup工具同樣,是一個圖形化的文本工具
 
必須啓動 Neworkmanager
systemctl status NetworkManager

四:setup命令 適用於紅帽 6

 
必須啓動 network 服務
service network status

(六)系統默認的網卡命名方式(瞭解)瀏覽器

前言:

  • 對於紅帽6而言
eth0、eth一、eth2 等
  • 對於紅帽7而言
1)若是BIOS爲主板上集成的設備提供的設備編號可用,則根據設備編號進行命名,如eno0, eno1。例如:蘋果Mac電腦,網卡名爲en0
 
 
 
2)若是BIOS爲PCI-E擴展槽所提供的設備編號可用,則根據設備編號進行命名,如:ens1 ens2
 
 
3)若是硬件接口的物理位置信息可用,則根據此信息命名,如:enp0s三、enp0s8,有些虛擬機是這樣命令。
 
4)對於Mac電腦而言,en0、en1
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether a4:d1:8c:cd:a0:8c
inet6 fe80::181a:b72a:631f:69d2%en0 prefixlen 64 secured scopeid 0x4
inet 192.168.23.2 netmask 0xffffff00 broadcast 192.168.23.255
nd6 options= 201<PERFORMNUD,DAD>
media: autoselect
status: active
相關文章
相關標籤/搜索