一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

這樣的TCP/IP協(xié)議,你看懂了嗎?

 啟云_9137 2020-08-18
  • 精通 TCP/IP,熟練使用 Socket 進(jìn)行網(wǎng)絡(luò)編程。
  • 看到這句話,有沒有感到很熟悉呀?相信很多人在投遞簡(jiǎn)歷的時(shí)候都看到過這條要求,很多人會(huì)覺得我們?cè)趯?shí)際開發(fā)中一般用不到這些知識(shí),所以對(duì)這些東西不屑一顧.

    但是筆者認(rèn)為想要做出更好的 APP,那么對(duì)這些基礎(chǔ)知識(shí)必須要有一定的了解,這樣你才能考慮得更加全面和完善,下面就讓我們一起來了解一下,什么是 TCP/IP.

    1.什么是 TCP/IP?

    TCP/IP 是一類協(xié)議系統(tǒng),它是用于網(wǎng)絡(luò)通信的一套協(xié)議集合.

    傳統(tǒng)上來說 TCP/IP 被認(rèn)為是一個(gè)雙層協(xié)議

    這樣的TCP/IP協(xié)議,你看懂了嗎?

    1) 網(wǎng)絡(luò)接口層:

    主要是指物理層次的一些接口,比如電纜等.

    2) 網(wǎng)絡(luò)層:

    提供獨(dú)立于硬件的邏輯尋址,實(shí)現(xiàn)物理地址與邏輯地址的轉(zhuǎn)換.

    在 TCP / IP 協(xié)議族中,網(wǎng)絡(luò)層協(xié)議包括 IP 協(xié)議(網(wǎng)際協(xié)議),ICMP 協(xié)議( Internet 互聯(lián)網(wǎng)控制報(bào)文協(xié)議),以及 IGMP 協(xié)議( Internet 組管理協(xié)議).

    3) 傳輸層:

    為網(wǎng)絡(luò)提供了流量控制,錯(cuò)誤控制和確認(rèn)服務(wù).

    在 TCP / IP 協(xié)議族中有兩個(gè)互不相同的傳輸協(xié)議: TCP(傳輸控制協(xié)議)和 UDP(用戶數(shù)據(jù)報(bào)協(xié)議).

    4) 應(yīng)用層:

    為網(wǎng)絡(luò)排錯(cuò),文件傳輸,遠(yuǎn)程控制和 Internet 操作提供具體的應(yīng)用程序

    2.數(shù)據(jù)包

    在 TCP / IP 協(xié)議中數(shù)據(jù)先由上往下將數(shù)據(jù)裝包,然后由下往上拆包

    在裝包的時(shí)候,每一層都會(huì)增加一些信息用于傳輸,這部分信息就叫報(bào)頭,當(dāng)上層的數(shù)據(jù)到達(dá)本層的時(shí)候,會(huì)將數(shù)據(jù)加上本層的報(bào)頭打包在一起,繼續(xù)往下傳遞.

    這樣的TCP/IP協(xié)議,你看懂了嗎?

    在拆包的時(shí)候,每一層將本層需要的報(bào)頭讀取后,就將剩下的數(shù)據(jù)往上傳.

    這個(gè)過程有點(diǎn)像俄羅斯套娃,所以有時(shí)候人們也會(huì)用俄羅斯套娃來形容這個(gè)過程.

    這樣的TCP/IP協(xié)議,你看懂了嗎?

    分享一個(gè)在騰訊課堂上tcp/ip的訓(xùn)練營(yíng)的課程。詳情講解了工作中 TCP、IP遇到的7大問題:1. 滑動(dòng)窗口如何實(shí)現(xiàn)?2. sk_buff是什么?3. TCP_NODELAY設(shè)置,抓包后是N個(gè)包?4. Epoll 檢測(cè)網(wǎng)絡(luò)IO,水平觸發(fā)與邊沿觸發(fā)如何判斷?5. 出現(xiàn)大量的close_wait如何解決?6. DDOS?7. UDP廣播?

    需要了解的朋友可以后臺(tái)私信【tcp/ip】獲取鏈接

    這樣的TCP/IP協(xié)議,你看懂了嗎?

    3.網(wǎng)絡(luò)接口層

    這一塊主要主要涉及到一些物理傳輸,比如以太網(wǎng),無線局域網(wǎng).這里就不做詳細(xì)的介紹了

    4.網(wǎng)絡(luò)層

    前面有提到,網(wǎng)絡(luò)層主要就是做物理地址與邏輯地址之間的轉(zhuǎn)換.

    目前市場(chǎng)上應(yīng)用的最多的是 32 位二進(jìn)制的 IPv4 ,因?yàn)?IPv4 的地址已經(jīng)不夠用了,所以 128 位二進(jìn)制的 IPv6 應(yīng)用越來越廣泛了(但是下面的介紹都是基于 IPv4 進(jìn)行的)

    1) IP:

    TCP/IP 協(xié)議網(wǎng)絡(luò)上的每一個(gè)網(wǎng)絡(luò)適配器都有一個(gè)唯一的 IP 地址.

    IP 地址是一個(gè) 32 位的地址,這個(gè)地址通常分成 4 端,每 8 個(gè)二進(jìn)制為一段,但是為了方便閱讀,通常會(huì)將每段都轉(zhuǎn)換為十進(jìn)制來顯示,比如大家非常熟悉的 192.168.0.1

    IP 地址分為兩個(gè)部分:

    • 網(wǎng)絡(luò) ID
    • 主機(jī) ID

    但是具體哪部分屬于網(wǎng)絡(luò) ID,哪些屬于主機(jī) ID 并沒有規(guī)定.

    因?yàn)橛行┚W(wǎng)絡(luò)是需要很多主機(jī)的,這樣的話代表主機(jī) ID 的部分就要更多,但是有些網(wǎng)絡(luò)需要的主機(jī)很少,這樣主機(jī) ID 的部分就應(yīng)該少一些.

    絕大部分 IP 地址屬于以下幾類

    • A 類地址:IP 地址的前 8 位代表網(wǎng)絡(luò) ID ,后 24 位代表主機(jī) ID。
    • B 類地址:IP 地址的前 16 位代表網(wǎng)絡(luò) ID ,后 16 位代表主機(jī) ID。
    • C 類地址:IP 地址的前 24 位代表網(wǎng)絡(luò) ID ,后 8 位代表主機(jī) ID。

    這里能夠很明顯的看出 A 類地址能夠提供出的網(wǎng)絡(luò) ID 較少,但是每個(gè)網(wǎng)絡(luò)可以擁有非常多的主機(jī)

    但是我們?cè)趺床拍芸闯鲆粋€(gè) IP 地址到底是哪類地址呢?

    • 如果 32 位的 IP 地址以 0 開頭,那么它就是一個(gè) A 類地址。
    • 如果 32 位的 IP 地址以 10 開頭,那么它就是一個(gè) B 類地址。
    • 如果 32 位的 IP 地址以 110 開頭,那么它就是一個(gè) C 類地址。

    那么轉(zhuǎn)化為十進(jìn)制(四段)的話,我們就能以第一段中的十進(jìn)制數(shù)來區(qū)分 IP 地址到底是哪類地址了。

    這樣的TCP/IP協(xié)議,你看懂了嗎?

    注意:

    • 十進(jìn)制第一段大于 223 的屬于 D 類和 E 類地址,這兩類比較特殊也不常見,這里就不做詳解介紹了。
    • 每一類都有一些排除地址,這些地址并不屬于該類,他們是在一些特殊情況使用地址(后面會(huì)介紹)
    • 除了這樣的方式來劃分網(wǎng)絡(luò),我們還可以把每個(gè)網(wǎng)絡(luò)劃分為更小的網(wǎng)絡(luò)塊,稱之為子網(wǎng)(后面會(huì)介紹)

    全是 0 的主機(jī) ID 代表網(wǎng)絡(luò)本身,比如說 IP 地址為 130.100.0.0 指的是網(wǎng)絡(luò) ID 為130.100 的 B 類地址。

    全是 1 的主機(jī) ID 代表廣播,是用于向該網(wǎng)絡(luò)中的全部主機(jī)方法消息的。 IP 地址為 130.100.255.255 就是網(wǎng)絡(luò) ID 為 130.100 網(wǎng)絡(luò)的廣播地址(二進(jìn)制 IP 地址中全是 1 ,轉(zhuǎn)換為十進(jìn)制就是 255 )

    以十進(jìn)制 127 開頭的地址都是換回地址。目的地址是環(huán)回地址的消息,其實(shí)是由本地發(fā)送和接收的。主要是用于測(cè)試 TCP/IP 軟件是否正常工作。我們用 ping 功能的時(shí)候,一般用的環(huán)回地址是 127.0.0.1

    2)地址解析協(xié)議 ARP

    簡(jiǎn)單的來說 ARP 的作用就是把 IP 地址映射為物理地址,而與之相反的 RARP(逆向 ARP)就是將物理地址映射為 IP 地址。

    3)子網(wǎng)

    前面提到了 IP 地址的分類,但是對(duì)于 A 類和 B 類地址來說,每個(gè)網(wǎng)絡(luò)下的主機(jī)數(shù)量太多了,那么網(wǎng)絡(luò)的傳輸會(huì)變得很低效,并且很不靈活。比如說 IP地址為 100.0.0.0 的 A 類地址,這個(gè)網(wǎng)絡(luò)下的主機(jī)數(shù)量超過了 1600 萬臺(tái)。

    所以子網(wǎng)掩碼的出現(xiàn)就是為了解決這樣的問題。

    我們先回顧一下之前如何區(qū)分主機(jī) IP 和網(wǎng)絡(luò) IP 的。

    以 A 類地址 99.10.10.10 為例,前 8 位是網(wǎng)絡(luò) IP ,后 24 位是主機(jī) IP 。(如下圖)

    這樣的TCP/IP協(xié)議,你看懂了嗎?

    子網(wǎng)掩碼也是一個(gè) 32 為的二進(jìn)制數(shù),也可以用四個(gè)十進(jìn)制數(shù)來分段,他的每一位對(duì)應(yīng)著 IP 地址的相應(yīng)位置,數(shù)值為 1 時(shí)代表的是非主機(jī)位,數(shù)值為 0 時(shí)代表是主機(jī)位。

    這樣的TCP/IP協(xié)議,你看懂了嗎?

    由表格可以很清晰的看出,網(wǎng)絡(luò) IP 仍是由之前的分類來決定到底是多少位,主機(jī) IP 則是由子網(wǎng)掩碼值為 0 的位數(shù)來決定,剩下的則是子網(wǎng) IP

    5 傳輸層

    傳輸層提供了兩種到達(dá)目標(biāo)網(wǎng)絡(luò)的方式

    • 傳輸控制協(xié)議(TCP):提供了完善的錯(cuò)誤控制和流量控制,能夠確保數(shù)據(jù)正常傳輸,是一個(gè)面向連接的協(xié)議。
    • 用戶數(shù)據(jù)報(bào)協(xié)議(UDP):只提供了基本的錯(cuò)誤檢測(cè),是一個(gè)無連接的協(xié)議。

    特點(diǎn):

    1)UDP:

    • 把數(shù)據(jù)打包
    • 數(shù)據(jù)大小有限制(64k)
    • 不建立連接
    • 速度快,但可靠性低

    2)TCP:

    • 建立連接通道
    • 數(shù)據(jù)大小無限制
    • 速度慢,但是可靠性高

    由于傳輸層涉及的東西比較多,比如端口,Socket等,都是我們做移動(dòng)開發(fā)需要了解的,之后的文章中我們?cè)倬唧w做介紹,這里就不講解了。

    6 應(yīng)用層

    應(yīng)用層作為 TCP/IP 協(xié)議的最高層級(jí),對(duì)于我們移動(dòng)開發(fā)來說,是接觸最多的。

    運(yùn)行在TCP協(xié)議上的協(xié)議:

    • HTTP(Hypertext Transfer Protocol,超文本傳輸協(xié)議),主要用于普通瀏覽。
    • HTTPS(Hypertext Transfer Protocol over Secure Socket Layer, or HTTP over SSL,安全超文本傳輸協(xié)議),HTTP協(xié)議的安全版本。
    • FTP(File Transfer Protocol,文件傳輸協(xié)議),由名知義,用于文件傳輸。
    • POP3(Post Office Protocol, version 3,郵局協(xié)議),收郵件用。
    • SMTP(Simple Mail Transfer Protocol,簡(jiǎn)單郵件傳輸協(xié)議),用來發(fā)送電子郵件。
    • TELNET(Teletype over the Network,網(wǎng)絡(luò)電傳),通過一個(gè)終端(terminal)登陸到網(wǎng)絡(luò)。
    • SSH(Secure Shell,用于替代安全性差的TELNET),用于加密安全登陸用。

    運(yùn)行在UDP協(xié)議上的協(xié)議:

    • BOOTP(Boot Protocol,啟動(dòng)協(xié)議),應(yīng)用于無盤設(shè)備。
    • NTP(Network Time Protocol,網(wǎng)絡(luò)時(shí)間協(xié)議),用于網(wǎng)絡(luò)同步。
    • DHCP(Dynamic Host Configuration Protocol,動(dòng)態(tài)主機(jī)配置協(xié)議),動(dòng)態(tài)配置IP地址。

    其他:

    • DNS(Domain Name Service,域名服務(wù)),用于完成地址查找,郵件轉(zhuǎn)發(fā)等工作(運(yùn)行在TCP和UDP協(xié)議上)。
    • ECHO(Echo Protocol,回繞協(xié)議),用于查錯(cuò)及測(cè)量應(yīng)答時(shí)間(運(yùn)行在TCP和UDP協(xié)議上)。
    • SNMP(Simple Network Management Protocol,簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議),用于網(wǎng)絡(luò)信息的收集和網(wǎng)絡(luò)管理。
    • ARP(Address Resolution Protocol,地址解析協(xié)議),用于動(dòng)態(tài)解析以太網(wǎng)硬件的地址。

      本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
      轉(zhuǎn)藏 分享 獻(xiàn)花(0

      0條評(píng)論

      發(fā)表

      請(qǐng)遵守用戶 評(píng)論公約

      類似文章 更多

      亚洲精品日韩欧美精品| 国产欧美日韩精品一区二| 99久只有精品免费视频播放 | 午夜日韩在线观看视频| 国产成人精品一区二区三区| 99日韩在线视频精品免费| 国产精品熟女在线视频| 精品熟女少妇av免费久久野外| 国产精品亚洲欧美一区麻豆| 又色又爽又无遮挡的视频| 中文字幕乱码一区二区三区四区| 又大又长又粗又黄国产| 在线免费观看一二区视频| 九九视频通过这里有精品| 色婷婷在线视频免费播放| 黄男女激情一区二区三区| 深夜日本福利在线观看| 我要看日本黄色小视频| 亚洲中文字幕免费人妻| 欧美一区二区三区高潮菊竹| 亚洲中文字幕在线观看黑人| 久久99这里只精品热在线| 亚洲高清中文字幕一区二三区| 一区二区三区精品人妻| 婷婷九月在线中文字幕| 亚洲一区二区三区国产| 人体偷拍一区二区三区| 国产精品香蕉一级免费| 国产亚洲精品俞拍视频福利区| 视频一区二区三区自拍偷| 国产美女精品午夜福利视频| 日韩一区二区免费在线观看| 成年女人午夜在线视频 | 丝袜视频日本成人午夜视频| 国产一区二区三区四区中文| 国产又黄又猛又粗又爽的片| 欧美日韩国内一区二区| 一二区中文字幕在线观看| 精品国产亚洲av久一区二区三区| 91后入中出内射在线| 69老司机精品视频在线观看|