ip地址+子網掩碼可以算出在哪個子網(局域網)里面
路由器內有網關
今日內容
1、互聯網通信協議詳解
arp協議
ip地址與子網划分
ip地址的兩方面用途:
1、arp協議會把ip地址解析成mac地址
2、標識子網地址
tcp協議與udp協議
tcp協議的三次握手與四次揮手
arp協議
arp協議功能:廣播的方式發送數據包,獲取目標主機的mac地址
1、通信的第一步先拿到目標主機的ip地址
2、判斷出目標主機與自己是否在一個子網(局域網)里
如果在一個子網里,數據包的走向:
源主機----》本地交換機----》目標主機
如果不在一個子網里,數據包的走向:
源主機-》本地交換機-》本地路由器----》公網----》目標路由器-》目標交換機-》目標主機
詳解:
1、拿到目標主機的ip與子網掩碼
2、arp協議算出本機的網絡地址、目標主機的網絡地址
3、判斷源的子網地址與目標的子網地址是否一樣
# 如果一樣,那么通信就是在同一個子網內通信,靠的是mac地址定位到對方在哪里:
發送arp協議的廣播包拿到目標的mac地址,格式如下
自己的mac地址 FF-FF-FF-FF-FF-FF 自己ip/子網掩碼 目標ip/子網掩碼 數據部分
特殊mac地址:FF-FF-FF-FF-FF-FF 收到這個mac地址就表示對方要自己的mac地址
# ps:這個包會以廣播的方式在發送端所處的子網內傳輸,所有主機接收后拆開包,發現目標ip為自己的,就響應,返回自己的mac
4、發起真正的通信
自己的mac地址 目標主機的mac地址 自己ip/子網掩碼 目標ip/子網掩碼 源端口 目標端口 數據部分
# 如果不一樣,那么通信不在同一個子網內通信,靠路由器把數據包轉發出去:
發送arp協議的廣播包拿到網關的mac地址,格式如下
自己的mac地址 FF-FF-FF-FF-FF-FF 自己ip/子網掩碼 網關ip/子網掩碼 數據部分
4、 發起真正的通信
自己的mac地址 網關的mac地址 自己ip/子網掩碼 目標ip/子網掩碼 源端口 目標端口 數據部分
ps:交換機只有在兩種情況下才會把包廣播
1、目標mac是:FF-FF-FF-FF-FF-FF
2、目標mac不存在與mac地址表中
ip地址的兩方面用途
1、arp協議會把ip地址解析成mac地址
2、標識子網地址
二層隔離與三層隔離
1、兩台計算機接入不同的交換機,稱之為二層隔離(交換機是二層設備)
2、二層連通,三層可以隔離。(兩台計算機接入了同一個交換機,不一定在一個局域網內)(路由器是三層設備)
tcp與udp協議
tcp協議/可靠協議
udp協議/不可靠協議
tcp三次握手,建立雙向鏈接
tcp三次握手
建鏈接三次握手
syn洪水攻擊
syn洪水攻擊利用tcp好人協議這個特點
模擬大量假客戶端,向服務端發syn請求。
backlog(半連接池)
半連接池調大優化。如果遭受ddos攻擊,可能造成用戶訪問緩慢或者拒絕訪問。
斷鏈接四次揮手
客戶端優先發起FIN請求以后,客戶端會進入FIN_WAIT_1狀態(主動發起鏈接請求)。
服務端收到以后,服務端進入CLOSE_WAIT狀態(服務端收到斷鏈接請求)
客戶端收到確認信息以后進入FIN_WAIT_2狀態(一個通道已經斷開)
服務端再發一個請求給客戶端,服務端會進入LAST_ACK狀態(還有一個通道也快要斷了)
客戶端收到信息以后,客戶端進入TIME_WAIT狀態(雙向通路鏈接斷開了)