底層共享信道爭用
使用 mac地址(Media Access Control)
CSMA/CD
以太網 載波偵聽多路訪問/沖突回位
Token Pring
令牌環
Hub
集線器
沖突域:所有在底層設備上能發生沖突的集合
網橋:是用來分割沖突域的設備
多接口:交換機
廣播域:
IP地址:4段
32位:1.1.1.1(八進制表示)
大: 0 000 0000 - 0 111 1111 0-127
中:10 00 0000 -10 11 1111 128~191
小:110 0 0000 -110 1 1111 192~223
1110 0000 -1110 1111 224~239
1111 0000 - 1111 1111 140~255
全0:網絡地址
全1:廣播地址
a: 1-126
126個網絡 127用於回環 2^-1
每個網絡中的主機:2^24-2
默認掩碼:255.0.0.0
全機位0:網絡地址
全機位1:廣播地址
B: 128-191
2^14個網絡
每個網絡中的主機2^16-2
默認掩碼:255.255.0.0
全0:網絡地址
全1:廣播地址
C:192-223
2^21個網絡
每個網絡中的主機:2^8-2
默認掩碼: 255.255.255.0
全0:網絡地址
全1:廣播地址
用於本地網路,不用於互聯網上的IP地址
A類:
1個:10.0.0.0/255.0.0.0
B類
16個網絡
172.16.0.0/255.255.0.0-172.16.31.0/255.255.0.0
C類
256個
192.168.0.0/255.255.255.0-192.168.255.0/255.255.255.0
子網,超網
IANA,ICNAA
路由表
靜態配置
動態生產
cost:成本
經過的跳數越少就越小
時長
路由協議:RIP,OSPF,EIGRP
可路由協議:IP協議 MAC協議
物理層:物理層協議 ---物理機制
鏈路層,從設備到設備主機通信 mac地址,IP<--->Mac (ARP/RARP)
|
MTU
|
網絡層:從源主機到目標主機之間通信,IP地址,IP報文
傳輸層:從源主機進程到目標主機特定進程之間的通信TCP/UDP
TCP:0-65535
UDP:0-65535
應用層:標記資源
端口:用於標記進程的
0-65535
Socket(套節字) : IP:port
網絡基礎知識
協議棧:在內核實現
TCP/IP協議簇
主機名:FQDN
Full Qulified Domain Name
不是地址,不能通信,讓用戶記住名字
名稱解析:DNS
IP Header
ip--vserison--首部長度--報文服務類型--總長度-
-Identification (FragmentID)-Fragment Offset-
-Time-To-Live--Protocol(協議類型)--Header Checksum (首部校驗)--源IP--目的IP--核心內容--數據
MTU:
Maximum Rranslate Unit
最大傳輸單元,有效載荷 一般為幀為1500
Fragment: IP 分片
Fragment Offset 偏移量
配置主機介入TCP/IP 網絡
IP/Netmask
路由:
主機路由:一台主機
網絡路由:網絡
默認路由:default
DNS服務器
主DNS服務器
備用DNS服務器
主機名
靜態指定 :
IP/Netmask
動態配置 :
DHCP服務器
配置IP
用戶空間工具:
ifconfig
ip
網絡設備服務配置文件
1./etc/sysconfig/network-script/ifcfg-eth0
2.GUI
網絡設備如何表示
內核識別設備:驅動
設備:別名
以太網設備:ethX
eth0,eth1,eth2.....
ppp網絡: pppX
本地回環: lo
用戶空間的命令行工具:立即生效,當不會長久有效
ifconfig
iproute2(ip,ss)
ifconfig
ifconfig ip addr ip link
ifconfig:顯示所有活動狀態的相關信息
ifconfig Interface:僅顯示指定接口的相關信息
if config Interface Address
ip/mask:
長格式 255.255.0.0
CIDR:16
ifconfig Interface IP/MASK
route
route:ip route
route:顯示路由信息
-n:使用數字格式顯示,不反解地址到主機名
route add:
-host HOST_IP gw Next [dev Device]
-net Net_ADDR
-net 0.0.0.0 目標地址為任意地址
route del
-host HOST_IP gw 下一跳
-net Net_ADDR gw 下一跳
DNS服務器指向
配置文件:/etc/resolv.conf
最多三個:
nameserver DNS_SERVER_IP
dig -t A 域名
正解測試
dig -x IP
反解測試
腳本服務: SysV style LSB
多數為控制運行於後台守護進程,接受參數{start|stop|restart|satus}
腳本位置 /etc/rc.d/init.d/ 或/etc/init.d/
配置某服務開機自動啟動 chkconfig Srv_Script_Name on
禁止開機自動啟動:chkconfig Srv_Script_Name off
查看 chkconfig --list[Srv_Script_Name] (關注3和5)
調用機制:
1./etc/init.d/Script_Name {start|stop|restart|status}
1.service Script_Name {start|stop|restart|status}
與網絡設備相關的服務控制腳本
他們通常能夠讀取為網絡配置的配置文件,以之實現其配置生效或失效等管理功能
配置文件有兩類(/etc/sysconfig/network-scripts/):
配置IP,掩碼,網關:
以太網:ifcfg-ethX
ppp:ifcfg-pppX
配置路由
route-ethX
route-pppX
配置IP、掩碼、網關:ethX
DEVICE="eth0"
此配置關聯至的設備。設備名要與文件ifcfg-後ude內容保持一致
BOOTPROTO=none
引導協議:{none|static|dhcp|bootp}
HWADDR="00:0C:29:26:62:92"
MAC地址:要與真實MAC地址保持一致,可省略
NM_CONTROLLED="yes"
是否接受NetworkManager腳本控制:{yes|no}
ONBOOT="yes"
是否開機自動啟動此網絡設備{yes|no}
TYPE="Ethernet"
設備類型Etheraget Bridge(橋接)
UUID="14351f7f-a726-4dfc-966e-dfb1f352f226"
唯一標識,可省略
IPADDR=
ip地址
NETMASK=
掩碼
GATEWAY=
默認網關
DNS1=
DNS1服務地址
IPV6INIT=no
是否開啟ipv6
USERCTL=no
是否允許普通用戶操作網卡
PEERDNS={yes|no}
是否允許DHCP服務分配地址時直接更新/etc/resolv。conf中的DNS服務器地址
配置路由:route-ethX
配置文件的格式1:每行一個要配置的路徑條目
目標 via 下一跳
配置文件的格式2:每一組一個路由條目
ADDRESS#=目標
NETMASK#=掩碼
GATEWAY#=下一跳
如何實現在單接口上配置多個地址:
通過網絡接口別名來實現
eth0X
eth0:X eth0:0 eth0:1....
配置1:
ifconfig ethX:Y IP/mask
配置2:
ifcfg-ethX:Y
DEVICE=ethX:Y
BOOTPROTO={none|static}
IPADDR=
NETMASK=
GATEWAY=
ONBOOT=
USERCTL=
非主地址不支持DHCP協議獲取
ip命令的使用
ip link
ip link show 查看默認信息
ip link set 接口 [up|down] [multicast on|off]:
ip addr
可以在一個接口配置多個地址而不使用接口別名:顯示這些地址
ip addr show
ip addr add dev 接口 ip地址/掩碼 [ ladel 別名 ]
ip addr add dev 接口 ip地址 [ ladel 別名 ]
ip addr flush 接口 [to 網絡地址]
ip route
ip route add 目標 via 下一跳 ip [src ip][dev 設備]
ip route del 目標
ip route show
啟用/禁用接口:
ip link set 接口 up|down
ifconfig 接口 up|down
ifdown 接口,ifup 接口
重置網絡連接
TUI或GUI
system-config-network-tui
配置結束後將保存配置文件中
setup --> Network Configuration
網絡管理或檢測等相關的工具:
ping:ICMP
ping [options] ip
-c 次數
-w 測試執行時長
traceroute HOST:
獲取當前主機到目標主機所經過的網關
mtr HOST
netstat
-t:tcp協議的連接
-u:udp協議的鏈接
-l:監聽狀態的連接
-a:所有狀態的連接
-p:連接相關的進程
-n:數字格式顯示
-r: 顯示路由表,類似於route或ip route show
常用組合:
netstat -tan
netstat -tunl
netstat -rn
ss,用於取代netstat
-t:tcp協議的連接
-u:udp協議的鏈接
-l:監聽狀態的連接
-a:所有狀態的連接
-e:顯示擴展信息
-m:顯示套接連接使用的內存信息
-p:進程及UDP
-n:數字格式顯示
-o state (established)
ethtool
ethtool 接口: 顯示接口設備屬性
ethtool -S 接口:顯示設備接口的統計數據
課外任務:
nmap:掃描器
tcpdump:嗅探器
wireshark:嗅探器
tshark:字符界面的
腳本:
1.使用ping命令探測172.16.0.0/16有哪些主機在線
在線,用綠色顯示
不在線的,用紅色顯示
#!/bin/bash
for i in {0..255};do
for j in {1..254};do
ping -c 1 172.16.$i.$j &> /dev/null
if [[ $? -eq 0 ]];then
echo -e -n "\033[32mping 172.16.$i.$j ke da !\033[0m\n"
else
echo -e -n "\033[31mping 172.16.$i.$j bu ke da !\033[0m \n"
fi
done
done