計算機網(wǎng)絡(luò)協(xié)議

淺談網(wǎng)絡(luò)協(xié)議

網(wǎng)絡(luò)協(xié)議模型通常有OSI七層模型、TCP/IP模型妻味、五層模型。
OSI是ISO組織定義的國際化標(biāo)準(zhǔn)欣福,但并不實用责球,一般只用于學(xué)習(xí)。TCP/IP模型是事實上的標(biāo)準(zhǔn)拓劝,當(dāng)前主流應(yīng)用一般都使用此模型雏逾。
TCP/IP模型分為四層:應(yīng)用層、傳輸層郑临、網(wǎng)際層栖博、網(wǎng)絡(luò)接口層,五層模型則在TCP/IP模型基礎(chǔ)上將網(wǎng)絡(luò)接口層細(xì)分為數(shù)據(jù)鏈路層和物理層厢洞,此處使用五層模型仇让。

1、物理層為傳輸載體躺翻,有雙絞線丧叽、光纖、同軸電纜公你。雙絞線一般用于局域網(wǎng)踊淳,光纖一般用于遠(yuǎn)距離傳輸,同軸電纜可用于局域網(wǎng)陕靠,但基本已被雙絞線取代迂尝,現(xiàn)在用于有線電視線路。
信道復(fù)用技術(shù)有:時分復(fù)用剪芥、頻分復(fù)用垄开、波分復(fù)用、碼分復(fù)用税肪。

2说榆、數(shù)據(jù)鏈路層在物理層之上虚吟,PPP協(xié)議是目前應(yīng)用最廣泛的數(shù)據(jù)鏈路層協(xié)議寸认,PPP非常簡單签财,接收方每收到一個幀,就進行CRC校驗偏塞,如正確則收下唱蒸,反之則丟棄這個幀。數(shù)據(jù)的表示方式有歸零制灸叼、不歸零制神汹、曼切斯特編碼,差分曼切斯特編碼古今。
早期有以太網(wǎng)共享協(xié)議CSMA/CD屁魏,將許多站點接到一根總線上,CSMA/CD(Carrier Sense Multiple Access/Collision Detection)是以半雙工方式運行(發(fā)送和接收不能同時進行)捉腥。載波監(jiān)聽就是發(fā)送前先監(jiān)聽氓拼,發(fā)送前要檢測總線上是否有其他站點在發(fā)送數(shù)據(jù)(如果有則等空閑時再發(fā));碰撞檢測就是邊發(fā)送邊監(jiān)聽抵碟,適配器邊發(fā)送數(shù)據(jù)邊檢測其他站點是否也在發(fā)送數(shù)據(jù)桃漾,如果發(fā)現(xiàn)有其他站點也在發(fā)送數(shù)據(jù)(同時只能一個站點發(fā)),則立即停止發(fā)送拟逮,等待空閑后再發(fā)送撬统,CSMA/CD協(xié)議要求發(fā)送時延至少要兩倍的傳播時延才能保證沖突檢測。以太網(wǎng)有效幀長度為64~1518字節(jié)敦迄,大于或者小于有效長度的幀會被直接丟棄×底罚現(xiàn)在一般使用交換式集線器,也就是常說的交換機罚屋。

3苦囱、網(wǎng)絡(luò)層的兩大主要功能為分組轉(zhuǎn)發(fā)和路由選擇,分組轉(zhuǎn)發(fā)是路由器根據(jù)轉(zhuǎn)發(fā)表將接收到的分組從某個接口轉(zhuǎn)發(fā)出去沿后,路由選擇是網(wǎng)絡(luò)層決定轉(zhuǎn)發(fā)路徑的過程(內(nèi)部網(wǎng)關(guān)協(xié)議RIP沿彭、OSPF,外部網(wǎng)關(guān)協(xié)議BGP尖滚、)喉刘。
IP協(xié)議是網(wǎng)絡(luò)層的重要協(xié)議,網(wǎng)絡(luò)層還有其他輔助協(xié)議漆弄,如ARP睦裳,RARP、ICMP撼唾、IGMP廉邑。IPV4為32位二進制數(shù),一般使用點分十進制來表示,IPV6為128位二進制數(shù)蛛蒙。IP地址由網(wǎng)絡(luò)部分和主機部分組成糙箍,例如在192.168.0.1/24中,網(wǎng)絡(luò)地址為192.168.0.0牵祟,主機號為1深夯。
一些特殊的IP地址不能分配給主機:網(wǎng)絡(luò)地址和主機號全為0表示為本網(wǎng)絡(luò)上的本主機(0.0.0.0),主機地址全為1的地址表示該網(wǎng)段的廣播地址诺苹。本地專用網(wǎng)段地址有:10.0.0.0-10.255.255.255咕晋、172.16.0.0-172.31.255.255、192.168.0.0-192.168.255.255收奔,IP協(xié)議會將大于MTU大小的數(shù)據(jù)報分成多個數(shù)據(jù)報發(fā)送据德,到達(dá)目的地后再組裝续挟。
ARP協(xié)議的作用是獲取IP地址對應(yīng)的Mac地址遍尺。路由器轉(zhuǎn)發(fā)IP數(shù)據(jù)報的過程基本如下:提取目的IP地址D挠轴,對路由器各個網(wǎng)絡(luò)的掩碼與D相與(AND位運算),如結(jié)果與網(wǎng)絡(luò)地址匹配损姜,則直接交付饰剥。否則查詢路由表中的每一行(目的網(wǎng)絡(luò)地址、掩碼摧阅、下一跳汰蓉、接口),用其掩碼與D相與棒卷,結(jié)果與網(wǎng)絡(luò)地址匹配則交付顾孽。如果路由表查詢完畢還未找到則查看是否有默認(rèn)路由,有則轉(zhuǎn)發(fā)至默認(rèn)路由比规,沒有則報錯若厚。知道IP地址但不知道物理地址無法到達(dá),所以需要ARP來完成這個工作 蜒什,如果ARP表中找不到某個IP的MAC地址测秸,則會發(fā)送一個廣播,由該IP主機回應(yīng)灾常。
ICMP協(xié)議霎冯,ICMP差錯報告報文有五種:終點不可達(dá)、源點抑制钞瀑、超時沈撞、參數(shù)問題、改變路由(重定向)雕什,Windows系統(tǒng)常用的Ping命令使用的就是ICMP報文缠俺∠跃В可以使用Wireshark抓取各個協(xié)議數(shù)據(jù)包和使用Cisco Pakcket Tracer模擬網(wǎng)絡(luò)連接。

4壹士、傳輸層在網(wǎng)絡(luò)層之上磷雇,主要協(xié)議有TCP和UDP,TCP協(xié)議需要先建立連接墓卦,有分段機制倦春、滑動窗口機制(分為可用部分,已發(fā)送未確認(rèn)部分落剪,已發(fā)送部分)、流量控制尿庐、擁塞控制(發(fā)送速率慢慢增加忠怖,遇到網(wǎng)絡(luò)擁塞立即停止發(fā)送)等功能。TCP會將過大的數(shù)據(jù)包分段發(fā)送(在建立連接時會溝通MSS大谐)凡泣,這樣IP協(xié)議就不用再分片重組。使用Nagle算法會產(chǎn)生粘包現(xiàn)象(數(shù)據(jù)包太小時會與接下來到達(dá)的數(shù)據(jù)包合并為一個大的數(shù)據(jù)包發(fā)送)皮假。因為這些現(xiàn)象需要對TCP接收到數(shù)據(jù)包進行拆包和判斷是否接收完畢鞋拟,通常的做法有:固定TCP數(shù)據(jù)包長度或者將數(shù)據(jù)包分為頭部+數(shù)據(jù),頭部存儲數(shù)據(jù)包總長度*惹资,TCP是一種可靠地傳輸層協(xié)議贺纲。
UDP基本沒有對IP數(shù)據(jù)報做處理,所以可能會產(chǎn)生包順序錯亂和丟包現(xiàn)象(數(shù)據(jù)報分片發(fā)送褪测,每個數(shù)據(jù)幀選擇的路由線路可能不同就會產(chǎn)生順序錯亂猴誊,路由器緩存區(qū)滿了就會產(chǎn)生丟包現(xiàn)象)。UDP不需要合并數(shù)據(jù)段侮措,這個工作由IP協(xié)議完成懈叹,可在應(yīng)用層實現(xiàn)數(shù)據(jù)包分段,增加應(yīng)答分扎、重傳等機制實現(xiàn)可靠UDP(如KCP協(xié)議)澄成。

5、應(yīng)用層協(xié)議有很多畏吓,例如DNS域名解析墨状、FTP文件傳輸、DHCP動態(tài)主機配置庵佣、HTTP超文本傳輸?shù)惹附骸?梢允褂肧ocket實現(xiàn)自己的應(yīng)用層協(xié)議參考C#實現(xiàn)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末巴粪,一起剝皮案震驚了整個濱河市通今,隨后出現(xiàn)的幾起案子粥谬,更是在濱河造成了極大的恐慌,老刑警劉巖辫塌,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件漏策,死亡現(xiàn)場離奇詭異,居然都是意外死亡臼氨,警方通過查閱死者的電腦和手機掺喻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來储矩,“玉大人感耙,你說我怎么就攤上這事〕炙恚” “怎么了即硼?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長屡拨。 經(jīng)常有香客問我只酥,道長,這世上最難降的妖魔是什么呀狼? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任裂允,我火速辦了婚禮,結(jié)果婚禮上哥艇,老公的妹妹穿的比我還像新娘绝编。我一直安慰自己,他們只是感情好她奥,可當(dāng)我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布瓮增。 她就那樣靜靜地躺著,像睡著了一般哩俭。 火紅的嫁衣襯著肌膚如雪绷跑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天凡资,我揣著相機與錄音砸捏,去河邊找鬼。 笑死隙赁,一個胖子當(dāng)著我的面吹牛垦藏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播伞访,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼掂骏,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了厚掷?” 一聲冷哼從身側(cè)響起弟灼,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤级解,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后田绑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體勤哗,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年掩驱,在試婚紗的時候發(fā)現(xiàn)自己被綠了芒划。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡欧穴,死狀恐怖民逼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情苔可,我是刑警寧澤缴挖,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站焚辅,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏苟鸯。R本人自食惡果不足惜同蜻,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望早处。 院中可真熱鬧湾蔓,春花似錦、人聲如沸砌梆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽咸包。三九已至桃序,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間烂瘫,已是汗流浹背媒熊。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留坟比,地道東北人芦鳍。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像葛账,于是被迫代替她去往敵國和親柠衅。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,515評論 2 359

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