ip層接收由更低層(網路介面層例如乙太網裝置驅動程式)發來的資料報,並把該資料報傳送到更高層---tcp或udp層;相反,ip層也把從tcp或udp層接收來的資料報傳送到更低層。ip資料報是不可靠的,因為ip並沒有做任何事情來確認資料報是按順序傳送的或者沒有被破壞。ip資料報中含有傳送它的主機的位址(源位址)和接收它的主機的位址(目的位址)。
高層的tcp和udp服務在接收資料報時,通常假設包中的源位址是有效的。也可以這樣說,
ip位址形成了許多服務的認證基礎,這些服務相信資料報是從乙個有效的主機傳送來的。ip確認包含乙個選項,叫作ip source routing,可以用來指定一條源位址和目的位址之間的直接路徑。對於一些tcp和udp的服務來說,使用了該選項的ip包好像是從路徑上的最後乙個系統傳遞過來的,而不是來自於它的真實地點。這個選項是為了測試而存在的,說明了它可以被用來欺騙系統來進行平常是被禁止的連線。那麼,許多依靠ip源位址做確認的服務將產生問題並且會被非法入侵。
tcp是面向連線的通訊協議,通過
三次握手建立連線,通訊完成時要拆除連線,由於tcp是面向連線的所以只能用於點對點的通訊。
tcp提供的是一種可靠的
資料流服務,採用「帶重傳的肯定確認」技術來實現傳輸的可靠性。tcp還採用一種稱為「滑動視窗」的方式進行流量控制,所謂視窗實際表示接收能力,用以限制傳送方的傳送速度。
如果ip資料報中有已經封好的tcp資料報,那麼ip將把它們向『上』傳送到tcp層。tcp將包排序並進行錯誤檢查,同時實現虛電路間的連線。tcp資料報中包括序號和確認,所以未按照順序收到的包可以被排序,而損壞的包可以被重傳。
tcp將它的資訊送到更高層的應用程式,例如telnet的服務程式和客戶程式。應用程式輪流將資訊送回tcp層,tcp層便將它們向下傳送到ip層,裝置驅動程式和物理介質,最後到接收方。
面向連線的服務(例如telnet、ftp、rlogin、x windows和smtp)需要高度的可靠性,所以它們使用了tcp。dns在某些情況下使用tcp(傳送和接收
網域名稱資料庫),但使用udp傳送有關單個主機的資訊。
udp是面向無連線的通訊協議,udp資料報括目的埠號和源埠號資訊,由於通訊不需要連線,所以可以實現廣播傳送。
udp通訊時不需要接收方確認,屬於不可靠的傳輸,可能會出丟包現象,實際應用中要求程式設計師程式設計驗證。
udp與tcp位於同一層,但它不管資料報的順序、錯誤或重發。因此,udp不被應用於那些使用虛電路的面向連線的服務,udp主要用於那些面向查詢---應答的服務,例如nfs。相對於ftp或telnet,這些服務需要交換的資訊量較小。使用udp的服務包括ntp(網路時間協議)和dns(dns也使用tcp)。
欺騙udp包比欺騙tcp包更容易,因為udp沒有建立初始化連線(也可以稱為握手)(因為在兩個系統間沒有虛電路),也就是說,與udp相關的服務面臨著更大的危險。
IP位址的概念和作用簡析
作者blog http hwycheng.blogchina.com ip位址的概念?ip 位址是我們進行tcp ip通訊的基礎,每個連線到網路上的計算機都必須有乙個ip位址。我們目前使用的ip位址是32位的,通常以點分十進位制表示。例如 192.168.0.181。ip位址的格式為 ip位址 網路...
IP位址的概念和作用簡析
作者blog http hwycheng.blogchina.com ip位址的概念?ip 位址是我們進行tcp ip通訊的基礎,每個連線到網路上的計算機都必須有乙個ip位址。我們目前使用的ip位址是32位的,通常以點分十進位制表示。例如 192.168.0.181。ip位址的格式為 ip位址 網路...
B5 簡析推送通知概念
一 遠端推送通知 二 極光推送通知 jpush ios push 包括 2 個部分,apns 推送 與 jpush 應用內訊息。1 apns 推送,jpush 開發者的應用 需要基於開發者提供的應用證書 向蘋果 apns 伺服器推送。由 apns server 推送到 ios 裝置上。三 本地推送通...