一徐许、簡介
ipv4 ipv6
iPv4 中規(guī)定IP地址長度為32,即有2^32-1個地址沉迹;
IPv6 中IP地址的長度為128丹墨,即有2^128-1個地址。
IP地址(主機名)
1、網(wǎng)絡(luò)中設(shè)備的標志;
2、本地回環(huán)地址:127.0.0.1 虑稼,主機名:localhost,測試:ping 127.0.0.1 世舰;端口號
1动雹、用于標記進程邏輯地址,不同進程的標志跟压;
2胰蝠、有效端口:0~65535;
3震蒋、其中0~1024系統(tǒng)使用或者保留端口茸塞,開發(fā)中不要使用1024以下的端口;傳輸協(xié)議(通訊規(guī)則)
TCP/UDP
二查剖、路由器IP地址 & 本機IP地址
- 第一個是路由器分配給本機的IP地址钾虐;
- 第二個是子網(wǎng)掩碼;
-
第三個是路由器的IP地址笋庄;
AAA
2.1效扫、ping
如果同時Ping兩個IP地址一樣嗎倔监?
-- ping 127.0.0.1
-- ping 192.168.0.95
結(jié)論:不一樣。如果ping 127.0.0.1 是自己ping自己菌仁;
ping 192.168.0.95 是將數(shù)據(jù)提交給路由器浩习,路由器再反饋數(shù)據(jù)給本機;
應(yīng)用:如果ping 127.0.0.1 不通济丘,則果斷判斷出本機網(wǎng)卡出現(xiàn)問題谱秽,而不是網(wǎng)絡(luò)出現(xiàn)問題;
2.2摹迷、內(nèi)網(wǎng) 和 外網(wǎng)
如何直接ping www.baidu.com可以通過疟赊,也獲得了百度的外網(wǎng)地址:180.97.33.107;
IP查詢網(wǎng)址:http://www.ip138.com
三峡碉、端口號Port
3.1近哟、訪問服務(wù)器服務(wù)的協(xié)議(而不是直接通過Port)
四、數(shù)據(jù)模型
物理層:將電流的高低電頻轉(zhuǎn)為二進制數(shù)據(jù)/將二進制數(shù)據(jù)轉(zhuǎn)為電流并傳輸鲫寄;(中繼器:防止電流衰弱進行放大椅挣、中轉(zhuǎn))
數(shù)據(jù)鏈路層:由于物理層連接是長期的,為了準確的獲取數(shù)據(jù)塔拳,彌補傳輸過程中可能的誤差,所以需要數(shù)據(jù)鏈路進行糾錯峡竣;定義傳輸?shù)母袷剑簶藴蕩袷娇恳郑话讯M制的數(shù)據(jù)打包成了標準的幀格式數(shù)據(jù),
五适掰、Socket
5.1颂碧、什么是socket
- socket本質(zhì)是編程接口(API),對TCP/IP的封裝类浪,TCP/IP也要提供可供程序員做網(wǎng)絡(luò)開發(fā)所用的接口载城,這就是Socket編程接口;
- socket是在應(yīng)用層和傳輸層之間的一個抽象層费就,它把TCP/IP層復(fù)雜的操作抽象為幾個簡單的接口供應(yīng)用層調(diào)用已實現(xiàn)進程在網(wǎng)絡(luò)中通信诉瓦。(圖一)
- HTTP是轎車,提供了封裝或者顯示數(shù)據(jù)的具體形式;Socket是發(fā)動機力细,提供了網(wǎng)絡(luò)通信的能力睬澡。
5.2、Socket客戶端與服務(wù)器交互流程
六眠蚂、socket實戰(zhàn)
demo : https://github.com/lionsom/Socket_Demo
- 案例:socket連接IP:127.0.0.1 port:12345
// 終端
nc -lk 12345
// 作用:始終監(jiān)聽本地計算機12345端口的數(shù)據(jù)
- 案例:利用socket向百度進行數(shù)據(jù)請求
1煞聪、獲取百度IP
2、連接IP和port
七逝慧、拓展
7.1昔脯、TCP啄糙、UDP、HTTP云稚、SOCKET之間的區(qū)別
- IP:網(wǎng)絡(luò)層協(xié)議隧饼;
- TCP和UDP:傳輸層協(xié)議;
- HTTP:應(yīng)用層協(xié)議碱鳞;
- SOCKET:TCP/IP網(wǎng)絡(luò)的API桑李。
TCP/IP代表傳輸控制協(xié)議/網(wǎng)際協(xié)議,指的是一系列協(xié)議窿给。
TCP和UDP使用IP協(xié)議從一個網(wǎng)絡(luò)傳送數(shù)據(jù)包到另一個網(wǎng)絡(luò)贵白。把IP想像成一種高速公路,它允許其它協(xié)議在上面行駛并找到到其它電腦的出口崩泡。TCP和UDP是高速公路上的“卡車”禁荒,它們攜帶的貨物就是像HTTP,文件傳輸協(xié)議FTP這樣的協(xié)議等角撞。
TCP和UDP是FTP呛伴,HTTP和SMTP之類使用的傳輸層協(xié)議。雖然TCP和UDP都是用來傳輸其他協(xié)議的谒所,它們卻有一個顯著的不同:TCP提供有保證的數(shù)據(jù)傳輸热康,而UDP不提供。這意味著TCP有一個特殊的機制來確保數(shù)據(jù)安全的不出錯的從一個端點傳到另一個端點劣领,而UDP不提供任何這樣的保證姐军。
HTTP(超文本傳輸協(xié)議)是利用TCP在兩臺電腦(通常是Web服務(wù)器和客戶端)之間傳輸信息的協(xié)議〖馓裕客戶端使用Web瀏覽器發(fā)起HTTP請求給Web服務(wù)器奕锌,Web服務(wù)器發(fā)送被請求的信息給客戶端。
記住村生,需要IP協(xié)議來連接網(wǎng)絡(luò);TCP是一種允許我們安全傳輸數(shù)據(jù)的機制惊暴,,使用TCP協(xié)議來傳輸數(shù)據(jù)的HTTP是Web服務(wù)器和客戶端使用的特殊協(xié)議趁桃。
Socket 接口是TCP/IP網(wǎng)絡(luò)的API辽话,Socket接口定義了許多函數(shù)或例程,用以開發(fā)TCP/IP網(wǎng)絡(luò)上的應(yīng)用程序镇辉。