第二章 TCP/IP 基礎知識

第二章 TCP/IP 基礎知識

?

TCP/IP ?transmission control protocol and ip internet protocol 是互聯網眾多通信協議中最為著名的。

?

2.2 TCP/IP 的標準化

2.2.2 TCP/IP 標準化精髓

TCP/IP 協議始終具有很強的實用性。

相比于TCP/IP ,OSI 之所以未能達到普及,主要原因在于未能盡早的制定可行性較強的協議、未能提出應對技術快速更新的協議以及沒有能及時進行后期的改良的方案。

2.2.3 TCP/IP 規范 ——RFC

那些需要標準化的協議,被人們列為RFC (Request For Comment)文檔并在互聯網上公布。RFC不僅記錄了協議規范內容,還包含了協議的實現和運用的相關信息,以及實驗方面的信息。

?

2.3 互聯網基礎知識

互聯網與TCP/IP 的關系

互聯網的協議就是TCP/IP ,TCP/IP 就是互聯網協議

2.3.3 互聯網的結構

互聯網中的每個網絡都是由骨干網(BackBone)和末端網(Stub)組成的。每個網絡之間通過NOC network opeartion center 相連。如果網絡的運營商不同,它的網絡連接方式和使用方法也會不同。連接這種異構網絡需要IX 的支持 internet

?exchange 網絡交換中心 。總之互聯網就是眾多異構的網絡通過IX 互聯的一個巨型網絡。

?

?

?

2.4 TCP/IP 協議分層模型

?

2.4.4 互聯網層? 網絡層

?

IP ? 是跨越網絡傳送數據包,使整個互聯網 都能收到數據的協議。IP協議使數據能夠發送到地球的另一端這期間它使用IP地址作為主機的標識。

ICMP?

IP數據包在發送途中一旦發生異常導致無法到達對端目標地址時,需要給發送端發送一個發生異常的通知。ICMP就是為這一功能而指定的。它有時也被用來診斷網絡的健康狀況。

ARP?

從分組數據包的IP地址中解析出物理地址MAC地址的一種協議。

2.4.5? 傳輸層

傳輸層最主要的功能就是嫩鞏固讓應用程序之間實現通信。計算機內部,通常同一時間運行著多個程序。為此,必須分清是那些程序與哪些程序在進行通信。識別這些應用程序的是端口號。

TCP

TCP是一種面向有鏈接的傳輸層協議。他可以保證兩端通信主機之間的通信可達。TCP 能夠正確處理在傳輸過程中丟包、傳輸順序亂掉等異常情況。此外TCP還能夠有效利用帶寬,緩解網絡擁堵。

為了建立與斷開鏈接,有時需要至少7次的發包收包,導致網絡流量的浪費。

UDP?

面向無連接的傳輸層協議。UDP 不會關注對端是否真的收到了傳送過去的數據,如果需要見擦汗對端是否收到分組數據包,或者對端首付連接到網絡,則需要在應用程序中實現。

?

2.5 TCP /IP 分層模型與通信示例

2.5.1 數據包首部

包、幀、數據報、段、消息

包可以說是全能性術語。幀用于表示數據鏈路層中包的單位。而數據報是IP和UDP等網絡層以上的分層中包的單位。段則表示TCP數據流的信息。最后,消息是指應用協議中數據的單位。

在數據包的首部,明確標明了協議應該如何讀取數據。反過來,看到首部也就能夠了解協議必要的信息以及所要處理內容。因此看到包首部就如同看到協議的規范。 首部就像是協議 的臉。

2.5.3 經過數據鏈路的包

分組數據包 經過以太網的數據鏈路時如圖

?

?

第三章?

數據鏈路

3.1 數據鏈路的作用

3.2.1 MAC 地址

MAC 地址用于識別 數據鏈路中互連的節點。

3.2.2 共享介質網絡

共享介質網絡指由多個設備共享一個通信介質的一種網絡。設備之間使用同一個載波信道進行發送和接受。。為此,基本采用半雙工通信,并有必要對介質進行訪問控制。

共享介質網絡有兩種介質訪問控制方式 :一種是爭用方式,另一種是令牌傳遞方式

爭用方式 是指爭奪獲取數據傳輸的權利 也叫CSMA 載波監聽多路訪問 。這種方式通常令網絡中的各個站采用先到先得的方式占用信道發送數據,如果多個站同時發送幀,則會產生沖突現象。也因此會導致網絡擁堵與性能下降。

在一部分以太網上,采用了改良的CSMA的另一種方式CSMA/CD 方式 。CSMA/CD 要求每個站提前見檢查沖突,一旦發生沖突,則盡早釋放信道。carrier sense multiple access with collision detection .

?

令牌傳遞方式

令牌傳遞方式是沿著令牌環發送一種叫做令牌的特殊報文,是控制傳輸的一種方式。只有獲得令牌的站才能發送數據。這種方式有兩個特點:一是不會有沖突,二是每個站都有通過平等循環獲得兩排的機會。

3.2.3 非共享介質網絡

非共享介質網絡是指不共享介質,是對介質采取專用的一種傳輸控制方式。

網絡中的每個站直連交換機,由交換機負責轉發數據幀。此方式下,發送端與接收端并不共享通信介質,因此很多情況下采用全雙工通信方式。

?

3.2.5 環路檢測技術

通過網橋連接網絡時,一旦出現環路該如何處理?這與網絡的拓撲結構和所使用的網橋種類有直接關系。最壞的情況下,數據幀會在環路中被一而再再而三的持續轉發。而一旦這種數據幀越積越多將會導致網絡癱瘓。

為此,有必要解決網絡中的環路問題。具體有生成樹與源路由兩種方式。

生成樹方式

?

每個網橋必須在每1~10秒內相互交換BPDU birdge protocol data unit 包,從而判斷哪些端口使用哪些不適用,以便消除環路。一旦發生故障,則自動切換通信線路,利用哪些沒有被使用的端口繼續進行傳輸。

?

以某一網橋為構造樹的根,并對每個端口設置權重。這一權重可以由網絡管理員適當的設置,指定優先使用哪些端口以及發生問題時該使用哪些端口。

生成樹發其實語計算機和路由器的功能沒有關系,但是只要有生成樹的功能就足以消除環路。

IEEE802.1 D中所定義的生成樹方法有一個弊端,就是在發生故障切換網絡時需要幾十秒。為了解決這個用時過長的問題,在IEEE 802.1W中定義了一個叫RSTPrapid spanning tree protocl 的方法。

源路由法?

源路由判斷發送數據的源地址是通過那個網橋實現傳輸的,并將幀寫入RIF (Routing information field )。網橋則根據這個RIF 信息發送幀給目標地址。因此,即使網橋中出現了環路,數據幀也不會被反復轉發,可成功的發送到目標地址。

?

?

3.2.6 VLAN?

該交換機按照其端口區分了多個網段,從而區分了廣播數據傳播的范圍、減少了網絡負載并提高了網絡的安全性。然而異構的兩個網段之間,就需要利用具有路由功能的交換機,或者在各段中間通過路由器的連接才能實現通信。

對這種VLAN 進行了擴展,定義了IEEE 802.1Q的標準,該標準允許包含跨越異構交換機的網段。TAG VLAN ID 的標簽進行唯一標識。在交換機中傳輸幀時,在以太網首部加入這個VID標簽,根據這個值將數據幀發送給哪個網段。

3.3 以太網?

在眾多鏈路中最為著名,使用最為廣泛的是以太網。它的規范簡單,易于NIC網卡及驅動程序實現。

3.3.1 以太網連接形式

3.3.2 以太網的分類

3.3.4 以太網的幀格式?

以太網幀前端有一個叫做前導碼preamble的部分,它由0、1數字交替組合而成,表示一個以太網的開始,也是對端網卡能夠確保與其同步的標志。前導碼末尾是一個叫做SFD Start frame delimiter的域,它的值是11.在這個域之后就是以太網的本體。前導碼與SFD 合起來占8個字節。

以太網本體的前端是以太網的首部,它總共占14個字節。分別是6個字節的目標MAC地址、6個字節的源MAC 地址以及2個字節的上層協議類型。

?

緊隨幀頭后面的是數據。一個數據幀所能容納的最大數據范圍是46~1500個字節。幀尾是一個叫做FCS frame check sequence 幀檢驗序列 的四個字節。

類型通常跟數據一起傳送,它包含用以標識協議類型的編號,即比哦啊名以太網的再上一層網絡協議的類型。

幀尾最后出現的是FCS。用它可以檢查幀是否有所損壞。

?

FCS 中保存著整個幀除以生成多項式的余數。在接收端也用同樣的方式計算,如果得到的FCS的值相同,就判斷所接受的幀沒有差錯。

?

帶有VLAN標記的交換機之間流動的以太網幀格式

?

數據鏈路層分為兩層

如果再進一步細分,還可以將數據鏈路層分為介質訪問控制層和邏輯鏈路控制層

介質訪問控制層 根據以太網或FDDI等不同數據鏈路所特有的首部信息進行控制。與之相比,邏輯鏈路層則根據以太網或FDDI等不同數據鏈路所共有的幀頭信息進行控制。

?

3.4 無線通信

無線通信通常使用電磁波、紅外線、激光等方式進行傳播數據。一般在辦公室的局域網內組成的較高速的連接稱為無線局域網

3.4.1 無線通信的種類?

無線PAN personal area network?

無線Lan local area network 802.11?

無線MAN metropolitan area network 802.16?

無線RAN regional area network 802.22等無線標準

無線WAN wide area network 的最典型就是手機通信。

?

3.4.2 IEEE 802.11

定義了無線LAN協議中物理層與數據鏈路層的一部分(MAC)。

作為一種通信方式,IEEE 802.11 在物理層上使用電磁波或紅外線,通信速度為1Mpbs或2Mbps。現在已經基本無人使用了。

?

3.4.6 使用無線LAN 時的注意事項

3.4.7 藍牙

?

3.5PPP?

3.5.1 ppp定義

Point to point protocol PPP 指點對點,即1對1 連接計算機的協議。PPP相當于位于OSI參考模型第二層的數據鏈路層

PPP可以使用電話線或ISDN、專線、ATM線路 。人們更多的是在用ADSL或有線電視通過PPPo? Etry 實現互聯網接入。

PPPoE? PPP over ethernet?

僅有PPP無法實現通信,還需要有物理層的支持。

3.5.2 LCP 與NCP?

?

在PPP的主要功能有兩個協議:一個是不依賴上層的LCP 協議(Link control protocol ),另一個是依賴上層的NCP 協議(Network control protocol)

如果上層 為IP,此時的NCP也叫做IPCP ip control protocol?

通過PPP連接 ,通常需要進行用戶名密碼的驗證,并且對通信兩端進行雙方向的驗證。

3.5.3 PPP的幀格式

PPP 的數據幀格式

HDLC就是在每個幀的前后加上一個8位字節 "01111110"用來區分幀。這一個8位字節叫做標志碼。在兩個標志碼中間不允許出現連續6個以上的1。

在通過電腦進行撥號時,PPP已在軟件中實現。因此,那些插入或刪除0的操作或FCS 計算都交由電腦的CPU去處理。這也是為什么人們常說PPP這種方式會給計算機帶來大量負荷的原因所在。

3.5.4 PPPoE?

有些互聯網接入服務商在以太網上利用PPPoE? PPP over ethernet 提供PPP功能。

?

單純的以太網沒有驗證能力,也沒有建立和斷開連接的處理,因此無法按時計費。

而才喲個PPPoE管理以太網連接,就可以利用PPP的驗證等功能使各家ISP 可以有效的管理終端用戶的使用。

3.6? 其他數據鏈路

ATM asynchronous transfer mode 是以一個叫做信元 的單位進行傳輸的數據鏈路,由于其線路占用時間段和能夠高效傳輸大容量數據等特點主要用于廣域網的連接。

ATM的特點?

3.6.13 高速PLC

高速PLC 是指在家里或辦公室內利用電力線上傳MHz~數十MHz 頻帶范圍,實現通信方式。使用電力線不用重新布線,也能進行日常生活以及家電設備或辦公設備的控制。然而,本不是為通信目的而設計的電力線在傳輸高頻信號時,極容易收到電波干擾,一般僅限于市內使用。

3.7 VPN

虛擬專用網絡用于連接距離較遠的地域。這種服務包括IP-VPN和廣域以太網

IP-VPN?

?

在IP網絡上建立VPN

網絡服務商提供一種在IP網絡上使用MPLS技術構建VPN的服務。其中MPLS(Multiprotocol Label Switching? 多協議標簽交換 )在IP包種附加一個驕傲做標簽(Label)的信息進行傳輸控制。每個用戶的標簽信息不同,因此在通過MPLS網時,可以輕松的判斷出目標地址。這樣一來就可以將多個不同用戶的VPN信息 通過MPLS 網加以區分,形成封閉的私有網絡。還能進行用戶級的帶寬控制。

除了使用服務提供商 的IP -VPN 服務之外,有時企業還可以在互聯網上建立自己的VPN,一般采用的是IPsec技術。該方法對VPN通信中的IP包進行驗證和加密,在互聯網上構造一個封閉的私有網絡。雖然這種方式可以利用價格低廉的互聯網通信線路,并且還可以根據自己的情況對數據進行不同級別的加密,但是有時會收到網絡擁堵的影響。

廣域以太網

廣域以太網 則是作為數據鏈路層的以太網上利用VLAN 實現VPN的技術。該技術還可以使用TCP/IP 中的其他協議。

?

轉載于:https://www.cnblogs.com/ljlkfx/p/4786910.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/374529.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/374529.shtml
英文地址,請注明出處:http://en.pswp.cn/news/374529.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CSS太陽月亮地球三角戀旋轉效果

純粹玩一下&#xff0c;好像沒有什么實際的卵用&#xff0c;but&#xff0c;純玩買不了上當&#xff0c;純玩買不了受騙。。。。。。。。 地月旋轉的一個css效果&#xff0c;無聊玩玩&#xff0c;可以復制到記事本試試 <!DOCTYPE html><html lang"en">&l…

gorm preload 搜索_LeetCode刷題筆記|95:不同的二叉搜索樹 II

題目描述給定一個整數 n&#xff0c;生成所有由 1 ... n 為節點所組成的 二叉搜索樹 。示例輸入&#xff1a;3輸出&#xff1a;[[1,null,3,2],[3,2,null,1],[3,1,null,null,2],[2,1,3],[1,null,2,null,3]]解釋&#xff1a;以上的輸出對應以下 5 種不同結構的二叉搜索樹&#xf…

Java初學者指南

Java編程的第一步。 對于Java中的入門教程&#xff0c;請參閱Sun的官方幫助這里 除了核心語言外&#xff0c;還有幾種技術和API 介紹。 我們建議首先閱讀涵蓋 基礎知識&#xff0c;并繼續其余的教程。 我們建議&#xff1a; 保持代碼簡單易讀 拆分邏輯組件&#xff08;類…

Javascript中Promise對象的實現

http://segmentfault.com/a/1190000000684654 http://www.infoq.com/cn/news/2011/09/js-promise/轉載于:https://www.cnblogs.com/zuiyirenjian/p/4787864.html

字符串分割與存入List集合

List<string> namelist new List<string>(); string[] namejh null; string name "張三李四王五"; 第一步&#xff1a;將三個名字分離出來 namejh name.Split("".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); namelist new Li…

GTJ2018如何導出全部工程量_如何成為優秀的造價員?廣聯達編制內刊手冊,造價員算量高手秘籍...

如何成為優秀的造價員&#xff1f;廣聯達編制內刊手冊&#xff0c;造價員算量高手秘籍[高手秘籍]是廣聯達課程編制委員會暨直播委員會精心打造的&#xff0c;能夠“讓您深入理解軟件計算、設置等原理,遇到問題有處理思路,以常見問題為導向&#xff0c;重點進行原因分析&#xf…

帶有Spring,Hibernate,Akka,Twitter Bootstrap,Apache Tiles和jQuery的Maven Web項目Kickstarter代碼庫...

我很高興將第二個項目上傳到GitHub&#xff0c;以幫助人們盡快開始Java Web App開發。 我正在與Apache License 2.0共享此代碼。 這是相同的網址&#xff1a; https://github.com/ykameshrao/spring-hibernate-springdata-springmvc-maven-project-framework 該項目包括以下部…

git項目添加.gitigore文件

以前一直沒有注意這個文件&#xff0c;最近讀到了黃勇的《架構探險》&#xff0c;覺得這個文件還是很有用的。 .gitigore文件可以自己配置。 我使用的是書中所用的配置&#xff0c;簡潔明了。 # Maven # target/#log# logs/# IDEA # .idea/ *.iml# Eclipse # .settings/ .metad…

463. 島嶼的周長

給定一個 row x col 的二維網格地圖 grid &#xff0c;其中&#xff1a;grid[i][j] 1 表示陸地&#xff0c; grid[i][j] 0 表示水域。 網格中的格子 水平和垂直 方向相連&#xff08;對角線方向不相連&#xff09;。整個網格被水完全包圍&#xff0c;但其中恰好有一個島嶼&a…

C++服務器設計(七):聊天系統服務端實現

在之前的章節中&#xff0c;我們對服務端系統的設計實現原理進行了剖析&#xff0c;在這一章中&#xff0c;我們將對服務端框架進行實際運用&#xff0c;實現一款運行于內網環境的聊天系統。該聊天系統由客戶端與服務器兩部分組成&#xff0c;同時服務端通過數據庫維護用戶的賬…

高校實驗室管理系統_史上最全面的實驗室信息管理系統(LIMS)全解

1. LIMS的基本概念和發展狀況1.1 概括LIMS實驗室管理系統是為實驗、檢測等業務板塊提供流程化、模塊化、標準化操作管理系統&#xff0c;打造基于行業法規的實驗室全流程質量控制管理系統&#xff0c;實現實驗室“人、機、料、法、環”關鍵環節管理。1.2 發展狀況隨著科研規范化…

ORM問題

在過去的幾年中&#xff0c;像Hibernate這樣的對象關系映射工具已經幫助開發人員在處理關系數據庫方面取得了巨大的生產力增長。 ORM使開發人員可以將精力集中在應用程序邏輯上&#xff0c;并避免為諸如插入或查詢之類的簡單任務編寫大量樣板SQL。 但是&#xff0c;充分證明的對…

ActiveMQ中Session設置的相關理解

名詞解釋&#xff1a; P&#xff1a;生產者 C&#xff1a;消費者 服務端&#xff1a;P 或者 ActiveMQ服務 客戶端&#xff1a;ActiveMQ服務 或者 C 客戶端成功接收一條消息的標志是這條消息被簽收。成功接收一條消息一般包括如下三個階段&#xff1a; 1&#xff0e;客戶端接收…

python中的 descriptor

學好和用好python&#xff0c; descriptor是必須跨越過去的一個點&#xff0c;現在雖然Python書籍花樣百出&#xff0c;但是似乎都是在介紹一些Python庫而已&#xff0c;對Python語言本身的關注很少&#xff0c;或者即使關注了&#xff0c;但是能夠介紹把 dscriptor介紹清楚的&…

Heroku運行Java

如果您是像我這樣的Java迷&#xff0c;那么您有個好消息值得振奮。 Heroku現在運行Java&#xff01; 嗯&#xff0c;與其他流行的“ Web”語言&#xff08;如PHP / RoR&#xff09;不同&#xff0c;Java具有在Web服務器中進行部署和維護的麻煩。 一直以來&#xff0c;只有企業才…

配置了坐標還是找不到serv_為什么老人家總是這疼那疼,還找不到原因?是矯情還是另有原因...

“哎呀&#xff0c;怎么回事&#xff0c;腰痛腿痛的&#xff0c;痛的我一晚上都沒怎么睡覺&#xff0c;怎么回事昨天也沒干嘛啊&#xff01;”對于這一句話&#xff0c;相信很多朋友都不是很陌生。這句話是來自于一位網友的留言&#xff0c;而說這話的真是她的媽媽。這也是很多…

Nginx負載均衡和LVS負載均衡的比較分析

lvs和nginx都可以用作多機負載的方案&#xff0c;它們各有優缺&#xff0c;在生產環境中需要好好分析實際情況并加以利用。 首先提醒&#xff0c;做技術切不可人云亦云&#xff0c;我云即你云&#xff1b;同時也不可太趨向保守&#xff0c;過于相信舊有方式而等別人來幫你做墊被…

QuartZ.net 常用配置說明

配置文件說明app.config中的quartz部分<quartz><!-- configure Thread Pool--><addkey"quartz.threadPool.type"value"Quartz.Simpl.SimpleThreadPool,Quartz" /><addkey"quartz.threadPool.threadCount"value"10&quo…

qopenglwidget 透明_廊坊透明真空袋用途-祺泰包裝

功能方面&#xff1a;平面真空袋抽真空后易形成不平整&#xff0c;不均勻的現象。目前&#xff0c;真空包裝主要用于食品的包裝&#xff0c;如肉類、谷類加工食品以及易氧化變質的食品&#xff0c;也可用于機械零件、儀器和羽絨制品、毛制品等蓬松制品的包裝。在超shi中&#x…

使用Spring Data Neo4j進行領域建模

大家好&#xff0c;威利在這里。 上次我告訴您&#xff0c;我正在使用Neo4j和Spring Data Neo4j構建Skybase CMDB&#xff0c;我很高興收到很多對此的積極反饋。 我展示了一些代碼&#xff0c;但沒有那么多。 在本文中&#xff0c;我將向您展示如何使用Spring Data Neo4j在Skyb…