『壹』 [計算機網路之六] 傳輸層
傳輸層向它上面的應用層提供通信服務,它屬於面向通信部分的最高層,同時也是用戶功能中的最底層。
從傳輸層的角度,通信的真正端點並不是主機而是主機中的進程。
傳輸層有 分用 和 復用 的功能。 「復用」 是指在發送方不同的應用進程都可以使用同一個運輸層協議傳送數據, 「分用」 是指接收方的運輸層在剝去報文的首部後能夠把這些數據正確交付目的應用進程。
網路層和運輸層有明顯的區別,網路層為主機之間提供邏輯通信,而運輸層為應用進程之間提供端到端的邏輯通信。
知名埠號 :0~1023
登記埠號 :1024~49151
客戶端短暫埠號 :49152~65535
① 無連接。 發送數據之前不需要建立連接,因此減少了開銷和發送數據之前的時延。
② 盡最大努力交付。 即不保證可靠交付,因此主機不需要維持復雜的連接狀態表。
③ 面向報文的。 對應用層交下來的報文,既不合並,也不拆分,而是保留這些報文的邊界,UDP 一次交付一個完整的報文。
用戶數據報 UDP 有兩個欄位:數據欄位和首部欄位。首部欄位很簡單,只有 8 個位元組,由四個欄位組成,每個欄位的長度都是兩個位元組。各欄位意義如下:
① 源埠 在需要對方回信時選用。不需要時可用全0。
② 目的埠 目的埠號。這在終點交付報文時必須使用。
③ 長度 用戶數據報的長度,最小值為 8 (僅有首部)。
④ 檢驗和 檢測用戶數據報在傳輸中是否有錯。有錯就丟棄。
用戶數據報首部檢驗和的計算和校驗都要計算出一個偽首部。
① 面向連接。
應用程序在使用 TCP 協議之前,必須先建立 TCP 連接;傳送數據完畢後,必須釋放已經建立的 TCP 連接。類似於打電話:通話前要先撥號建立連接,通話結束後要掛機釋放連接。
② 一對一。
TCP 連接只能是點對點的(一對一)。
③ 可靠交付。
通過 TCP 連接傳送的數據,無差錯、不丟失、不重復,並且按序到達。
④ 全雙工通信。
通信雙方的應用進程在任何時候都能發送和接收數據,TCP 連接的兩端都設有發送緩存和接收緩存,用來臨時存放雙向通信的數據。
⑤ 面向位元組流。
TCP 中的 「流」 指的是流入到進程或從進程流出的位元組序列。
「面向位元組流」 的含義:雖然應用程序和 TCP 的互動式一次一個數據塊(大小不等),但 TCP 把應用程序交下來的數據僅僅看成是一連串無結構的位元組流。TCP 並不知道所傳送的位元組流的含義。TCP 不保證接收方應用程序鎖收到的數據塊和發送方應用程序所發出的數據塊具有對應的大小關系。但接收方應用程序收到的位元組流必須和發送方應用程序發出的位元組流完全一樣,當然接收方的應用程序必須有能力識別收到的位元組流,把它還原成有意義的應用層數據。
TCP 連接是協議軟體提供的一種抽象,每一條 TCP 連接唯一地被通信兩端的兩個端點(即兩個套接字)所確定,即:
TCP 連接 ::= {socket1, socket2} = {(IP1: port1), (IP2: port2)}
IP1 和 IP2 分別是兩個端點主機的 IP 地址,port1 和 port2 分別是兩端端點主機中的埠號。
網路只能提供最大努力的服務,是不可靠的,因此 TCP 必須採用適當的措施才能使得兩個運輸層之間的通信變得可靠。當出現差錯時讓發送方重傳出現差錯的數據,同時在接收方來不及處理收到的數據時,及時告知發送方適當降低發送數據的速度,這樣就可以在不可靠的傳輸信道實現可靠傳輸。
ARQ(Auto Repeat-reQuest):自動重傳請求。
發送方每發送完一個分組就停止發送,等待接收方確認,在收到確認後再發送下一個分組。
A 是發送方,B 是接收方。
A 每發送一個分組後,等待 B 對該分組的確認後,再接著發送下一個分組。
【發送方】A 發送的分組在傳輸過程中出錯,可能是丟失了,也可能是分組受到干擾出錯了
【接收方】這時 B 直接丟棄分組,什麼也不做(也不通知 A 受到的分組有差錯)。
【解決方案】發送方在每發送完一個分組時設置一個 超時計數器 ,只要超過一段時間仍然沒有接收到確認,就認為剛才發送的分組丟失了,因而重傳前面發送過的分組,這叫 超時重傳 。反之在超時計時器到期之前收到了相應的確認,就撤銷該超時計時器。
第一,A 在發送完一個分組後, 必須暫時保留已發送的分組的副本 (在發生超時重傳時使用)。只有在收到相應的確認後才能清楚暫時保留的分組副本。
第二,分組和確認分組都必須進行 編號 。這樣才能明確是哪一個發送出去的分組受到了確認,而哪一個分組還沒有收到確認。
第三,超時計時器設置的 重傳時間應當比數據在分組傳輸的平均往返時間更長一些 。
【發送方】超時重傳時間內沒有收到確認報文,無法確認是發送出錯、丟失,還是接收方的確認丟失,超時計時器到期後就要重傳。
【接收方】丟棄收到的重復分組,不向上層交付;向發送方發送確認。
【發送方】收下遲到的確認,並且丟棄
發送方大部分時間都在等待確認,信道的利用率低
使用流水線的 ARQ 可以提高信道利用率
【發送方】維持一個發送窗口,位於發送窗口內的分組都可連續發送出去,而不需要等待對方的確認。
回退N幀協議 :如果發送方發送了多個分組,但中間的某個分組丟失了,這時接收方只能對丟失分組之前的分組發出確認,而發送方無法知道丟失分組及後面分組的接收情況,只好把丟失分組及後面的分組重傳一次,這叫 Go-back-N ,表示需要再退回來重傳已發送過的 N 個分組。
前面 20 個位元組固定,因此 TCP 首部最小長度是 20 位元組。
TCP 的滑動窗口以位元組為單位,窗口後沿的部分表示已發送且已收到通知,窗口裡的序號表示允許發送的序號,窗口前沿之前的數據暫時不允許發送,需要等待收到接收方的確認後前沿往前移才可發送。
描述一個發送窗口需要三個指針:P1、P2 和 P3,如圖所示:
小於 P1 的是已發送並已收到確認的部分,而大於 P3 的是不允許發送的部分。
P3 - P1 = A 的發送窗口
P2 - P1 = 已發送但尚未收到確認的位元組數
P3 - P2 = 允許發送但當前尚未發送的位元組數(又稱為 可用窗口 或 有效窗口 )
接收方 B 接收窗口大小為20,因為未收到 31 的數據,即使已收到後面的序號 32、33 的數據,返回的確認號仍然是 31。
現在接收方收到了 31、32、33,並返回確認號 33,接收窗口往前滑動 3 個序號,發送方接收到確認,發送窗口也向前滑動 3 個序號大小,現在 A 可以發送序號 51~53 的數據了。
當發送方將發送窗口內的數據都發送出去,但是接收方的確認可能由於網路擁塞滯留,這時發送方發送窗口已滿,可用窗口為 0,只能等待接收方的確認報文到達。
TCP 為了保證可靠傳輸,要求必須受到對已發送報文的確認,如果超過一定時間未受到確認報文,則重傳已發送的報文。這個時間就叫 超時重傳時間 ,很明顯超時重傳時間的大小設置應該更貼近網路的實際情況,如果網路狀況好,就設短一點,否則使網路的空閑時間增大,降低了傳輸效率;網路差就設長一點,否則會引起很多不必要的重傳,使網路負荷增大。
TCP 採用了一種自適應的演算法:
RTT(報文段的往返時間)、RTTs(加權平均往返時間),RTTs 的計算公式:
RTTd(RTT 的偏差的加權平均值)、RTO(RetransmissionTime-Out 超時重傳時間):
【場景】TCP 的接收方在接收對方發送過來的數據位元組流的序號不連續,形成一些不連續的位元組塊,如果簡單按照回退N幀協議處理,意味著要重傳第一個未收到的序號數據塊及之後的數據,如果能通知發送方已收到了哪些數據(選擇確認),就可以讓發送方只發送接收方未收到的數據。
流量控制就是讓發送方的發送速率不要太快,要讓接收方來得及接收。
當發送方收到接收方通知,將窗口縮小為 0 時,發送方將暫時不能發送數據了,必須等接收方通知更新接收窗口大小,但是這個通知又有可能丟失,導致發送方沒收到通知。
為了避免雙方互相等待死鎖,TCP 為每個鏈接設有一個 持續計時器 ,只要 TCP 連接的一方收到對方的零窗口通知,就啟動持續計時器。若持續計時器設置的時間到期,就發送一個零窗口 探測報文段 (僅攜帶 1 位元組的數據),而對方就在確認這個探測報文段時給出了現在的窗口值。如果窗口仍然是零,那麼受到這個報文段的一方就重新設置持續計時器;如果窗口不是零,那麼死鎖的僵局就可以打破了。
【優點】提高網路利用率
【缺點】可能會發生某種程度的延遲
【場景】接收數據的主機如果每次都立刻回復確認應答的話,可能會返回一個較小的窗口,因為接收方剛接收完數,緩沖區已滿。
【糊塗窗口綜合征問題】
TCP 接收方緩存已滿,而互動式的應用進程一次只從接收緩存中讀取 1 個位元組(這樣就使接收緩存空間僅騰出 1 個位元組),然後向發送方發送確認,並把窗口設置為 1 個位元組(但發送的數據報是 40 位元組長,TCP 首部 + IP 數據報首部)。接著,發送方又發來 1 個位元組的數據(注意發送方發送的 IP 數據報是 41 位元組長)。接收方發回確認,仍然將窗口設置為 1 個位元組。這樣進行下去,使網路的效率很低。
TCP 文件傳輸中,就採用了兩個數據段返回一次確認應答,並且等待一定時間後沒有其他數據包到達時也依然發送確認應答。
當對網路中某一資源的需求超過了該資源所能提供的可用部分,網路的性能就要變壞,這種情況就叫做 擁塞 。
慢開始(slow-start)、擁塞避免(congestion avoidance)、快重傳(fast retransmit)和快恢復(fast recovery)。
【演算法思路】
當主機開始發送數據時,由於並不清楚網路的負荷情況,所以如果立即把大量數據位元組注入網路,那麼就有可能引起網路發生擁塞。較好的方法是先探測一下,即 由小到大逐漸增大發送窗口 ,也就是說, 由小到大逐漸增大擁塞窗口數值 。
【處理過程】
慢開始門限值 ssthresh 決定了擁塞窗口達到多大時要執行什麼演算法。
① 當 cwnd < ssthresh 時,使用慢開始演算法;
② 當 cwnd > ssthresh 時,停止使用慢開始演算法而改用擁塞避免演算法;
③ 當 cwnd = ssthresh 時,既可使用慢開始演算法,也可使用擁塞避免演算法。
在擁塞窗口 cwnd 達到門限值之前,發送方每一輪次收到確認應答後,cwnd 就增大為原來的兩倍;達到門限值後,執行擁塞避免演算法。
PS. 慢開始只是表示初始發送數據少,不代表發送速率增長速度慢,實際上是指數級增長非常快。
【演算法思路】
讓擁塞窗口 cwnd 緩慢地增大,即每經過一個往返時間 RTT 就把發送方的擁塞窗口 cwnd 加 1,而不是像慢開始階段那樣加倍增長。擁塞避免階段有 「加法增大」 的特點,按線性規律緩慢增長,使網路比較不容易出現擁塞 。
【處理過程】
在執行擁塞避免演算法階段,當網路出現超時時,發送方判斷為網路擁塞,調整門限值為當前擁塞窗口的一半,即 ssthresh = cwnd / 2,同時擁塞窗口重置為 1,即 cwnd = 1,進入慢開始階段。
【演算法原理】
① 快重傳
【場景】有時,個別報文段會在網路中丟失,但實際上網路並未發生擁塞。如果發送方遲遲收不到確認,就會產生超時,就會誤認為網路發生了擁塞,導致發送方錯誤地啟動慢開始,把擁塞窗口 cwnd 又設置為 1,因而降低了傳輸效率。
【方案】接收方不要等待自己發送數據時才進行捎帶確認,而是要立即發送確認,即使收到了失序的報文段也要立即發出對已收到的報文段的重復確認,當發送方 一連收到 3 個重復確認 ,就知道接收方確實沒有收到某個報文段,因而應當 立即進行重傳 。
② 快恢復:
發送方知道只是丟失了個別的報文段,於是不啟動慢開始,而是執行快恢復演算法,調整發送方門限值 ssthresh = cwnd / 2,同時設置擁塞窗口 cwnd = ssthresh = 8,並開始執行擁塞避免演算法。
擁塞控制的流程如下:
擁塞窗口 cwnd,接收方窗口 rwnd, 發送方發送窗口的上限值 = Min[rwnd, cwnd] 。
① 當 rwnd < cwnd,接收方的接收能力限制發送方窗口大小;
② 當 cwnd < rwnd,網路的擁塞程度限制發送方窗口大小。
【問題背景】
路由器採取分組丟棄策略,即按照 先進先出(FIFO) 規則處理分組,當隊列已滿時,則丟棄後面到達的分組,這叫 尾部丟棄策略 。
丟失的分組會導致發送方出現超時重傳,發送方轉而執行慢開始演算法,不同分組屬於不同 TCP 連接,導致很多 TCP 同時進入慢開始狀態,這種現象稱為 全局同步 。
【解決方案】
主動隊列管理 AQM:不等到路由器的隊列長度已經達到最大值時才不得不丟棄後面到達的分組,而是在隊列長度達到某個警惕值時就主動丟棄到達的分組,這樣就提醒了發送方放慢發送的速率,因而有可能使網路擁塞的程度減輕,甚至不出現網路擁塞。
TCP 是面向連接的協議,運輸連接有三個階段: 連接建立、數據傳送、連接釋放 。
TCP 連接建立過程要解決的幾個問題:
① 使每一方能夠確知對方的存在;
② 允許雙方協商一些參數(如最大窗口值、是否使用窗口擴大選項和時間戳選項以及服務質量等);
③ 能夠對運輸實體資源(如緩存大小、連接表中的項目等)進行分配。
TCP 建立連接的過程叫做握手,握手需要在客戶和伺服器之間交換三個 TCP 報文段,即 三次握手 。
最初客戶端和服務端都處於 CLOSED(關閉) 狀態,A(Client)主動打開連接,B(Server)被動打開連接。
一開始,B 的 TCP 伺服器進程先創建 傳輸控制塊 TCB ,准備接受客戶進程的連接請求。然後伺服器進程就處於 LISTEN(收聽)狀態,等待客戶端的連接請求。如有,即作出響應。
第一次握手 :A 的 TCP 客戶進程也是首先創建傳輸控制塊 TCB,准備接受客戶進程的連接請求。然後在打算建立 TCP 連接時,向 B 發出連接請求報文段,這時首部中的同步位 SYN = 1,同時選擇一個初始序號 seq = x。TCP 規定,SYN 報文段(即 SYN = 1 的報文段)不能攜帶數據,但要 消耗掉一個序號 。這時,TCP 客戶進程進入 SYN-SENT(同步已發送) 狀態。
第二次握手 :B 收到連接請求報文段後,如同意建立連接,則向 A 發送確認。在確認報文段中應把 SYN 位和 ACK 位都置 1,確認號是 ack = x + 1,同時也為自己選擇一個初始序號 seq = y。請注意,這個報文段也不能攜帶數據,但同樣 要消耗掉一個序號 。這時 TCP 伺服器進程進入 SYN-RCVD(同步收到) 狀態。
第三次握手 :TCP 客戶進程收到 B 的確認後,還要向 B 給出確認。確認報文段的 ACK 置 1,確認號 ack = y + 1,而自己的序號 seq = x + 1。TCP 的標准規定,ACK 報文段可以攜帶數據。但 如果不攜帶數據則不消耗序號 ,在這種情況下,下一個數據報文段的序號仍是 seq = x + 1。這時,TCP 連接已經建立,A 進入 ESTABLISHED(已建立連接) 狀態。當 B 收到 A 的確認後,也進入 ESTABLISHED(已建立連接)狀態。
數據傳輸結束後,通信的方法都可釋放連接。現在 A 和 B 都處於 ESTABLISHED 狀態。
第一次揮手 :A 的應用進程先向其 TCP 發出連接釋放報文段,並停止再發送數據,主動關閉 TCP 連接。A 把連接釋放報文段首部的終止控制位 FIN 置 1,其序號 seq = u,它等於前面已傳送過的數據的最後一個位元組的序號加 1。這時 A 進入 FIN-WAIT-1(終止等待 1)狀態,等待 B 的確認。請注意,TCP 規定,FIN 報文段即使不攜帶數據,它也消耗掉一個序號。
第二次揮手 :B 收到連接釋放報文後即發出確認,確認號是 ack = u + 1,而這個報文段自己的序號是 v,等於 B 前面已傳送過的最後一個位元組的序號加 1。然後 B 就進入 CLOSE-WAIT(關閉等待)狀態。TCP 伺服器進程這時應通知高層應用程序,因而從 A 到 B 這個方向的連接就釋放了,這時的 TCP 連接處於半關閉(half-close)狀態,即 A 已經沒有數據要發送了,但 B 若發送數,A 仍要接收。也就是說,從 B 到 A 這個方向的連接並未關閉,這個狀態可能會持續一段時間。A 收到來自 B 的確認後,就進入 FIN-WAIT-2(終止等待 2)狀態,等待 B 發出的連接釋放報文段。
第三次揮手 :若 B 已經沒有要向 A 發送的數據,其應用進程就通知 TCP 釋放連接。這時 B 發出的連接釋放報文段必須使 FIN = 1。現假定 B 的序號為 w(在半關閉狀態 B 可能又發送了一些數據)。B 還必須重復上次已發送過的確認號 ack = u + 1。這時 B 就進入 LAST-ACK(最後確認)狀態,等待 A 的確認。
第四次揮手 :A 在收到 B 的連接釋放報文段後,必須對此發出確認。在確認報文段中把 ACK 置 1,確認號 ack = w + 1,而自己的序號是 seq = u + 1(根據 TCP 標准,前面發送過的 FIN 報文段要消耗一個序號)。然後進入 TIME-WAIT(時間等待)狀態。請注意,現在 TCP 連接還沒有釋放掉。必須經過時間等待計時器(TIME-WAIT timer)設置的時間 2MSL 後,A 才進入到 CLOSED 狀態,然後撤銷傳輸控制塊,結束這次 TCP 連接。當然如果 B 一收到 A 的確認就進入 CLOSED 狀態,然後撤銷傳輸控制塊。所以在釋放連接時,B 結束 TCP 連接的時間要早於 A。
『貳』 計算機網路技術:TCP/IP體系結構將網路分為哪幾層TCP/IP體系結構與OSI模型的對應關系是
計算機網路技術:TCP/IP體系結構將網路分為應用層,表示層,會話層,傳輸層,網路層,數據鏈路層,物理層。
TCP/IP體系結構與OSI模型的對應關系是:osi的上三層對應tcp的應用層,傳輸層與網路層是一一對應的。
應用層、表示層、會話層三個層次提供的服務相差不是很大,所以在TCP/IP協議中,它們被合並為應用層一個層次。由於運輸層和網路層在網路協議中的地位十分重要,所以在TCP/IP協議中它們被作為獨立的兩個層次。
(2)計算機網路第61講傳輸層擴展閱讀:
對不同種類的應用程序它們會根據自己的需要來使用應用層的不同協議,郵件傳輸應用使用了SMTP協議、萬維網應用使用了HTTP協議、遠程登錄服務應用使用了有TELNET協議。
在TCP/IP協議中,網路介面層位於第四層。由於網路介面層兼並了物理層和數據鏈路層所以,網路介面層既是傳輸數據的物理媒介,也可以為網路層提供一條准確無誤的線路。
『叄』 計算機網路的參考模型有幾層
OSI(開放系統互連)參考模型七個層次是物理層、數據鏈路層、網路層、傳輸層、會話層、表示層和應用層。
OSI將計算機網路體系結構(architecture)劃分為以下七層:
物理層:將數據轉換為可通過物理介質傳送的電子信號相當於郵局中的搬運工人。
數據鏈路層:決定訪問網路介質的方式。在此層將數據分幀,並處理流控制。本層指定拓撲結構並提供硬體定址,相當於郵局中的裝拆箱工人。哪滲
網路層:使用權數據路由經過大型網路 相當於郵局中的排序工人。
傳輸層:提供終端到終端的可靠連接 相當於公司中跑郵局的送信職員。
會話層:允許用戶使用簡單易記的名稱建立連接 相當於公司中收寄信、寫信封與拆信封的秘書。
表示層:協商數據交換格式,相當公司中簡報老闆、替老闆寫信的助理。
應用層:用戶的應用程序和網路之間的介面。
(3)計算機網路第61講傳輸層擴展閱讀
OSI參考模型的優點
1、分工合作,責任明確
性質相似的工作劃分在同一層,性質相異的工作則劃分到不同層。如此一來,每一層所負責的工作范圍,都區分李緩譽得很清楚,彼此不會重疊。萬一出了問題,很容易判斷是哪一層沒做好,就應該先改善該層的工作,不至於無從著手。
2、對等交談
對等是指所處的層級相同,對等交談意指同一層找同一層談,例如:第3層找第3層談、第4層找第4層談,依此類推。所以某一方的第N層只與對方的第N層交談,是否收到、解讀自己所送出的信息即可,完全不必關心對方的第N-1層或第N+1層會如何做,因為那是由一方的第N-1層與第N+1層來處理。
其實,雙方以對等身份交談是常用的規則,這樣的最大好處是簡化了各層所負責的事情。因此,通信協議是對等個體通信時的一切約定。
3、逐層處理,層層負責
既然層次分得很清楚,處理事情時當然應該按部就班,逐層處理,決不允許越過上一層,或是越過下一層。因此,第N層收到數據後,一定先把數據進行處理,才會將數據向上傳送給第N+1層,如果收到第N+1層傳下來的數據,也是處理無誤後才向下傳給第N-1層。
任何一層收到數據時,都可以相信上一層或下一層已經做完它們該做的事,層級的多少還要考慮效率與實際操作的難易,並非層數越多越好。
『肆』 計算機網路體系分為哪四層
1.、應用層
應用層對應於OSI參考模型的高層,為用戶提供所需要的各種服務,例如:FTP、Telnet、DNS、SMTP等.
2.、傳輸層
傳輸層對應於OSI參考模型的傳輸層,為應用層實體提供端到端的通信功能,保證了數據包的順序傳送及數據的完整性。該層定義了兩個主要的協議:傳輸控制協議(TCP)和用戶數據報協議(UDP).
TCP協議提供的是一種可靠的、通過「三次握手」來連接的數據傳輸服務;而UDP協議提供的則是不保證可靠的(並不是不可靠)、無連接的數據傳輸服務.
3.、網際互聯層
網際互聯層對應於OSI參考模型的網路層,主要解決主機到主機的通信問題。它所包含的協議設計數據包在整個網路上的邏輯傳輸。注重重新賦予主機一個IP地址來完成對主機的定址,它還負責數據包在多種網路中的路由。
該層有三個主要協議:網際協議(IP)、互聯網組管理協議(IGMP)和互聯網控制報文協議(ICMP)。
IP協議是網際互聯層最重要的協議,它提供的是一個可靠、無連接的數據報傳遞服務。
4.、網路接入層(即主機-網路層)
網路接入層與OSI參考模型中的物理層和數據鏈路層相對應。它負責監視數據在主機和網路之間的交換。事實上,TCP/IP本身並未定義該層的協議,而由參與互連的各網路使用自己的物理層和數據鏈路層協議,然後與TCP/IP的網路接入層進行連接。地址解析協議(ARP)工作在此層,即OSI參考模型的數據鏈路層。
(4)計算機網路第61講傳輸層擴展閱讀:
OSI將計算機網路體系結構(architecture)劃分為以下七層:
物理層: 將數據轉換為可通過物理介質傳送的電子信號相當於郵局中的搬運工人。
數據鏈路層: 決定訪問網路介質的方式。
在此層將數據分幀,並處理流控制。本層指定拓撲結構並提供硬體定址,相當於郵局中的裝拆箱工人。
網路層: 使用權數據路由經過大型網路 相當於郵局中的排序工人。
傳輸層: 提供終端到終端的可靠連接 相當於公司中跑郵局的送信職員。
會話層: 允許用戶使用簡單易記的名稱建立連接 相當於公司中收寄信、寫信封與拆信封的秘書。
表示層: 協商數據交換格式 相當公司中簡報老闆、替老闆寫信的助理。
應用層: 用戶的應用程序和網路之間的介面老闆。
『伍』 計算機網路分為幾層
第一層:物理層
解決兩個硬體之間怎麼通信的問題,常見的物理媒介有光纖、電纜、中繼器等。它主要定義物理設備標准,如網線的介面類型、光纖的介面類型、各種傳輸介質的傳輸速消手率等。
第二層:數據鏈路層
數據鏈路層從網路層接收數據包,數據包
包含發送方和接收方的IP地址。數據鏈路層執行兩個基本功能。它允許上層使用成幀之類的各種技術來訪問介質,控制如何放置和接收來自介質的數據。
第三層:網路層
傳輸層將數據段傳遞到網路層。網路層用於將接收到的數據段從一漏敬台計算機傳輸到位於不同網路中的另一台計算機。網路層的數據單元稱為數據包,網路層的功能是邏輯定址、路由和路徑確定。
第四層:傳輸層
OSI下3層的主要任務是數據通信,上3層的任務是數據處理,傳輸層是第四層,因此該層是通信子網和資源子網的介面和橋梁,起到承上啟下的作用。
第五層:會話層
是用戶應用程序和網路之間的介面,主要任務是組織和協調兩個會話進程之間的通信,並對數據交換進行管理。
第六層:表示層
表示層指從應用層接收數據,這些數據是以字元和數字的形式出現的,表示層將這些數據轉換成為機器返橋慎可以理解的二進制格式,也就是封裝數據和格式化數據,例如將ASCII碼轉化為別的編碼,這個功能稱為「翻譯」。
第七層:應用層
是OSI參考模型的最高層,它使計算機用戶以及各種應用程序和網路之間的介面,是網路應用程序所使用的,例如HTTPS協議、HTTP協議,應用層是通過協議為網路提供服務,執行用戶的活動。
『陸』 計算機網路中五層協議它們分別的主要功能是什麼它們具體分別是在哪裡(從硬體層面上談)實現的
1,物理層;其主要功能是:主要負責在物理線路上傳輸原始的二進制數據。
2、數據鏈路層;其主要功能是:主要負責在通信的實體間建立數據鏈路連接。
3、網路層;其主要功能是:要負責創建邏輯鏈路,以及實現數據包的分片和重組,實現擁塞控制、網路互連等功能。
4、傳輸層;其主要功能是:負責向用戶提供端到端的通信服務,實現流量控制以及差錯控制。
5、應用層;其主要功能是:為應用程序提供了網路服務。
物理層和數據鏈路層是由計算機硬體(如網卡)實現的,網路層和傳輸層由操作系統軟體實現,而應用層由應用程序或用戶創建實現。
(6)計算機網路第61講傳輸層擴展閱讀:
應用層是體系結構中的最高層。應用層確定進程之間通信的性質以滿足用戶的需要。這里的進程就是指正在運行的程序。
應用層不僅要提供應用進程所需要的信息交換
和遠地操作,而且還要作為互相作用的應用進程的用戶代理,來完成一些為進行語義上有意義的信息交換所必須的功能。應用層直接為用戶的應用進程提供服務。
傳輸層的任務就是負責主機中兩個進程之間的通信。網際網路的傳輸層可使用兩種不同協議:即面向連接的傳輸控制協議TCP,和無連接的用戶數據報協議UDP。
面向連接的服務能夠提供可靠的交付,但無連接服務則不保證提供可靠的交付,它只是「盡最大努力交付」。這兩種服務方式都很有用,備有其優缺點。在分組交換網內的各個交換結點機都沒有傳輸層。
網路層負責為分組交換網上的不同主機提供通信。在發送數據時,網路層將運輸層產生的報文段或用戶數據報封裝成分組或包進行傳送。
在TCP/IP體系中,分組也叫作IP數據報,或簡稱為數據報。網路層的另一個任務就是要選擇合適的路由,使源主
機運輸層所傳下來的分組能夠交付到目的主機。
『柒』 傳輸層和網路層又什麼區別
在協議棧中,傳輸層位於網路層之上,傳輸層協議為不同主機上運行的進程提供邏輯通信,而網路層協議為不同主機提供邏輯通信。這個區別很微妙,但是卻非常重要。讓我們用一家人作為類比來說明一下這個區別。 設想一下有兩所房子,一個位於東海岸而另一個位於西海岸,每所房子里都住著12個小孩。東海岸的房子里的小孩和西海岸房子里的小孩是堂兄妹。兩所房子里的孩子喜歡互相通信——每個孩子每周都給每一個堂兄妹寫一封信,每一封信都由老式的郵局分別用信封來寄。這樣,每一家每周就都有144封信要送到另一家(這些孩子如果可以用電子郵件的話就可以省掉很多錢了!)在每一家裡面.都由一個孩子——西海岸的房子里的Ann和東海岸房子里的BilI——負責郵件的收集和分發。每周Ann都從她的兄弟姐妹那裡收集起來信件,並將這些信件送到每天都來的郵遞服務員那裡。當信件到達西海岸的房子,Ann又將這些信件分發給她的兄弟姐妹。BilI在東海岸有著同樣的工作。 在這個例於中,郵遞服務提供著兩所房子之間的邏輯通信——郵遞服務在兩所房子之間傳遞郵件,而不是針對每個人的服務。另一方面,Ann和BilI提供堂兄妹之間的邏輯通信——Ann和BilI從他們的兄弟姐妹那裡收集郵件並將郵件遞送給他們。注意,從這些堂兄妹的角度看,Ann和BilI是郵件的服務人,盡管他們倆只是端到端寄送服務的一部分(終端系統部分)。這個例子是傳輸層和網路層之間的關系的一個形象比喻: 主機(也稱為終端系統)=房子 進程=堂兄妹 應用程序消息=信封里的信 網路層協議=郵遞服務(包括郵遞員) 傳輸層協議=Ann和Bill 繼續我們的這個例子,Ann和Bill各自在他們的家中做所有的工作:他們不負責各個郵遞中心的郵件分類工作以及將郵件從一個中心送到另一個中心的工作。這正與傳輸層協議在終端系統中的作用一樣。在一個終端系統中,傳輸層協議將應用進程的消息傳送到網路邊緣(也就是網路層),反之亦然:但是它並不涉及消息是如何在網路層之間傳送的工作。事實上,正如圖1中所說的,中間路由器對於傳輸層加在應用程序消息上的信息不能做任何識別和處理。 繼續我們的例子,假設Ann和Bill都去度假了,另外一對堂兄妹——Susan和Harvey代替——他們來提供家庭內部的郵件收取和分發工作。不幸的是,Susan和Harvey所提供的收集和分發工作與Ann和Bill所提供的不完全相同。對於年齡更小的Susan和Harvey來說,他們收集和分發郵件的頻率比較少,而且偶爾會發生丟失信件的事情(這些信件偶爾被家裡的狗吃掉了)。這樣,這一對堂兄妹Susan和Harvey提供了一套不同於Ann和Bill的服務(也就是說,服務模型不同)。打比方來說,正如一個計算機網路可以接受不同的傳輸層協議一樣,每一個協議為應用程序提供不同的服務模型。 Ann和Bill所可能提供服務明顯地受限於郵遞服務所提供的服務。例如,如果郵遞服務並不提供在兩所房子之間傳遞郵件所需要的最大時限(如3天),那麼Ann和Bill也就不能保證各個堂兄妹之間的郵件的最大延遲。同樣,傳輸層協議所提供的服務也通常受限於位於其下方的網路層協議。如果網路層協議不能提供主機之間傳送的4—PDU的延遲和帶寬保證,那麼傳輸層協議也不能提供進程之間傳送的消息的延遲和帶寬保證。 然而,即使當下面的網路層協議使得網路層並不能提供某些相應服務時,傳輸層協議仍然可以提供某些特定服務。例如,即使下面的網路層協議並不是可靠的,也就是說,即使網路層協議丟失、篡改或者復制了傳送的數據包,傳輸層協議也可以提供可靠的數據傳輸服務。另一個例子是,即使網路層不能保證4—PDU的保密性,傳輸層協議也可以通過加密的方式來保證應用程序消息不被入侵吝讀取。我們會在以後的文章里逐漸接觸到這些問題。
『捌』 計算機網路應用層和傳輸層及網路層協議有哪些
計算機網路中應用層、傳輸層和網路層涉及到的一些協議如下:
應用層協議:應用層協議是計算機網路中最高層的協議,用於處理應用程序之間的數據交換。常用的應用層協議包括HTTP、FTP、SMTP、POP3、DNS等。
傳輸層協議:傳輸層協議主要弊祥負責實現數據在網路中的可靠傳輸,通常包括TCP和UDP兩種協議。其中,TCP協議提供面向連接、可靠的數據傳輸,而UDP協議則提供無連接、不可靠的數據傳輸。
網路層協議:網路層協議主要負責實現數據在網路中的路由和轉發,以及網路地址的管桐卜局理。常用的網路層協議包括IP、ICMP、ARP、RARP、OSPF等。其中,IP協議是局讓互聯網中最重要的協議之一,負責實現數據包在網路中的傳輸和路由選擇。
這些協議在計算機網路中各自扮演不同的角色,共同組成了網路通信的基礎框架。應用層協議直接面向用戶應用程序,為其提供數據傳輸和交互的功能;傳輸層協議則通過TCP或UDP協議保證數據的可靠傳輸;網路層協議則實現數據在網路中的路由和轉發,保證數據能夠從源節點到目標節點的可靠傳輸。
-------FunNet超有趣學網路