網(wǎng)絡(luò)通信

1.TCP/IP:傳輸控制協(xié)議/網(wǎng)際協(xié)議漫谷,指能夠在多個(gè)不同網(wǎng)絡(luò)間實(shí)現(xiàn)信息傳輸?shù)膮f(xié)議簇,是互聯(lián)網(wǎng)相關(guān)的各類協(xié)議族的總稱,如(TCP,UDP,IP,FIP,HTTP,ICMP,SMTP)

Tcp:面向連接的喉祭,可靠的,基于字節(jié)流的傳輸層數(shù)據(jù)協(xié)議

TCP/IP包含模型:鏈路層,網(wǎng)絡(luò)層捂敌,傳輸層轰胁,應(yīng)用層

OSI七層模型:物理層,數(shù)據(jù)鏈路層掉盅,網(wǎng)絡(luò)層也拜,傳輸出,會(huì)話層趾痘,表示層慢哈,應(yīng)用層

2.物理層功能:以二進(jìn)制數(shù)據(jù)形式在物理媒體上傳播數(shù)據(jù)

數(shù)據(jù)鏈路層:傳輸有地址的幀以及錯(cuò)誤檢測(cè)功能.TCP/IP協(xié)議族(SLIP,CSLIP,PPP,ARP,RARP,MTU)

網(wǎng)絡(luò)層:為數(shù)據(jù)包選擇路由.TCP/IP協(xié)議族(IP,ICMP,RIP,OSPF,BCP,ICMP)

傳輸層:提供端對(duì)端的接口。TCP/IP協(xié)議族(TCP,UDP)

會(huì)話層:解除或建立與別接點(diǎn)的聯(lián)系

表示層:數(shù)據(jù)格式化永票,代碼轉(zhuǎn)換卵贱,數(shù)據(jù)加密

應(yīng)用層:文件傳輸,電子郵件侣集,文件服務(wù)键俱,虛擬終端.TCP/IP協(xié)議族(TFTP,HTTP,FTP,SMTP,DMS,Telnet)

3.TCP三次握手:a.1. 首先客戶端向服務(wù)器端發(fā)送一段TCP報(bào)文,其中: 標(biāo)志位為SYN世分,表示“請(qǐng)求建立新連接”; 序號(hào)為Seq=X(X一般為1)方妖; 隨后客戶端進(jìn)入SYN-SENT階段。

b.服務(wù)器端接收到來自客戶端的TCP報(bào)文之后罚攀,結(jié)束LISTEN階段党觅。并返回一段TCP報(bào)文,其中: 標(biāo)志位為SYN和ACK斋泄,表示“確認(rèn)客戶端的報(bào)文Seq序號(hào)有效杯瞻,服務(wù)器能正常接收客戶端發(fā)送 的數(shù)據(jù),并同意創(chuàng)建新連接”(即告訴客戶端炫掐,服務(wù)器收到了你的數(shù)據(jù))魁莉; 序號(hào)為Seq=Y; 確認(rèn)號(hào)為Ack=X+1,表示收到客戶端的序號(hào)Seq并將其值加1作為自己確認(rèn)號(hào)Ack的值旗唁;隨后 服務(wù)器端進(jìn)入SYN-RCVD(Received)階段畦浓。

c.客戶端接收到來自服務(wù)器端的確認(rèn)收到數(shù)據(jù)的TCP報(bào)文之后,明確了從客戶端到服務(wù)器的數(shù)據(jù)傳輸 是正常的检疫,結(jié)束SYN-SENT階段讶请。并返回最后一段TCP報(bào)文。其中: 標(biāo)志位為ACK屎媳,表示“確認(rèn)收到服務(wù)器端同意連接的信號(hào)”(即告訴服務(wù)器夺溢,我知道你收到我發(fā) 的數(shù)據(jù)了); 序號(hào)為Seq=X+1烛谊,表示收到服務(wù)器端的確認(rèn)號(hào)Ack风响,并將其值作為自己的序號(hào)值; 確認(rèn)號(hào)為Ack=y+1丹禀,表示收到服務(wù)器端序號(hào)Seq状勤,并將其值加1作為自己的確認(rèn)號(hào)Ack的值; 隨后客戶端進(jìn)入ESTABLISHED階段双泪。 服務(wù)器收到來自客戶端的“確認(rèn)收到服務(wù)器數(shù)據(jù)”的TCP報(bào)文之后持搜,明確了從服務(wù)器到客戶端的 數(shù)據(jù)傳輸是正常的。結(jié)束SYN-SENT階段攒读,進(jìn)入ESTABLISHED階段朵诫。

4.TCP四次揮手:a.首先客戶端想要釋放連接,向服務(wù)器端發(fā)送一段TCP報(bào)文;

b.服務(wù)器端接收到從客戶端發(fā)出的TCP報(bào)文之后薄扁,確認(rèn)了客戶端想要釋放連接剪返,隨后服務(wù)器端結(jié)束 ESTABLISHED階段,進(jìn)入CLOSE-WAIT階段(半關(guān)閉狀態(tài))并返回一段TCP報(bào)文;

c.服務(wù)器端自從發(fā)出ACK確認(rèn)報(bào)文之后邓梅,經(jīng)過CLOSED-WAIT階段脱盲,做好了釋放服務(wù)器端到客戶端方 向上的連接準(zhǔn)備,再次向客戶端發(fā)出一段TCP報(bào)文;

d.客戶端收到從服務(wù)器端發(fā)出的TCP報(bào)文日缨,確認(rèn)了服務(wù)器端已做好釋放連接的準(zhǔn)備钱反,結(jié)束FIN-WAIT-2 階段,進(jìn)入TIME-WAIT階段匣距,并向服務(wù)器端發(fā)送一段報(bào)文


使用Python創(chuàng)建Socket

1.socket.socket(addressfamily,type)[Address Family:可以選擇AF_INET(用于Internet 進(jìn)程間通信)或者AF_UNIX(用于同一臺(tái)機(jī)器 進(jìn)程間通信)面哥,實(shí)際工作中常用AF_INET;Type:套接字類型,可以是SOCK_STREAM(流式套接字毅待,主要用于TCP協(xié)議)或者 SOCK_DGRAM(數(shù)據(jù)報(bào)套接字尚卫,主要用于UDP協(xié)議)]

2.常用方法:

(1)?bind(): 綁定地址(host,port)到套接字, 在AF_INET下,以元組(host,port)的形式表示地址尸红。

(2)sendto(): 發(fā)送UDP數(shù)據(jù)吱涉,將數(shù)據(jù)發(fā)送到套接字刹泄,address是形式為(ipaddr,port)的元組怎爵,指 定遠(yuǎn)程地址特石。返回值是發(fā)送的字節(jié)數(shù)。

(3)send(): 發(fā)送TCP數(shù)據(jù)鳖链,將string中的數(shù)據(jù)發(fā)送到連接的套接字姆蘸。返回值是要發(fā)送的字節(jié)數(shù)量,該數(shù) 量可能小于string的字節(jié)大小撒轮。

(4)recvfrom(): 接收UDP數(shù)據(jù), 返回值是(data,address)乞旦。其中data是包含接收數(shù)據(jù)的字符串贼穆, address是發(fā)送數(shù)據(jù)的套接字地址题山。

(5)recv(): 接收TCP數(shù)據(jù),數(shù)據(jù)以字符串形式返回故痊,可以指定要接收的最大數(shù)據(jù)量顶瞳。

(6)accept(): 被動(dòng)接受TCP客戶端連接,(阻塞式)等待連接的到來

(7)listen(): 開始TCP監(jiān)聽

(8)close(): 關(guān)閉套接字

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市愕秫,隨后出現(xiàn)的幾起案子慨菱,更是在濱河造成了極大的恐慌,老刑警劉巖戴甩,帶你破解...
    沈念sama閱讀 222,681評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件符喝,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡甜孤,警方通過查閱死者的電腦和手機(jī)协饲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來缴川,“玉大人茉稠,你說我怎么就攤上這事“芽洌” “怎么了而线?”我有些...
    開封第一講書人閱讀 169,421評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長恋日。 經(jīng)常有香客問我膀篮,道長,這世上最難降的妖魔是什么岂膳? 我笑而不...
    開封第一講書人閱讀 60,114評(píng)論 1 300
  • 正文 為了忘掉前任誓竿,我火速辦了婚禮,結(jié)果婚禮上闷营,老公的妹妹穿的比我還像新娘烤黍。我一直安慰自己知市,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,116評(píng)論 6 398
  • 文/花漫 我一把揭開白布速蕊。 她就那樣靜靜地躺著嫂丙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪规哲。 梳的紋絲不亂的頭發(fā)上跟啤,一...
    開封第一講書人閱讀 52,713評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音唉锌,去河邊找鬼隅肥。 笑死,一個(gè)胖子當(dāng)著我的面吹牛袄简,可吹牛的內(nèi)容都是我干的腥放。 我是一名探鬼主播,決...
    沈念sama閱讀 41,170評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼绿语,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼秃症!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起吕粹,我...
    開封第一講書人閱讀 40,116評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤种柑,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后匹耕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體聚请,經(jīng)...
    沈念sama閱讀 46,651評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,714評(píng)論 3 342
  • 正文 我和宋清朗相戀三年稳其,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了驶赏。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,865評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡欢际,死狀恐怖母市,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情损趋,我是刑警寧澤患久,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站浑槽,受9級(jí)特大地震影響蒋失,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜桐玻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,211評(píng)論 3 336
  • 文/蒙蒙 一篙挽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧镊靴,春花似錦铣卡、人聲如沸链韭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽敞峭。三九已至,卻和暖如春蝉仇,著一層夾襖步出監(jiān)牢的瞬間旋讹,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評(píng)論 1 274
  • 我被黑心中介騙來泰國打工轿衔, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留沉迹,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,299評(píng)論 3 379
  • 正文 我出身青樓害驹,卻偏偏與公主長得像鞭呕,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子裙秋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,870評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容