TCP/IP是互聯(lián)網(wǎng)相關的各類協(xié)議族的總稱。HTTP協(xié)議屬于其中的一個協(xié)議。
TCP/TP的分層管理
TCP/IP協(xié)議族分為4層:
-
應用層
作用:決定了向用戶提供應用服務時通信的活動
內(nèi)容:預存了各類通用的應用服務:- FTP(File Transfer Protocal,文件傳輸協(xié)議)
- DNS(Domain Namin System,域名系統(tǒng))
- HTTP(超文本傳輸協(xié)議)
-
傳輸層
作用:對上層應用層,提供處理網(wǎng)絡連接中的兩臺計算機之間的數(shù)據(jù)傳輸
內(nèi)容:包含兩個性質(zhì)不同的協(xié)議- TCP(Transmission Control Protocol,傳輸控制協(xié)議)
- UDP(User Data Protocol,用戶數(shù)據(jù)報協(xié)議)
網(wǎng)絡層(網(wǎng)絡互聯(lián)層)
作用:處理網(wǎng)絡上流動的數(shù)據(jù)包。數(shù)據(jù)包是網(wǎng)絡傳輸中最小的數(shù)據(jù)單位,該層規(guī)定了怎樣選擇一條傳輸路線來傳遞數(shù)據(jù)包。數(shù)據(jù)鏈路層(數(shù)據(jù)鏈路層,網(wǎng)絡接口層)
作用:處理鏈接網(wǎng)絡的硬件部分。
內(nèi)容:包括控制操作系統(tǒng)、硬件的設備驅(qū)動、NIC(Network Interface Card,網(wǎng)絡適配器,及網(wǎng)卡)、光纖等物理可見部分。
TCP/TP通信傳輸流

傳輸過程說明:
- 客戶端在應用層(HTTP協(xié)議)發(fā)出了一個查看Web頁面的HTTP請求
- 傳輸層(TCP協(xié)議)把應用層處收到的數(shù)據(jù)(HTTP請求報文)進行分割,在每個報文上打上標記序號和端口號,增加TCP首部,轉(zhuǎn)發(fā)給網(wǎng)絡層
- 網(wǎng)絡層(IP協(xié)議)增加傳輸目的的MAC地址,增加IP首部,轉(zhuǎn)發(fā)給鏈路層
- 數(shù)據(jù)鏈路層增加以太網(wǎng)首部,發(fā)送給服務器
- 服務器在鏈路層接收到數(shù)據(jù),按序往上層發(fā)送,每經(jīng)過一層去除上對應首部,到應用層,接收到客戶端的HTTP請求。
在每一層包裝數(shù)據(jù)信息的過程叫做封裝。
IP協(xié)議
IP(Internet Protocol,網(wǎng)際協(xié)議)位于網(wǎng)絡層,所有使用網(wǎng)絡的系統(tǒng)都會用到網(wǎng)際協(xié)議
作用
把各種數(shù)據(jù)包傳輸給對方。
要保證傳輸正確,需要IP地址和MAC地址(Media Access Control Address)
IP地址:指明節(jié)點被分配的地址,可變換
MAC地址:網(wǎng)卡所屬的固定地址,基本不會更改
使用ARP協(xié)議+MAC地址進行通信
網(wǎng)絡傳輸中,通信的雙方在同一局域網(wǎng)(LAN)的情況很少,通常是經(jīng)過多臺計算機和網(wǎng)絡設備中轉(zhuǎn)通信。
ARP協(xié)議(Address Resolution Protocol):用來解析地址的協(xié)議,根據(jù)通信方的IP地址可以反查其MAC地址。
TCP協(xié)議
TCP協(xié)議位于傳輸層,提供可靠的字節(jié)流服務,字節(jié)流服務(Byte Stream Service)就是將大塊數(shù)據(jù)分割層以報文段(segment)為單位的數(shù)據(jù)包進行管理。TCP協(xié)議為了更容易傳輸大數(shù)據(jù)才分割數(shù)據(jù),并且能夠確認數(shù)據(jù)是否送達。
判斷數(shù)據(jù)是否送達的三次握手(three-way handshaking)策略
握手過程使用了兩個標志:
- SYN(synchronize)
- ACK(acknowledgement)
握手過程:
- 發(fā)送方發(fā)送一個帶SYN標志的數(shù)據(jù)包
- 接收端回傳一個帶有SYN/ACK標志的數(shù)據(jù)包表示確認
- 發(fā)送端回傳一個ACK標志的數(shù)據(jù)包,表示握手結束
DNS協(xié)議
DNS(Domain Name System)位于應用層,提供域名到IP地址的解析服務,DNS協(xié)議提供通過域名查找IP地址,或者你逆向反查服務。