- 【計算機底層】1,非科班程序員如何學(xué)習(xí)計算機底層知識
- 【計算機底層】2,CPU的制作過程詳解
- 【計算機底層】3,大專三本的同學(xué)如何規(guī)劃進大廠路線?
- 【計算機底層】4,計算機的組成
- 【計算機底層】5,儲存器的層次結(jié)構(gòu)
- 【計算機底層】6,計算機執(zhí)行命令的過程
- 【計算機底層】7,CPU 從L1到L3到底是什么概念
- 【計算機底層】8,小程序驗證cache line的概念緩存行對齊偽共享
- 【計算機底層】9,CPU亂序執(zhí)行的概念
- 【計算機底層】10,CPU亂序執(zhí)行的概念下
- 【計算機底層原理】11,本次課程介紹—必聽
- 【計算機底層原理】12,計算機組成,程序運行的底層原理
- 【計算機底層原理】13,線程切換以及,Java,GO,rest線程模型
- 【計算機底層原理】14,Java里面有沒有協(xié)程
- 【計算機底層原理】15,鎖的概念
- 【計算機底層原理】16,synchronized關(guān)鍵字的字節(jié)碼原語
- 【計算機底層原理】17,偏向鎖升級過程
- 【計算機底層原理】18,小結(jié),馬老師在線答疑,P8課程介紹
- 【計算機底層原理】19,CPU,內(nèi)存,緩存,緩存行詳解
- 【計算機底層原理】20,緩存一致性協(xié)議,F(xiàn)alseSharing以及其編程技巧
- 【計算機底層原理】21,CPU亂序執(zhí)行概念丨CPU亂序執(zhí)行的證明DCL為什么不能亂序volatil
- 【計算機底層原理】22,volatile如何阻止亂序丨內(nèi)存屏障
- 【計算機底層原理】23,硬件級別的內(nèi)存屏障到底怎么實現(xiàn)
- 【計算機底層原理】24,馬士兵老師在線給同學(xué)們定制化學(xué)習(xí)
- 【TCP\u002FIP】25,tcpip在開發(fā)中的作用
- 【TCP\u002FIP】26,什么是socket
- 【TCP\u002FIP】27,什么是三次握手四次揮手
- 【TCP\u002FIP】28,如何應(yīng)對百萬連接,如何制造百萬連接
- 【TCP\u002FIP】29,數(shù)據(jù)包如何發(fā)送出去
- 【TCP\u002FIP】30,什么是路由表什么IP地址什么是掩碼
- 【TCP\u002FIP】31,什么是網(wǎng)關(guān),什么是下一跳
- 【TCP\u002FIP】32,什么是鏈路層,什么是原子通信
- 【TCP\u002FIP】33,有狀態(tài)無狀態(tài)通信的本質(zhì)是啥
- 【TCP\u002FIP】34,拆包粘包到底誰才是罪魁禍首
- 【TCP\u002FIP】35,什么是面向連接,什么是可靠傳輸
- 【TCP\u002FIP】36,什么是負載均衡的原子保障
- 【TCP\u002FIP】37,百萬連接下代理層如何保障后端服務(wù)器
- 【TCP\u002FIP】38,TCP,IP應(yīng)用層協(xié)議原理
- 【TCP\u002FIP】39,TCP,IP傳輸控制層原理
- 【TCP\u002FIP】40,TCP ip 網(wǎng)絡(luò)層原理
- 【TCP\u002FIP】41,TCPIP 鏈路層原理
- 【操作系統(tǒng)】42,_匯編語言
- 【操作系統(tǒng)】43,硬件基礎(chǔ)知識
- 【操作系統(tǒng)】44,_量子計算機
- 【操作系統(tǒng)】45_Java相關(guān)硬件知識
- 【操作系統(tǒng)】46,_CPU基本組成
- 【Netty】47,為什么要學(xué)習(xí)IO,以及本次課程如何學(xué)習(xí)
- 【Netty】48,計算機里面有哪些硬件組成以及運行原理
- 【Netty】39,內(nèi)核怎么去實現(xiàn),以及NIO原理詳解
- 【Netty】40,nio的優(yōu)勢和弊端
- 【Netty】41,多路復(fù)用器原理詳解
- 【Netty】42,select poll,多路復(fù)用器優(yōu)勢
- 【Netty】43,NIO EPOLL深度原理解析
- 【數(shù)據(jù)結(jié)構(gòu)】1-1.位運算
- 【數(shù)據(jù)結(jié)構(gòu)】1-2.什么叫算法
- 【數(shù)據(jù)結(jié)構(gòu)】1-3.算法的分類
- 【數(shù)據(jù)結(jié)構(gòu)】1-4.給定一個參數(shù)N,返回1!+2!+3!+...+N!的結(jié)果
- 【數(shù)據(jù)結(jié)構(gòu)】1-5.選擇排序
- 【數(shù)據(jù)結(jié)構(gòu)】1-6.冒泡排序
- 【數(shù)據(jù)結(jié)構(gòu)】1-7.插入排序
- 【數(shù)據(jù)結(jié)構(gòu)】1-8.優(yōu)化插入排序
- 【數(shù)據(jù)結(jié)構(gòu)】1-9.答疑
- 【數(shù)據(jù)結(jié)構(gòu)】2-1.什么叫數(shù)據(jù)結(jié)構(gòu)
- 【數(shù)據(jù)結(jié)構(gòu)】2-2.最基本的數(shù)據(jù)結(jié)構(gòu)
- 【數(shù)據(jù)結(jié)構(gòu)】2-3.java中的Math.random()函數(shù)
- 【數(shù)據(jù)結(jié)構(gòu)】2-4.從1-5隨機到1-7隨機
- 【數(shù)據(jù)結(jié)構(gòu)】2-5.01不等概率隨機到01等概率隨機
- 【數(shù)據(jù)結(jié)構(gòu)】2-6.對數(shù)器的使用
- 【數(shù)據(jù)結(jié)構(gòu)】3-1.有序數(shù)組中找到num
- 【數(shù)據(jù)結(jié)構(gòu)】3-2.有序數(shù)組中找到=num最左的位置
- 【數(shù)據(jù)結(jié)構(gòu)】3-3.局部最小值問題
- 【數(shù)據(jù)結(jié)構(gòu)】3-4.什么是常數(shù)操作
- 【數(shù)據(jù)結(jié)構(gòu)】3-5.什么是時間復(fù)雜度
- 【數(shù)據(jù)結(jié)構(gòu)】3-6.等差數(shù)列求和公式
- 【數(shù)據(jù)結(jié)構(gòu)】3-7.什么是動態(tài)數(shù)組
- 【數(shù)據(jù)結(jié)構(gòu)】3-8.動態(tài)數(shù)組使用和擴容
- 【數(shù)據(jù)結(jié)構(gòu)】3-9.哈希表和有序表的使用
- 【數(shù)據(jù)結(jié)構(gòu)】4-1.介紹單鏈表和雙鏈表
- 【數(shù)據(jù)結(jié)構(gòu)】4-2.單鏈表的反轉(zhuǎn)
- 【數(shù)據(jù)結(jié)構(gòu)】4-3.雙鏈表的反轉(zhuǎn)
- 【數(shù)據(jù)結(jié)構(gòu)】4-4.用單鏈表結(jié)構(gòu)實現(xiàn)隊列
- 【數(shù)據(jù)結(jié)構(gòu)】4-5.用單鏈表結(jié)構(gòu)實現(xiàn)棧
- 【數(shù)據(jù)結(jié)構(gòu)】4-6.用雙鏈表結(jié)構(gòu)實現(xiàn)雙端隊列
- 【數(shù)據(jù)結(jié)構(gòu)】4-7.K個節(jié)點的組內(nèi)逆序調(diào)整
- 【數(shù)據(jù)結(jié)構(gòu)】4-8.兩個鏈表相加
- 【數(shù)據(jù)結(jié)構(gòu)】4-9.兩個有序鏈表的合并
- 【數(shù)據(jù)結(jié)構(gòu)】5-1.位圖的功能
- 【數(shù)據(jù)結(jié)構(gòu)】5-2.位圖的實現(xiàn)
- 【數(shù)據(jù)結(jié)構(gòu)】5-3.怎么使用位運算進行加減乘除
- 【數(shù)據(jù)結(jié)構(gòu)】5-4.使用位運算實現(xiàn)加法
- 【數(shù)據(jù)結(jié)構(gòu)】5-5.使用位運算實現(xiàn)減法
- 【數(shù)據(jù)結(jié)構(gòu)】5-6.使用位運算實現(xiàn)乘法
- 【數(shù)據(jù)結(jié)構(gòu)】5-7.使用位運算實現(xiàn)除法
- 【數(shù)據(jù)結(jié)構(gòu)】5-8.怎么解決系統(tǒng)最小值轉(zhuǎn)絕對值
- 【數(shù)據(jù)結(jié)構(gòu)】6-1 比較器
- 【數(shù)據(jù)結(jié)構(gòu)】6-2 leetcode 23:合并k個升序鏈表
- 【數(shù)據(jù)結(jié)構(gòu)】6-3 二叉樹基本概念和判斷兩顆樹是否結(jié)構(gòu)相同
- 【數(shù)據(jù)結(jié)構(gòu)】6-4 判斷一棵樹是否是鏡面樹
- 【數(shù)據(jù)結(jié)構(gòu)】6-5 返回一棵樹的最大深度
- 【數(shù)據(jù)結(jié)構(gòu)】6-6 leetcode105用先序數(shù)組和中序數(shù)組重建一棵樹
- 【數(shù)據(jù)結(jié)構(gòu)】7-1 leetcode0102二叉樹按層遍歷并收集節(jié)點
- 【數(shù)據(jù)結(jié)構(gòu)】7-2 判斷是否是二叉樹
- 【數(shù)據(jù)結(jié)構(gòu)】7-3 判斷是否是平衡搜索二叉樹
- 【數(shù)據(jù)結(jié)構(gòu)】7-4 能否組成路徑和
- 【數(shù)據(jù)結(jié)構(gòu)】7-5 收集達標路徑和
- 【數(shù)據(jù)結(jié)構(gòu)】8-1 歸并排序
- 【數(shù)據(jù)結(jié)構(gòu)】8-2 非遞歸
- 【數(shù)據(jù)結(jié)構(gòu)】8-3 MergeSort代碼1
- 【數(shù)據(jù)結(jié)構(gòu)】8-4 MergeSort代碼2
- 【數(shù)據(jù)結(jié)構(gòu)】8-5 快排
- 【數(shù)據(jù)結(jié)構(gòu)】8-6 快排代碼及升級代碼
- 【數(shù)據(jù)結(jié)構(gòu)】8-7 遞歸和非遞歸實現(xiàn)PartitionAndQuickSort
- 【線程迷宮】穿越線程的迷宮:計算機的歷史 算盤和機械計算機
- 【線程迷宮】計算機的基本組成-三大核心
- 【線程迷宮】程序的執(zhí)行
- 【線程迷宮】騰訊必問:什么是進程什么是線程
- 【線程迷宮】線程的切換
- 【線程迷宮】CPU的并發(fā)控制:緩存一致性協(xié)議
- 【線程迷宮】CPU的并發(fā)控制:關(guān)中斷
- 【線程迷宮】系統(tǒng)屏障:CPU的亂序執(zhí)行 線程的as-if-senial
- 【線程迷宮】DCL單例Double Check Lock 到底需不需要volatile
- 【線程迷宮】多線程會產(chǎn)生的后果
- 【線程迷宮】JVM的內(nèi)存屏障
- 【線程迷宮】CPU的并發(fā)控制
- 【操作系統(tǒng)】01.操作系統(tǒng)的概念和作用
- 【操作系統(tǒng)】02.操作系統(tǒng)的目標
- 【操作系統(tǒng)】03.操作系統(tǒng)的功能
- 【操作系統(tǒng)】04.操作系統(tǒng)的特征:并發(fā)
- 【操作系統(tǒng)】05.操作系統(tǒng)的特征:共享
- 【操作系統(tǒng)】06.操作系統(tǒng)的特征:虛擬
- 【操作系統(tǒng)】07.操作系統(tǒng)的特征:異步
- 【操作系統(tǒng)】08.操作系統(tǒng)的發(fā)展:手工和批處理階段
- 【操作系統(tǒng)】09.操作系統(tǒng)的發(fā)展:分時操作系統(tǒng)
- 【操作系統(tǒng)】10.操作系統(tǒng)的發(fā)展:實時操作系統(tǒng)
- 【操作系統(tǒng)】11.操作系統(tǒng)的發(fā)展:微機&網(wǎng)絡(luò)&分布式
- 【操作系統(tǒng)】12.用戶空間與內(nèi)核空間
- 【操作系統(tǒng)】13.時鐘與中斷
- 【操作系統(tǒng)】14.中斷的處理過程
- 【操作系統(tǒng)】15.原語
- 【操作系統(tǒng)】16.系統(tǒng)調(diào)用
- 【操作系統(tǒng)】17.傳統(tǒng)的操作系統(tǒng)結(jié)構(gòu)
- 【操作系統(tǒng)】18.微內(nèi)核操作系統(tǒng)結(jié)構(gòu)
- 【進程線程】01.進程的概念
- 【進程線程】02.進程的結(jié)構(gòu)和特征
- 【進程線程】03.線程的概念
- 【進程線程】04.進程和線程的區(qū)別
- 【進程線程】05.線程的實現(xiàn)方式
- 【進程線程】06.第一小節(jié)總結(jié):進程和線程
- 【進程線程】07.進程的狀態(tài):三種基本狀態(tài)
- 【進程線程】08.進程的狀態(tài):創(chuàng)建和終止
- 【進程線程】09.進程控制
- 【進程線程】10.進程控制:掛起與激活
- 【進程線程】11.處理機調(diào)度和調(diào)度層次
- 【進程線程】12.處理機調(diào)度方式、時機、過程和評價指標
- 【進程線程】13.處理機調(diào)度小結(jié)
- 【進程線程】14.調(diào)度算法:先來先服務(wù)(FCFS)
- 【進程線程】15.調(diào)度算法:短作業(yè)優(yōu)先(SJF)
- 【進程線程】16.調(diào)度算法:高響應(yīng)比優(yōu)先(HRRN)
- 【進程線程】17.調(diào)度算法:優(yōu)先級調(diào)度(PSA)
- 【進程線程】18.調(diào)度算法:時間片輪轉(zhuǎn)調(diào)度(RR)
- 【進程線程】19.調(diào)度算法:多級反饋隊列調(diào)度(MFQ)
- 【進程線程】20.進程通信:共享存儲
- 【進程線程】21.進程通信:消息傳遞
- 【進程線程】22.進程通信:管道通信
- 【進程線程】23.進程同步:同步和互斥的概念
- 【進程線程】24.進程同步:互斥的訪問過程
- 【進程線程】25.進程同步:互斥訪問的原則
- 【進程線程】26.軟件實現(xiàn)互斥的方法:單標志法
- 【進程線程】27.軟件實現(xiàn)互斥的方法:雙標志法先檢查
- 【進程線程】28.軟件實現(xiàn)互斥的方法:雙標志法后檢查
- 【進程線程】29.軟件實現(xiàn)互斥的方法:皮特森算法
- 【進程線程】30.硬件實現(xiàn)互斥的方法:中斷屏蔽
- 【進程線程】31.硬件實現(xiàn)互斥的方法:TS指令
- 【進程線程】32.硬件實現(xiàn)屏蔽的方法:Swap指令
- 【進程線程】33.信號量的概念
- 【進程線程】34.信號量的工作機制
- 【進程線程】35.分析同步和互斥問題的方法步驟
- 【進程線程】36.管程的概念和基本特性
- 【進程線程】37.管程中的條件變量
- 【進程線程】38.死鎖的概念和產(chǎn)生的原因
- 【進程線程】39.死鎖產(chǎn)生的必要條件
- 【進程線程】40.死鎖的預(yù)防:破壞必要條件
- 【進程線程】41.死鎖的避免:安全性算法
- 【進程線程】42.死鎖的檢測與解除概述
- 【進程線程】43.死鎖的檢測:死鎖定理
- 【進程線程】44.死鎖的解除
- 【內(nèi)存管理】01.準備工作:存儲器的多層結(jié)構(gòu)
- 【內(nèi)存管理】02.準備工作:進程運行的基本原理
- 【內(nèi)存管理】03.準備工作_進程運行原理:程序的鏈接
- 【內(nèi)存管理】04.準備工作_進程運行原理:程序的裝入
- 【內(nèi)存管理】05.準備工作_進程運行原理:邏輯地址與物理地址
- 【內(nèi)存管理】06.準備工作_進程運行原理:內(nèi)存保護
- 【內(nèi)存管理】07.準備工作_進程運行原理:覆蓋與交換
- 【內(nèi)存管理】08.內(nèi)存管理_連續(xù)分配:單一連續(xù)分配
- 【內(nèi)存管理】09.內(nèi)存管理_連續(xù)分配:固定分區(qū)分配
- 【內(nèi)存管理】10.內(nèi)存管理_連續(xù)分配:固定分區(qū)分配_如何記錄
- 【內(nèi)存管理】11.內(nèi)存管理_連續(xù)分配:固定分區(qū)分配_如何分配
- 【內(nèi)存管理】12.內(nèi)存管理_連續(xù)分配:固定分區(qū)分配_如何回收
- 【內(nèi)存管理】13.內(nèi)存管理_非連續(xù)分配:基本分頁存儲
一、計算機網(wǎng)絡(luò)概述
時代不同了,大家現(xiàn)在生活都好了,家家戶戶基本都有電腦,而且我們都習(xí)慣了使用電腦辦公,打打游戲,聊聊天等等。那我們一起來想一個場景:如果沒有了網(wǎng)絡(luò),我們是不是就不能使用電腦進行聊天了呀。那網(wǎng)絡(luò)到底是如何幫助我們來完成網(wǎng)絡(luò)聊天的?下面我就跟大家聊聊計算機網(wǎng)絡(luò)到底是怎么回事兒。
了解我的讀者都知道,我習(xí)慣先用自己的語言解釋,后說官方定義。這回我和以往反著來,先說官方定義,再解釋:
計算機網(wǎng)絡(luò)是由通信介質(zhì)將地理位置不同的且相互獨立的計算機連接起來,實現(xiàn)數(shù)據(jù)通信與資源共享。
我們假設(shè)有兩個獨立且毫不相關(guān)的計算機,一臺在青海,一臺在河南,想要進行數(shù)據(jù)傳輸(聊天),沒網(wǎng)是不行的。這個網(wǎng)指的就是互聯(lián)網(wǎng)( Internet )。這個 Internet 它是一個通信協(xié)議。什么是協(xié)議?打個比方,就好比我們打電話,在中國,中國有十幾億人,地大物博,全國各地都有自己的方言,還有些地方使用自己的民族語言,這時候想要良好的溝通就必須使用一個統(tǒng)一的標準,就是普通話。大家都講普通話,溝通起來就沒有問題了。那如果是不同國家進行溝通呢?我們可以選擇使用英語進行交流,那英語就是全世界國家通用的一個標準,計算機就好比是分布在全世界各個角落的人,計算機之間通話也要找一個統(tǒng)一的標準,這個標準就是 Internet 標準,又叫做 Internet 協(xié)議。
二、網(wǎng)絡(luò)介紹及隔壁老王的故事
先給大家講一個虛構(gòu)版隔壁老王的故事:
有一個人叫隔壁老王,他有一個愛好就是看電影。有一天,這個隔壁老王想看一部電影,可是電腦里面存儲的電影太多了,他費了老大勁才從里面找到,覺得很不爽。于是他想,我能不能把所有電影做個分類,把同一種類型的電影放在同一個文件夾下,然后把所有的文件夾整合在一起,自己寫個瀏覽器軟件,把文件夾信息放到瀏覽器上,到時候找電影的時候就好找了,只要找到相應(yīng)的文件夾直接點進去就能找到電影了。老王說干就干,沒多久就把所有的文件夾整理好了,然后把所有文件夾放到同一個頁面上,到時候他想點哪個就點哪個,So easy!(那些網(wǎng)站可能就是這樣來的)。
這回出來一個新人物,就叫小王吧(不是小王八),老王就是住在小王隔壁,有一天小王看到老王電腦上有那么多電影,就跟老王商量,能不能在他電腦上也弄個跟老王一樣的,讓他也看看。老王也不是個小氣的人,好東西就是要分享的嘛,想都沒想就答應(yīng)了,給小王說在你電腦上插根線接到我電腦上,然后下載我這個軟件,直接訪問我的電腦就行了。小王很高興,他馬上回家按老王說的做,沒多久他的電腦上也能看老王電腦上的東西了。有了小王,就還會有小張,小李,互相插根網(wǎng)線,他們都能互相共享電影了。這樣,局域網(wǎng)也就產(chǎn)生了,就比如在一個公司或者一個學(xué)校用的網(wǎng)絡(luò),都稱為局域網(wǎng)。那學(xué)校有很多呀,不同的學(xué)校用的局域網(wǎng)是不同的,不同的城市也有不同的局域網(wǎng),以局域網(wǎng)為單位,散布在一個區(qū)或一個城市的各個局域網(wǎng)加一起叫城域 網(wǎng),然后全世界所有城市的城域網(wǎng)加一起就叫廣域網(wǎng)。
過了一段時間,老王去小王家,看到小王電腦里的電影比自己的還多,而且還好看,然后老王跟小王說,把你的這些電影給我一份吧,我也想看看。不用想,小王肯定立馬答應(yīng)了,說你自己弄吧,想看哪個隨便看。姜還是老的辣,老王想到一個好辦法,他跟小王說,我再找一臺電腦,把我倆電腦上的資源全部放到那臺電腦里,我倆只要在那個電腦上插根線連到自己電腦上,就都能訪問那臺電腦上的東西了,這樣豈不是很方便。小王一拍腦門,呀!我咋就沒想到,那還不趕緊的。老王另外找了一臺電腦,然后他倆把自己的電腦和那臺電腦用線連起來,再把自己電腦里的所有資源全傳進那臺電腦中,最后他倆就能共享資源了。(那臺電腦就是服務(wù)器)
總結(jié)一下就是:
網(wǎng)絡(luò)按地域分類:根據(jù)參照物不同、類型不同分為
局域網(wǎng):一個公司、一個家庭、一個學(xué)校······
城域網(wǎng):一個地區(qū)、一個城市······
廣域網(wǎng):一個國家、全世界······
三、互聯(lián)網(wǎng)協(xié)議是如何分布和設(shè)計的
我在上面說了 Internet 協(xié)議,互聯(lián)網(wǎng)協(xié)議按照功能的不同,分為 osi 七層, tcp / ip 五層, tcp / ip 四層協(xié)議。如下圖:
osi 的七層協(xié)議體系結(jié)構(gòu)的概念清楚,理論也比較完善,但它既復(fù)雜又不實用, ISO 制定的 osi 協(xié)議參考模型的過于龐大、復(fù)雜招致了許多批評。于此對照,由技術(shù)人員自己開發(fā)的 TCP / IP 協(xié)議獲得了更為廣泛的應(yīng)用。因此,我們只需要弄明白 TCP / IP 五層協(xié)議 就能了解和明白計算機最底層的通信是怎么回事。
四、TCP/IP五層協(xié)議
如圖,從最下方的物理層到最上方的應(yīng)用層,對于我們用戶而言,最直接的是應(yīng)用層。從上到下每一層都依賴于下一層,所以我從最下一層開始給大家講解:
注意:每一層都運行著一個特定的協(xié)議,共同組合成互聯(lián)網(wǎng)協(xié)議
一、物理層
物理層主要是由雙絞線、光纜、電纜、無線電波組成,其作用很簡單,就是連接不同的計算機,并傳遞底層電信號,高電壓:1 ,低電壓:0 。
二、數(shù)據(jù)鏈路層
我們從物理層上接收或者發(fā)送單純的 0 、 1 是沒有意義的,為什么呢?想想哈,我想給女朋友發(fā)送一句話:“你好漂亮”,那我們要把“你好漂亮”轉(zhuǎn)換成 01 之后,交給網(wǎng)卡,網(wǎng)卡就懵逼了,發(fā)給誰 ???不知道。那怎么辦?必須要確定數(shù)據(jù)發(fā)給誰。就像我們的快遞一樣,是不是在外層包裝上有商家地址和個人地址,這樣我們不管是發(fā)還是收,都能準確定位了。網(wǎng)絡(luò)傳送數(shù)據(jù)也一樣,我們就在數(shù)據(jù)前面加上目標地址,為了能接收到回信,也要把自己的地址也加上。但是,如果數(shù)據(jù)和地址放在一起,又亂了,比如,我給你一堆 01 ,1010101000101010101 ,你也分不清哪里是數(shù)據(jù),哪里是地址。這時我們就要對要發(fā)送的 01 進行分組,規(guī)定前面 xxx 位是地址,后面 xxx 位是數(shù)據(jù),并且,大家想互相都能通信,就必須都遵守這樣的規(guī)則(協(xié)議),這個協(xié)議叫以太網(wǎng)協(xié)議。在以太網(wǎng)協(xié)議出現(xiàn)之前,各個公司都有自己的分組規(guī)則,后來都統(tǒng)一使用以太網(wǎng)協(xié)議了。
以太網(wǎng)協(xié)議規(guī)定:一組電信號構(gòu)成一個數(shù)據(jù)包,叫幀,每一幀分為報頭( head )和數(shù)據(jù)( data ) 兩部分。
報頭(head):固定 18 個字節(jié)
發(fā)送者/源地址:6 個字節(jié)
接收者/目標地址:6 個字節(jié)
數(shù)據(jù)類型:6 個字節(jié) 數(shù)據(jù)( data ):最短 46 個字節(jié),最長 1500 字節(jié) 數(shù)據(jù)包的具體內(nèi)容(發(fā)送給女朋友的話/快遞貨物)
以太網(wǎng)協(xié)議中的地址叫 MAC 地址, MAC 地址是每臺計算機唯一的物理地址,是被寫在網(wǎng)卡上的。以太網(wǎng)協(xié)議規(guī)定,每一臺接收和發(fā)送數(shù)據(jù)的設(shè)備必須要裝有網(wǎng)卡,負責(zé)發(fā)送和接收數(shù)據(jù)的設(shè)備,發(fā)送端和接收端的地址,指的就是網(wǎng)卡的地址,即 MAC 地址。
MAC地址
MAC 地址是每個網(wǎng)卡在出廠的時候,由各個廠商直接燒錄在網(wǎng)卡上的,而且,這個地址必須是全世界唯一的。MAC 地址是由 12 位 16 進制的數(shù)字表示(前六位是廠商編號,后六位是流水線號),這樣不同的廠商之間就不會產(chǎn)生沖突了,自己生產(chǎn)自己的就好了。
交換機
在這給大家介紹一個東西,我們說兩個電腦要通信要先連根線,但是如果電腦多了之后,電腦間通信連的線也就多了,這樣太亂了,我介紹的這個東西就是交換機,它是負責(zé)組件局域網(wǎng),研究的是 MAC 地址,它有什么用你看下面中的接口就知道了
有了 MAC 地址,以太網(wǎng)就可以進行工作了.理論上講,我們可以和世界上的每一臺連接了互聯(lián)網(wǎng)的計算機進行通信了,此時通信的方案是:廣播
廣播
廣播又是怎么一回事?其實廣播的方式很原始,基本通信就是靠吼。就像你想跟女朋友求婚一樣,你會大喊:“ xxx ,嫁給我吧”,旁邊能聽到這句話的人有很多,但是只有你女朋友會回復(fù)你。其他人會把你當傻D一樣看待。沒錯,廣播就是這樣進行通信的。首先組織好了一個數(shù)據(jù)包之后,把這個數(shù)據(jù)包通過電信號發(fā)出去,這時整個網(wǎng)絡(luò)上所有的人都會收到你發(fā)的這條數(shù)據(jù),然后看看這個數(shù)據(jù)是不是自己的。如果不是就當他不存在,如果是,就接收。雖然效率低點,但畢竟能通信了。
廣播帶來什么問題呢?如果是在一個小的網(wǎng)絡(luò)環(huán)境里。比方說,你們宿舍幾個人,一起玩 CS ,沒問題,你喊一嗓子,你室友也能回應(yīng)你,也就效率低點。但是如果你連接到全世界的互聯(lián)網(wǎng)上,還使用廣播的方式來通信,就不是效率問題了,而是一個巨大的通信災(zāi)難。全世界 60 多億人,每個人吼一嗓子,每個人發(fā)送一條信息,那每個人都會收到 60 多億條信息,網(wǎng)絡(luò)瞬間癱瘓,這種問題被稱為廣播風(fēng)暴,那如何解決呢?
三、網(wǎng)絡(luò)層
首先,我們要了解一個事情,世界大網(wǎng)絡(luò)(廣域網(wǎng))是由一個一個的互相隔離的小型局域網(wǎng)(子網(wǎng))組成的,不同的局域網(wǎng)之間使用路由來連接。
路由器
上面說的交換機是負責(zé)組建局域網(wǎng),研究的是 MAC 地址,而路由器是負責(zé)組件廣域網(wǎng),研究的是 IP 地址,這個 IP 地址下面我再解釋。
