基础知识(三)-网络
- osi七層協議
- tcp/ip五層模型
- 物理層
- 數據鏈路層
- 以太網協議:
- MAC地址
- 廣播
- 網絡層
- IP協議:
- ARP協議
- 傳輸層
- TCP協議
- UDP協議
- 應用層
- socket
- 用戶上網流程
osi七層協議
互聯網協議按照功能不同分為osi七層或tcp/ip五層或tcp/ip四層

每層運行常見物理設備

tcp/ip五層模型
我們將應用層,表示層,會話層并作應用層。
每層都運行特定的協議,越往上越靠近用戶,越往下越靠近硬件
物理層
物理層由來:孤立的計算機之間要想一起玩,就必須介入Internet,言外之意就是計算機之間必須完成組網

物理層功能:主要是基于電器特性發送高低電壓(電信號),高電壓對應數字1,低電壓對應數字0
數據鏈路層
數據鏈路層由來:單純的電信號0和1沒有任何意義,必須規定電信號多少位一組,每組什么意思
數據鏈路層功能:定義了電信號的分組方式
以太網協議:
早期的時候各個公司都有自己的分組方式,后來形成了統一的標準,即以太網協議Ethernet
Ethernet規定:
- 一組電信號構成一個數據包,叫做‘幀’
- 每一組數據幀分成:報頭head和數據data兩部分
head包含:(固定18個字節)
- 發送者 / 源地址,6個字節
- 接收者 / 目標地址,6個字節
- 數據類型,6個字節
data包含:(最短46字節,最長1500字節)數據包的具體內容
head長度+data長度 = 最短64字節,最長1518字節,超過最大協助就分片發送
MAC地址
head中包含的源和目標地址由來:Ethernet規定介入Internet的失敗都必須具備網卡,發送端和接收端的地址便是指網卡的地址,即MAC地址
MAC地址:每塊網卡出廠時被燒制上一個世界唯一的MAC地址,長度為48位二進制,通常有12位十六進制數標識(前六位是廠商編號,后六位是流水線編號)

廣播
有了MAC地址,同一網絡內的兩臺主機就可以通行了(一臺主機通過arp協議獲取另外一臺主機的MAC地址)Ethernet采用最原始的方式,廣播的方式進行通行,即計算機通行基本靠吼

網絡層
網絡層由來:有了Ethernet、MAC地址、廣播的發送方式,時間上的計算機就可以彼此通行了,問題是時間范圍的互聯網是有一個個彼此隔離的小的局域網組成的,那么如果所有的通行都采用以太網的廣播方式,那么一天機器發送的包全世界都會收到,這就不僅僅是效率低的問題了,這會是一種災難

上圖結論:必須找出一種方法來區分那些計算機同屬于同一廣播域,哪些不是,如果是就采用廣播的方式發送,如果不是就采用路由的方式(向不同廣播域/子網分發數據包),MAC地址是無法區分的,它只跟廠商有關
網絡層功能:引入一套新的地址用來區分不同的廣播域/子網,這套地址即網絡地址
IP協議:
- 規定網絡地址的協議叫IP協議,它定義的地址稱之為IP地址,廣泛采用的V4版本即IP4,它規定網絡地址由32位二進制標識
- 范圍:0.0.0.0 - 255.255.255.255
- 一個IP地址通常寫成四段十進制數,列192.168.1.110
IP地址分為:網絡部分(標識子網)和 主機部分(標識主機)
子網掩碼:所謂”子網掩碼”,就是表示子網絡特征的一個參數。它在形式上等同于IP地址,也是一個32位二進制數字,它的網絡部分全部為1,主機部分全部為0。
IP協議的作用:主要有兩個,一個是為每一臺計算機分配IP地址,另一個是確定哪些地址在同一個子網絡。
IP數據包:分為head(長度為20到60字節)和data(最長65515字節)部分,無需為ip包定義單獨的欄位,直接放入以太網包的data部分
以太網數據包的data部分,最長只有1500Byte。如果ip數據包超過了1500Byte,它就需要分割成幾個以太網數據包,分開發送
ARP協議
arp協議由來:計算機通信基本靠吼,即廣播的方式,所有上層的包到最后都要封裝上以太網頭,然后通過以太網協議發送,在談及以太網協議時候,我門了解到通信是基于mac的廣播方式實現,計算機在發包時,獲取自身的mac是容易的,如何獲取目標主機的mac,就需要通過arp協議
arp協議功能:廣播的方式發送數據包,獲取目標主機的mac地址
傳輸層
傳輸層的由來:網絡層的ip幫我們區分了子網,以鏈路層的MAC地址幫我們找到主機,但電腦上運行著多個應用程序,那么我們通過ip和MAC找到了一臺特定的主機,如何標識這臺主機上的應用程序,答案就是端口,端口即應用程序與網卡關聯的編號。
傳輸層功能:建立端口到端口的通信
端口范圍0~65535, 0~1023為系統占用端口
TCP協議
可靠傳輸,TCP數據包沒有長度限制,理論上可以無限長,但是為了保證網絡的效率,通常TCP數據包的長度不會超過IP數據包的長度,以確保單個TCP數據包不必再分割
TCP報頭

TCP三次握手和四次揮手

UDP協議
不可靠傳輸,“報頭”部分一共只有8個字節,總長度不超過65535字節,正好放進一個IP數據包。
應用層
應用層由來:用戶使用的都是應用程序,均工作與應用層,互聯網是開放的,大家都可以開放自己的應用程序,數據多種多樣,必須規定好數據的組織形式
應用層功能:規定應用程序的數據格式

socket
用戶上網流程

?
轉載于:https://www.cnblogs.com/jin1024/p/ji-chu-zhi-shi-sanwang-luo.html
總結
以上是生活随笔為你收集整理的基础知识(三)-网络的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内部链接和外部链接【转】
- 下一篇: Java Data Access Obj