資源描述:
《TCP-IP_Socket》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、TCP/IPSocket網(wǎng)絡(luò)編程內(nèi)容大綱Internet與TCP/IP協(xié)議TCP/IP協(xié)議體系結(jié)構(gòu)與OSI模型Socket編程接口TCP/IP網(wǎng)絡(luò)程序框架與示例2021/10/82TCP/IPSocket網(wǎng)絡(luò)編程Internet與TCP/IP協(xié)議第一節(jié)Internet與TCP/IP協(xié)議2021/10/83TCP/IPSocket網(wǎng)絡(luò)編程Internet的歷史Internet-“冷戰(zhàn)”的產(chǎn)物1957年10月和11月,前蘇聯(lián)先后有兩顆“Sputnik”衛(wèi)星上天1958年美國(guó)總統(tǒng)艾森豪威爾向美國(guó)國(guó)會(huì)提出建立DARPA(DefenseAdvancedResearchProjec
2、tAgency),即國(guó)防部高級(jí)研究計(jì)劃署,簡(jiǎn)稱ARPA1968年6月DARPA提出“資源共享計(jì)算機(jī)網(wǎng)絡(luò)”(ResourceSharingComputerNetworks),目的在于讓DARPA的所有電腦互連起來(lái),這個(gè)網(wǎng)絡(luò)就叫做ARPAnet,即“阿帕網(wǎng)”,是Interne的最早雛形2021/10/84TCP/IPSocket網(wǎng)絡(luò)編程網(wǎng)絡(luò)互聯(lián)促成了TCP/IP協(xié)議的產(chǎn)生早期的ARPAnet使用網(wǎng)絡(luò)控制協(xié)議(NetworkControlProtocol,NCP),不能互聯(lián)不同類型的計(jì)算機(jī)和不同類型的操作系統(tǒng),沒(méi)有糾錯(cuò)功能1973年由Kahn和VintonCerf兩人合作為A
3、RPAnet開發(fā)了新的互聯(lián)協(xié)議。1974年12月兩人正式發(fā)表第一份TCP協(xié)議詳細(xì)說(shuō)明,但此協(xié)議有信包丟失時(shí)不能得到有效的糾正2021/10/85TCP/IPSocket網(wǎng)絡(luò)編程網(wǎng)絡(luò)互聯(lián)促成了TCP/IP協(xié)議的產(chǎn)生TCP協(xié)議分成了兩個(gè)不同的協(xié)議:用來(lái)檢測(cè)網(wǎng)絡(luò)傳輸中差錯(cuò)的傳輸控制協(xié)議TCP專門負(fù)責(zé)對(duì)不同網(wǎng)絡(luò)進(jìn)行互聯(lián)的互聯(lián)網(wǎng)協(xié)議IP從此TCP/IP協(xié)議誕生1983年ARPAnet上停止使用NCP,互聯(lián)網(wǎng)上的主機(jī)全部使用TCP/IP協(xié)議,TCP/IP協(xié)議成為Internet中的“世界語(yǔ)”2021/10/86TCP/IPSocket網(wǎng)絡(luò)編程Internet與TCP/IP協(xié)議第二節(jié)
4、TCP/IP協(xié)議體系結(jié)構(gòu)與OSI模型2021/10/87TCP/IPSocket網(wǎng)絡(luò)編程網(wǎng)絡(luò)的體系結(jié)構(gòu)網(wǎng)絡(luò)采用分而治之的方法設(shè)計(jì),將網(wǎng)絡(luò)的功能劃分為不同的模塊,以分層的形式有機(jī)組合在一起。每層實(shí)現(xiàn)不同的功能,其內(nèi)部實(shí)現(xiàn)方法對(duì)外部其他層次來(lái)說(shuō)透明,每層向上層提供服務(wù),也可以使用下層提供的服務(wù)網(wǎng)絡(luò)體系結(jié)構(gòu)即指網(wǎng)絡(luò)的層次結(jié)構(gòu)和每層所使用協(xié)議的集合兩類非常重要的體系結(jié)構(gòu):OSI與TCP/IP2021/10/88TCP/IPSocket網(wǎng)絡(luò)編程OSI開放系統(tǒng)互聯(lián)模型OSI模型相關(guān)的協(xié)議已經(jīng)很少使用,但模型本身非常通用共有七層2021/10/89TCP/IPSocket網(wǎng)絡(luò)編程TC
5、P/IP協(xié)議族的體系結(jié)構(gòu)TCP/IP協(xié)議是Internet事實(shí)上的工業(yè)標(biāo)準(zhǔn)。一共有四層2021/10/810TCP/IPSocket網(wǎng)絡(luò)編程TCP/IP協(xié)議與OSI參考模型的對(duì)應(yīng)關(guān)系2021/10/811TCP/IPSocket網(wǎng)絡(luò)編程TCP/IP協(xié)議通信模型2021/10/812TCP/IPSocket網(wǎng)絡(luò)編程數(shù)據(jù)的封裝與傳遞過(guò)程2021/10/813TCP/IPSocket網(wǎng)絡(luò)編程一些基本概念I(lǐng)P地址端口號(hào)字節(jié)序2021/10/814TCP/IPSocket網(wǎng)絡(luò)編程IP地址IP地址是Internet中主機(jī)的標(biāo)識(shí)Internet中的主機(jī)要與別的機(jī)器通信必須具有一個(gè)IP
6、地址一個(gè)IP地址為32位(IPV4),或者128位(IPV6)每個(gè)數(shù)據(jù)包都必須攜帶目的IP地址和源IP地址,路由器依靠此信息為數(shù)據(jù)包選擇路由特殊的IP地址:廣播地址、多播地址表示形式:常用點(diǎn)分形式,如202.38.64.10,最后都會(huì)轉(zhuǎn)換為一個(gè)32位的整數(shù)。IP地址分級(jí)子網(wǎng)掩碼2021/10/815TCP/IPSocket網(wǎng)絡(luò)編程端口號(hào)為了區(qū)分一臺(tái)主機(jī)接收到的數(shù)據(jù)包應(yīng)該遞交給哪個(gè)進(jìn)程來(lái)進(jìn)行處理,使用端口號(hào)TCP端口號(hào)與UDP端口號(hào)獨(dú)立端口號(hào)一般由IANA(InternetAssignedNumbersAuthority)管理眾所周知端口:1~1023,1~255之間為大
7、部分眾所周知端口,256~1023端口通常由UNIX占用注冊(cè)端口:1024~49151動(dòng)態(tài)或私有端口:49151~655352021/10/816TCP/IPSocket網(wǎng)絡(luò)編程端到端通信數(shù)據(jù)包投遞過(guò)程2021/10/817TCP/IPSocket網(wǎng)絡(luò)編程一個(gè)比喻如果把IP數(shù)據(jù)包的投遞過(guò)程看成是給遠(yuǎn)方的一位朋友寄一封信,那么IP地址就是這位朋友的所在位置,如安徽合肥中國(guó)科大計(jì)算系(依靠此信息進(jìn)行路由)端口號(hào)就是這位朋友的名字(依靠這個(gè)信息最終把這封信交付給這位收信者)2021/10/818TCP/IPSocket網(wǎng)絡(luò)編程字節(jié)序大尾端(Bi