1. 網路協議確定了計算機網路傳遞和管理信息的規范,其中TCP/IP屬於什麼加急
Transmission Control Protocol/Internet Protocol的簡寫,中譯名為傳輸控制協議/網際網路互聯協議,又名網路通訊協議,是Internet最基本的協議、Internet國際互聯網路的基礎,由網路層的IP協議和傳輸層的TCP協議組成。TCP/IP 定義了電子設備如何連入網際網路,以及數據如何在它們之間傳輸的標准。協議採用了4層的層級結構,每一層都呼叫它的下一層所提供的網路來完成自己的需求。通俗而言:TCP負責發現傳輸的問題,一有問題就發出信號,要求重新傳輸,直到所有數據安全正確地傳輸到目的地。而IP是給網際網路的每一台電腦規定一個地址。
2. 在計算機網路中,TCP實施過程有哪些內容
當應用層向TCP層發送用於網間傳輸的、用8位位元組表示的數據流,TCP則把數據流分割成適當長度的報文段,最大傳輸段大小(MSS)通常受該計算機連接的網路的數據鏈路層的最大傳送單元(MTU)限制。之後TCP把數據包傳給IP層,由它來通過網路將包傳送給接收端實體的TCP層。
TCP為了保證報文傳輸的可靠,就給每個包一個序號,同時序號也保證了傳送到接收端實體的包的按序接收。然後接收端實體對已成功收到的位元組發回一個相應的確認(ACK);如果發送端實體在合理的往返時延(RTT)內未收到確認,那麼對應的數據(假設丟失了)將會被重傳。
正常情況下, tcp需要經過三次握手建立連接, 四次揮手斷開連接,第一次:客戶端 - - > 伺服器 此時伺服器知道了客戶端要建立連接了;第二次:客戶端 < - - 伺服器 此時客戶端知道伺服器收到連接請求了;第三次:客戶端 - - > 伺服器 此時伺服器知道客戶端收到了自己的回應到這里, 就可以認為客戶端與伺服器已經建立了連接。
3. 在計算機網路中TCP流量控制和擁塞控制的作用
控制了帶寬,維持了秩序!!提供一定的QOS ( 網路服務質量)服務!
4. tcp協議的主要功能是什麼
1、完成對數據報的確認、流量控制和網路擁塞。
2、自動檢測數據報,並提供錯誤重發的功能。
3、將多條路徑傳送的數據報按照原來的順序進行排列。
4、控制超時重發,自動調整超時值。
tcp協議簡介:
TCP(Transmission Control Protocol 傳輸控制協議)是一種面向連接的、可靠的、基於位元組流的傳輸層通信協議,由IETF的RFC 793定義。在簡化的計算機網路OSI模型中,它完成第四層傳輸層所指定的功能,用戶數據報協議(UDP)是同一層內 [1] 另一個重要的傳輸協議。
在網際網路協議族(Internet protocol suite)中,TCP層是位於IP層之上,應用層之下的中間層。不同主機的應用層之間經常需要可靠的、像管道一樣的連接,但是IP層不提供這樣的流機制,而是提供不可靠的包交換。
5. TCP/IP網路模型從上至下哪四層組成各層主要功能是什麼
1、組成:應用層、傳輸層、網路層、鏈路層
2、各層主要功能:
應用層:負責向用戶提供應用程序,比如HTTP、FTP、Telnet、DNS、SMTP等。
傳輸層:負責對報文進行分組和重組,並以TCP或UDP協議格式封裝報文。
網路層:負責路由以及把分組報文發送給目標網路或主機。
鏈路層:負責封裝和解封裝IP報文,發送和接受ARP/RARP報文等。
(5)計算機網路tcp傳輸管理擴展閱讀
OSI是開放系統互連參考模型 (Open System Interconnect 簡稱OSI),是國際標准化組織(ISO)和國際電報電話咨詢委員會(CCITT)聯合制定的開放系統互連參考模型,為開放式互連信息系統提供了一種功能結構的框架。
它從低到高分別是:物理層、數據鏈路層、網路層、傳輸層、會話層、表示層和應用層。
而TCP/IP簡單來說就是OSI的簡化版,把OSI的七層簡化為了四層。TCP/IP 定義了電子設備如何連入網際網路,以及數據如何在它們之間傳輸的標准。
協議採用了4層的層級結構,每一層都呼叫它的下一層所提供的協議來完成自己的需求。
6. 如何實現TCP和UDP傳輸
首先我們來看一下什麼是TCP和UDP。
什麼是TCP?
TCP:Transmission Control Protocol 傳輸控制協議TCP是一種面向連接(連接導向)的、可靠的、基於位元組流的運輸層(Transport layer)通信協議,由IETF的RFC 793說明(specified)。在簡化的計算機網路OSI模型中,它完成第四層傳輸層所指定的功能。應用層向TCP層發送用於網間傳輸的、用8位位元組表示的數據流,然後TCP把數據流分割成適當長度的報文段(通常受該計算機連接的網路的數據鏈路層的最大傳送單元(MTU)的限制)。之後TCP把結果包傳給IP層,由它來通過網路將包傳送給接收端實體的TCP層。TCP為了保證不發生丟包,就給每個位元組一個序號,同時序號也保證了傳送到接收端實體的包的按序接收。然後接收端實體對已成功收到的位元組發回一個相應的確認(ACK);如果發送端實體在合理的往返時延(RTT)內未收到確認,那麼對應的數據(假設丟失了)將會被重傳。TCP用一個校驗和函數來檢驗數據是否有錯誤;在發送和接收時都要計算校驗和。
首先,TCP建立連接之後,通信雙方都同時可以進行數據的傳輸,其次,他是全雙工的;在保證可靠性上,採用超時重傳和捎帶確認機制。
在流量控制上,採用滑動窗口協議[1],協議中規定,對於窗口內未經確認的分組需要重傳。
在擁塞控制上,採用慢啟動演算法。
什麼是UDP?
UDP 是User Datagram Protocol的簡稱, 中文名是用戶數據包協議,是 OSI 參考模型中一種無連接的傳輸層協議,提供面向事務的簡單不可靠信息傳送服務。它是IETF RFC 768是UDP的正式規范。在網路中它與TCP協議一樣用於處理數據包。在OSI模型中,在第四層——傳輸層,處於IP協議的上一層。UDP有不提供數據報分組、組裝和不能對數據包的排序的缺點,也就是說,當報文發送之後,是無法得知其是否安全完整到達的。 UDP用來支持那些需要在計算機之間傳輸數據的網路應用。包括網路視頻會議系統在內的眾多的客戶/伺服器模式的網路應用都需要使用UDP協議。UDP協議從問世至今已經被使用了很多年,雖然其最初的光彩已經被一些類似協議所掩蓋,但是即使是在今天,UDP仍然不失為一項非常實用和可行的網路傳輸層協議。
與所熟知的TCP(傳輸控制協議)協議一樣,UDP協議直接位於IP(網際協議)協議的頂層。根據OSI(開放系統互連)參考模型,UDP和TCP都屬於傳輸層協議。
UDP協議的主要作用是將網路數據流量壓縮成數據報的形式。一個典型的數據報就是一個二進制數據的傳輸單位。每一個數據報的前8個位元組用來包含報頭信息,剩餘位元組則用來包含具體的傳輸數據。
TCP和UDP在android中的使用和在Java里是完全一樣的。
首先我們看看TCP連接,下圖為TCP連接的一個示意圖:
TCP傳輸原理
是不是很好理解,這里就不多說了,直接看代碼吧!實踐出真知。
TCP伺服器端代碼:
try { Boolean endFlag = false; ServerSocket ss = new ServerSocket(12345); while (!endFlag) { // 等待客戶端連接 Socket s = ss.accept(); BufferedReader input = new BufferedReader(newInputStreamReader(s.getInputStream())); //注意第二個參數據為true將會自動flush,否則需要需要手動操作output.flush() PrintWriter output = newPrintWriter(s.getOutputStream(),true); String message = input.readLine(); Log.d("Tcp Demo", "message from Client:"+message); output.println("message received!"); //output.flush(); if("shutDown".equals(message)){ endFlag=true; } s.close(); } ss.close(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
TCP客戶端代碼:
try { Socket s = new Socket("localhost", 12345); // outgoing stream redirect to socket OutputStream out = s.getOutputStream(); // 注意第二個參數據為true將會自動flush,否則需要需要手動操作out.flush() PrintWriter output = new PrintWriter(out, true); output.println("Hello IdeasAndroid!"); BufferedReader input = new BufferedReader(newInputStreamReader(s .getInputStream())); // read line(s) String message = input.readLine(); Log.d("Tcp Demo", "message From Server:" + message); s.close(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
下面我們看看UDP:
UDP傳輸原理
UDP伺服器端代碼:
// UDP伺服器監聽的埠 Integer port = 12345; // 接收的位元組大小,客戶端發送的數據不能超過這個大小 byte[] message = new byte[1024]; try { // 建立Socket連接 DatagramSocket datagramSocket = new DatagramSocket(port); DatagramPacket datagramPacket = new DatagramPacket(message, message.length); try { while (true) { // 准備接收數據 datagramSocket.receive(datagramPacket); Log.d("UDP Demo", datagramPacket.getAddress() .getHostAddress().toString() + ":" + new String(datagramPacket.getData())); } } catch (IOException e) { e.printStackTrace(); } } catch (SocketException e) { e.printStackTrace(); }
UDP客戶端代碼:
public static void send(String message) { message = (message == null ? "Hello IdeasAndroid!" : message); int server_port = 12345; DatagramSocket s = null; try { s = new DatagramSocket(); } catch (SocketException e) { e.printStackTrace(); } InetAddress local = null; try { // 換成伺服器端IP local = InetAddress.getByName("localhost"); } catch (UnknownHostException e) { e.printStackTrace(); } int msg_length = message.length(); byte[] messagemessageByte = message.getBytes(); DatagramPacket p = new DatagramPacket(messageByte, msg_length, local, server_port); try { s.send(p); } catch (IOException e) { e.printStackTrace(); } }
代碼中需要注意的地方已做了注釋,希望本文對您有所幫助!
7. tcp是什麼
TCP
英文原義:Transmission Control Protocol
中文釋義:(RFC-793)傳輸控制協議
註解:該協議主要用於在主機間建立一個虛擬連接,以實現高可靠性的數據包交換。IP協議可以進行IP數據包的分割和組裝,但是通過IP協議並不能清楚地了解到數據包是否順利地發送給目標計算機。而使用TCP協議就不同了,在該協議傳輸模式中在將數據包成功發送給目標計算機後,TCP會要求發送一個確認;如果在某個時限內沒有收到確認,那麼TCP將重新發送數據包。另外,在傳輸的過程中,如果接收到無序、丟失以及被破壞的數據包,TCP還可以負責恢復。
傳輸控制協議(Transmission Control Protocol,TCP)是一種面向連接的、可靠的、基於位元組流的運輸層通信協議,通常由IETF的RFC 793說明。在簡化的計算機網路OSI模型中,它完成運輸層所指定的功能。
什麼是TCP/IP?
TCP/IP(Transmission Control Protocol/Internet Protocol) 即傳輸控制協議/網間協議,是一個工業標準的協議集,它是為廣域網(WANs)設計的。它是由ARPANET網的研究機構發展起來的。
有時我們將TCP/IP描述為互聯網協議集\"Internet Protocol Suite\",TCP和IP是其中的兩個協議(後面將會介紹)。由於TCP和IP是大家熟悉的協議,以至於用TCP/IP或IP/TCP這個詞代替了整個協議集。這盡管有點奇怪,但沒有必要去爭論這個習慣。例如,有時我們討論NFS 是基於TCP/IP時,盡管它根本沒用到TCP(只用到IP,和另一種互動式 協議UDP而不是TCP)。
Internet是網路的集合,包括ARPANET、NSFNET、分布在各地的區域網、以及其它類型的網路,如(DDN,Defense Data Network美國國防數據網路),這些統稱為Internet。所有這些大大小小的網路互聯在一起。(因為大多數網路基本協議是由DDN組織開發的,所以以前有時DDN與Internet在某種意義上具有相同的含義)。網路上的用戶可以互相傳送信息,除一些有授許可權制和安全考慮外。一般的講,互聯網協議文檔案是Internet委員會自己採納的基本標准。 TCP/IP標准與其說由委員會指定,倒不如說由\"輿論\"來開發的。 任何人都可以提供一個文檔,以RFC(Request for Comment需求注釋) 方式公布。
TCP/IP的標准在一系列稱為RFC的文檔中公布。文檔由技術專家、特別工作組、或RFC編輯修訂。公布一個文檔時,該文檔被賦予一個RFC量,如RFC959說明FTP、RFC793說明TCP、RFC791說明IP等。 最初的RFC一直保留而從來不會被更新,如果修改了該文檔,則該文檔又以一個新號碼公布。因此,重要的是要確認你擁有了關於某個專題的最新RFC文檔。文後會列出主要的RFC文檔號。
不管怎樣,TCP/IP是一個協議集。為應用提供一些\"低級\"功能,這些包括IP、TCP、UDP。其它是執行特定任務的應用協議,如計算機間傳送文件、發送電子郵件、或找出誰注冊到另外一台計算機。因此, 最重要的\"商業\"TCP/IP服務有:
* 文件傳送File Transfer。
文件傳送協議FTP(File Transfer Protocol)允許用戶從一台計算機到另一台取得文件,或發送文件到另外一台計算機。從安全性方面考慮,需要用戶指定一個使用其它計算機的用戶名和口令。它不同與NFS(Network File System)和Netbios協議。一旦你要訪問另一台 系統中的文件,任何時刻都要運行FTP。而且你只能拷貝文件到自己的機器中去來使用它。(RFC 959中關於FTP的說明)
* 遠程登錄Remote login
網路終端協議TELNET允許用戶登錄到網路上任一計算機上。你可啟動一個遠程進程連接到指定的計算機,直到進程結束,期間你所鍵入的內容被送到所指定的計算機。值得注意的是,這時你實際上是與你的計算機進行對話。TELENET程序使得你的計算機在整個過程中不見了,所敲的每一個字元直接送到所登錄的計算機系統。一般的說,這種遠程連接是通過類式撥號連接的,也就是,撥通後,遠程系統提示你輸入注冊名和口令,退出遠程系統,TELNET程序也就退出,你又與自己的計算機對話了。微電腦中的TELNET工具一般含有一個終端模擬程序。
* 計算機郵件Mail
允許你發送消息給其它計算機的用戶。通常,人們趨向於使用指定的一台或兩台計算機。計算機郵件系統只需你簡單地往另一用戶的郵件文件中添加信息,但隨之產生問題,使用的微電腦的環境不同,還有重要的是宏(MICRO)不適合於接受計算機郵件。為了發送電子郵件,郵件軟體希望連接到目的計算機,如果是微電腦,也許它已關機,或者正在運行另一個應用程序呢?出於這種原因,通常由一個較大的系統來處理這些郵件,也就是一個一直運行著的郵件伺服器。郵件軟體成為用戶從郵件伺服器取回郵件的一個界面。
任何一個的TCP/IP工具提供上述這些服務。這些傳統的應用功能在基於TCP/IP的網路中一直扮演非常重要的角色。目前情況有點變化,這些功能使用也發生變化,如老系統的改造,計算機的發展等,出現了各種安裝版本,如:微電腦、工作站、小型機、和巨型機等。這些計算機好像在一起完成指定的任務,盡管有時看來像是只用到某個指定 的計算機,但它是通過網路得到其它計算機系統的服務。伺服器Server是為網路上其它提供指定服務的系統,客戶Client是得到這種服務的另外計算機系統。(值得注意的是,服務/客戶機不一定是不同的計算機,有可能是同一計算機中的不同運行程序)。以下是幾種目前計算機上典型的一些服務,這些服務可在TCP/IP網路上調用。
* 網路文件系統(NFS)
這種訪問另一計算機的文件的方法非常接近於流行的FTP。網路文件系統提供磁碟或設備服務,而無需特定的網路實用程序來訪問另一系統的文件。可以簡單地認為它是一個外加的磁碟驅動器。這種額外\"虛擬\"磁碟驅動器就是其它計算機系統的磁碟。這非常有用。你只需加大幾台計算機的磁碟容量,就可使網路上其他用戶訪問它,且不說所帶來的經濟效益,它還能夠讓幾台工作的計算機共享相同的文件。它也使得系統維護和備份易如反掌,因為再不必為大量的不同機器上 的文件的升級和備份而擔心。
* 遠程列印(Remote printing)
允許你使用其它計算機上的列印機,好像這些列印機直接連到你的計算機上。
* 遠程執行(Remote execution)
允許你請求運行在不同計算機上的特殊程序。當你在一個很小的計算機上運行一個需要大機系統資源的程序時,這時候遠程執行非常有用。
* 名字伺服器(Name servers)
在一個大的系統安裝過程中,需要用到大量的各種名字,包括用戶名、口令,姓名、網路地址、帳號等,管理這些是非常令人乏味的。因此將這些數據形成資料庫,放到一個小系統中去,其它系統通過網路來訪問這些數據。
* 終端伺服器(Terminal servers)
很多的終端連接安裝不再直接將終端連到計算機,取而代之的是,將他們連接到終端伺服器上。終端伺服器是一個小的計算機,它只需知道怎樣運行TELNET(或其它一些完成遠程登錄的協議)。如果你的終端想連上去,只用鍵入要連的計算機名就可。通常有可能同時有幾個這種連接,這時終端伺服器採用快速開關技術來切換。
上述所描述的一些協議是由Berkeley, Sun,或其它組織定義的。因此,它們不是互聯網協議集(Internet Protocol Suite)的一部分, 只是使用到TCP/IP的工具,如同一般的TCP/IP 應用協議。因為協議的定義不一致,並且商業支持的TCP/IP工具廣泛應用,也許會把這些協議作為互聯協議集中的一部分。上述列出的只是基於TCP/IP部分服務的一些簡單例子,但包含了一些\"主要\"的應用
8. TCP/IP網路體系結構中,各層內分別有什麼協議,每一種協議的作用是什麼
一、TCP/IP網路體系結構中,常見的介面層協議有:
Ethernet 802.3、Token Ring 802.5、X.25、Frame relay、HDLC、PPP ATM等。
1.網路層
網路層包括:IP(Internet Protocol)協議、ICMP(Internet Control Message Protocol) 、控制報文協議、ARP(Address Resolution Protocol)地址轉換協議、RARP(Reverse ARP)反向地址轉換協議。
2.傳輸層
傳輸層協議主要是:傳輸控制協議TCP(Transmission Control Protocol)和用戶數據報協議UDP(User Datagram protocol)。
3.應用層
應用層協議主要包括如下幾個:FTP、TELNET、DNS、SMTP、RIP、NFS、HTTP。
二、TCP/IP網路體系結構中,每一種協議的作用有:
TCP/IP協議不依賴於任何特定的計算機硬體或操作系統,提供開放的協議標准,即使不考慮Internet,TCP/IP協議也獲得了廣泛的支持。所以TCP/IP協議成為一種聯合各種硬體和軟體的實用系統。
2.TCP/IP協議並不依賴於特定的網路傳輸硬體,所以TCP/IP協議能夠集成各種各樣的網路。用戶能夠使用乙太網(Ethernet)、令牌環網(Token Ring Network)、撥號線路(Dial-up line)、X.25網以及所有的網路傳輸硬體。
3.統一的網路地址分配方案,使得整個TCP/IP設備在網中都具有惟一的地址
4.標准化的高層協議,可以提供多種可靠的用戶服務。
9. 誰能簡述TCP/IP體系結構以及主要協議和功能
TCP/IP協議(Transmission Control Protocol/Internet Protocol)叫做傳輸控制/網際協議,又叫網路通訊協議,這個協議是Internet國際互聯網路的基礎。
TCP/IP是用於計算機通信的一組協議,我們通常稱它為TCP/IP協議族。它是70年代中期美國國防部為其ARPANET廣域網開發的網路體系結構和協議標准,以它為基礎組建的INTERNET是目前國際上規模最大的計算機網路,正因為INTERNET的廣泛使用,使得TCP/IP成了事實上的標准。
TCP/IP是網路中使用的基本的通信協議。雖然從名字上看TCP/IP包括兩個協議,傳輸控制協議(TCP)和網際協議(IP),但TCP/IP實際上是一組協議,它包括TCP、IP、UDP、ICMP、RIP、TELNET、FTP、SMTP、ARP、TFTP等許多協議,這些協議一起稱為TCP/IP協議。
TCP/IP由四個層次組成:數據鏈路層、網路層、傳輸層、應用層。
一數據鏈路層
這是TCP/IP軟體的最低層,負責接收IP數據報並通過網路發送之,或者從網路上接收物 理幀,抽出IP數據報,交給IP層。
二網路層
負責相鄰計算機之間的通信。其功能包括三方面:
1、處理來自傳輸層的分組發送請求,收到請求後,將分組裝入IP數據報,填充報頭,選擇去往信宿機的路徑,然後將數據報發往適當的網路介面。
2、處理輸入數據報:首先檢查其合法性,然後進行尋徑--假如該數據報已到達信宿機,則去掉報頭,將剩下部分交給適當的傳輸協議;假如該數據報尚未到達信宿,則轉發該數據報。
3、處理路徑、流控、擁塞等問題。
三傳輸層
提供應用程序間的通信。其功能包括:
1、格式化信息流;
2、提供可靠傳輸。為實現後者,傳輸層協議規定接收端必須發回確認,並且假如分組丟失,必須重新發送。
四應用層
向用戶提供一組常用的應用程序,比如電子郵件、文件傳輸訪問、遠程登錄等。遠程登錄TELNET使用TELNET協議提供在網路其它主機上注冊的介面。TELNET會話提供了基於字元的虛擬終端。文件傳輸訪問FTP使用FTP協議來提供網路內機器間的文件拷貝功能。
OSI七層模型與TCP/IP協議的對應關系。
OSI中的層 功能 TCP/IP協議族
應用層 文件傳輸,電子郵件,文件服務,虛擬終端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet
表示層 數據格式化,代碼轉換,數據加密 沒有協議
會話層 解除或建立與別的接點的聯系 沒有協議
傳輸層 提供端對端的介面 TCP,UDP
網路層 為數據包選擇路由 IP,ICMP,RIP,OSPF,BGP,IGMP
數據鏈路層 傳輸有地址的幀以及錯誤檢測功能 SLIP,CSLIP,PPP,ARP,RARP,MTU
物理層 以二進制數據形式在物理媒體上傳輸數據 ISO2110,IEEE802。IEEE802.2
TCP/IP協議中一些常用協議英文名:
TCP(Transmission Control Protocol)傳輸控制協議
IP(Internet Protocol)網際協議
UDP(User Datagram Protocol)用戶數據報協議
ICMP(Internet Control Message Protocol)互聯網控制信息協議
SMTP(Simple Mail Transfer Protocol)簡單郵件傳輸協議
SNMP(Simple Network manage Protocol)簡單網路管理協議
FTP(File Transfer Protocol)文件傳輸協議
ARP(Address Resolation Protocol)地址解析協議