1.查看網絡配置 : ipconfig
2. ip地址 : ipv4(4字節, 32bit), ipv6, 用來標識主機的網絡地址
3.端口號(0~65535) : 用來標識主機上的某個進程,?1 ~ 1024 知名端口號, 如果是服務端的話需要提供一個特定的端口號, 客戶端的話是隨機分配一個端口號
4.協議 : 簡單來說就是接收數據和發送數據的雙方做好的約定, 如發送時如何組織數據, 接收時如何解析數據
5.網絡中的五元組 : 源IP地址, 源端口號, 目的IP地址, 目的端口號, 協議
6.協議分層 :?
(1) OSI七層模型(簡單了解就行)
(2) TCP/IP五層模型 :?
應用層 : 和用戶打交道, 接收和展示用戶的數據
傳輸層 : 完成端到端的傳輸準備, 端口號
網絡層 : 規劃出最合適的網絡傳輸路徑, ip
數據鏈路層 : 根據網絡層的IP地址, 來提供兩個網絡設備之間的通信功能
物理層 : 把真實的BIT數據流, 通過轉化成光電信號在傳輸介質中傳輸 (網絡:電信號, 光纖:光信號)
7. 封裝和分用
封裝是在發送方進行的對數據的處理
分用時在接收方進行的對數據的處理
發送方 :?
(1)應用層?: 按照程序員自定義的協議組織數據, 主要確定消息體的內容, 然后調用系統提供的 API (socket api)進行發送操作, 將消息的處理方移交給下一層
(2)傳輸層 : (傳輸層眾多協議中最典型的兩種: TCP, UDP), 主要是確定源端口號和目的端口號
(3)網絡層 : 規劃出端到端的網絡路徑, 主要確定源IP地址和目的IP地址?, IP協議? ?
?
(4)數據鏈路層 : 加入幀頭和幀尾之后, 把數據以二進制的形式發送給物理層, 幀頭有MAC地址(寫死在網卡中, 出廠時就確定下來了), 幀尾有CRC(校驗和, 發送方通過某種算法對載荷進行運算, 保存起來, 接收方在收到數據之后, 取出載荷以相同的算法進行運算, 如果得到的結果與校驗和相同, 就表示接收到的載荷與發送的載荷一致, 否則載荷是無效的)
(5)物理層 : 根據以太網協議把具體的數據(報文)轉化成光電信號, 通過傳輸介質進行傳輸
接收方 :?
(6)物理層 : 接收到光電號之后, 根據以太網協議把信號轉化為二進制
(7)數據鏈路層 : 解析出幀頭, 載荷, 幀尾, 將幀頭, 幀尾去掉, 把載荷交給上一層
(8)網絡層 : 根據IP協議解析報文件, 取出載荷交給上一層
(9)傳輸層 : 根據TCP協議解析報文件, 取出載荷交給上一層
(10)應用層 : 按照程序員自定義的協議解析消息體
發送方的數據從應用層到物理層的過程叫應用的封裝
接收方的數據從物理層到應用層的過程叫應用的分用