TCP/IP(Transmission Control Protocol/Internet Protocol,傳輸控制協(xié)議/網(wǎng)際協(xié)議)是指能夠在多個不同網(wǎng)絡(luò)間實現(xiàn)信息傳輸?shù)膮f(xié)議簇。TCP/IP協(xié)議不僅僅指的是TCP和IP兩個協(xié)議,而是指一個由FTP、SMTP、TCP、UDP、IP等協(xié)議構(gòu)成的協(xié)議簇, 只是因為在TCP/IP協(xié)議中TCP協(xié)議和IP協(xié)議最具代表性,所以被稱之為TCP/IP協(xié)議。
包、幀、數(shù)據(jù)包、段、消息
以上五個術(shù)語都用來表述數(shù)據(jù)的單位,大致區(qū)分如下:
① 包可以說是全能性術(shù)語;
② 幀用于表示數(shù)據(jù)鏈路層中包的單位;
③ 數(shù)據(jù)包是 IP 和 UDP 等網(wǎng)絡(luò)層以上的分層中包的單位;
④ 段則表示 TCP 數(shù)據(jù)流中的信息;
⑤ 消息是指應(yīng)用協(xié)議中數(shù)據(jù)的單位。
每個分層中,都會對所發(fā)送的數(shù)據(jù)附加一個首部,在這個首部中包含了該層必要的信息,如發(fā)送的目標(biāo)地址以及協(xié)議相關(guān)信息。通常,為協(xié)議提供的信息為包首部,所要發(fā)送的內(nèi)容為數(shù)據(jù)。在下一層的角度看,從上一層收到的包全部都被認(rèn)為是本層的數(shù)據(jù)。
① 應(yīng)用程序處理
首先應(yīng)用程序會進行編碼處理,這些編碼相當(dāng)于 OSI 的表示層功能;編碼轉(zhuǎn)化后,郵件不一定馬上被發(fā)送出去,這種何時建立通信連接何時發(fā)送數(shù)據(jù)的管理功能,相當(dāng)于 OSI 的會話層功能。
② TCP 模塊的處理
TCP 根據(jù)應(yīng)用的指示,負(fù)責(zé)建立連接、發(fā)送數(shù)據(jù)以及斷開連接。TCP 提供將應(yīng)用層發(fā)來的數(shù)據(jù)順利發(fā)送至對端的可靠傳輸。為了實現(xiàn)這一功能,需要在應(yīng)用層數(shù)據(jù)的前端附加一個 TCP 首部。
③ IP 模塊的處理
IP 將 TCP 傳過來的 TCP 首部和 TCP 數(shù)據(jù)合起來當(dāng)做自己的數(shù)據(jù),并在 TCP 首部的前端加上自己的 IP 首部。IP 包生成后,參考路由控制表決定接受此 IP 包的路由或主機。
④ 網(wǎng)絡(luò)接口(以太網(wǎng)驅(qū)動)的處理
從 IP 傳過來的 IP 包對于以太網(wǎng)來說就是數(shù)據(jù)。給這些數(shù)據(jù)附加上以太網(wǎng)首部并進行發(fā)送處理,生成的以太網(wǎng)數(shù)據(jù)包將通過物理層傳輸給接收端。
⑤ 網(wǎng)絡(luò)接口(以太網(wǎng)驅(qū)動)的處理
主機收到以太網(wǎng)包后,首先從以太網(wǎng)包首部找到 MAC 地址判斷是否為發(fā)送給自己的包,若不是則丟棄數(shù)據(jù)。如果是發(fā)送給自己的包,則從以太網(wǎng)包首部中的類型確定數(shù)據(jù)類型,再傳給相應(yīng)的模塊,如 IP、ARP 等。這里的例子則是 IP 。
⑥ IP 模塊的處理
IP 模塊接收到 數(shù)據(jù)后也做類似的處理。從包首部中判斷此 IP 地址是否與自己的 IP 地址匹配,如果匹配則根據(jù)首部的協(xié)議類型將數(shù)據(jù)發(fā)送給對應(yīng)的模塊,如 TCP、UDP。這里的例子則是 TCP。另外,對于有路由器的情況,接收端地址往往不是自己的地址,此時,需要借助路由控制表,在調(diào)查應(yīng)該送往的主機或路由器之后再進行轉(zhuǎn)發(fā)數(shù)據(jù)。
⑦ TCP 模塊的處理
在 TCP 模塊中,首先會計算一下校驗和,判斷數(shù)據(jù)是否被破壞。然后檢查是否在按照序號接收數(shù)據(jù)。最后檢查端口號,確定具體的應(yīng)用程序。數(shù)據(jù)被完整地接收以后,會傳給由端口號識別的應(yīng)用程序。
⑧ 應(yīng)用程序的處理
接收端應(yīng)用程序會直接接收發(fā)送端發(fā)送的數(shù)據(jù)。通過解析數(shù)據(jù),展示相應(yīng)的內(nèi)容。
TCP 和 UDP
l TCP 是面向連接的、可靠的流協(xié)議。流就是指不間斷的數(shù)據(jù)結(jié)構(gòu),當(dāng)應(yīng)用程序采用 TCP 發(fā)送消息時,雖然可以保證發(fā)送的順序,但還是猶如沒有任何間隔的數(shù)據(jù)流發(fā)送給接收端。TCP 為提供可靠性傳輸,實行“順序控制”或“重發(fā)控制”機制。此外還具備“流控制(流量控制)”、“擁塞控制”、提高網(wǎng)絡(luò)利用率等眾多功能。
l UDP 是不具有可靠性的數(shù)據(jù)包協(xié)議。細(xì)微的處理它會交給上層的應(yīng)用去完成。在 UDP 的情況下,雖然可以確保發(fā)送消息的大小,卻不能保證消息一定會到達。因此,應(yīng)用有時會根據(jù)自己的需要進行重發(fā)處理。
l TCP 和 UDP 的優(yōu)缺點無法簡單地、絕對地去做比較:TCP 用于在傳輸層有必要實現(xiàn)可靠傳輸?shù)那闆r;而在一方面,UDP 主要用于那些對高速傳輸和實時性有較高要求的通信或廣播通信。TCP 和 UDP 應(yīng)該根據(jù)應(yīng)用的目的按需使用。
1、IP 地址:用來識別 TCP/IP 網(wǎng)絡(luò)中互連的主機和路由器。
2、MAC:識別同一鏈路中不同的計算機。
3、 端口:端口號用來識別同一臺計算機中進行通信的不同應(yīng)用程序。因此,它也被稱為程序地址。
通過 IP 地址、端口號、協(xié)議號進行通信識別
1、① 和② 的通信是在兩臺計算機上進行的。它們的目標(biāo)端口號相同,都是80。這里可以根據(jù)源端口號加以區(qū)分。
2、③ 和 ① 的目標(biāo)端口號和源端口號完全相同,但它們各自的源 IP 地址不同。
3、 此外,當(dāng) IP 地址和端口號全都一樣時,我們還可以通過協(xié)議號來區(qū)分(TCP 和 UDP)。
7 X 24 銷售服務(wù)熱線
4000-330-990深圳辦事處柯經(jīng)理:18218726658 杭州辦事處戴經(jīng)理:17512568697
常州辦事處崔經(jīng)理:15906110783 南京辦事處葛經(jīng)理:17626012283
業(yè)務(wù)郵箱:support@cdebyte.com
全國銷售投訴電話:19934352316
地址:四川省成都市高新西區(qū)西區(qū)大道199號B5棟(前臺座機:028-61543675)
?? 成都億佰特電子科技有限公司【版權(quán)所有】 蜀ICP備13019384號-3