最近在學習/復習軟件工程師必備的技能------ HTTP網絡協(xié)議章蚣,一共是22課召嘶,計劃寫4份學習筆記。(內容會自我完善城豁,方便自己查閱)
1.基本概念
2.集線器網橋交換機
3.MAC地址IP地址子網掩碼
4.超網_靜態(tài)路由
5.局域網_NAT
HTTP網絡協(xié)議
1.基本概念
流媒體,可跨平臺(前端抄课、iOS唱星、android)
即時通訊,需要看搞后端還是客戶端
互聯網
Q:數據是如何從一個設備傳遞到另一個設備跟磨?
A:通過網絡協(xié)議來規(guī)定的魏颓,沒有網絡協(xié)議,就沒有今天的互聯網
各種各樣的網絡協(xié)議:HTTP吱晒、HTTPS、SMTP沦童、MQTT仑濒、RTMP
Q:TCP和UDP的區(qū)別叹话?說一下它們的報文格式
Q:TCP的流量控制和擁塞控制?TCP如何實現可靠性傳輸墩瞳?
Q:為什么連接是3次握手驼壶,4次揮手?
Q:7層模型和4層模型的區(qū)別喉酌?每一層的作用是什么热凹?
Q:交換機與路由器的區(qū)別?
網絡抓包
瀏覽器:(Chrome泪电、Firefox)般妙、 Fiddler、Wireshark
模擬工具:Xshell(只有Windows 版)
JAVA 25年了相速,生態(tài)圈很成熟碟渺。 GO新起之秀,短時間不可能打敗JAVA突诬,不成熟苫拍。
C/C++ 跨平臺:(.c/.cpp文件)
-> 一份代碼能跑多個平臺(操作系統(tǒng)),效果基本一樣旺隙。
原理:進行不同平臺編譯成不同格式的文件绒极。
Windows:PE格式 0101加到內存中
Mac:Mach-O 格式
Linux:ELF格式
JAVA跨平臺原理:.java — 編譯 —.class (跟平臺無關的字節(jié)碼文件,不是可執(zhí)行文件)
-> 一次編譯蔬捷,到處執(zhí)行
編譯成跟平臺無關的字節(jié)碼文件(class文件)
JVM:Java Virtual Machine 軟件垄提,JAVA虛擬機。Oracle提供(JAVA官方Sun公司抠刺,2009以74億美元被Oracle收購) (有JDK塔淤,就有JRE,就能使用JVM)
Windows:啟動JVM速妖,加載字節(jié)碼文件到內存中高蜂,并解析,轉成0101機器指令
Mac:同上
Linux:同上
客戶端 | 服務器 |
---|---|
CPU罕容、內存备恤、散熱要求高 | |
多端口:80端口運行軟件(服務器軟件:作用占用某個端口,為了監(jiān)聽端口網絡數據流通)锦秒,拿到數據露泊,解析,返回數據旅择。 ———————— 怕服務器軟件撐不住惭笑,再加一個端口8080。 | |
安裝服務器軟件Tomcat(免費開源),啟動JVM— 啟動Tomcat — 把JAVA代碼執(zhí)行 (bin目錄沉噩,startup.bat Windows 系統(tǒng)啟動捺宗,startup.sh Linx 系統(tǒng)啟動) | |
http://IP地址:端口號/項目 |
什么是協(xié)議?約束雙方川蒙,減少溝通成本蚜厉。
國際標準化組織ISO,1985年制定了網絡互聯模型
OSI參考模型 Open System Interconnect Reference Model,具有7層畜眨。
TCP/IP 協(xié)議:實際應用參考模型
2.集線器網橋交換機
搭建JAVA服務器開發(fā)環(huán)境
網絡中的一些基本概念
MAC地址昼牛、IP地址、路由器康聂、交換機
HTML CSS JS基礎
Sevlet: JSP API Sevlet API
JAVA里的包類似C++贰健、C#的namespace
計算機之間的通信基礎
1.需要知道IP地址
2.網卡:接受數據,MAC地址(網卡地址)(交換機解析拿到網卡地址)
不在同一個網段早抠,路由器的功能是把他們連接不同的網段
ARP協(xié)議霎烙,廣播(廣播是在同一個網段中實現的)ARP是有緩存的
發(fā)廣播的目的:獲取對方的MAC地址,同一網段所有網卡都能接收
ICMP
網線直聯:交叉線(不是直線)
同軸電纜:半雙工通信(基本已淘汰)信號可能會疊加蕊连、沖突达吞,需要等待時機访忿。不安全涣觉,有沖突域
集線器hub: 半雙工通信联喘,容易沖突,不安全载庭,跟同軸電纜一樣沒有智商看彼。(沒有存儲功能,計算機才有緩存)(同軸電纜升級版囚聚,理解為把線連在一起)缺點:占用帶寬靖榕,占用線路
網橋(Bridge):連接同一個網段,記錄MAC地址
它能通過自學習得知每個接口那側的MAC地址
從而起到隔離沖突域的作用
STP 生成樹協(xié)議
交換機(Switch-PT ):局域網的最終方案(跨網段用路由器)有記憶功能
相當于接口更多的網
全雙工通信
可設置上網的MAC地址
路由器(Router):可以在不同網段之間轉發(fā)數據
隔絕廣播域
3.MAC地址IP地址子網掩碼
總結:
網線直連顽铸、同軸電纜茁计、網橋、交換機
連接的設備必須在同一網段
連接的設備處在同一廣播域
路由器
可以在不同的網段之間轉發(fā)數據
隔絕廣播域
路由器提供網關
網關:幫助跨網段
MAC地址
每個網卡都有一個6字節(jié)(48bit)的MAC地址 (Media Access Control Address)
1個16 進制 = 4 個 2進制谓松, 2個16進制 = 8 個 2進制
40-55-82 A1-8C-62
全球唯一星压,固化在了網卡的ROM中,由IEEE802標準規(guī)定
前3字節(jié):OUI(Organizationally Unique Identifier),組織唯一標識符
IEE注冊管理機構分配給廠商
后3字節(jié):網絡接口標識符
由廠商自行分配
當48位全為1時鬼譬,為廣播地址
硬件是全球唯一的娜膘,操作系統(tǒng)可以更換MAC地址(可以自行修改電腦里的MAC地址)
Pyhsical Address
動態(tài)存兩分鐘,靜態(tài)很久(操作系統(tǒng)不一樣优质,時間可能不一樣)
IP地址 Internet Protocol Address
IPv4竣贪,32bit(4字節(jié))军洼,2019.11.25,全球的IP地址已用完
IPv6贾富,128biit(16字節(jié))
IP地址:網絡ID + 主機ID
網段計算:IP地址 子網掩碼歉眷,按位與運算可以得出
IP地址:192.168.1.10
子網掩碼:255.255.255.0
1100 0000.1010 1000.0000 0001.0000 1010
& 1111 1111.1111 1111.1111 1111.0000 0000
————————————————————————
1100 0000.1010 1000.0000 0001.0000 0000
-> 192.168.1.0 網段
IP地址:130.168.1.10
子網掩碼:255.255.0.0
網段:130.168.0.0
256 + 256 - 2 (130.168.0.0網段\130.168.255.255 這個是廣播地址)
A類 (0-127 8)120.255.255.255 最大主機數:256256256 - 2 = 2的24次方 - 2 = 16777214
B類 (128-191 16) 256256 -2 = 2 的 16次方 - 2 = 65534
C類(192-223 24) 最常見,256 -2 = 254
D類颤枪,沒有子網掩碼,用于多播(組播)地址
E類淑际,保留今后使用
CIDR 無類別域
Q:為什么要進行子網劃分畏纲?
A:如果需要讓200臺主機在同一個網段內,可以分配到C類網段春缕,比如192.168.1.0/24
子網劃分:借用主機位作子網位盗胀,劃分出多個子網
可分為
-等長子網劃分:將一個網段等分成多個子網,每個子網的可用IP地址數量是一樣的
-變長子網劃分:每個子網的可用IP地址數量可以是不一樣的
本來有一個C類網段锄贼,192.168.0.0/24
劃分為2個子網段
192.168.0.0/25票灰,子網掩碼 255.255.255.128
192.168.0.1~192.168.0.126 (126臺
192.168.0.128/25
192.168.0.129~192.168.0.254 (126臺
規(guī)律:如果一個子網是原來網絡的1/2,子網掩碼往后移一位
規(guī)律:如果一個子網是原來的1/2 * 1/2 = 1/4宅荤, 子網掩碼往后移2位
網關不能是網段
4.超網_靜態(tài)路由
超網:跟子網反過來屑迂,它是將多個連續(xù)的網段合并成一個更大的網段
子網掩碼向左移動2位,可以合并為四個網段
能被4整除的2進制都是00冯键,
當不知道用什么配置的時候用默認路由0.0.0.0
路由
默認情況下惹盼,路由器只知道它直連的網段,非直連的網段需要通過靜態(tài)路由惫确,手报、動態(tài)路由告訴他
靜態(tài)路由
-管理員手動給添加路由細膩些
-適用小規(guī)模網絡
動態(tài)路由
-路由器通過路由選擇協(xié)議(比如RIP、OSPF)自動獲取路由信息
-適用于大規(guī)模網絡
交換機用以太口
Seral串口兩個路由器直連改化,需要是相同的網段掩蛤。 下一跳只需要填IP,因為在相同網段不需要填子網掩碼
靜態(tài) 設置特定IP路由陈肛,子網掩碼甜255.255.255.255
默認路由 網絡和掩碼都填0.0.0.0 揍鸟,下一跳要指定
5.局域網_NAT
數據包的傳輸過程 (在看一次
網絡、互聯網燥爷、英特網
網絡(Network)
互聯網(internet):利用路由器實現更大的網段
全世界最大的網絡:英特網(Internet) 大寫蜈亩,特指因特網
-將全世界所有計算機都連接在一起
-一般使用大寫I開頭的Internet 特指因特網
-日常生活中說的:你的電腦上不了網。其實就是指:您的電腦沒有連接到因特網
ISP(Internet Service Provider)前翎,Internet服務提供商稚配,比如移動、電信港华、網通道川、鐵通等
我們平時拉的寬帶都是通過ISP連接到Internet的
雙線機房,保持不同的ISP訪問速度可以更快
網絡分類
局域網:LAN(Local Area Network)
-一般范圍在幾百米到幾十公里的哪的計算機所構成的計算機網絡
-常用于公司、家庭冒萄、學校臊岸、醫(yī)院、機關尊流、一幢大樓等
-利用以太網技術(Ethernet)
-在電腦帅戒、手機上經常見的到一個英文單詞WLAN(wireless LAN),無限局域網
城域網(Metropolitan Area Network崖技, MAN)
-一般范圍是數十公里到數百公里逻住,可以覆蓋一個城市
廣域網(Wide Area Network,WAN)
-一般范圍是在幾百公里到幾千公里迎献,可以覆蓋一個國家瞎访。通常都需要租用ISP的路線
常用的幾種接口
FastEthernet
快速以太網口(100M)(局域網)
GigabitEthernet
千兆以太網接口
Serial
串行接口(路由器之間)
上網方式
電話線入戶(早期,銅線)
這就是平時說的:ADSL 電話撥號上網(Asymmetric Digital Subscriber Line)Asymmetric非對稱
-非對稱數字用戶線路吁恍、提供上扒秸、下行不對稱的傳輸寬帶(下載快,上傳慢)
貓(Modem)調制解調器冀瓦,進行數字信號和模擬信號的轉換
(計算機用的數字信號伴奥,電話線傳的是模擬信號,調制解調器降它們轉換)
光貓(Optical Modem),廣調制解調器咕幻,進行數字信號和光信號的轉換
網線入戶
光纖入戶(使用更多)渔伯,需要自備調制解調器
家用無線路由器的邏輯結構
公網IP肄程、私網IP
公網IP(Public)
-Internet上的路由器中只有到達公司的路由器表锣吼,沒有到達私網的路由表
-公網IP由因特網信息中心(Internet Network Information Center, Inter NIC)統(tǒng)一分配和管理
-ISP需要香Inter NIC申請公網IP
私網IP(Private)
主要用于局域網,下面是保留的私網網段
A類:10.0.0.0/8, 一個A類網絡
B類:172.16.0.0/16~172.31.0.0/16蓝厌,16個B類網絡
C類:192.168.0.0/24~192.168.255.0/24玄叠,256個C類網絡
NAT(Network Address Translation)
-私網IP訪問Internet需要進行NAT轉換為公網IP
-由路由器來完成
NAT的特點
-可以節(jié)約公網IP資源
-會隱藏內部的真實IP
NAT的分類
-靜態(tài)轉換
手動配置NAT映射表、一對一轉換
-動態(tài)轉換
定義外部地址池拓提,一對一轉換
-PAT( Port Address Translation) (最常用的NAT技術)
多對一读恃,多個私網IP對應一個公網IP,最大程度
采用端口多路復用的方式代态,通過端口號標識不同的數據流
目前應用最廣泛的NAT實現方式
同一局域網向外發(fā)送信息寺惫,可能IP會一樣,但是路由器會記住客戶端端口號(隨機)