若是你確實還沒接觸過網絡、數據通訊方面的技術,那麼我們的路還很長,至少我認爲軟件測試並不是只停留在上層的應用,而測試的最高境界應該是對底層核心技術的測試,經過架構分析、協議數據包分析等等來測試出結果~~~因此咱們應該掌握的技術有:TCP/IP、Socket、多線程,這些是必須的。web
一、先來看看TCP/IP的體系結構,以下圖: 網絡
TCP/IP協議實際上就是在物理網上的一組完整的網絡協議。其中TCP是提供傳輸層服務,而IP則是提供網絡層服務。下面是各個層的協議說明: 多線程
IP: 網間協議(Internet Protocol) 負責主機間數據的路由和網絡上數據的存儲。同時爲ICMP,TCP,UDP提供分組發送服務。用戶進程一般不須要涉及這一層。架構
ARP: 地址解析協議(Address Resolution Protocol)性能
此協議將網絡地址映射到硬件地址。測試
RARP: 反向地址解析協議(Reverse Address Resolution Protocol)spa
此協議將硬件地址映射到網絡地址操作系統
ICMP: 網間報文控制協議(Internet Control Message Protocol)線程
此協議處理信關和主機的差錯和傳送控制。orm
TCP: 傳送控制協議(Transmission Control Protocol)
這是一種提供給用戶進程的可靠的全雙工字節流面向鏈接的協議。它要爲用戶進程提供虛電路服務,併爲數據可靠傳輸創建檢查。(注:大多數網絡用戶程序使用TCP)
UDP: 用戶數據報協議(User Datagram Protocol)
這是提供給用戶進程的無鏈接協議,用於傳送數據而不執行正確性檢查。
FTP: 文件傳輸協議(File Transfer Protocol)
容許用戶以文件操做的方式(文件的增、刪、改、查、傳送等)與另外一主機相互通訊。
SMTP: 簡單郵件傳送協議(Simple Mail Transfer Protocol)
SMTP協議爲系統之間傳送電子郵件。
TELNET:終端協議(Telnet Terminal Procotol)
容許用戶以虛終端方式訪問遠程主機
HTTP: 超文本傳輸協議(Hypertext Transfer Procotol)
TFTP: 簡單文件傳輸協議(Trivial File Transfer Protocol)
二、TCP/IP協議的核心部分是傳輸層協議(TCP、UDP),網絡層協議(IP)和物理接口層,這三層一般是在操做系統內核中實現。一般用戶的服務須要經過應用程序來實現,因此在底層與應用層就是經過套接字來實現,也就是咱們一般所說的Socket來創建鏈接的。具體以下圖所示:
TCP/IP協議核心與應用程序關係如上圖所示,因此對照這個圖來理解咱們的應用層開發,就直觀多了,特別是對一些應用進行性能測試時,基於什麼協議來通訊,分析也會駕輕就熟了。