tcp/ip協議和http協議

TCP/IP 是一類協議系統,它是用於網絡通訊的一套協議集合.瀏覽器

傳統上來講 TCP/IP 被認爲是一個四層協議:應用層(telnet, ftp, http, smtp, dns等),傳輸層(tcp, udp),網絡層(ip,icmp,arp,rarp),網絡接口層(各類物理通訊網絡接口)安全

三次握手服務器

 

四次揮手網絡

 

網絡接口層:架構

主要是指物理層次的一些接口,好比電纜等.tcp

網絡層:分佈式

提供獨立於硬件的邏輯尋址,實現物理地址與邏輯地址的轉換.ide

在 TCP / IP 協議族中,網絡層協議包括 IP 協議(網際協議),ICMP 協議( Internet 互聯網控制報文協議),以及 IGMP 協議( Internet 組管理協議).加密

3) 傳輸層:spa

爲網絡提供了流量控制,錯誤控制和確認服務.

在 TCP / IP 協議族中有兩個互不相同的傳輸協議: TCP(傳輸控制協議)和 UDP(用戶數據報協議).

4) 應用層:

爲網絡排錯,文件傳輸,遠程控制和 Internet 操做提供具體的應用程序

2.數據包

在 TCP / IP 協議中數據先由上往下將數據裝包,而後由下往上拆包

在裝包的時候,每一層都會增長一些信息用於傳輸,這部分信息就叫報頭,當上層的數據到達本層的時候,會將數據加上本層的報頭打包在一塊兒,繼續往下傳遞.

在拆包的時候,每一層將本層須要的報頭讀取後,就將剩下的數據往上傳.

3.網絡接口層

這一塊主要主要涉及到一些物理傳輸,好比以太網,無線局域網.這裏就不作詳細的介紹了

4.網絡層

前面有提到,網絡層主要就是作物理地址與邏輯地址之間的轉換.

目前市場上應用的最多的是 32 位二進制的 IPv4 ,由於 IPv4 的地址已經不夠用了,因此 128 位二進制的 IPv6 應用愈來愈普遍了(可是下面的介紹都是基於 IPv4 進行的)

1) IP:

TCP/IP 協議網絡上的每個網絡適配器都有一個惟一的 IP 地址.

IP 地址是一個 32 位的地址,這個地址一般分紅 4 端,每 8 個二進制爲一段,可是爲了方便閱讀,一般會將每段都轉換爲十進制來顯示,好比你們很是熟悉的 192.168.0.1

IP 地址分爲兩個部分:

  • 網絡 ID

  • 主機 ID

可是具體哪部分屬於網絡 ID,哪些屬於主機 ID 並無規定.

由於有些網絡是須要不少主機的,這樣的話表明主機 ID 的部分就要更多,可是有些網絡須要的主機不多,這樣主機 ID 的部分就應該少一些.

絕大部分 IP 地址屬於如下幾類

  • A 類地址:IP 地址的前 8 位表明網絡 ID ,後 24 位表明主機 ID。

  • B 類地址:IP 地址的前 16 位表明網絡 ID ,後 16 位表明主機 ID。

  • C 類地址:IP 地址的前 24 位表明網絡 ID ,後 8 位表明主機 ID。

這裏可以很明顯的看出 A 類地址可以提供出的網絡 ID 較少,可是每一個網絡能夠擁有很是多的主機

可是咱們怎麼才能看出一個 IP 地址究竟是哪類地址呢?

  • 若是 32 位的 IP 地址以 0 開頭,那麼它就是一個 A 類地址。

  • 若是 32 位的 IP 地址以 10 開頭,那麼它就是一個 B 類地址。

  • 若是 32 位的 IP 地址以 110 開頭,那麼它就是一個 C 類地址。

那麼轉化爲十進制(四段)的話,咱們就能以第一段中的十進制數來區分 IP 地址究竟是哪類地址了。

 

2)地址解析協議 ARP

簡單的來講 ARP 的做用就是把 IP 地址映射爲物理地址,而與之相反的 RARP(逆向 ARP)就是將物理地址映射爲 IP 地址。

3)子網

前面提到了 IP 地址的分類,可是對於 A 類和 B 類地址來講,每一個網絡下的主機數量太多了,那麼網絡的傳輸會變得很低效,而且很不靈活。好比說 IP地址爲 100.0.0.0 的 A 類地址,這個網絡下的主機數量超過了 1600 萬臺。

因此子網掩碼的出現就是爲了解決這樣的問題。

咱們先回顧一下以前如何區分主機 IP 和網絡 IP 的。

以 A 類地址 99.10.10.10 爲例,前 8 位是網絡 IP ,後 24 位是主機 IP 。

子網掩碼也是一個 32 爲的二進制數,也能夠用四個十進制數來分段,他的每一位對應着 IP 地址的相應位置,數值爲 1 時表明的是非主機位,數值爲 0 時表明是主機位。

 

5 傳輸層

傳輸層提供了兩種到達目標網絡的方式

  • 傳輸控制協議(TCP):提供了完善的錯誤控制和流量控制,可以確保數據正常傳輸,是一個面向鏈接的協議。

  • 用戶數據報協議(UDP):只提供了基本的錯誤檢測,是一個無鏈接的協議。

特色:

1)UDP:

  • 把數據打包

  • 數據大小有限制(64k)

  • 不創建鏈接

  • 速度快,但可靠性低

2)TCP:

  • 創建鏈接通道

  • 數據大小無限制

  • 速度慢,可是可靠性高

因爲傳輸層涉及的東西比較多,好比端口,Socket等,都是咱們作移動開發須要瞭解的,以後的文章中咱們再具體作介紹,這裏就不講解了。

6 應用層

應用層作爲 TCP/IP 協議的最高層級,對於咱們移動開發來講,是接觸最多的。

運行在TCP協議上的協議:

  • HTTP(Hypertext Transfer Protocol,超文本傳輸協議),主要用於普通瀏覽。

  • HTTPS(Hypertext Transfer Protocol over Secure Socket Layer, or HTTP over SSL,安全超文本傳輸協議),HTTP協議的安全版本。

  • FTP(File Transfer Protocol,文件傳輸協議),由名知義,用於文件傳輸。

  • POP3(Post Office Protocol, version 3,郵局協議),收郵件用。

  • SMTP(Simple Mail Transfer Protocol,簡單郵件傳輸協議),用來發送電子郵件。

  • TELNET(Teletype over the Network,網絡電傳),經過一個終端(terminal)登錄到網絡。

  • SSH(Secure Shell,用於替代安全性差的TELNET),用於加密安全登錄用。

運行在UDP協議上的協議:

  • BOOTP(Boot Protocol,啓動協議),應用於無盤設備。

  • NTP(Network Time Protocol,網絡時間協議),用於網絡同步。

  • DHCP(Dynamic Host Configuration Protocol,動態主機配置協議),動態配置IP地址。

其餘:

  • DNS(Domain Name Service,域名服務),用於完成地址查找,郵件轉發等工做(運行在TCP和UDP協議上)。

  • ECHO(Echo Protocol,迴繞協議),用於查錯及測量應答時間(運行在TCP和UDP協議上)。

  • SNMP(Simple Network Management Protocol,簡單網絡管理協議),用於網絡信息的收集和網絡管理。

  • ARP(Address Resolution Protocol,地址解析協議),用於動態解析以太網硬件的地址。

HTTP簡介

HTTP協議是Hyper Text Transfer Protocol(超文本傳輸協議)的縮寫,是用於從萬維網(WWW:World Wide Web )服務器傳輸超文本到本地瀏覽器的傳送協議。

HTTP是一個基於TCP/IP通訊協議來傳遞數據(HTML 文件, 圖片文件, 查詢結果等)。

HTTP是一個屬於應用層的面向對象的協議,因爲其簡捷、快速的方式,適用於分佈式超媒體信息系統。它於1990年提出,通過幾年的使用與發展,獲得不斷地完善和擴展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的規範化工做正在進行之中,並且HTTP-NG(Next Generation of HTTP)的建議已經提出。

HTTP協議工做於客戶端-服務端架構爲上。瀏覽器做爲HTTP客戶端經過URL向HTTP服務端即WEB服務器發送全部請求。Web服務器根據接收到的請求後,向客戶端發送響應信息。

http請求-響應模型.jpg

主要特色

一、簡單快速:客戶向服務器請求服務時,只需傳送請求方法和路徑。請求方法經常使用的有GET、HEAD、POST。每種方法規定了客戶與服務器聯繫的類型不一樣。因爲HTTP協議簡單,使得HTTP服務器的程序規模小,於是通訊速度很快。

二、靈活:HTTP容許傳輸任意類型的數據對象。正在傳輸的類型由Content-Type加以標記。

3.無鏈接:無鏈接的含義是限制每次鏈接只處理一個請求。服務器處理完客戶的請求,並收到客戶的應答後,即斷開鏈接。採用這種方式能夠節省傳輸時間。

4.無狀態:HTTP協議是無狀態協議。無狀態是指協議對於事務處理沒有記憶能力。缺乏狀態意味着若是後續處理須要前面的信息,則它必須重傳,這樣可能致使每次鏈接傳送的數據量增大。另外一方面,在服務器不須要先前信息時它的應答就較快。五、支持B/S及C/S模式。

相關文章
相關標籤/搜索