3.8.1.網絡通訊概述
3.8.1.一、從進程間通訊提及:網絡域套接字socket,網絡通訊其實就是位於網絡中不一樣主機上面的2個進程之間的通訊。
3.8.1.二、網絡通訊的層次
(1)硬件部分:網卡
(2)操做系統底層:網卡驅動
(3)操做系統API:socket接口
(4)應用層:低級(直接基於socket接口編程)
(5)應用層:高級(基於網絡通訊應用框架庫)
(6)應用層:更高級(http、網絡控件等)
3.8.1.三、本部分學習方法
(1)重點1:掌握網絡通訊的架構層次和基本原理
(2)重點2:掌握socket及其相關函數的使用
(3)重點3:掌握服務器和客戶端程序通訊的方法
3.8.2.網絡通訊基礎知識1
3.8.2.一、網絡通訊的發展歷程
(1)單機階段
(2)局域網階段
(3)廣域網internet階段
(4)移動互聯網階段
(5)物聯網階段
3.8.2.二、三大網絡
(1)電信網、電視網絡、互聯網
3.8.2.三、網絡通訊的傳輸媒介
(1)無線傳輸:WIFI、藍牙、zigbee、4G/5G/GPRS等
(2)有線通訊:雙絞線、同軸電纜、光纖等
3.8.3.網絡通訊基礎知識2
3.8.3.一、OSI 7層網絡模型(詳見百度介紹)
(1)7層名字和順序要記住,有時候筆試題目常常遇到。
(2)網絡搜索資料,本身看自學,逐步去理解。
3.8.3.二、網卡
(1)計算機上網必備硬件設備,CPU靠網卡來鏈接外部網絡
(2)串轉並設備
(3)數據幀封包和拆包
(4)網絡數據緩存和速率適配
3.8.3.三、集線器(HUB)
(1)信號中繼放大,至關於中繼器
(2)組成局域網絡,用廣播方式工做。
(3)注意集線器是不能用來鏈接外網的
3.8.3.四、交換機
(1)包含集線器功能,但更高級
(2)交換機中有地址表,數據包查表後直達目的通訊口而不是廣播
(3)找不到目的口時廣播並學習
3.8.4.網絡通訊基礎知識3
3.8.4.一、路由器
(1)路由器是局域網和外部網絡通訊的出入口
(2)路由器將整個internet劃分紅一個個的局域網,卻又互相聯通。
(3)路由器對內管理子網(局域網),能夠在路由器中設置子網的網段,設置有線端口的IP地址,設置dhcp功能等,所以局域網的IP地址是路由器決定的。
(4)路由器對外實現聯網,聯網方式取決於外部網絡(如ADSL撥號上網、寬帶賬號、局域網等)。這時候路由器又至關因而更高層級網絡的其中一個節點而已。
(5)因此路由器至關於有2個網卡,一個對內作網關、一個對外作節點。
(6)路由器的主要功能是爲通過路由器的每一個數據包尋找一條最佳路徑(路由)並轉發出去。其實就是局域網內電腦要發到外網的數據包,和外網回覆給局域網內電腦的數據包。
(7)路由器技術是網絡中最重要技術,決定了網絡的穩定性和速度。
3.8.5.一、DNS(Domain Name Service 域名服務)
(1)網絡世界的門牌號:IP地址
(2)IP地址的缺點:難記、不直觀
(3)IP地址的替代品:域名,譬如www.zhulaoshi.org
(4)DNS服務器就是專門提供域名和IP地址之間的轉換的服務的,所以域名要購買的
(5)咱們訪問一個網站的流程是:先使用IP地址(譬如谷歌的DNS服務器IP地址爲8.8.8.8)訪問DNS服務器(DNS服務器不能是域名,只能是直接的IP地址),查詢咱們要訪問的域名的IP地址,而後再使用該IP地址訪問咱們真正要訪問的網站。這個過程被瀏覽器封裝屏蔽,其中使用的就是DNS協議。
(6)瀏覽器須要DNS服務,而QQ這樣的客戶端卻不須要(由於QQ軟件編程時已經知道了騰訊的服務器的IP地址,所以能夠直接IP方式訪問服務器)
3.8.5.網絡通訊基礎知識4
3.8.5.一、DHCP(dynamic host configuration protocl,動態主機配置協議)
(1)每臺計算機都須要一個IP地址,且局域網內各電腦IP地址不能重複,不然會地址衝突。
(2)計算機的IP地址能夠靜態設定,也能夠動態分配
(3)動態分配是局域網內的DHCP服務器來協調的,不少設備都能提供DHCP功能,譬如路由器。
(4)動態分配的優點:方便接入和斷開、有限的IP地址獲得充分利用
3.8.5.二、NAT(network address translation,網絡地址轉換協議)
(1)IP地址分爲公網IP(internet範圍內惟一的IP地址)和私網IP(內網IP),局域網內的電腦使用的都是私網IP(經常使用的就是192.168.1.xx)
(2)網絡通訊的數據包中包含有目的地址的IP地址
(3)當局域網中的主機要發送數據包給外網時,路由器要負責將數據包頭中的局域網主機的內網IP替換爲當前局域網的對外外網IP。這個過程就叫NAT。
(4)NAT的做用是緩解IPv4的IP地址不夠用問題,但只是相似於打補丁的形式,最終的解決方案仍是要靠IPv6。
(5)NAT穿透簡介
3.8.6.網絡通訊基礎知識5
3.8.6.一、IP地址分類(IPv4)
(1)IP地址實際是一個32位二進制構成,在網絡通訊數據包中就是32位二進制,而在人機交互中使用點分十進制方式顯示。
(2)IP地址中32位實際包含2部分,分別爲:網絡地址和主機地址。子網掩碼,用來講明網絡地址和主機地址各自佔多少位。
(3)由網絡地址和主機地址分別佔多少位的不一樣,將IP地址分爲5類,最經常使用的有3類
3.8.6.二、三類IP地址
(1)A類。
(2)B類
(3)C類
(4)127.0.0.0用來作迴環測試loopback
3.8.6.三、如何判斷2個IP地址是否在同一子網內
(1)網絡標識 = IP地址 & 子網掩碼
(2)2個IP地址的網絡標識同樣,那麼就處於同一網絡。
源IP地址:發出數據包的網絡的IP地址
目標IP地址:要接收數據包的計算機的IP地址
二進制方式 0xffffffff 0xC0A80166/0x6601A8C0 本質
點分十進制方式 255.255.255.255 192.168.1.102 方便人看的
IP地址 = 網絡地址 + 主機地址
網絡地址用來表示子網
主機地址是用來表示子網中的具體某一臺主機的。
譬如能夠8位表示網絡,24位表示主機
也能夠16位表示網絡,16位表示主機
14爲表示網絡,18位表示主機
子網掩碼爲255.255.255.0時表示前24位爲網絡地址,後8位爲主機地址
子網掩碼爲255.255.0.0時表示前16位爲網絡地址,後16位爲主機地址
網絡地址決定了這種網絡中必定能夠有多少個網絡,譬如子網掩碼爲255.255.255.0時表示咱們這一種網絡一共最多能夠有2^24個,每一個這種網絡中能夠有2^8個主機。
若是子網掩碼爲255.255.0.0時,表示咱們這種網絡能夠有2^16個網絡,每一個這種網絡中最多能夠有2^16個主機。
192.168.1.102 & 255.255.255.0 = 192.168.1.0
192.168.1.253 & 255.255.255.0 = 192.168.1.0
192.168.1.4和192.168.12.5,若是子網掩碼是255.255.255.0那麼不在同一網段,若是子網掩碼是255.255.0.0那麼就在同一個網段