網絡傳輸的參考模型有兩種,一種是OSI(Open System InetConnection)參考模型,其有七層,另一種是TCP/IP參考模型,被減壓成四層。OSI模型在當下以基本被TCP/IP模型所取代,因其造價太昂貴,沒多少公司用得起。如下圖所示:
數據在傳輸的過程中是以包的形式一包一包傳的,故數據包是一個信息單位,作為一個整體,從網絡中的一個設備傳送給另一個設備。數據包創建於應用層,然后經過下面六層的一層層包裝,以增加自己的信息(信頭),最后通過網線或光纖發給對方的物理層,然后又再向上一次一次的拆包。
應用層(http,https,ftp,smtp,pop,TELENT,DNS)
- http:超文本傳輸協議,使用瀏覽器查詢web服務器之間傳輸的協議
- ftp:文件傳輸協議,實現網上與主機之間文件交換的協議
- smtp:簡單郵件傳輸協議,定義了郵件如何在郵件服務器之間傳輸的協議
- pop:郵件協議,定義了將用戶從郵件服務器下載到本地服務器的協議
- Telent:遠程登陸協議,遠程使用網 上其他計算機使用的協議,以獲取其他計算機上運行或存儲的信息
- DNS:域名系統,實現域名到IP地址之間的轉換
傳輸層(TCP/UDP,都屬於網絡通信協議)
- UDP(
①將數據以及數據源封裝成數據包,不需要建立連接
②每個數據包的大小限制在64K中
③因為是無連接,是不可靠協議,容易丟失數據包
④不需要建立連接,所以速度快
)
- TCP(
①建立連接,形成傳輸數據的通道
②在連接中進行大數據的傳輸
③通過三次握手完成連接,四次揮手斷開連接是可靠協議
④必須面向連接,所以效率會低
)
網絡層(ip,ARP,RARP,ICMP)
- IP:因特網上的每台計算機和其它設備都規定了一種地址,叫做“IP 地址”。
- ARP:地址轉換協議,完成IP地址到物理地址的轉化
- RARP:反向地址轉換協議,完成物理地址到IP地址的轉換
- ICMP:控制報文協議,發送消息,並且報告數據包的傳送錯誤
ipv4是第一個被廣泛應用的ip,IP是TCP/IP協議族中網絡層的協議,是TCP/IP協議族的核心協議。ipv4的地址長度規定為32位,分為四段,每段8位且以點隔開,並以十進制形式表示,故每段的數值范圍為0~255,即最小的為0.0.0.0,最大為255.255.255.255。由於ipv4位數使得其地址資源已被分配完,故產生了ipv6。ipv6的長度是ipv4的四倍,以十六進制形式表示,其被分為8段,每段以冒號隔開。如ABCD:EF01:2345:6789:ABCD:EF01:2345:6789。Ubuntu下輸入指令ifconfig -a|grep "inet.*\ "查詢,如下圖所示:
什么是端口號?
這里說的端口號指的是邏輯端口,邏輯端口是指邏輯意義上用於區分服務的端口,如TCP/IP協議中的服務端口,端口號的范圍從0到65535,比如用於瀏覽網頁服務的80端口,用於FTP服務的21端口等。ip地址用於區分不同的主機,而端口號是用於區分一個主機下的不同網絡服務。
什么是MAC地址?
MAC(Media Access Control或者Medium Access Control)地址意譯為媒體訪問控制,或稱為物理地址、硬件地址,用來定義網絡設備的位置。在OSI模型中,第三層網絡層負責 IP地址,第二層數據鏈路層則負責 MAC地址。每個主機都有一個屬於自己唯一的MAC地址,其由網卡決定,在出廠時就已被設定好,故其是固定不可變的。MAC地址共48位,由16進制的數字組成,分為前24位和后24位,共分位6段,每段以冒號隔開,下圖是我Linux下查詢得到的MAC地址。