1. 程式人生 > >計算機網絡詳解

計算機網絡詳解

0.00 cti rri ns2 lag desc ber 網絡配置 emc

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

技術分享

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

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

(1)交換機通過Mac地址表使得網段內的所有的主機可以相互通信
(2)路由器通過路由表使得不同網段之間的主機可以相互通信

技術分享

  • 什麽是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 類地址: 大學等科研機構作為科學研究使用

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

前言:對於路由表而言,可以認為的寫,也可以是路由器自動記錄識別

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

技術分享

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

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

技術分享

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

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

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

一:ifcfg類命令 (需要安裝 net-tools 包) 適用於紅帽5、6、7

ifconfig :查看或設置IP地址 route :查看或設置路由表 netstat :通常查看主機的服務,端口,和服務的狀態 ifup、ifdown:啟用網卡或關閉網卡
  • (1)ifconfig命令
對比6、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信息 [[email protected] ~]# 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類命令 適用於紅帽5、6、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、eth1、eth2 等
  • 對於紅帽7而言
1)如果BIOS為主板上集成的設備提供的設備編號可用,則根據設備編號進行命名,如eno0, eno1。例如:蘋果Mac電腦,網卡名為en0 2)如果BIOS為PCI-E擴展槽所提供的設備編號可用,則根據設備編號進行命名,如:ens1 ens2 3)如果硬件接口的物理位置信息可用,則根據此信息命名,如:enp0s3、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

計算機網絡詳解