1.網路:是由網路連接設備通過傳輸介質將網路終端設備連起來進行資料交換資源共享的平臺,
2.網路連接設備:路由器 交換機
傳輸介質:網線 光纖 電話線
網路終端設備:計算機服務器 ,手機.,智能電視.,攝像頭(視頻安防),啞終端(不能人機互動)
服務器:一臺安裝了服務器作業系統的電腦(PC)
二,OSI--七層參考模型
1.OSI——開放式系統互聯模型
ISO——國際標準化組織
ISO——蘋果作業系統\cisco思科設備的作業系統
{物理層-資料鏈路層-網路層-傳輸層-會話層-表示層-應用層}
物 數 網 傳 會 表 應
<1>應用層——app應用快取--通過人機互動來實作各種各樣的服務
<2>表示層——編碼,解碼,加密,解密
<3>會話層——發現,建立,維持,終止會話ji
<4>傳輸層——通過埠號來區分不同的服務
提供可靠的傳輸
* 埠號:0-65535
| 靜態埠號 | 1-1023 | 一個埠號代表一個服務,且呈永久系結關系 |
| 動態埠號 | 1024-65535 | 一個埠號代表一個服務,且呈暫時性系結關系 |
0
- 特殊埠號
- 保留埠號
- 在網路編程中使用
- 代表所有埠號
*http——超文本傳輸協議 80/8080
https——安全的超文本傳輸協議 443
- 協議(語言)——>對等,互動,溝通
可靠機制:確認 重傳 排序 流控(流量控制)
TCP---傳輸控制協議(面向連接的可靠傳輸協議) “慢”
舉例:上網 ,有三次握手 四次揮手
UDP---用戶資料報文協議(非面向連接的不可靠傳輸協議)“快”
舉例:視頻,網頁,直播,無三次握手 四次揮手
三次握手 四次揮手
1.
三次握手 
- SYN——同步序列號請求 ——請求連接的一種方式
- Seq——序列號——記錄發送的次數 ——隨機生成——不同廠商設定的
- Ctl——控制位
- Ack——確認
- Ack=seq+1
- Sequence number ——序列號
三次握手
三次握手(Three-way Handshake)其實就是指建立一個TCP連接時,需要客戶端和服務器總共發送3個包,進行三次握手的主要作用就是為了確認雙方的接收能力和發送能力是否正常、指定自己的初始化序列號為后面的可靠性傳送做準備,實質上其實就是連接服務器指定埠,建立TCP連接,并同步連接雙方的序列號和確認號,交換TCP視窗大小資訊,
剛開始客戶端處于 Closed 的狀態,服務端處于 Listen 狀態,
進行三次握手:
第一次握手:客戶端給服務端發一個 SYN 報文,并指明客戶端的初始化序列號 ISN,此時客戶端處于 SYN_SENT 狀態,
首部的同步位SYN=1,初始序號seq=x,SYN=1的報文段不能攜帶資料,但要消耗掉一個序號,
第二次握手:服務器收到客戶端的 SYN 報文之后,會以自己的 SYN 報文作為應答,并且也是指定了自己的初始化序列號 ISN(s),同時會把客戶端的 ISN + 1 作為ACK 的值,表示自己已經收到了客戶端的 SYN,此時服務器處于 SYN_RCVD 的狀態,
在確認報文段中SYN=1,ACK=1,確認號ack=x+1,初始序號seq=y,
第三次握手:客戶端收到 SYN 報文之后,會發送一個 ACK 報文,當然,也是一樣把服務器的 ISN + 1 作為 ACK 的值,表示已經收到了服務端的 SYN 報文,此時客戶端處于 ESTABLISHED 狀態,服務器收到 ACK 報文之后,也處于 ESTABLISHED 狀態,此時,雙方已建立起了連接,
確認報文段ACK=1,確認號ack=y+1,序號seq=x+1(初始為seq=x,第二個報文段所以要+1),ACK報文段可以攜帶資料,不攜帶資料則不消耗序號,
發送第一個SYN的一端將執行主動打開(active open),接收這個SYN并發回下一個SYN的另一端執行被動打開(passive open),
在socket編程中,客戶端執行connect()時,將觸發三次握手
2.
四次揮手

- FIN--請求斷開連接
- ACK--確認
- seq相同---同時發送----時間間隔
建立一個連接需要三次握手,而終止一個連接要經過四次揮手(也有將四次揮手叫做四次握手的),這由TCP的半關閉(half-close)造成的,所謂的半關閉,其實就是TCP提供了連接的一端在結束它的發送后還能接收來自另一端資料的能力,
TCP 連接的拆除需要發送四個包,因此稱為四次揮手(Four-way handshake),客戶端或服務端均可主動發起揮手動作,
剛開始雙方都處于ESTABLISHED 狀態,假如是客戶端先發起關閉請求,四次揮手的程序如下:
第一次揮手:客戶端發送一個 FIN 報文,報文中會指定一個序列號,此時客戶端處于 FIN_WAIT1 狀態,
即發出連接釋放報文段(FIN=1,序號seq=u),并停止再發送資料,主動關閉TCP連接,進入FIN_WAIT1(終止等待1)狀態,等待服務端的確認,
第二次揮手:服務端收到 FIN 之后,會發送 ACK 報文,且把客戶端的序列號值 +1 作為 ACK 報文的序列號值,表明已經收到客戶端的報文了,此時服務端處于 CLOSE_WAIT 狀態,
即服務端收到連接釋放報文段后即發出確認報文段(ACK=1,確認號ack=u+1,序號seq=v),服務端進入CLOSE_WAIT(關閉等待)狀態,此時的TCP處于半關閉狀態,客戶端到服務端的連接釋放,客戶端收到服務端的確認后,進入FIN_WAIT2(終止等待2)狀態,等待服務端發出的連接釋放報文段,
第三次揮手:如果服務端也想斷開連接了,和客戶端的第一次揮手一樣,發給 FIN 報文,且指定一個序列號,此時服務端處于 LAST_ACK 的狀態,
即服務端沒有要向客戶端發出的資料,服務端發出連接釋放報文段(FIN=1,ACK=1,序號seq=w,確認號ack=u+1),服務端進入LAST_ACK(最后確認)狀態,等待客戶端的確認,
第四次揮手:客戶端收到 FIN 之后,一樣發送一個 ACK 報文作為應答,且把服務端的序列號值 +1 作為自己 ACK 報文的序列號值,此時客戶端處于 TIME_WAIT 狀態,需要過一陣子以確保服務端收到自己的 ACK 報文之后才會進入 CLOSED 狀態,服務端收到 ACK 報文之后,就處于關閉連接了,處于 CLOSED 狀態,
即客戶端收到服務端的連接釋放報文段后,對此發出確認報文段(ACK=1,seq=u+1,ack=w+1),客戶端進入TIME_WAIT(時間等待)狀態,此時TCP未釋放掉,需要經過時間等待計時器設定的時間2MSL后,客戶端才進入CLOSED狀態,
收到一個FIN只意味著在這一方向上沒有資料流動,客戶端執行主動關閉并進入TIME_WAIT是正常的,服務端通常執行被動關閉,不會進入TIME_WAIT狀態,
在socket編程中,任何一方執行close()操作即可產生揮手操作
3.資料分段
最大段長度: 1480B
最大傳輸單元: 1500B 1位元組=8位
4.封裝與解封裝——234層
source port 源埠
destination 目標埠
FCS (暗號)
date 基礎資料
port number(埠號) TCP/UDP
IP地址/ source IP/ destination IP
MAC source port destination
上三層——資料報文
四層封裝——資料段
三層封裝——資料包
二層封裝——資料幀
一層封裝——位元流(電信號)
<5> 網路層:根據IP地址來進行邏輯尋址
IP協議---網際網路協議
IPv4--有限的---用完了IPv6 (最先鋪設教育專線)
<6>資料鏈路層——交換機
- LLC ——邏輯鏈路控制子層——為上層服務提供FCS校驗(對暗號)
- MAC —— 媒介訪問控制子層——根據MAC地址來進行物理尋址
MAC地址--物理尋址--設備在出廠之后燒錄在網卡上的編號(一般不可以進行更改)
<7>物理層——定義電氣電壓,光學特性,介面規范
TCP/IP模型 以太網
三.資料的發送--報文封裝
1.TCP報文頭部

- Resv---預留位--保留出來的----服務質量---
- Rst--重置位
- Urg--緊急指標--urgent pointer
- Ctl ---控制位--只有0和1 為0 不生效 為1 生效
- Window size --視窗大小 ---滑動視窗
- Checksum ---校驗和
- Options---選項---有就有,沒有就沒有
特殊埠
FTP:檔案傳輸協議
資料埠(資料傳送埠) TCP 20
控制埠(傳送控制信號) 一般為TCP 21
telnet TCP 23 明文
SSH(安全外殼) TCP 22 密文
http TCP 80/8080
https TCP 443
SMTP(發郵件) TCP 25
POP3(收郵件) TCP 110
tftp UDP 69
DNS TCP/UDP 53
VNC TCP 5900
2.UDP報文頭部

3.IP報頭
- Version——版本 IPv4
- IHL——IP header length
- Service type --服務型別
- Packet length --資料包的長度
- 標識 標志 片偏移 --支撐跨層封裝
- Time to live --生存時間 主要作用--防止環路
- 取值范圍 0-255 64 128 192
- 默認情況下每經過一臺路由器減1,為0不傳遞
- Protocol 協議號 --標識上層協議
四.TCP/IP協議——以太網(五層模型/四層模型)
TCP/IP協議只支持TCP/IP網路---IP網路
Network——包含的網路層協議---IPX
OSI與TCP/IP協議堆疊的區別
相同點:
- 2者都是模型化層次化
- 下層對上層提供服務支持
- 每層協議彼此相互獨立
不同點:
1.OSI先有模型才有協議
2.TCP/IP先有協議才有模型
3. TCP/IP協議堆疊只適用于TCP/IP網路
4. 層量不同

- Application --應用層
- Presentation-表示層
- Session--會話層
- Trassport--傳輸層
- Network--網路層
- Data link--資料鏈路層
- Physical--物理層
- Network access ---網路接入層
- Internet--因特網
五.中繼器/交換機/路由器
1.信號衰減——>物理加壓——>中繼器——>信號失真——>交換機——>廣播風暴——>路由器
中繼器---產生沖突
2.路由器的作用
- 隔離廣播域/劃分廣播域
- 連接不同的網路
- 路由
3.交換機的作用
- 無線延長傳輸距離
- 實作單播
- 解決沖突域
-
沖突域---可能產生沖突的地方
廣播域——廣播的范圍
----資料從設備的一個介面進入,從其他介面轉發出去
-----默認情況下,一個交換機屬于一個廣播域
解決沖突:
- FIFO --先入先出
-
First in first out
- CSMA/CD --帶沖突檢測的載波多路訪問技術
六.二進制——十進制轉換
點分十進制
00000000.00000000.00000000.00000000
128 64 32 16 8 4 2 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/345700.html
標籤:其他
上一篇:nginx日志自動按日期切割保存七天內容 shell
下一篇:基于websocket的跨平臺通信——iPhone/iPad/Mac控制樹莓派(一):Springboot后端搭建
