1. 程式人生 > >網際網路協議入門1

網際網路協議入門1

一.概述
1.1五層模型
分別為:物理層,鏈路層,網路層,傳輸層,應用層

二.物理層
它就是把電腦連線起來的物理手段。它主要規定了網路的一些電氣特性,作用是負責傳送0和1的電訊號。

三.鏈路層
3.1定義
單純的0和1沒有任何意義,必須規定解讀方式:多少個電訊號算一組?每個訊號位有何意義?
這就是”連結層”的功能,它在”實體層”的上方,確定了0和1的分組方式。

3.2乙太網協議
乙太網規定,一組電訊號構成一個數據包,叫做”幀”(Frame)。每一幀分成兩個部分:標頭(Head)和資料(Data)。

“標頭”包含資料包的一些說明項,比如傳送者、接受者、資料型別等等;”資料”則是資料包的具體內容。

“標頭”的長度,固定為18位元組。”資料”的長度,最短為46位元組,最長為1500位元組。因此,整個”幀”最短為64位元組,最長為1518位元組。如果資料很長,就必須分割成多個幀進行傳送。

3.3MAC地址
乙太網規定,連入網路的所有裝置,都必須具有”網絡卡”介面。資料包必須是從一塊網絡卡,傳送到另一塊網絡卡。網絡卡的地址,就是資料包的傳送地址和接收地址,這叫做MAC地址。

3.4廣播
首先,一塊網絡卡怎麼會知道另一塊網絡卡的MAC地址?
回答是有一種ARP協議,可以解決這個問題。這個留到後面介紹,這裡只需要知道,乙太網資料包必須知道接收方的MAC地址,然後才能傳送。

其次,就算有了MAC地址,系統怎樣才能把資料包準確送到接收方?
回答是乙太網採用了一種很”原始”的方式,它不是把資料包準確送到接收方,而是向本網路內所有計算機發送,讓每臺計算機自己判斷,是否為接收方。

四.網路層
4.1網路層的由來
網際網路是無數子網路共同組成的一個巨型網路,很像想象上海和洛杉磯的電腦會在同一個子網路,這幾乎是不可能的。因此,必須找到一種方法,能夠區分哪些MAC地址屬於同一個子網路,哪些不是。如果是同一個子網路,就採用廣播方式傳送,否則就採用”路由”方式傳送。遺憾的是,MAC地址本身無法做到這一點。它只與廠商有關,與所處網路無關。

這就導致了”網路層”的誕生。它的作用是引進一套新的地址,使得我們能夠區分不同的計算機是否屬於同一個子網路。這套地址就叫做”網路地址”,簡稱”網址”。

於是,”網路層”出現以後,每臺計算機有了兩種地址,一種是MAC地址,另一種是網路地址。

4.2IP協議
目前,廣泛採用的是IP協議第四版,簡稱IPv4。這個版本規定,網路地址由32個二進位制位組成。

網際網路上的每一臺計算機,都會分配到一個IP地址。這個地址分成兩個部分,前一部分代表網路,後一部分代表主機。比如,IP地址172.16.254.1,這是一個32位的地址,假定它的網路部分是前24位(172.16.254),那麼主機部分就是後8位(最後的那個1)。處於同一個子網路的電腦,它們IP地址的網路部分必定是相同的,也就是說172.16.254.2應該與172.16.254.1處在同一個子網路。

但是,問題在於單單從IP地址,我們無法判斷網路部分。還是以172.16.254.1為例,它的網路部分,到底是前24位,還是前16位,甚至前28位,從IP地址上是看不出來的。

那麼,怎樣才能從IP地址,判斷兩臺計算機是否屬於同一個子網路呢?這就要用到另一個引數”子網掩碼”(subnet mask)。

所謂”子網掩碼”,就是表示子網路特徵的一個引數。它在形式上等同於IP地址,也是一個32位二進位制數字,它的網路部分全部為1,主機部分全部為0。比如,IP地址172.16.254.1,如果已知網路部分是前24位,主機部分是後8位,那麼子網路掩碼就是11111111.11111111.11111111.00000000,寫成十進位制就是255.255.255.0。

知道”子網掩碼”,我們就能判斷,任意兩個IP地址是否處在同一個子網路。方法是將兩個IP地址與子網掩碼分別進行AND運算(兩個數位都為1,運算結果為1,否則為0),然後比較結果是否相同,如果是的話,就表明它們在同一個子網路中,否則就不是。

比如,已知IP地址172.16.254.1和172.16.254.233的子網掩碼都是255.255.255.0,請問它們是否在同一個子網路?兩者與子網掩碼分別進行AND運算,結果都是172.16.254.0,因此它們在同一個子網路。

總結一下,IP協議的作用主要有兩個,一個是為每一臺計算機分配IP地址,另一個是確定哪些地址在同一個子網路。

相關推薦

網際網路協議入門1

一.概述 1.1五層模型 分別為:物理層,鏈路層,網路層,傳輸層,應用層 二.物理層 它就是把電腦連線起來的物理手段。它主要規定了網路的一些電氣特性,作用是負責傳送0和1的電訊號。 三.鏈路層 3.1定義 單純的0和1沒有任何意義,必須規定解讀方

01、網際網路協議入門

我們每天使用網際網路,你是否想過,它是如何實現的? 全世界幾十億臺電腦,連線在一起,兩兩通訊。上海的某一塊網絡卡送出訊號,洛杉磯的另一塊網絡卡居然就收到了,兩者實際上根本不知道對方的物理位置,你不覺得這是很神奇的事情嗎? 網際網路的核心是一系列協議,總稱為"網際網路協議"(Internet

網際網路協議入門(二) 作者:阮一峰

上一篇文章分析了網際網路的總體構思,從下至上,每一層協議的設計思想。這是從設計者的 角度但問題,今天我想切換到使用者的角度,看看使用者時如何從上至下,與這些協議互動的。 (接上文) 一個小結 先對前面的內容,做一個小結。 我們已經知道,網路通訊就是交

網際網路協議入門(一)

我們每天使用網際網路,你是否想過,它是如何實現的?全世界幾十億臺電腦,連線在一起,兩兩通訊。上海的某一塊網絡卡送出訊號,洛杉磯的另一塊網絡卡居然就收到了,兩者實際上根本不知道對方的物理位置,你不覺得這是很神奇的事情嗎?網際網路的核心是一系列協議,總稱為"網際網路協議"(Internet Protocol Su

網際網路協議入門

作者:[DeppWang](https://depp.wang) 網際網路上的資料能從一臺裝置傳送到另一臺裝置,整個過程由[網際網路協議](https://zh.wikipedia.org/wiki/TCP/IP協議族)( Internet Protocol Suite)實現的。 對於網際網路協議,一直

Socket簡單入門UDP協議1

一、伺服器端程式碼: 1 import java.io.IOException; 2 import java.net.DatagramPacket; 3 import java.net.DatagramSocket; 4 import java.net.SocketAddress; 5 im

[1]AMQP(高階訊息佇列協議) ----入門

接觸AMQP協議已經有一段時間了,這個協議比想象的中的要複雜一些,特別是針對AMQP-1-0以前的版本。具體的概念,網上可以搜尋到很多的資料,本文借花獻佛,讓讀者對AMQP協議有一個大概的瞭解。重點是在後續章節的關於一些遇到的技術難點的解決方案的分享。 最新的AMQP協議

HTTP協議入門

http協議入門 www web一、WWW基本概念WWW是World Wide Web的縮寫,意為萬維網。要了解什麽是萬維網,需要先了解超文本的概念。超文本就是一種用於顯示信息的文本,而在這個文本中可以包含有跳轉到其他文本的超鏈接,通過這些鏈接就可以訪問與文本相關聯的其它文本,就這樣通過鏈接的方式將兩個或多個

HTTP 協議入門

too 提高 自定義 二級 解決 script 元數據 減少 img 轉自:http://www.ruanyifeng.com/blog/2016/08/http.html HTTP 協議是互聯網的基礎協議,也是網頁開發的必備知識,最新版本 HTTP/2 更是讓它成為

HTTP 協議入門-筆記

維護 動向 nbsp ima vid 指定 編碼 數據壓縮 aud 原文參考http://mp.weixin.qq.com/s/czx0AHaItrJ-c49XDboIUg HTTP是基於TCP/IP協議的應用層協議,規定了客戶端和服務端之間的通信格式,默認使用80端口1

短腳爸爸學Python入門 1.1

面向對象 前幾天看Python視頻教程,老師學編程一定要做筆記發博客,這樣可以提高你的興趣和成就感。想了想也對!就打算發布51CTO上在課上老師講了一大堆Python術語。什麽面向對象、面向過程、’類、包、庫、模塊等等聽了一臉懵逼!! 我覺得對初學者來說最先理解的應該是這些概念!這是百度上整理編輯的一些我

深度學習入門1

ont gin 語音識別 告訴 min 重要 orf 模型 獲得 發布這個系列,一來是為了總結自己的學習,二來也是希望給深度學習初學者一些入門的指導。好廢話不多說了,我們直接進入主題,這一節先說一下,深度學習發展歷程。 1958,感知器(相當於生物的神經元) 1969,M

機器學習入門 - 1. 介紹與決策樹(decision tree)

recursion machine learning programmming 機器學習(Machine Learning) 介紹與決策樹(Decision Tree)機器學習入門系列 是 個人學習過程中的一些記錄與心得。其主要以要點形式呈現,簡潔明了。1.什麽是機器學習?一個比較概括的理解是:

1-python入門1

div left pytho address username lock 1-1 numbers ear html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,

Maven入門1-在Eclipse中新建Maven Web項目

開發環境 ace 隨著 ati myeclipse server pear javax group 在eclipse中新建Maven Web項目   很多時候開發效率低下,大部分原因是IDE環境不熟悉、配置不會配置;因此在學習一項技能之前,有必要對基本的環境配置有所了解,

【modbus】modbus協議入門講解

模擬 歸納 工業 mod ron 廣泛 行業 輸出 講解 前言 modbus是自動控制行業一個應用較為廣泛的通信協議,就像RS485和RS232一樣常用。 應用 工業現場的控制設備,有繼電器、接近開關、電磁閥、壓力表等。按信號類型可以歸納為:DI(數字輸入)、DO(數字輸出

SpringBoot入門-1(Hello Word Boot)

eas hand running 頁面 .cn tpm 2.3 src size   1、創建一個Maven項目,添加一個parent,代碼如下 <parent> <groupId>org.springframework.boot

Django入門1

amp comm template create home ise authent min ict 一、安裝  Python安裝:pip install django    安裝完成後會在Python的安裝目錄下的"/Scripts"下面出現兩個新文件,分別是django-

【專章】dp入門 1.1

技術 ret hide pla -c -- ++ onclick font 下述題目都為基礎的dp包括、經典問題,乃dp入門必備之題。 註意: 1、從最下面往上刷 -------------------------------------------- 洛

CAMediaTiming`協議(9.1 圖層時間)

bool 偏移 創建 uiimage 填充 icon 返回 無限 相互 #CAMediaTiming`協議 CAMediaTiming協議定義了在一段動畫內用來控制逝去時間的屬性的集合,CALayer和CAAnimation都實現了這個協議,所以時間可以被任意基於一個圖層或