socket之網(wǎng)絡基礎

1哺呜、OSI七層協(xié)議

#1、OSI七層協(xié)議
五層協(xié)議
    應用層
    傳輸層
    網(wǎng)絡層
    數(shù)據(jù)鏈路層
    物理層

協(xié)議:規(guī)定數(shù)據(jù)的組織格式
    格式:頭部+數(shù)據(jù)部分

    封包裹的過程:數(shù)據(jù)外加頭
    拆包裹的過程:拆掉頭獲取數(shù)據(jù)

2箕戳、五層協(xié)議

#2某残、五層協(xié)議
計算機1:                            計算機2:

應用層                               應用層
傳輸層                               傳輸層
網(wǎng)絡層                               網(wǎng)絡層
數(shù)據(jù)鏈路層                            數(shù)據(jù)鏈路層
物理層  <===========交互機===========> 物理層
                                     0101010101010

(源mac地址,xxxx)(源ip地址陵吸,目標ip地址)數(shù)據(jù)
(源mac地址玻墅,網(wǎng)關的mac地址)(172.16.10.10/24,101.100.200.11/10)數(shù)據(jù)


事先知道的是對方的ip地址
但是計算機的底層通信是基于ethernet以太網(wǎng)協(xié)議的mac地址通信

ARP:
所以必須能夠將ip地址解析成mac地址

3壮虫,協(xié)議詳解

#2.1 物理層負責發(fā)送電信號
一組物理層數(shù)據(jù)稱之為:位
單純的電信號毫無意義澳厢,必須對其進行分組


#2.2 數(shù)據(jù)鏈路層:ethernet以太網(wǎng)協(xié)議
規(guī)定1:一組數(shù)據(jù)稱之為一個數(shù)據(jù)幀
規(guī)定2:數(shù)據(jù)幀分成兩部分=》頭+數(shù)據(jù)
    頭包含:源地址與目標地址环础,該地址是mac地址
    數(shù)據(jù)包含:包含的是網(wǎng)絡層發(fā)過來的整體的內容

規(guī)定3:規(guī)定但凡接入互聯(lián)網(wǎng)的主機必須有一塊網(wǎng)卡,每塊網(wǎng)卡在出廠時都燒制好一個全世界獨一無二的地址剩拢,該地址稱之為mac地址

注意:計算機通信基本靠吼线得,即以太網(wǎng)協(xié)議的工作方式是廣播



#2.3 網(wǎng)絡層:IP協(xié)議
要達到的目的:
劃分廣播域
每一個廣播域但凡要接通外部,一定要有一個網(wǎng)關幫內部的計算機轉發(fā)包到公網(wǎng)
網(wǎng)關與外界通信走的是路由協(xié)議

規(guī)定1:一組數(shù)據(jù)稱之為一個數(shù)據(jù)包
規(guī)定2:數(shù)據(jù)幀分成兩部分=》頭+數(shù)據(jù)
    頭包含:源地址與目標地址徐伐,該地址是IP地址
    數(shù)據(jù)包含的:傳輸層發(fā)過來的整體的內容




ipv4地址:
8bit.8bit.8bit.8bit

0.0.0.0
255.255.255.255

子網(wǎng)掩碼:
8bit.8bit.8bit.8bit

255.255.255.0對應的二進制表達
11111111.11111111.11111111.00000000

一個合法的ipv4地址組成部分=ip地址/子網(wǎng)掩碼地址
172.16.10.1/255.255.255.0
172.16.10.1/24


計算機1:
172.16.10.1:     10101100.00010000.00001010.000000001
255255.255.255.0: 11111111.11111111.11111111.000000000
172.16.10.0:      10101100.00010000.00001010.000000000


計算機2:
172.16.10.2:      10101100.00010000.00001010.000000010
255.255.255.255.0: 11111111.11111111.11111111.000000000
172.16.10.0:       10101100.00010000.00001010.000000000




# 兩臺計算機在同一個局域網(wǎng)內
計算機1:172.16.10.10/24             直接              計算機2:172.16.10.11/24
ARP:
自己的ip贯钩,對方的ip
1、計算二者網(wǎng)絡地址办素,如果一樣角雷,拿到計算機2的mac地址就可以了
2、發(fā)送廣播包
發(fā)送端mac  FF:FF:FF:FF:FF:FF   172.16.10.10/24 172.16.10.11/24 數(shù)據(jù)



# 兩臺計算機不在同一個局域網(wǎng)內

計算機1:172.16.10.10/24                  網(wǎng)關           計算機2:101.100.200.11/10
ARP:
自己的ip摸屠,對方的ip
1谓罗、計算機二者網(wǎng)絡地址,如果不一樣季二,應該拿到網(wǎng)關的mac地址
2檩咱、發(fā)送廣播包
發(fā)送端mac  FF:FF:FF:FF:FF:FF   172.16.10.10/24 172.16.10.1/24  數(shù)據(jù)


ip地址+mac地址=》標識全世界范圍內獨一無二的一臺計算機

或者:
ip地址=》標識全世界范圍內獨一無二的一臺計算機

4,tcp詳解

五層協(xié)議
計算機1:                            計算機2:

應用層                               應用層    ---> http/https/ftp協(xié)議

socket                              socket

傳輸層               段               傳輸層       ---> tcp/udp協(xié)議
網(wǎng)絡層               包               網(wǎng)絡層       ---> ip胯舷,arp協(xié)議-----> 夠將ip地址解析成mac地址
數(shù)據(jù)鏈路層            幀               數(shù)據(jù)鏈路層    ---> mac地址
物理層  <===========交互機===========> 物理層


客戶端軟件send             服務端軟件recv
操作系統(tǒng)                   操作系統(tǒng)
計算機硬件<====物理介質=====>計算機硬件



ethernet頭+ip頭+tcp頭+應用層的頭+應用層數(shù)據(jù)

#一:傳輸層 tcp\udp=》基于端口
    端口范圍0-65535刻蚯,0-1023為系統(tǒng)占用端口
    ip+port=》標識全世界范圍內獨一無二的一個基于網(wǎng)絡通信的應用程序


    基于tcp協(xié)議通信之前:必須建立一個雙向通信的鏈接
    C-------------------->S
    C<--------------------S

    三次握手建立鏈接:
        建立鏈接是為了傳數(shù)據(jù)做準備的,三次握手即可

    四次揮手斷開鏈接
        斷開鏈接時桑嘶,由于鏈接內有數(shù)據(jù)傳輸炊汹,所以必須分四次斷開

    tcp是可靠傳輸?shù)?        發(fā)送數(shù)據(jù)必須等到對方確認后才算完成,才會將自己內存中的數(shù)據(jù)清理掉逃顶,否則重傳

        ps:
            建立連接時讨便,服務端大量RCVD,要不洪水攻擊/要不高并發(fā)(高并發(fā)的情況可以打開半鏈接池以政,只接受客戶端請求霸褒,沒有數(shù)據(jù))
            四次握手,當服務端大量處于TIME_WAIT狀態(tài)時意味著服務端正在經歷高并發(fā)


    tcp協(xié)議的半連接池:
        backlog
        [鏈接請求1,鏈接請求2,鏈接請求3,鏈接請求5]---》 當處理鏈接請求5時盈蛮,鏈接請求5從backlog移除废菱,再新進一個請求
        半鏈接池只是原理上說得通對洪水攻擊沒有用,backlog是系統(tǒng)上一部分內存給backlog




#二:應用層:
    可以自定義協(xié)議=》頭部+數(shù)據(jù)部分
        自定義協(xié)議需要注意的問題:
        1抖誉、兩大組成部分=頭部+數(shù)據(jù)部分
            頭部:放對數(shù)據(jù)的描述信息
                比如:數(shù)據(jù)要發(fā)給誰殊轴,數(shù)據(jù)的類型,數(shù)據(jù)的長度
            數(shù)據(jù)部分:想要發(fā)的數(shù)據(jù)

        2袒炉、頭部的長度必須固定
            因為接收端要通過頭部獲取所接接收數(shù)據(jù)的詳細信息
    http https ftp

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市我磁,隨后出現(xiàn)的幾起案子淹接,更是在濱河造成了極大的恐慌,老刑警劉巖劲适,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件霞势,死亡現(xiàn)場離奇詭異愕贡,居然都是意外死亡,警方通過查閱死者的電腦和手機墩虹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門诫钓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來篙螟,“玉大人,你說我怎么就攤上這事惧所⌒餍樱” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵驰唬,是天一觀的道長叫编。 經常有香客問我霹抛,道長,這世上最難降的妖魔是什么霞篡? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮污淋,結果婚禮上余掖,老公的妹妹穿的比我還像新娘。我一直安慰自己赁豆,他們只是感情好冗美,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布粉洼。 她就那樣靜靜地躺著,像睡著了一般心铃。 火紅的嫁衣襯著肌膚如雪挫剑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天愉棱,我揣著相機與錄音奔滑,去河邊找鬼。 笑死朋其,一個胖子當著我的面吹牛脆炎,可吹牛的內容都是我干的。 我是一名探鬼主播袱蚓,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼几蜻,長吁一口氣:“原來是場噩夢啊……” “哼体斩!你這毒婦竟也來了絮吵?” 一聲冷哼從身側響起枫甲,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后话浇,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡食店,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年吉嫩,在試婚紗的時候發(fā)現(xiàn)自己被綠了嗅定。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡忙迁,死狀恐怖姊扔,靈堂內的尸體忽然破棺而出梅誓,到底是詐尸還是另有隱情,我是刑警寧澤梗掰,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布愧怜,位于F島的核電站,受9級特大地震影響蓬蝶,放射性物質發(fā)生泄漏尘分。R本人自食惡果不足惜培愁,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一定续、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧禾锤,春花似錦、人聲如沸倡鲸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽优床。三九已至誓焦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間罩阵,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工幽钢, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留傅是,地道東北人。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓帽驯,卻偏偏與公主長得像书闸,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內容