基础网络总结
文章目錄
- OSI參考模型
- 物理層:
- 數據鏈路層:
- 網絡層:
- 傳輸層:
- 會話層:
- 表示層:
- 應用層:
- TCP/IP協議族
- 網絡接口層
- 網絡互連層(IP層)
- 傳輸層(TCP層)
- 應用層
- 各層協議簡介
- 應用層
- 傳輸層
- 網絡層
- 鏈路層
- 數據包
- 數據處理流程
# 網絡概述 計算機網絡指通過傳輸介質、通信設備和網絡通信協議,將分散在不同地點的計算機互聯起來,實現資源功能共享和數據傳輸的系統 傳輸介質:光纖、線纜... 通信設備:路由器、貓、交換機... 網絡通信協議:http、tcp、ip...
網絡編程:就是指編寫程序使互聯網中兩個或者多個設備直接進行數據傳輸
OSI參考模型
OSI(Open System Interconnection)開放互聯網參考模型最早提出的解決網絡通信的標準協議,
OSI網絡通信進行分層:7層:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層
物理層:
處于OSI最底層,主要是傳輸的原始比特流(bits) ,交換機、光纖等,主要是為數據端設備提供傳送數據的通道以及傳輸數據
數據鏈路層:
數據鏈路層是實現計算機網絡相鄰節點之間的可靠傳輸
把原始的,有差錯的傳輸線路上添加上數據鏈路層協議以后,構成邏輯上可靠的數據鏈路
主要鏈路管理、差錯控制以及流量控制
網絡層:
網絡層源主機節點到目的主機節點之間的可靠傳輸(IP) (可以找到目的地的的那臺電腦)主要功能:路由選擇、網絡尋址、流量控制、擁塞控制、網絡互連 (Socket)
傳輸層:
傳輸層起著承上啟下的作用,是源端點到目的端點之前的可靠信息傳輸(port) (解析出對應電腦的那個應用)
解決的是跨越網絡鏈接的建立和釋放(TCP中三次握手和釋放時四次揮手)
會話層:
負責應用程序的之間的建立,維護和中斷會話
對設備和節點之間的會話控制,協調系統和服務之間的交流
表示層:
提供傳輸數據的格式信息定義,主要個提供的信息轉換為能夠共同理解的信息
提供數據格式、控制信息格式、加密等的統一處理
例如: 張三: hello 僅僅只傳輸hello ? 包裝關鍵信息:發送者、接收方、發送時間、消息類型:文字、表情表、語音、視頻、文件
應用層:
直接為應用程序提供服務,QQ、微信
TCP/IP協議族
傳輸控制協議/英特網互聯協議(Transmission Control Protocol/Internet Protocol)
將網絡通信劃分了4層:網絡接口層、網絡層、傳輸層、應用
網絡接口層
網絡接口層對應OSI中物理層和數據鏈路層
網絡互連層(IP層)
把上層提交的信息分組發送到目標網絡或主機(IP)
傳輸層(TCP層)
TCP負責在應用之間建立端到端的連接和可靠通信(port)
UDP協議提供了無連接服務,不可靠的通信
應用層
為網絡中的各種網絡應用提供服務
應用層對應是OSI中會話層,表示層和應用層
各層協議簡介
應用層
協議:ftp、SMTP、HTTP
FTP(File Transfer Protocol) 文件傳輸協議<端口號21> 減少或消除不同操作系統下文件處理的不兼容性
HTTP(Hypertext Transfer Protocol)超文本傳輸協議<端口號 80>,主要是web瀏覽器和服務端交互使用的協議
SMTP(Simple Mail Transfer Protocol)簡單郵件傳輸協議 <端口25> 用來發送郵件的
傳輸層
協議:TCP、UDP
TCP(Transmission Control Protocol)傳輸控制協議提供可靠的面向連接的服務
數據傳輸之前必須先建立連接,結束后釋放,可靠的全雙工信道。可靠、有序、無丟失、不重復
UDP(User Datagram Protocol)用戶數據包協議發送數據前無需建立建立,不使用擁塞控制,不保證可靠傳輸,最大能力交付
網絡層
IP(Internet Protocol)網絡互連協議(Ipv4/IPv6)
鏈路層
協議:ARP和RARP
ARP:地址解析協議,實現IP地址轉換為Mac物理地址信息(網卡)(收消息)
RARP反向地址解析協議:實現網卡地址信息轉化為IP信息(發消息)
數據包
包、幀、數據包、段、消息
以上五個術語都用來表述數據的單位,大致區分如下:
包可以說是全能性術語;
幀用于表示數據鏈路層中包的單位;
數據包是 IP 和 UDP 等網絡層以上的分層中包的單位;
段則表示 TCP 數據流中的信息;
消息是指應用協議中數據的單位。
每個分層中,都會對所發送的數據附加一個首部,首部包含該層的必要信息,發送:目標地址、端口、即相關協議
在每一層提供的必要的協議信息為包首部,發送的內容為數據,在下一層的角度來看,上一層收到包都認為是本層的數據
網絡中傳輸的數據包由兩部分組成,一部分是協議所在的首部,另一部分是上一層傳遞過來的數據,首部非結構由協議的具體規范詳細定義的,在數據包的首部,明確的標明協議應該如何讀取,反過來,看到首部,也就可以了解協議的必要信息以及下來處理流程
數據處理流程
假如A用戶向B用戶發送一共郵件為例:
消息在發送時就是從協議從上往下進行數據包傳遞,在每一層封裝包首部信息
在接受協議是從下往上進行傳遞,在每一層解析對于的包首部
總結