《網路是怎樣連線的》閱讀筆記

2021-09-24 02:00:48 字數 2386 閱讀 5617

為什麼要用dns把網域名稱轉換為ip位址,直接使用網域名稱確定通訊物件不行嗎?

socket庫解析ip位址的步驟

ip位址由網路號與主機號組成,通過子網掩碼分割

socket連線過程

客戶端把要通訊的伺服器ip和埠寫入套接字,向伺服器傳送連線資訊

伺服器等待連線,當資料報到來時,解析出tcp頭部中的埠號,找到對應的套接字,寫入客戶端資訊(位址,埠)並修改狀態為正在連線

緩衝區

所以對於上層應用程式來說,呼叫了send向協議棧(具體來說是某一套接字)傳送資料後就直接返回了,send的任務僅僅是把資料拷貝到協議棧緩衝區中,傳送給目標套接字是tcp的任務

協議棧內建超時

為什麼tcp要多此一舉呢?

參考:

接收方把資料報長度減去頭部長度得到資料長度,並和序號相加,寫入tcp頭部的ack欄位,返回給傳送方

在收到接收方的ack號並確認無誤前,傳送方把傳送的資料暫存在緩衝區中,以便重傳

其實可以不用每次接受都傳送乙個ack號,而是幾次接收後返回最後乙個號

因為tcp 協議擁有錯誤補償機制,因此網絡卡,路由器,集線器等都不再有錯誤補償機制,而是發生錯誤直接丟包

syn控制位置1表示連線開始,此時序號為隨機的初始值

動態等待ack返回的時間

滑動視窗

tcp斷開連線過程

交換機是在子網中按照乙太網協議把包傳輸到下乙個路由器的裝置

ip頭部

mac頭部

接收方mac位址是通過ip位址使用arp廣播的方式得到的

ip分片後,中間路由器是不會重組的,只有到目標主機處才重組

傳送方網絡卡負責從ip模組獲取包,並把包轉換為電訊號

當裝置通過交換機傳送過資料時,該裝置mac號自動加入交換機mac表

路由表只匹配網路號,忽略主機號

有時路由表中的子網掩碼和位址本事的子網掩碼不同,這是路由聚合的結果

路由表中的inte***ce表示埠ip位址,gateway表示要**到的ip位址

第一行0.0.0.0為預設路由,所有位址都能匹配到這一行

行3允許伺服器應答外網

埠號限**務器上的指定服務(如web服務)與外網通訊

由於現在的防火牆也充當了連線外網的路由器,具有位址轉換功能,因此無須設定禁止外網訪問內網的規則

方法二

方法三

既然如此,為了還要通過描述符指代套接字呢,直接用四元組不就好了?

接受後放入網絡卡緩衝區,並發出中斷訊號,讓cpu根據mac頭部協議號交給對應的協議棧處理

ip模組

檢查是否分片,組裝還原成原始包

檢查頭部協議號,交給上層處理

tcp模組

傳送ack號

對於資料報

網路是怎樣連線的

presence prezns n.出席 存在 到場 接近 point of presence,pop 接入點 入網點 瀏覽器 dns伺服器 查詢網域名稱對應的ip位址 瀏覽器 作業系統 網路控制軟體 協議棧 網絡卡 交換機 路由器 接入網 接入點 入網點 各網路運營商路由器群 防火牆 快取伺服器 ...

讀書筆記 網路是怎樣連線的

一 電訊號傳輸tcp ip資料 三 接入網 1 adsl 不對稱數字使用者線,上行速率和下行速率不同 2 ftth 光纖到戶 3 pppoe 乙太網的點對點協議,將ppp訊息裝入乙太網包的方式進行傳輸的方式 4 bas 寬頻接入伺服器 5 網際網路接入路由器通過pppoe的發現機制查詢bas的mac...

網路是怎樣連線的(三)

在傳輸中包與包之間沒有關聯 網線越長,頻率越高,損失越大 損失會使波形變形,無法分辨0 1,造成錯誤 雙絞線抑制雜訊 兩種維護方式 收到包時,將傳送方的埠號與mac位址加入位址表 將一段時間不使用的過時記錄刪除 這是為了防止裝置移動而改變埠 若發生錯誤,重啟交換機即可 講了兩個 交換機發現包要返回源...