TCP IP協(xié)議 知識總結(jié)

上傳人:少*** 文檔編號:110169782 上傳時間:2022-06-17 格式:DOC 頁數(shù):5 大?。?8KB
收藏 版權(quán)申訴 舉報 下載
TCP IP協(xié)議 知識總結(jié)_第1頁
第1頁 / 共5頁
TCP IP協(xié)議 知識總結(jié)_第2頁
第2頁 / 共5頁
TCP IP協(xié)議 知識總結(jié)_第3頁
第3頁 / 共5頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《TCP IP協(xié)議 知識總結(jié)》由會員分享,可在線閱讀,更多相關(guān)《TCP IP協(xié)議 知識總結(jié)(5頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、/***********************0809 TCP/IP知識總結(jié)*********************************/ 1. OSI 開放系統(tǒng)互連模型 (理想化的狀態(tài),在這個狀態(tài)內(nèi)給個層各司其職) 總共有7層。 應(yīng)用層:FTP,WWW,Telnet,NFS,SMTP,Gateway,SNMP 表示層: TIFF,GIF,JPEG(編解碼),PICT,ASCII,EBCDIC, encryption,MPEG,MIDI,HTML 會話層:RPC,SQL,NFS,NetBIOS,names,AppleTalk,ASP,DECn

2、et,SCP 傳輸層:TCP,UDP,SPX 網(wǎng)絡(luò)層:IP(尋址方式),IPX(),AppleTalk (蘋果自定義的協(xié)議) 數(shù)據(jù)鏈路層:Frame Relay, HDLC, PPP(點對點), IEEE 802.3/802.2, FDDI, ATM, IEEE 802.5/802.2 物理層:EIA/TIA-232, EIA/TIA-499, V.35, V.24, RJ45, Ethernet, 802.3, 802.5, FDDI, NRZI, NRZ, B8ZS 2. TCP/IP協(xié)議架構(gòu)體系

3、 應(yīng)用層:Telnet(超級終端,遠(yuǎn)程登錄),FTP,SMTP,SNMP. 用戶進(jìn)行操作; 傳輸層:TCP (重),UDP(重),UGP 獲取數(shù)據(jù); 網(wǎng)絡(luò)層: IP(地址標(biāo)識符),ICMP(跳過傳輸層,ping命令...),IGMP 主要用于尋找地址; 數(shù)據(jù)鏈路層:ARP,RARP 包括驅(qū)動和硬件; Ethernet(以太網(wǎng));IE802.ng(無線) 3. 數(shù)據(jù)鏈路層:負(fù)責(zé)在不同的傳輸媒介上處理物理信號硬件細(xì)節(jié),從而實現(xiàn)數(shù)據(jù)在不同媒介直接傳送對應(yīng)我們所說的驅(qū)動程序和網(wǎng)卡 網(wǎng)絡(luò)層:控制數(shù)據(jù)在網(wǎng)絡(luò)

4、中傳輸路徑,即是數(shù)據(jù)傳送給誰,包括地址標(biāo)識和尋址方式 管理協(xié)議:ICMP,ICMPv, IGMP, MLD 傳輸層:提供兩個主機(jī)之間的應(yīng)用程序提供數(shù)據(jù)傳輸服務(wù)。比如數(shù)據(jù)應(yīng)該交給哪個進(jìn)程處理, 當(dāng)數(shù)據(jù)沒有到達(dá)對方進(jìn)程時,或者當(dāng)數(shù)據(jù)堵塞時,該如何處理:流量控制 當(dāng)接收數(shù)據(jù),如何判斷數(shù)據(jù)的完整性:差錯控制 會話層: 負(fù)責(zé)在網(wǎng)絡(luò)中的兩節(jié)點之間建立和維持通信。會話層的功能包括:建立通信鏈接,保持會話過程通信鏈接的暢通,同步兩個節(jié)點之間的對 話,決定通信是否被中斷以及通信中斷時決定從何處重新發(fā)送。你可能常常聽到有人把會話層稱作網(wǎng)絡(luò)通信的“交通警察”當(dāng)通過撥號向你的 I S

5、 P (因特網(wǎng)服務(wù)提供商)請求連接到因特網(wǎng)時, I S P 服務(wù)器上的會話層向你與你的P C 客戶機(jī)上的會話層進(jìn)行協(xié)商連接。若你的電話線偶然從墻上插孔脫落時,你終端機(jī)上的會話層將檢測到連接中斷并重新發(fā)起連接。會話層通過決定節(jié)點通信的優(yōu)先級和通信時間的長短來設(shè)置通信期限 表示層: 應(yīng)用程序和網(wǎng)絡(luò)之間的翻譯官,在表示層,數(shù)據(jù)將按照網(wǎng)絡(luò)能理解的方案進(jìn)行格式化;這種格式化也因所使用網(wǎng)絡(luò)的類型不同而不同。表示層管理數(shù)據(jù)的解密與加密,如系統(tǒng)口令的處理表示層協(xié)議還對圖片和文件格式信息進(jìn)行解碼和編碼 3.對于分層而言,每一個分層都有相應(yīng)的協(xié)議;并且個從上到下每一個分層的協(xié)議都是基于 下一個協(xié)

6、議的,如果沒有下一個分層的話,是沒有任何意義的。 4.用戶數(shù)據(jù)的打包過程: Ethernet IP TCP APP user Ethernet head head head head data trailer 以太網(wǎng)頭 5. 數(shù)據(jù)解析 在以太網(wǎng)驅(qū)動解析時,以太網(wǎng)得到是IP 將數(shù)據(jù)包交給IP來解析,IP解析后,得到TCP,,將數(shù)據(jù)包再交給TCP 來解析,當(dāng)TCP解析后,查看端口,將數(shù)據(jù)包根據(jù)記錄的端口號通過端口交給應(yīng)用; 6. 路由器的作用: 路由: 選擇最優(yōu)最好的路徑; 對打包好的數(shù)據(jù)進(jìn)行發(fā)送; 互換不同的網(wǎng)絡(luò)(有線和無線); 7

7、.以太網(wǎng)與令牌網(wǎng)的區(qū)別 本質(zhì)是硬件不同,用戶的網(wǎng)卡硬件決定; 8.TCP 協(xié)議特點(先建立連接,在發(fā)送數(shù)據(jù)) (傳輸控制協(xié)議)面向連接的傳輸層協(xié)議;提供可靠的通信; SOCK_STREAM 流式套接字; 以字符流(character stream)的形式來發(fā)送數(shù)據(jù);但是,為了提高TCP傳輸效率,是將數(shù)據(jù)先存起來,當(dāng)達(dá)到一定字節(jié)才按一定TCP數(shù)據(jù)報格式打包發(fā)送;在接受的過程需考慮數(shù)據(jù)邊界。如果沒有邊界,則將產(chǎn)生PTC粘包; 9.UDP協(xié)議特點(不可靠的無連接協(xié)議) (數(shù)據(jù)報協(xié)議)無論接收方是否在線,知道對方地址都進(jìn)行數(shù)據(jù)發(fā)送??蛇M(jìn)行高效率的傳輸;但是不能保證數(shù)據(jù)的可靠性;

8、 SOCK_DGRAM 數(shù)據(jù)報套接字; 無論多少個字節(jié)都打包成UDP數(shù)據(jù)報進(jìn)行發(fā)送。 10.socket 套接字 特點a.插口的形式; b.socket 是成對出現(xiàn)的; c.socket 的類型: 流式套接字SOCK_STREAM; 數(shù)據(jù)報套接字SOCK_DGRAM 原始套接字 SOCK_RAW d.編程接口 socket() 函數(shù); 11.字節(jié)序:數(shù)據(jù)存放在內(nèi)存的序列; 大段模式:高位先存(左邊為高位) 小段模式:低位先存(右邊為低位) 在讀取時,都是從低位開始讀,但是在廣域網(wǎng)中存儲均是大端模式,因此在網(wǎng)絡(luò)編程中,需將

9、字節(jié)轉(zhuǎn)換為大端; 12.TCP|UDP端口號,端口號為short型的,個數(shù)為65535 在1-1024之間,端口號為眾所周知的,不能申請占用; 在1024-5000之間為系統(tǒng)占用,也不可申請占用; 在5000~65535之間,用戶可申請占用; 在使用過程中,申請5000以上的; 13.IP地址 32位存儲; 24位為網(wǎng)絡(luò)號;8位位主機(jī)號;但是在使用過程中,一般不占用0,1,255.這3個用做特殊用途; 14.TCP |UDP 都存有1個進(jìn)程向系統(tǒng)申請的端口號。 15.對于端口和IP號,都需轉(zhuǎn)換成大端的模式; 16.字節(jié)序轉(zhuǎn)換 1. 主機(jī)字節(jié)序到網(wǎng)絡(luò)字節(jié)序

10、 u_long htonl(u_long hostlong); u_short htons(u_short short); 2. 網(wǎng)絡(luò)字節(jié)序到主機(jī)字節(jié)序 u_long ntohl(u_long hostlong) u_short ntohs(u_short short) 3. IP地址轉(zhuǎn)換函數(shù) a. int inet_aton(const char*strptr, struct in_addr*addptr); b. char * inet_ntoa(struct in_addr addr) 將用inet_aton 轉(zhuǎn)換過的轉(zhuǎn)換回來 缺點,不能轉(zhuǎn)換IPV6

11、的地址; 將讀出的東西存入struct in_addr addptr 中; struct in_addr { in_addr_t s_addr; } a. in_addr_t inet_addr(const char *strptr) 缺點,不能轉(zhuǎn)換255.255.255.255 若強制轉(zhuǎn)換轉(zhuǎn)換后為-1; struct in_addr *addr a. int pton(int af, const char *strptr, (void *)&addr) b. const char *inet_ntop(int af, const void *src,char *

12、dst, socklen_t size); 將用inet_pton 轉(zhuǎn)換過的轉(zhuǎn)換回來 可轉(zhuǎn)換任意類型的 17.socket 函數(shù) 函數(shù)原型: int socket(int domain, int type, int protocol); 返回值:成功返回一個類似文件描述符的數(shù)字,也是從最小3開始;錯誤返回-1 參數(shù)解析: domain通信域 AF_INET 因特網(wǎng)通信域,跨機(jī)器進(jìn)程間通信; AF_UNIX AF_LOCA 本機(jī)中進(jìn)程與進(jìn)程間通信; AF_INET6 因特網(wǎng)通訊,是IPV6類型; AF_NETLINK 用戶進(jìn)程與內(nèi)

13、核之間的通信; Type套接字類型; SOCK_STREAM 流式套接字 SOCK_DGRAM 數(shù)據(jù)報套接字 SOCK_RAW 原始套接字 Protocol (協(xié)議) 參數(shù)總是0; 18.協(xié)議結(jié)構(gòu)體 通用的協(xié)議結(jié)構(gòu)體 struct sockaddr { sa_family_t sa_family; char sa_data[14]; } Internet 協(xié)議結(jié)構(gòu)體 strcut so

14、caddr_in { u_short sin_family; //通信域 u_short sin_port; //端口號 struct in_addr sin_addr; //IP地址 char sin_zero[8]; //8個沒用的字節(jié);用于與通用結(jié)構(gòu)體大小保持一致; } Internet address 結(jié)構(gòu)體; struct in_addr { in_addr_t s_addr; } 19.給結(jié)構(gòu)體初始化; Memset(struct struct1 *strptr, ‘char’, sizeof(st

15、ruct1)); Bzero(struct struct2*strptr, sizeof(struct2)); 20.bind () 函數(shù) 綁定 將地址結(jié)構(gòu)體綁定到套接字(socket)描述符上; (1);地址結(jié)構(gòu)體以包含IP和端口號; (2)想系統(tǒng)申請端口資源; (3)不能將同一個地址結(jié)構(gòu)體綁定到同類型的套接字上; (4)對于發(fā)送端,可以不綁定,也可以綁定;如果不綁定,系統(tǒng)自動綁定;并且分配端口;但是對于接收端,必須要綁定; 函數(shù)原型 int bind(int sockfd, const struct sockaddr *addr, socklen_t ad

16、drlen); 返回值 成功返回0;不成功返回-1; 參數(shù)解析; Sockfd 用socket 函數(shù)時返回的類似文件描述符的值; Addr 定義的struct sockaddr addr; Addlen sockaddr_in 結(jié)構(gòu)體的大?。? 21.listen()函數(shù) 監(jiān)聽鏈接的套接字,將自己的套接字變成被動連接類型; 函數(shù)原型 : int listen(int sockfd, int backlog); 返回值: 成功 0; 錯誤-1; 參數(shù)解析: Sockfd socket 函數(shù)的返回的類似文件描述符;

17、 Backlog 等待建立鏈接的客戶端數(shù)量: 一般設(shè)定5-10個; 22.accept()函數(shù) 等待對方主動鏈接;也就是等待對方的connect()主動鏈接; 函數(shù)原型 int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen); 返回值 成功返回一個新的類似文件描述符的東西;也就是用connect()激活的accept()的那個端口號; 錯誤返回-1; 參數(shù)解析; Sockfd 自己調(diào)用socket ()函數(shù)的返回的類似文件描述符 Addr 定義一個結(jié)構(gòu)體用于接收對方的地址結(jié)構(gòu); Addrlen 接收的結(jié)構(gòu)體的大??; 23.connect()函數(shù) 主動鏈接服務(wù)器;等待accept()函數(shù)響應(yīng); 函數(shù)原型:int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen); 返回值:成功返回0;錯誤返回-1; 參數(shù)解析;sockfd 自己調(diào)用socket()返回的類似文件描述符 Addr 服務(wù)段自己的地址結(jié)構(gòu); Addrlen 自己的地址結(jié)構(gòu)的長度;

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!