freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[工學(xué)]第7章網(wǎng)絡(luò)通訊相關(guān)的c語言應(yīng)用-wenkub

2022-11-03 00:25:57 本頁面
 

【正文】 )允許對底層協(xié)議如 IP或 ICMP進(jìn)行直接訪問,它功能強(qiáng)大但使用較為不便,主要用于一些協(xié)議的開發(fā)。 ? 每一個 socket都用一個半相關(guān)描述 {協(xié)議、本地地址、本地端口 }來表示;一個完整的套接字則用一個相關(guān)描述 {協(xié)議、本地地址、本地端口、遠(yuǎn)程地址、遠(yuǎn)程端口 }來表示。 ? ? TCP協(xié)議中的 3次握手、重傳確認(rèn)等手段可以保證數(shù)據(jù)傳輸?shù)目煽啃裕褂?TCP協(xié)議會有較大的時延,因此不適合對實時性要求較高的應(yīng)用;而 UDP協(xié)議則有很好的實時性。 ? ? 數(shù)據(jù)報的長度是指包括報頭和數(shù)據(jù)部分在內(nèi)的總的字節(jié)數(shù)。 TCP/IP核心協(xié)議 ? UDP ? ( 1)概述 ? UDP即用戶數(shù)據(jù)報協(xié)議,是一種無連接協(xié)議,不需要通過 3次握手來建立一個連接,同時,一個 UDP應(yīng)用可同時作為應(yīng)用的客戶或服務(wù)器方。 ? FIN:用于釋放連接。 ? PSH:表示是帶有 PUSH標(biāo)志的數(shù)據(jù)。 ? 確認(rèn)號: 32位長,希望收到的下一個數(shù)據(jù)報的序列號。當(dāng)該數(shù)據(jù)報到達(dá)目的地后,接收方的 TCP實體向回發(fā)送一個數(shù)據(jù)報,其中包含有一個確認(rèn)序號,它意思是希望收到的下一個數(shù)據(jù)報的順序號。 ? 下面描述了這 3次握手的簡單過程。 TCP/IP核心協(xié)議 ? TCP ? ( 1)概述 ? TCP的上一層是應(yīng)用層, TCP向應(yīng)用層提供服務(wù), TCP數(shù)據(jù)傳輸實現(xiàn)了從一個應(yīng)用程序到另一個應(yīng)用程序的數(shù)據(jù)傳遞。這樣,從用戶的角度看,整個TCP/IP互聯(lián)網(wǎng)就是一個統(tǒng)一的整體,它獨立于具體的各種物理網(wǎng)絡(luò)技術(shù),能夠向用戶提供一個通用的網(wǎng)絡(luò)服務(wù)。 TCP/IP分層模型的特點 ? TCP/IP的可靠性特性 ? 在 TCP/IP網(wǎng)絡(luò)中, IP采用無連接的數(shù)據(jù)報機(jī)制,對數(shù)據(jù)進(jìn)行 “ 盡力而為 ” 的傳遞機(jī)制,即只管將報文盡力傳送到目的主機(jī),無論傳輸正確與否,不做驗證,不發(fā)確認(rèn),也不保證報文的順序。 ? TCP/IP設(shè)計原則之一是為包容各種物理網(wǎng)絡(luò)技術(shù),包容性主要體現(xiàn)在 IP層中。 TCP/IP提供在兩種地址之間進(jìn)行映射的功能。 TCP/IP分層模型的特點 ? TCP/IP模型邊界特性 ? TCP/IP分層模型中有兩大邊界特性:一個是地址邊界特性,它將 IP邏輯地址與底層網(wǎng)絡(luò)的硬件地址分開;一個是操作系統(tǒng)邊界特性,它將網(wǎng)絡(luò)應(yīng)用與協(xié)議軟件分開,如圖 。 ? 在這一層中,用戶所調(diào)用的應(yīng)用程序通過 TCP/IP來訪問互聯(lián)網(wǎng)提供的服務(wù)。 ? 傳輸層要系統(tǒng)地管理信息的流動,還要提供可靠的傳輸服務(wù),以確保數(shù)據(jù)到達(dá)無差錯、無亂序。 ? 如果數(shù)據(jù)報的目的機(jī)處于本機(jī)所在的網(wǎng)絡(luò),該層軟件就會除去數(shù)據(jù)報的首部,再選擇適當(dāng)?shù)倪\輸層協(xié)議來處理這個分組。 TCP/IP的分層模型 ? 網(wǎng)絡(luò)層( Inter Layer) ? 互聯(lián)網(wǎng)層負(fù)責(zé)處理主機(jī)之間的通信問題。 ? 由于低成本以及在多個不同平臺通信的可靠性,TCP/IP迅速發(fā)展并開始流行。 應(yīng) 用 層物 理 層數(shù) 據(jù) 鏈 路 層網(wǎng) 絡(luò) 層傳 輸 層會 話 層表 示 層O S I 參 考 模 型應(yīng) 用 層網(wǎng) 絡(luò) 層傳 輸 層網(wǎng) 絡(luò) 接 口 層T C P / I P 參 考 模 型 與此相區(qū)別的TCP/IP協(xié)議模型將 OSI的 7層協(xié)議模型簡化為 4層,從而更有利于實現(xiàn)和使用。 TCP/IP的分層模型 ? TCP/IP協(xié)議是一個復(fù)制的協(xié)議,是由一組專業(yè)化協(xié)議組成的。它實際上是一個關(guān)于因特網(wǎng)的標(biāo)準(zhǔn),迅速成為局域網(wǎng)的首選協(xié)議。當(dāng)互聯(lián)網(wǎng)層接收到傳輸層的請求后,傳輸某個具有目的地址信息的分組。最后,互聯(lián)網(wǎng)層還要根據(jù)需要發(fā)出和接收 ICMP( Inter控制報文協(xié)議)差錯和控制報文。 ? 為了達(dá)到這個目的,傳輸層協(xié)議軟件要進(jìn)行協(xié)商,讓接收方回送確認(rèn)信息及讓發(fā)送方重發(fā)丟失的分組。 ? 與各個傳輸層協(xié)議交互的應(yīng)用程序負(fù)責(zé)接收和發(fā)送數(shù)據(jù)。 TCP/IP分層模型的特點 ? TCP/IP模型邊界特性 ? TCP/IP分層模型邊界特性是指在模型中存在一個地址上的邊界,它將底層網(wǎng)絡(luò)的物理地址與互聯(lián)網(wǎng)層的 IP地址分開。劃分地址邊界的目的是為了屏蔽底層物理網(wǎng)絡(luò)的地址細(xì)節(jié),以便使互聯(lián)網(wǎng)軟件地址上易于實現(xiàn)和理解。各種物理網(wǎng)絡(luò)技術(shù)在幀或報文格式、地址格式等方面差別很大, TCP/IP的重要思想之一就是通過 IP將各種底層網(wǎng)絡(luò)技術(shù)統(tǒng)一起來,達(dá)到屏蔽底層細(xì)節(jié),提供統(tǒng)一虛擬網(wǎng)的目的。 ? TCP/IP的可靠性體現(xiàn)在傳輸層協(xié)議之一的 TCP協(xié)議。 ? TCP/IP網(wǎng)絡(luò)完全撇開了底層物理網(wǎng)絡(luò)的特性,是一個高度抽象的概念,正是由于這個原因,其為TCP/IP網(wǎng)絡(luò)賦予了巨大的靈活性和通用性。應(yīng)用程序通過編程調(diào)用 TCP并使用 TCP服務(wù),提供需要準(zhǔn)備發(fā)送的數(shù)據(jù),用來區(qū)分接收數(shù)據(jù)應(yīng)用的目的地址和端口號。 ? ? 客戶向服務(wù)器發(fā)送一個包含 SYN即同步( Synchronize)標(biāo)志的 TCP報文,該報文會指明客戶使用的端口以及 TCP連接的初始序號; ? ? 服務(wù)器在收到客戶的 SYN報文后,將返回一個 SYN+ACK的報文,表示客戶的請求被接受,同時 TCP序號加一, ACK即確認(rèn)( Acknowledgement); ? ? 客戶在收到服務(wù)器的報文后,再返回一個確認(rèn)報文 ACK,同樣 TCP序列號被加一,到此一個 TCP連接完成。如果發(fā)送方的定時器在確認(rèn)信息到達(dá)之前超時,那么發(fā)送方會重發(fā)該數(shù)據(jù)報。 ? TCP頭長: 4位長,表明 TCP頭中包含多少個 32位字。因此請求數(shù)據(jù)報一到接收方便可送往應(yīng)用程序而不必等到緩沖區(qū)裝滿時才傳送。 ? 窗口大小: 16位長,窗口大小字段表示在確認(rèn)了字節(jié)之后還可以發(fā)送多少個字節(jié)。 ? 由于 UDP協(xié)議并不需要建立一個明確的連接,因此建立UDP應(yīng)用要比建立 TCP應(yīng)用簡單得多。因為報頭的長度是固定的,所以該域主要用來計算可變長度的數(shù)據(jù)部分(又稱為數(shù)據(jù)負(fù)載)。 ? ? 網(wǎng)絡(luò)狀況不是很好的情況下需選用 TCP協(xié)議(如在廣域網(wǎng)等情況),網(wǎng)絡(luò)狀況很好的情況下選擇 UDP協(xié)議可以減少網(wǎng)絡(luò)負(fù)荷。 ? socket也有一個類似于打開文件的函數(shù)調(diào)用,該函數(shù)返回一個整型的 socket描述符,隨后的連接建立、數(shù)據(jù)傳輸?shù)炔僮鞫际峭ㄟ^ socket來實現(xiàn)的。 地址及順序處理 ? 地址結(jié)構(gòu)相關(guān)處理 ? ( 1)數(shù)據(jù)結(jié)構(gòu)介紹 ? 下面首先介紹兩個重要的數(shù)據(jù)類型: sockaddr和 sockaddr_in,這兩個結(jié)構(gòu)類型都是用來保存 socket信息的,定義如下所示: ? struct sockaddr { ? unsigned short sa_family。 /*地址族 */ ? unsigned short int sin_port。 ? 這兩個數(shù)據(jù)類型是等效的,可以相互轉(zhuǎn)化 地址及順序處理 ? 地址結(jié)構(gòu)相關(guān)處理 ? ( 2)結(jié)構(gòu)字段 ? 該結(jié)構(gòu) sa_family字段可選的常見值 地址及順序處理 ? 數(shù)據(jù)存儲優(yōu)先順序 ? ( 1)函數(shù)說明 ? 計算機(jī)數(shù)據(jù)存儲有兩種字節(jié)優(yōu)先順序:高位字節(jié)優(yōu)先和低位字節(jié)優(yōu)先 . ? Inter上數(shù)據(jù)以高位字節(jié)優(yōu)先順序在網(wǎng)絡(luò)上傳輸,因此在有些情況下,需要對這兩個字節(jié)存儲優(yōu)先順序進(jìn)行相互轉(zhuǎn)化。 ? 調(diào)用這些函數(shù)只是使其得到相應(yīng)的字節(jié)序,用戶不需清楚該系統(tǒng)的主機(jī)字節(jié)序和網(wǎng)絡(luò)字節(jié)序是否真正相等。 ? 這里在 IPv4中用到的函數(shù)有 i_aton()、 i_addr()和 i_ntoa(),而IPv4和 IPv6兼容的函數(shù)有 i_pton()和 i_ntop()。 ? ? 頭文件 ? include arpa/ ? ? 函數(shù)原型 ? int i_pton( int family, /*協(xié)議類型 */ ? const char *strptr, /*要轉(zhuǎn)化的值 */ ? void *addrptr) /*轉(zhuǎn)化后的地址 */ ? int i_ntop( int family, /*協(xié)議族, AF_INET */ ? void *addrptr, /*轉(zhuǎn)化后的地址 */ ? char *strptr, /*要轉(zhuǎn)化的值 */ ? size_t len) /*轉(zhuǎn)化后值的大小 */ ? ? 函數(shù)返回值 ? 成功: 0 ? 出錯: 1 地址及順序處理 ? 名字地址轉(zhuǎn)化 ? ( 1)函數(shù)說明 ? 在 Linux中有一些函數(shù)可以實現(xiàn)主機(jī)名和地址的轉(zhuǎn)化,如gethostbyname、 gethostbyaddr、
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1