協議 可理解為規則,是數據傳輸和數據解釋的規則。 TCP協議註重數據的傳輸,http協議註重數據的解釋 傳輸層:常見協議有TCP/UDP協議 應用層:常見協議有HTTP協議,FTP協議。 網路層:常見協議有ARP協議,RARP協議。 網路介面層:常見協議有ARP協議,RAPP協議。 HTTP 超文本 ...
協議
可理解為規則,是數據傳輸和數據解釋的規則。
TCP協議註重數據的傳輸,http協議註重數據的解釋
傳輸層:常見協議有TCP/UDP協議
應用層:常見協議有HTTP協議,FTP協議。
網路層:常見協議有ARP協議,RARP協議。
網路介面層:常見協議有ARP協議,RAPP協議。
HTTP 超文本傳輸協議(Hyper Text Transfer Protocol)是互聯網上應用最為廣泛的協議。
FTP文件傳輸協議(File Transfer Protocol)
TCP(Transmission Control Protocol:傳輸控制協議;面向連接,可靠傳輸
UDP(User Datagram Protocol):用戶數據報協議;面向無連接,不可靠傳輸
IP(Internet Protocol):Internet協議,負責TCP/IP主機間提供數據報服務,進行數據封裝並產生協議頭,TCP與UDP協議的基礎。
ICMP(Internet Control Message Protocol):Internet控制報文協議。ICMP協議其實是IP協議的的附屬協議,IP協議用它來與其它主機或路由器交換錯誤報文和其它的一些網路情況,在ICMP包中攜帶了控制信息和故障恢覆信息。
ARP(Address Resolution Protocol)協議:正向地址解析協議, 通過已知的IP,尋找對應的MAC地址。
RARP(Reverse Address Resolution Protocol):逆向地址解析協議,通過MAC地址確定IP地址。
C/S和B/S模式
C/S模式:傳統的網路應用設計模式,客戶機(client)/伺服器(server)模式,需要在通訊兩端各自部署客戶機和伺服器來完成數據通信。建立在區域網的基礎上
B/S模式:瀏覽器(Browser)/伺服器(Server)模式,只需在一端部署伺服器,而另外一端使用每台PC都預設配置的瀏覽器即完成的數據的傳輸,建立在廣域網的基礎上的.
C/S優點:1.協議選用靈活。2.緩存數據 如大型游戲,QQ 缺點:開發工作量較大,調試困難
B/S優點:跨平臺,開發工作量較小 如QQ農場
OSI七層模型
各層功能定義 這裡我們只對OSI各層進行功能上的大概闡述,不詳細深究,因為每一層實際都是一個複雜的層。後面我也會根據個人方向展開部分層的深入學習。這裡我們就大概瞭解一下。我們從最頂層——應用層 開始介紹。整個過程以公司A和公司B的一次商業報價單發送為例子進行講解。 <1> 應用層 OSI參考模型中最靠近用戶的一層,是為電腦用戶提供應用介面,也為用戶直接提供各種網路服務。我們常見應用層的網路服務協議有:HTTP,HTTPS,FTP,POP3、SMTP等。 實際公司A的老闆就是我們所述的用戶,而他要發送的商業報價單,就是應用層提供的一種網路服務,當然,老闆也可以選擇其他服務,比如說,發一份商業合同,發一份詢價單,等等。 <2> 表示層 表示層提供各種用於應用層數據的編碼和轉換功能,確保一個系統的應用層發送的數據能被另一個系統的應用層識別。如果必要,該層可提供一種標準表示形式,用於將電腦內部的多種數據格式轉換成通信中採用的標準表示形式。數據壓縮和加密也是表示層可提供的轉換功能之一。 由於公司A和公司B是不同國家的公司,他們之間的商定統一用英語作為交流的語言,所以此時表示層(公司的文秘),就是將應用層的傳遞信息轉翻譯成英語。同時為了防止別的公司看到,公司A的人也會對這份報價單做一些加密的處理。這就是表示的作用,將應用層的數據轉換翻譯等。 <3> 會話層 會話層就是負責建立、管理和終止表示層實體之間的通信會話。該層的通信由不同設備中的應用程式之間的服務請求和響應組成。 會話層的同事拿到表示層的同事轉換後資料,(會話層的同事類似公司的外聯部),會話層的同事那裡可能會掌握本公司與其他好多公司的聯繫方式,這裡公司就是實際傳遞過程中的實體。他們要管理本公司與外界好多公司的聯繫會話。當接收到表示層的數據後,會話層將會建立並記錄本次會話,他首先要找到公司B的地址信息,然後將整份資料放進信封,並寫上地址和聯繫方式。準備將資料寄出。等到確定公司B接收到此份報價單後,此次會話就算結束了,外聯部的同事就會終止此次會話。 <4> 傳輸層 傳輸層建立了主機端到端的鏈接,傳輸層的作用是為上層協議提供端到端的可靠和透明的數據傳輸服務,包括處理差錯控制和流量控制等問題。該層向高層屏蔽了下層數據通信的細節,使高層用戶看到的只是在兩個傳輸實體間的一條主機到主機的、可由用戶控制和設定的、可靠的數據通路。我們通常說的,TCP UDP就是在這一層。埠號既是這裡的“端”。 傳輸層就相當於公司中的負責快遞郵件收發的人,公司自己的投遞員,他們負責將上一層的要寄出的資料投遞到快遞公司或郵局。 <5> 網路層
本層通過IP定址來建立兩個節點之間的連接,為源端的運輸層送來的分組,選擇合適的路由和交換節點,正確無誤地按照地址傳送給目的端的運輸層。就是通常說的IP層。這一層就是我們經常說的IP協議層。IP協議是Internet的基礎。 網路層就相當於快遞公司龐大的快遞網路,全國不同的集散中心,比如說,從深圳發往北京的順豐快遞(陸運為例啊,空運好像直接就飛到北京了),首先要到順豐的深圳集散中心,從深圳集散中心再送到武漢集散中心,從武漢集散中心再寄到北京順義集散中心。這個每個集散中心,就相當於網路中的一個IP節點。 <6> 數據鏈路層 將比特組合成位元組,再將位元組組合成幀,使用鏈路層地址 (乙太網使用MAC地址)來訪問介質,併進行差錯檢測。
數據鏈路層又分為2個子層:邏輯鏈路控制子層(LLC)和媒體訪問控制子層(MAC)。
MAC子層處理CSMA/CD演算法、數據出錯校驗、成幀等;LLC子層定義了一些欄位使上次協議能共用數據鏈路層。 在實際使用中,LLC子層並非必需的。
這個沒找到合適的例子
<7> 物理層
實際最終信號的傳輸是通過物理層實現的。通過物理介質傳輸比特流。規定了電平、速度和電纜針腳。常用設備有(各種物理設備)集線器、中繼器、數據機、網線、雙絞線、同軸電纜。這些都是物理層的傳輸介質。 快遞寄送過程中的交通工具,就相當於我們的物理層,例如汽車,火車,飛機,船。 轉載:https://www.cnblogs.com/qishui/p/5428938.html MAC地址MAC(Media Access Control或者Medium Access Control)地址,意譯為媒體訪問控制,或稱為物理地址、硬體地址,用來定義網路設備的位置。在OSI模型中,第三層網路層負責 IP地址,第二層數據鏈路層則負責 MAC地址。因此一個主機會有一個MAC地址,而每個網路位置會有一個專屬於它的IP地址。
MAC地址是網卡決定的,是固定的
TTL:生命周期 單位:每一跳
NAT(Network Address Translation)網路地址轉換,其功能是將企業內部自行定義的非法IP地址轉換為Internet公網上可識別的合法IP地址。NAT技術能較好解決現階段IPV4地址短缺的問題。
打洞機制
我們假設兩個扣扣A,B,他們通信需要通過騰訊的伺服器。也就是A發送消息給B的話,需要通過騰訊伺服器進行一次轉發,才到B那裡。但像視頻通話這要實時性要求比較高的通信,再用這種方式就不能保證他們通信的實時性,如果能想一個辦法讓他們直接通信,這樣實時性就會高很多。但是我們所知的路由器是有一個保護機制的(對於陌生的IP第一次發送過來的數據包,會進行屏蔽或丟棄,主要是為了防止網路的惡意攻擊),A跟B想進行通信的話所攜帶數據包的IP就必須是熟悉的,所以說這個時候就需要在兩個路由器之間打一個洞,而這件事情上騰訊就參與進來了。
簡單來說在我們登入扣扣的時候,就會訪問騰訊伺服器,而騰訊伺服器也會回一個數據包,這個數據包會攜帶騰訊伺服器公網的IP,相對於來說伺服器的公網IP在A、B那裡都是熟悉的IP(就是為了防止陌生IP屏蔽),而伺服器藉助公網IP幫助A、B完成打洞(打洞就是實現一種通路),當它把這個洞打好以後A、B就可以實時通信。打洞是由伺服器來完成的,最終的目的就是為了提高數據傳輸的效率。
公網IP-公:直接訪問
公網IP-私網IP:NAT映射
私網IP-公:NAT映射
私-私:NAT映射,打洞機制