《計算機網絡學習指南》——學習網絡,這一篇足以讓你心滿意足

author:pasca time:2019/01/05編程

前言:部分來源於網絡,僅供學習使用。
複製代碼

[TOC]瀏覽器

1、計算機網絡體系結構

大道尚有三千,而爲了多種維度描述網絡,到如今也有多種網絡體系結構。分別是TCP/IP四層網絡模型,TCP/IP五層網絡模型以及咱們廣爲人知的ISO七層網絡模型。 固然,不管哪一種模型,其目的都是爲了創建 一個標準而讓更多的人可使用它,就如同咱們的語言:普通話和英語。 而目前TCP/IP協議已經成爲Internet中的「通用語言」,學習和使用網絡必不可少。 bash

國際標準化組織(ISO)在1978年提出了「開放系統互聯參考模型」,即咱們熟知的OSI七層模型。此外,還有TCP/IP 四層模型、TCP/IP 五層模型。服務器

  • OSI體系結構:概念清楚 & 理念完整,但複雜&不實用
  • TCP/IP 四層體系結構:含了一系列構成互聯網基礎的網絡協議,是Internet的核心協議 & 被普遍應用於局域網和廣域網
  • TCP/IP 五層體系結構:OSI和TCP/IP四層模型的融合,開放了應用較多的數據鏈路層和物理層,便於學習使用

這裏主要講解OSI模型,以便深刻理解TCP/IP模型。

一、物理層

物理層主要是原始數據的傳輸,其中可能發生的錯誤由上層的數據鏈路層來校驗。這裏記住物理層兩個重要的網絡設備:中繼器和集線器。 二者的功能主要是鏈接客戶端之間信號的放大、 網絡

物理層

二、數據鏈路層

數據鏈路層在物理層提供的服務的基礎上向網絡層提供服務,其最基本的服務是將源自網絡層來的數據可靠地傳輸到相鄰節點的目標機網絡層。app

數據鏈路層

三、網絡層

網絡層的目的是實現兩個端系統之間的數據透明傳送,具體功能包括尋址和路由選擇、鏈接的創建、保持和終止等。它提供的服務使傳輸層不須要了解網絡中的數據傳輸和交換技術。對於網絡層的理解,關鍵詞是「路徑選擇、路由及邏輯尋址」。 學習

網絡層-w500

四、傳輸層

傳輸層的任務是根據通訊子網的特性,最佳的利用網絡資源,爲兩個端系統的會話層之間,提供創建、維護和取消傳輸鏈接的功能,負責端到端的可靠數據傳輸。 網絡層只是根據網絡地址將源結點發出的數據包傳送到目的結點,而傳輸層則負責將數據可靠地傳送到相應的端口。 加密

傳輸層

五、會話層

會話層主要是利用傳輸層提供的端到端服務,向表示層提供增值服務,同時負責創建、管理以及終止會話進程,實現數據同步。url

六、表示層

表示層對上層數據或信息進行變換以保證一個主機應用層信息能夠被另外一個主機的應用程序理解。表示層的數據轉換包括數據的加密、壓縮、格式轉換等。spa

七、應用層

爲操做系統或網絡應用程序提供訪問網絡服務的接口。

應用層 -1-

2、IP地址(IPv4地址)詳解

一、定義

鏈接在Internet中的每一臺主機(或 路由器)的全球惟一的標識符

二、組成

IP地址 = 32位 = 網絡號 + 主機號;即IP地址 ={<網絡號>,<主機號>}

其中:
網絡號:標誌主機(或路由器)所鏈接到的網絡。一個網絡號在整個因特網範圍內必須是惟一的。
主機號:標誌該主機(或路由器)。一個主機號在它面前的網絡號所指明的網絡範圍必須是惟一的。
複製代碼

不一樣類型的IP地址,其主機號 & 網絡號所佔字節數不一樣;故:一個IP地址在整個網絡範圍內是惟一的

三、分類

傳統的IP地址是分類的地址,分爲A,B,C,D,E五類

區別在於網絡號 & 主機號佔的字節數不一樣
複製代碼

-w500

四、私有地址

IPv4地址協議中預留了3個IP地址段,做爲私有地址,供組織機構內部(公司內網)使用。這三個地址段分別位於A、B、C三類地址內:  A類私有地址:10.0.0.0/8,範圍是:10.0.0.0~10.255.255.255  B類私有地址:172.16.0.0/12,範圍是:172.16.0.0~172.31.255.255  C類私有地址:192.168.0.0/16,範圍是:192.168.0.0~192.168.255.255   

123

特別注意:在各種IP地址中,有一些IP地址用於特殊用途,不能用於作主機IP地址

-w400

3、TCP/UDP詳解

一、TCP

1.1 定義和特色,

Transmission Control Protocol,即 傳輸控制協議。

  • 面向鏈接、面向字節流、全雙工通訊、可靠

1.2 優缺點

  • 優勢:數據傳輸可靠
  • 缺點:效率慢(因需創建鏈接、發送確認包等

1.3 報文段格式

首部前20個字符固定、後面有4n個字節是根據需而增長的選項,故 TCP首部最小長度 = 20字節

1.4 創建連接——三次握手

-w600
成功進行TCP的三次握手後,就創建起一條TCP鏈接,便可傳送應用層數據

重點:三次握手的必要性

  • 結論 防止服務器端因接收了早已失效的鏈接請求報文,從而一直等待客戶端請求,最終致使造成死鎖、浪費資源

  • 具體描述

1.5 釋放鏈接——四次揮手

在通訊結束後,雙方均可以釋放鏈接,共需 四次揮手

-w500

重點:四次揮手的必要性

爲了保證通訊雙方都能通知對方 需釋放 & 斷開鏈接,即釋放鏈接後,都沒法接收 / 發送消息給對方

二、UDP

2.1 定義和特色

User Datagram Protocol,即 用戶數據報協議,無鏈接的、不可靠的、面向報文、無擁塞控制。

2.2 優缺點

  • 優勢:速度快
  • 缺點:消息易丟失(特別是 網絡較差時)

2.3 報文段格式

  • UDP的報文段共有2個字段:數據字段 & 首部字段
  • 下面主要介紹首部(8字節、4個字段)

三、TCP和UDP比較

4、HTTP協議

一、簡介

二、工做方式

HTTP協議採用 請求 / 響應 的工做方式,以下圖。

三、HTTP結構介紹

一、請求行

意義:聲明請求方法 、主機域名、資源路徑 & 協議版本

請求行的組成 = 請求方法 + 請求路徑 + 協議版本

重點:Post和Get的方法

示例:

GET /buckets HTTP/1.1
複製代碼

二、請求頭

  • 做用:聲明客戶端、服務器 / 報文的部分信息
  • 使用方式:採用」header(字段名):value(值)「的方式
  • 經常使用請求頭
  1. 請求和響應報文的通用Header
  2. 常見請求Header

示例

Host: rs.qbox.me
Content-Type: application/x-www-form-urlencoded
User - Agent:Mozilla/5.0 
複製代碼

三、請求體

  • 做用:存放 需發送給服務器的數據信息
可選部分,如 GET請求就無請求數據
複製代碼

有下面三種使用方式:

四、總結

示例:

5、Socket

Soclet即套接字,是應用層 與 TCP/IP 協議族通訊的中間軟件抽象層,表現爲一個封裝了 TCP / IP協議族 的編程接口(API)。

Socket不是一種協議,而是一個編程調用接口(API),屬於傳輸層(主要解決數據如何在網絡中傳輸)
即:經過Socket,咱們才能在Andorid平臺上經過 TCP/IP協議進行開發
對用戶來講,只需調用Socket去組織數據,以符合指定的協議,便可通訊
複製代碼
  • 成對出現,一對套接字:
Socket ={(IP地址1:PORT端口號),(IP地址2:PORT端口號)}
複製代碼
  • 一個 Socket 實例 惟一表明一個主機上的一個應用程序的通訊鏈路

6、小知識

一、路由器和交換機的區別

二、Cookie 與 Session

  • 簡介

  • 區別&對比

三、Cookie 與 Token

  • 簡介

    -w700

  • 基於Cookie的身份驗證 & 驗證流程

    -w700
    -w500

  • 基於Token的身份驗證 & 驗證流程

四、瀏覽器打開域名的過程解析

打開一個網頁,完成流程以下:

相關文章
相關標籤/搜索