上軟體工程的時候,課本知識嘛是一點都沒聽,廢話記住不少
單獨記一下四層網路協議,畢竟和課本知識不一樣
參考osi與tcp
1.osi七層和tcp/ip四層的關係
1.1 osi引入了服務、介面、協議、分層的概念,tcp/ip借鑑了osi的這些概念建立tcp/ip模型。
1.2 osi先有模型,後有協議,先有標準,後進行實踐;而tcp/ip則相反,先有協議和應用再提出了模型,且是參照的osi模型。
1.3 osi是一種理論下的模型,而tcp/ip已被廣泛使用,成為網路互聯事實上的標準。
tcp:transmission control protocol 傳輸控制協議
udp:user data protocol 使用者資料報協議
ip層傳輸單位是ip分組,屬於點到點的傳輸;tcp層傳輸單位是tcp段,屬於端到端的傳輸
udp 是無連線的,即傳送資料之前不需要建立連線。
udp 使用盡最大努力交付,即不保證可靠交付,同時也不使用擁塞控制。
udp 是面向報文的。udp沒有擁塞控制,很適合多**通訊的要求。
udp 支援一對
一、一對多、多對一和多對多的互動通訊。
udp 的首部開銷小,只有 8 個位元組
tcp 提供可靠交付的服務,保證資料無差錯、不丟失、不重複、按序到達。
tcp 提供全雙工通訊。
tcp雖然是面向位元組流的,但tcp傳送的資料單元卻是報文段。乙個tcp 報文段分為首部和資料兩部分
1、第乙個4位元組:
(1)源埠,16位;傳送資料的源程序埠
(2)目的埠,16位;接收資料的程序埠
2、第二個4位元組與第三個4位元組
(1)序號,32位;代表當前tcp資料段第乙個位元組佔整個位元組流的相對位置;
(2)確認號,32位;代表接收端希望接收的資料序號,為上次接收到資料報的序號+1,當ack標誌位為1時才生效。
3、第四個4位元組:
(1)資料偏移,4位;實際代表tcp首部長度,最大為60位元組。
(2)6個標誌位,每個標誌位1位;
syn,為同步標誌,用於資料同步;
ack,為確認序號,ack=1時確認號才有效;
fin,為結束序號,用於傳送端提出斷開連線;
urg,為緊急序號,urg=1是緊急指標有效;
psh,指示接收方立即將資料提交給應用層,而不是等待緩衝區滿;
rst,重置連線。
(3)視窗值,16位;標識接收方可接受的資料位元組數。詳解可參看:
4、第五個4位元組
(1)校驗和,16位;用於檢驗資料完整性。
(2)緊急指標,16位;只有當urg標識位為1時,緊急指標才有效。緊急指標的值與序號的相加值為緊急資料的最後乙個位元組位置。用於傳送緊急資料。
1、第乙個4位元組(也就是第一行):
(1)版本號(version),4位;用於標識ip協議版本,ipv4是0100,ipv6是0110,也就是二進位制的4和6。
(2)首部長度(internet header length),4位;用於標識首部的長度,單位為4位元組,所以首部長度最大值為:(2^4 - 1) * 4 = 60位元組,但一般只推薦使用20位元組的固定長度。
(3)服務型別(type of service),8位;用於標識ip包的優先順序,但現在並未使用。
(4)總長度(total length),16位;標識ip資料報的總長度,最大為:2^16 -1 = 65535位元組。
2、第二個四位元組:
(1)標識(identification),16位;用於標識ip資料報,如果因為資料鏈路層幀資料段長度限制(也就是mtu,支援的最大傳輸單元),ip資料報需要進行分片傳送,則每個分片的ip資料報標識都是一致的。
(2)標誌(flag),3位,但目前只有2位有意義;最低位為mf,mf=1代表後面還有分片的資料報,mf=0代表當前資料報已是最後的資料報。次低位為df,df=1代表不能分片,df=0代表可以分片。
(3)片偏移(fragment offset),13位;代表某個分片在原始資料中的相對位置。
3、第三個四位元組:
(1)生存時間(ttl),8位;以前代表ip資料報最大的生存時間,現在標識ip資料報可以經過的路由器數。
(2)協議(protocol),8位;代表上層傳輸層協議的型別,1代表icmp,2代表igmp,6代表tcp,17代表udp。
(3)校驗和(header checksum),16位;用於驗證資料完整性,計算方法為,首先將校驗和位置零,然後將每16位二進位制反碼求和即為校驗和,最後寫入校驗和位置。
4、第四個四位元組:源ip位址
網路程式設計的四層協議
應用層協議 與網路相關的程式,通過網路與其他程式通訊,使用的資料格式規範。比如瀏覽器向伺服器發請求獲取網頁資料,此時傳送的請求報文 皇室信件 就需要遵循http協議 按http協議的要求填寫字段 常見的應用層協議有 http 80埠 主要用於普通瀏覽。https 443埠 http協議的安全版本。f...
網路協議 網路層
ip位址有32位,由位址型別 網路號和主機號3部分組成,每類位址中都有一段位址為私有ip位址段,由每個域網內自由分配 結構範圍 私有ip位址段 用途a類 0 7位網路號 24位主機號 0.0.0.0 127.255.255.255 10.0.0.0 10.255.255.255 一般用於大型網路 b...
網路層協議
主要解決問題 通過位於不同主機中的多個應用程序之間的通訊和協同工作來完成 應用層的許多協議都是基於客戶伺服器方式,描述的是程序之間服務和被服務的關係。dns出現原因 使用者與網際網路上的某台主機進行通訊時,需要知道主機的ip位址,但ip位址長達32位。所以使用網域名稱來記憶。dns是用於網域名稱和i...