我眼中的網路基礎

2021-10-01 14:39:41 字數 3318 閱讀 1846

網路基礎

埠作用:埠是為了將同乙個電腦上的不同程式進行隔離

ip:是在網路上尋找電腦

port:是在電腦上尋找不同的程式

示例mysql:關係型資料庫 預設埠:3306

redis:非關係型資料庫 預設埠:6379

http**: 預設埠:80

https**: 預設埠:443

範圍: 1 - 65535

不能用的:  1 - 1024

一般情況: ​ 8000 ​ 8001 ​ ...

osi七層模型:(open system interconnection)

如:生產流水線,一步一步,最終生產乙個產品

網際網路協議按照功能不同分為osi七層或tcp/ip五層或tcp/ip四層

tcp/ip四層:

​ 物理層 網路層 傳輸層 應用層

tcp/ip五層:

​ 物理層 資料鏈路層 網路層 傳輸層 應用層

osi七層模型:

​ 從低到高:物理層 資料鏈路層 網路層 傳輸層 會話層 表示層 應用層

每層常見物理裝置

img每層執行常見的協議

img應用層:

使用的軟體 (為計算機使用者提**用介面,也為使用者直接提供各種網路服務)

我們常見應用層的網路服務協議有:http,https,ftp,pop3、smtp等。 谷歌

表示層:

各種用於應用層資料的編碼和轉換功能,確保乙個系統的應用層傳送的資料能被另乙個系統的應用層識別。

如果必要,該層可提供一種標準表示形式,用於將計算機內部的多種資料格式轉換成通訊中採用的標準表示形式。資料壓縮和加密也是表示層可提供的轉換功能之一

看到資料,生產資料:…

會話層:

​ 會話層就是負責建立、管理和終止表示層實體之間的通訊會話。該層的通訊由不同裝置中的應用程式之間的服務請求和響應組成。

保持會話(保持你的會話或鏈結狀態)

例如:

cookie

無痕瀏覽

應用偷偷攜帶一些資料:令牌:kl128931nijbidabd

傳輸層:

​ 傳輸層建立了主機端到端的鏈結,傳輸層的作用是為上層協議提供端到端的可靠和透明的資料傳輸服務,包括處理差錯控制和流量控制等問題。該層向高層遮蔽了下層資料通訊的細節,使高層使用者看到的只是在兩個傳輸實體間的一條主機到主機的、可由使用者控制和設定的、可靠的資料通路.

我們通常說,tcp udp就是在這一層。埠號既是這裡的「端」

例如:

新增報頭:[tcp] [daksbdjabsdknqiyhw89712938719dahkjn]
網路層:

本層通過ip定址來建立兩個節點之間的連線,為源端的運輸層送來的分組,選擇合適的路由和交換節點,正確無誤地按照位址傳送給目的端的運輸層。

就是通常說的ip層。這一層就是我們經常說的ip協議層。ip協議是internet的基礎

ip位址

例如:

[ip] [tcp] [daksbdjabsdknqiyhw89712938719dahkjn]
資料鏈路層:

將位元組合成位元組,再將位元組組合成幀,使用鏈路層位址 (乙太網使用mac位址)來訪問介質,並進行差錯檢測。

mac位址

例如:

[mac位址]【[ip] [tcp] [daksbdjabsdknqiyhw89712938719dahkjn]】
物理層:

實際最終訊號的傳輸是通過物理層實現的。通過物理介質傳輸位元流。規定了電平、速度和電纜針腳。

常用裝置有(各種物理裝置)集線器、中繼器、數據機、網線、雙絞線、同軸電纜。這些都是物理層的傳輸介質。

將資料轉換成電訊號,也就是頻率(0和1)

socket模組:

就是幫我們封裝實現了 物理層 資料鏈路層 網路層 傳輸層,所以我們只需要在意應用層的事情了(也就是我們的**)

三次握手和四次揮手:

imgsocket客戶端向服務端發起請求:(三次握手)

第一次握手:客戶端向服務端發起請求,等待伺服器確認

第二次握手:伺服器收到請求,同時也傳送乙個請求到客戶端,等待客戶端確認

第三次握手:客戶端收到請求後,向伺服器傳送確認包,傳送完畢後,客戶端和服務端進入連線狀態,完成三次握手

client server

我能打你嗎

​ 來呀來呀

好的我這就來

------------------------------(三次握手)

打架中....

client.send('傳送資料')

收發資料 收發資料

客戶端和服務端斷開請求:(四次揮手)

第一次揮手:首先進行關閉的一方(即傳送第乙個fin)將執行主動關閉,而另一方(收到這個fin)執行被動關閉。

第二次揮手:當伺服器收到這個fin,它發回乙個ack,確認序號為收到的序號加1。和syn一樣,乙個fin將占用乙個序號

第三次揮手:同時tcp伺服器還向應用程式(即丟棄伺服器)傳送乙個檔案結束符。接著這個伺服器程式就關閉它的連線,導致它的tcp端傳送乙個fin

第四次揮手:客戶必須發回乙個確認,並將確認序號設定為收到序號加1。

client.close() 或 conn.close()

client server

*我要斷開連線

​ 斷開就斷開,等我處理一些事情

​ ....

​ 我處理完了,斷開吧

拜拜*

補充:(斷開連線時,反映到python**上)

拋異常

傳送空內容

總結:

大學差距:

計算機組成原理部分

網路資料結構

演算法

我眼中的C 網路程式設計

tcp協議通過socket 套接字 建伺服器和客戶端 伺服器端 static void main string args ipendpoint point new ipendpoint ip,7899 tcpserver.bind point 向作業系統申請乙個可用的ip根埠號用來做通訊 開始監聽 ...

我,眼中的詩歌

我,眼中的詩歌 給我一杯茶,乙個幽靜的地方,我好看些詩歌。寫前面 詩歌是一種態度。詩歌是燕子低低地飛過屋簷。詩歌是古代西方 盛行的決鬥。詩歌是人類本身一直都存在的 極為樸素的一種本能。詩歌和性別無關 和身材無關,和你曾看過多少書也沒有直接的 聯絡,造物主將嘴巴賦予人類的同時 也賦予了人類詩歌。詩歌是...

我眼中的委託

首先委託是乙個型別,和int string一樣,我們日常說的委託其實是委託型別的變數,委託的作用就是把方法當成引數來傳遞,將方法賦值給委託型別的變數,然後由這個變數去呼叫執行方法。換個方式,委託沒有具體實現體,因為委託就是叫別人去辦事,自己當然不需要實現了,但是委託別人必須要清楚自己想辦什麼事,這個...