第1章 概念介紹
1.1 VLAN
1.1.1 什么是VLAN
VLAN(Virtual LAN),翻譯成中文是“虛擬局域網”。LAN可以是由少數幾台家用計算機構成的網絡,也可以是數以百計的計算機構成的企業網絡。VLAN所指的LAN特指使用路由器分割的網絡——也就是廣播域。
1.1.2 划分VLAN的目的
1. 提高安全性
a) 舉個例子:沒有划分VLAN前,交換機端口連接下的所有PC都處於一個VLAN中即一個廣播域中,實現ARP中間人攻擊太簡單了.划分了VLAN之后,縮小了ARP攻擊的范圍.ARP報文是一個2.5層的報文,只能在同一個VLAN中傳播.
2. 提高性能
a) 不划分VLAN,整個交換機都處於一個廣播域,隨便一台PC發送的廣播報文都能傳送整個廣域播,占用了很多帶寬.划分了VLAN,縮小的廣播域的大小,縮小了廣播報文能夠到達的范圍.
1.1.3 vlan 配置
1.1.3.1 創建vlan 20
Switch(config)#vlan 20 Switch(config-vlan)#name test #給vlan命名 Switch(config-vlan)#exit
1.1.3.1.1 進入端口將端口分配到vlan 20
Switch(config)#interface FastEthernet 0/1 Switch(config-if)#switchport access vlan 20
1.1.3.2 查看vlan的信息
Switch#show vlan brief VLAN Name Status Ports ---- -------------------------------- --------- ------------------------------- 1 default active Fa0/2, Fa0/3, Fa0/4, Fa0/5 Fa0/6, Fa0/7, Fa0/8, Fa0/9 Fa0/10, Fa0/11, Fa0/12, Fa0/13 Fa0/14, Fa0/15, Fa0/16, Fa0/17 Fa0/18, Fa0/19, Fa0/20, Fa0/21 Fa0/22, Fa0/23, Fa0/24 20 test active Fa0/1 1002 fddi-default active 1003 token-ring-default active 1004 fddinet-default active 1005 trnet-default active
1.2 DoD參考模型
在OSI 7層模型的基礎上進行了精簡和優化,產生了DoD參考模型
1.3 TCP/IP 協議簇
1.3.1 組成
TCP/IP協議簇是Internet的基礎,也是當今最流行的組網形式。TCP/IP是一組協議的代名詞,包括許多別的協議,組成了TCP/IP協議簇。其中比較重要的有SLIP協議、PPP協議、IP協議、ICMP協議、ARP協議、TCP協議、UDP協議、FTP協議、DNS協議、SMTP協議等。
1.3.2 tcp/ip協議簇中相關協議
1.3.3 協議名稱與對應端口號
協議名稱 |
中文釋義 |
協議端口 |
FTP協議 |
文件傳輸協議 |
21 |
SSH協議 |
安全 Shell(SSH)服務 |
22 |
Telnet協議 |
遠程登陸服務的標准協議 |
23 |
SMTP協議 |
簡單郵件傳輸協議 |
25(UDP) |
DHCP協議 |
動態主機配置協議 |
67 68(UDP) |
TFTP協議 |
簡單文件傳輸協議 |
69 |
HTTP協議 |
超文本傳輸協議 |
80/8080 |
POP3協議 |
郵局協議版本3 |
110 |
rpc協議 |
遠程過程調用協議 |
111 |
SNMP協議 |
簡單網絡管理協議 |
161 |
NFS協議 |
網絡文件系統 |
|
1.3.4 端口號
標示協議信息,便於計算機之間進行識別
0 號端口在udp和tcp 中都不會使用。
1.4 TCP 與UDP
TCP (傳輸控制協議)面向連接的網絡協議
UDP (用戶報文協議)面向無連接的網絡協議
1.4.1 TCP與UDP 協議對比:
傳輸控制協議(TCP) |
用戶數據報協議(UDP) |
面向連接 |
無連接 |
可靠傳輸 |
不可靠傳輸 |
流控 |
盡力而為,盡力傳遞 |
使用TCP應用: WEB瀏覽器;電子郵件;文件傳輸服務 |
使用UDP的應用: 域名系統 (DNS);視頻流;ip語音(VoIP) |
1.5 TCP報文的結構
1.5.1 確認字段ACK
當ACK=1時,表示確認,且確認號有效;當ACK=0時,確認號字段無效
1.5.2 請求連接字段 SYN
當SYN=1時,表示發起一個連接請求。
1.5.3 斷開連接字段FIN
用來釋放連接。當FIN=1時,表明此報文段的發送端的數據已發送完成,並要求釋放連接。
1.5.4 序號
每一個TCP報文段都會有一個序號,序號字段的值其實是本報文段所發送的數據的第一個字節的序號。
這是因為TCP是面向連接的可靠服務,其每一個字節都會對應一個序號,通過序號來確保服務的可靠性和有序性。
1.5.5 確認號
確認號,是期望收到對方的下一個報文段的數據的第一個字節的序號。
1.5.5.1 序號與確認號
發送端發送一個seq序列號x,接收端需要回復一個確認號x+1,並發送一個序列號Y
發送端接收一個seq序列號y,接收端需要回復一個確認號y+1
第2章 三次握手與四次揮手
2.1 三次握手
2.1.1 含義
(1)客戶 端發送一個帶SYN標志的TCP報文到服務器。
(2) 服務器端回應客戶端的,這個報文同時帶ACK標志和SYN標志。因此它表示對剛才客戶端SYN報文的回應;同時又標志SYN給客戶端,詢問客戶端是否准備好進行數據通訊。
(3) 客戶必須再次回應服務段一個ACK報文。
2.1.2 五種狀態
LISTEN |
偵聽來自遠方TCP端口的連接請求; |
SYN-SENT |
在發送連接請求后等待匹配的連接請求; |
SYN-RECEIVED |
在收到和發送一個連接請求后等待對連接請求的確認 |
ESTABLISHED |
代表一個打開的連接,數據可以傳送給用戶; |
CLOSED |
沒有任何連接狀態; |
2.2 四次揮手
2.2.1 文字說明
(1) TCP客 戶端發送一個FIN,用來關閉客戶到服務器的數據傳送。
(2) 服務器收到這個FIN,它發回一個ACK,確認序號為收到的序號加1。和SYN一 樣,一個FIN將占用一個序號。
(3) 服務器關閉客戶端的連接,發送一個FIN給客戶端。
(4) 客戶段發回ACK報文確認,並將確認序號設置為收到序號加1。
2.2.2 一形態
2.2.3 在四次握手中的狀態集
ESTABLISHED |
代表一個打開的連接,數據可以傳送給用戶; |
FIN-WAIT1 |
等待遠程TCP的連接中斷請求,或先前的連接中斷請求的確認; |
FIN-WAIT2 |
從遠程TCP等待連接中斷請求; |
CLOSE-WAIT |
等待從本地用戶發來的連接中斷請求; |
CLOSING |
等待遠程TCP對連接中斷的確認; |
LAST-ACK |
等待原來發向遠程TCP的連接中斷請求的確認; |
TIME-WAIT |
等待足夠的時間以確保遠程TCP接收到連接中斷請求的確認; |
CLOSED |
沒有任何連接狀態; |
2.2.4 第二種形態(CLOSING)
2.3 十一種狀態集
2.4 隨機端口號范圍(/proc/sys/net/ipv4/ip_local_port_range 文件)
[root@clsn ~]# cat /proc/sys/net/ipv4/ip_local_port_range 32768 60999
2.5 socket 監聽
2.5.1 監聽狀態
[root@clsn ~]# netstat -lntup|grep sshd tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1140/sshd tcp 0 0 :::22 :::* LISTEN 1140/sshd [root@clsn ~]# netstat -an|grep ES tcp 0 64 10.0.0.201:22 10.0.0.1:3868 ESTABLISHED
2.5.2 socket 條目 五元組概念
1、協議 tcp udp
2、目標ip地址
3、目標主機端口號
4、源ip地址
5、源端口號
2.6 ssh服務關閉 為什么連接不斷
[root@clsn ~]# ps -ef |grep sshd root 1140 1 0 Sep25 ? 00:00:00 /usr/sbin/sshd root 5861 1140 0 11:40 ? 00:00:00 sshd: root@pts/0 root 5881 5863 0 11:40 pts/0 00:00:00 grep --color=auto sshd [root@clsn ~]# /etc/init.d/sshd stop Stopping sshd: [ OK ] [root@clsn ~]# ps -ef |grep sshd root 5861 1 0 11:40 ? 00:00:00 sshd: root@pts/0 root 5899 5863 0 11:41 pts/0 00:00:00 grep --color=auto sshd
因為有一個連接的進程存在。
沒有進程就會斷開。
2.7 網絡中的滑動窗口
原理:
TCP使用窗口機制進行流量控制。當連接建立后,發送方和接收方都要分配一塊自己的緩沖區來存儲接收的數據,為了防止就收方已經沒有緩沖區進行接收而發送方在在繼續發送,出現網絡擁塞和故障。所以用滑動窗口進行了流控。
具體實現:
接收方將緩沖區剩余的尺寸和期待接收的下一個字節序號在確認信息中發送給發送方,發送方根據接收方剩余的大小空間來定量的發送合適的數據給接收方。它也是建立在“確認重傳”的基礎之上。
2.8 網絡中迷途情況
前一個連接沒有及時到達,新的連接又產生。