国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Linux后端服務(wù)器開發(fā)】IP協(xié)議

這篇具有很好參考價值的文章主要介紹了【Linux后端服務(wù)器開發(fā)】IP協(xié)議。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一、IP協(xié)議概述

二、協(xié)議頭格式

三、網(wǎng)段劃分

四、IP地址的數(shù)量限制

五、路由

六、分片和組裝


一、IP協(xié)議概述

【Linux后端服務(wù)器開發(fā)】IP協(xié)議,Linux后端服務(wù)器開發(fā),服務(wù)器,tcp/ip,運(yùn)維

主機(jī):配有IP地址,但是不進(jìn)行路由控制的設(shè)備

路由器:即配有IP地址,又能進(jìn)行路由控制

節(jié)點(diǎn):主機(jī)和路由器的總稱

IP:將數(shù)據(jù)從A主機(jī)跨網(wǎng)絡(luò)傳輸?shù)紹主機(jī)的能力,IP = 目標(biāo)網(wǎng)絡(luò) + 目標(biāo)主機(jī)

路徑選擇中,目標(biāo)IP決定了我們的路徑該怎么走(先確定目標(biāo)網(wǎng)絡(luò),再確定目標(biāo)主機(jī))

二、協(xié)議頭格式

【Linux后端服務(wù)器開發(fā)】IP協(xié)議,Linux后端服務(wù)器開發(fā),服務(wù)器,tcp/ip,運(yùn)維

  • 4位版本號:version,指定IP協(xié)議的版本,對于IPv4來說就是4
  • 4位首部長度:header length,IP頭部的長度是多少個32bit,也就是length * 4字節(jié)數(shù)
  • 8位服務(wù)類型:Type of Service,3位優(yōu)先權(quán)字段(已放棄),4位TOS字段,1位保留字字段(0)。4位TOS字段分別表示最小延時、最大吞吐量、最高可靠性、最小成本,這四者相互沖突,只能選擇一個。對于ssh/telnet這樣的應(yīng)用程序,最小延時比較重要,對于ftp這樣的程序,最大吞吐量比較重要
  • 16位總長度:total length,IP數(shù)據(jù)報(bào)整體占多少個字節(jié)
  • 16位標(biāo)識:id,唯一的標(biāo)識主機(jī)發(fā)送的報(bào)文,如果IP報(bào)文在數(shù)據(jù)鏈路層被分開了,那么每一片里面這個id都是相同的
  • 3位標(biāo)志字段:第一個保留,第二個位置置1表示禁止分片,這時候如果報(bào)文長度超過MTU,IP模塊就會丟棄報(bào)文,第三個位置表示“更多分片”,如果分片了的話,最后一個分片置1,其他都是0,類似一個結(jié)束標(biāo)志
  • 13位片偏移:framegament offset,是分片相對于原始IP報(bào)文開始處的偏移,其實(shí)就是表示當(dāng)前分片在原始報(bào)文中的哪個位置,實(shí)際偏移的字節(jié)數(shù)是這個值*8得到的,因此除了最后一個報(bào)文之外,其他報(bào)文的長度必須是8的整數(shù)倍(否則報(bào)文就不連續(xù)了)
  • 8位生存時間:Time To Live,TTL,數(shù)據(jù)報(bào)到達(dá)目的地的最大報(bào)文跳躍次數(shù),一般是64,每經(jīng)過一次路由,TTL -= 1,一直減到0還沒有到達(dá)就丟棄了,這個字段主要防止出現(xiàn)路由循環(huán)
  • 8位協(xié)議:表示上層協(xié)議的類型
  • 16位頭部檢驗(yàn)和:使用CRC進(jìn)行校驗(yàn),來鑒別頭部是否損壞
  • 32位源地址32位目的地址:表示發(fā)送端和接收端IP地址
  • 選項(xiàng)字段:不定長,最多40字節(jié)

如何將報(bào)頭和有效載荷分離?4位首部長度,基本單位是4字節(jié),標(biāo)準(zhǔn)長度是20字節(jié),首部長度范圍[20, 60],標(biāo)準(zhǔn)長度的4位首部長度 0101,通過16位總長度減去4位首部長度,即可得到數(shù)據(jù)內(nèi)容,即可進(jìn)行報(bào)頭和有效載荷的分離。

三、網(wǎng)段劃分

IP地址分為兩個部分,網(wǎng)絡(luò)號和主機(jī)號

  • 網(wǎng)絡(luò)號:保證相互連接的兩個網(wǎng)段具有不同的標(biāo)識
  • 主機(jī)號:同一網(wǎng)段內(nèi),主機(jī)之間具有相互的網(wǎng)絡(luò)號,但是必須有不同的主機(jī)號

【Linux后端服務(wù)器開發(fā)】IP協(xié)議,Linux后端服務(wù)器開發(fā),服務(wù)器,tcp/ip,運(yùn)維

  • 不同的子網(wǎng)其實(shí)就是把網(wǎng)絡(luò)號相同的主機(jī)放在一起
  • 如果在子網(wǎng)中新增一臺主機(jī),則這個主機(jī)的網(wǎng)絡(luò)號和這個子網(wǎng)的網(wǎng)絡(luò)號一致,但是主機(jī)號不能和子網(wǎng)中的其他主機(jī)重復(fù)

通過合理設(shè)置主機(jī)號和網(wǎng)絡(luò)號,就可以保證在相互連接的網(wǎng)絡(luò)中,每臺主機(jī)的IP地址都不相同。

那么問題來了,手動管理子網(wǎng)中的IP,是一個相當(dāng)麻煩的事情,怎么解決呢?有一種技術(shù)叫做DHCP,能夠自動給子網(wǎng)內(nèi)新增主機(jī)節(jié)點(diǎn)分配IP地址,避免了手動管理IP的不便。一般的路由器都帶有DHCP功能,因此路由器也可以看做一個DHCP服務(wù)器。

過去曾經(jīng)提出過一種劃分網(wǎng)絡(luò)號和主機(jī)號的方案,把所有IP地址分為五類,如下圖TCPIP:?

【Linux后端服務(wù)器開發(fā)】IP協(xié)議,Linux后端服務(wù)器開發(fā),服務(wù)器,tcp/ip,運(yùn)維

  • A類:0.0.0.0 ~?127.255.255.255
  • B類:128.0.0.0 ~ 191.255.255.255
  • C類:192.0.0.0 ~ 223.255.255.255
  • D類:224.0.0.0 ~ 239.255.255.255
  • E類:240.0.0.0 ~ 247.255.255.255

隨著Internet的飛速發(fā)展,這種劃分方案的局限性很快就顯現(xiàn)出來,大多數(shù)組織都申請B類網(wǎng)絡(luò)地址,導(dǎo)致B類地址很快就分配完了,而A類卻浪費(fèi)了大量地址。

針對以上情況提出的新的劃分方案,稱為CIDR(Classless Interdomain Routing):

  • 引入了一個額外的子網(wǎng)掩碼(subnet mask)來區(qū)分網(wǎng)絡(luò)號和主機(jī)號
  • 子網(wǎng)掩碼也是一個32位的正整數(shù),通常用一串“0”來結(jié)尾
  • 將IP地址和子網(wǎng)掩碼“按位與”操作,得到的結(jié)果就是網(wǎng)絡(luò)號
  • 網(wǎng)絡(luò)號和主機(jī)號的劃分與這個IP地址是A類、B類還是C類無關(guān)

一般在一個子網(wǎng)中,管理子網(wǎng)中IP的設(shè)備是路由器,目標(biāo)網(wǎng)絡(luò)、子網(wǎng)掩碼、子網(wǎng)中的主機(jī)都是由路由器管理的,目標(biāo)網(wǎng)絡(luò)和子網(wǎng)掩碼是在路由器內(nèi)配置的。

【Linux后端服務(wù)器開發(fā)】IP協(xié)議,Linux后端服務(wù)器開發(fā),服務(wù)器,tcp/ip,運(yùn)維

四、IP地址的數(shù)量限制

我們知道,IP地址(IPv4)是一個4字節(jié)32位的正整數(shù),那么一共只有2的32次方個IP地址,大概是43億左右,而TCP/IP協(xié)議規(guī)定,每個主機(jī)都需要有一個IP地址。

這意味著,一共只有43億臺主機(jī)接入網(wǎng)絡(luò)嗎?

實(shí)際上,由于一些特殊的IP地址的存在,數(shù)量遠(yuǎn)遠(yuǎn)不足43億,另外IP地址并非是按照主機(jī)臺數(shù)來劃分的,而是每一個網(wǎng)卡都需要配置一個或多個IP地址。

CIDR在一定程度上緩解了IP地址不夠用的問題(提高了利用率,減少了浪費(fèi),但是IP地址的絕對上限并沒有增加),仍然是不夠用,這時候有三種方案提出:

  • 動態(tài)分配IP地址:只給接入網(wǎng)絡(luò)的設(shè)備分配IP地址,一次同一個MAC地址的設(shè)備,每次接入互聯(lián)網(wǎng)中,得到的IP地址不一定是相同的
  • IPv6:IPv6并不是IPv4的簡單升級版,這是兩個互不相干的協(xié)議,彼此并不兼容,IPv6用16字節(jié)128位來表示一個IP地址,但是目前IPv6并未普及
  • NAT技術(shù):內(nèi)網(wǎng)IP切公網(wǎng)IP

私網(wǎng)IP和公網(wǎng)IP

如果一個組織內(nèi)部組建局域網(wǎng),IP地址只用于局域網(wǎng)內(nèi)的通信,而不直接連到Internet上,理論上使用任意的IP地址都可以,但是RFC1918規(guī)定了用于組建局域網(wǎng)的私有IP地址。

  • 10.* ,前8位是網(wǎng)絡(luò)號,共 16 777 216 個地址
  • 172.16.*?~ 172.31.* ,前12位是網(wǎng)絡(luò)號,共 1 048 576 個地址
  • 192.168.* ~ 192.168.* ,前16位是網(wǎng)絡(luò)號,共 65 536 個地址
  • 包含在這些范圍內(nèi)的都是私網(wǎng)IP,其它的則稱為全局IP(公網(wǎng)IP)

特殊的IP地址

  • 將IP地址中的主機(jī)地址全部設(shè)置為0,就成為了網(wǎng)絡(luò)號,代表這個局域網(wǎng)?
  • 將IP地址中的主機(jī)地址全部設(shè)置為1,就成為了廣播地址,用于給同一個鏈路中的互相連接的所有主機(jī)發(fā)送數(shù)據(jù)包
  • 127.* 的IP地址用于本機(jī)環(huán)回(loop back)測試,通常是127.0.0.1

五、路由

路由:在復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)中,找出一條通往終點(diǎn)的路線。

  • 一個路由器可以配置兩個IP地址,一個是WAN口IP,一個是LAN口IP(子網(wǎng)IP)
  • 路由器LAN口連接的主機(jī),從屬于這個路由器的子網(wǎng)中
  • 不同的路由器,子網(wǎng)IP其實(shí)都是一樣的(通常都是192.168.1.1),子網(wǎng)中的主機(jī)IP不能重復(fù),但是子網(wǎng)之間的主機(jī)IP可以重復(fù)了
  • 每一個家用路由器,其實(shí)又作為運(yùn)營商路由器的子網(wǎng)中的一個節(jié)點(diǎn),這樣的運(yùn)營商路由器可能會有很多級,最外層的運(yùn)營商路由器,WAN接口就是公網(wǎng)IP了
  • 子網(wǎng)內(nèi)的主機(jī)需要和外網(wǎng)進(jìn)行通行時,路由器將IP首部中的IP地址進(jìn)行替換(替換成WAN口IP),這樣逐級替換,最終數(shù)據(jù)包中的IP地址稱為一個公網(wǎng)IP,這樣的技術(shù)就是NAT(Network Address Translation, 網(wǎng)絡(luò)地址轉(zhuǎn)換)

如果希望我們自己實(shí)現(xiàn)的服務(wù)器能夠在公網(wǎng)上能訪問到,就需要把程序部署在具有外網(wǎng)IP的服務(wù)器上,這樣的服務(wù)器可以在阿里云/騰訊云上面訪問到。

路由的過程,就是這樣“一跳一跳”(Hop by Hop)“問路”的過程,所謂的“一跳”就是數(shù)據(jù)鏈路層中的一個區(qū)間,具體在以太網(wǎng)中指從源MAC地址到目的MAC地址之間的幀傳輸區(qū)間。

路由在問路的過程中,會先詢問“目標(biāo)網(wǎng)絡(luò)”的地址,到達(dá)“目標(biāo)網(wǎng)絡(luò)”之后,再詢問目標(biāo)“目標(biāo)主機(jī)”的地址。

【Linux后端服務(wù)器開發(fā)】IP協(xié)議,Linux后端服務(wù)器開發(fā),服務(wù)器,tcp/ip,運(yùn)維

IP數(shù)據(jù)包的傳輸過程也一樣,當(dāng)IP數(shù)據(jù)包,到達(dá)路由器時,路由器會先查看目的IP,路由器決定這個數(shù)據(jù)包是能直接發(fā)送給目標(biāo)主機(jī)還是發(fā)送給下一個路由器,依次反復(fù)直到發(fā)送給目的IP地址。

那么如何判定當(dāng)前這個數(shù)據(jù)包該發(fā)送到哪里呢?這個就依靠每個節(jié)點(diǎn)內(nèi)部維護(hù)一個路由表。

  • 路由表可以用route命令查看
  • 如果目的IP命中了路由表,就直接轉(zhuǎn)發(fā)即可
  • 路由表中的最后一行,主要由下一跳地址和發(fā)送接口兩部分組成,當(dāng)目的地址與路由表中其它行都不匹配時,就按缺省路由條目規(guī)定的接口發(fā)送到下一跳地址

假設(shè)某主機(jī)的網(wǎng)絡(luò)接口配置和路由表如下:

【Linux后端服務(wù)器開發(fā)】IP協(xié)議,Linux后端服務(wù)器開發(fā),服務(wù)器,tcp/ip,運(yùn)維

  • 這臺主機(jī)有兩個網(wǎng)絡(luò)接口,一個網(wǎng)絡(luò)接口連到192.168.10.0/24,另一個網(wǎng)絡(luò)接口連到192.168.56.0/24這個網(wǎng)絡(luò)
  • 路由表的Destination是目的網(wǎng)絡(luò)地址,Genmask是子網(wǎng)掩碼,Gateway是下一跳地址,Iface是發(fā)送地址,F(xiàn)lags中的U標(biāo)志表示此條目有效,G標(biāo)志表示此條目的下一跳地址是某個路由器的地址,沒有G標(biāo)志的條目表示目的網(wǎng)絡(luò)地址是與本機(jī)直接向量的網(wǎng)絡(luò),不用經(jīng)過路由器轉(zhuǎn)發(fā)

轉(zhuǎn)發(fā)示例1:要發(fā)送數(shù)據(jù)的目的地址是192.168.56.3

  • 跟第一行的子網(wǎng)掩碼做運(yùn)算得到192.168.56.0,與第一行的目的網(wǎng)絡(luò)地址不符
  • 再跟第二行的子網(wǎng)掩碼做與運(yùn)算得到192.168.56.0,正是第二行的目的網(wǎng)路地址,因此從eth1接口發(fā)送過去
  • 由于192.168.56/24正是與eth1接口直接相連的網(wǎng)絡(luò),因此可以直接發(fā)送到目的主機(jī),不需要經(jīng)過路由器轉(zhuǎn)發(fā)

轉(zhuǎn)發(fā)示例2:要發(fā)送的數(shù)據(jù)的目的地址是202.10.1.2

  • 依次和路由表前幾項(xiàng)進(jìn)行對比,發(fā)現(xiàn)都不匹配
  • 按缺省路由條目,從eth0接口發(fā)出去,發(fā)往192.168.10.1路由器
  • 由192.168.10.1路由器根據(jù)它的路由表決定下一跳地址

六、分片和組裝

數(shù)據(jù)在網(wǎng)絡(luò)中是以MAC幀的格式進(jìn)行傳輸,每個MAC幀的最大長度是1500字節(jié),故長度大于1500字節(jié)的數(shù)據(jù)報(bào)需要進(jìn)行分片發(fā)送,到達(dá)目的地址之后再進(jìn)行組裝。

【Linux后端服務(wù)器開發(fā)】IP協(xié)議,Linux后端服務(wù)器開發(fā),服務(wù)器,tcp/ip,運(yùn)維

  • 如何判斷一個報(bào)文是否被分片了?通過3位標(biāo)志進(jìn)行判斷,如果某個報(bào)文存在3位標(biāo)志的更多分片標(biāo)志為1的分片,則這個報(bào)文被分片了。
  • 同一個報(bào)文的分片如何識別?通過16位標(biāo)識識別,同一個報(bào)文的不同分片,它們的16位標(biāo)識是一樣的。
  • 哪一個分片是第一個?哪一個分片是最后一個?通過3位標(biāo)志和13位片偏移判斷,如果3位標(biāo)志的更多分片標(biāo)志為1且13位片偏移為0,則是第一個分片,如果3位標(biāo)志的更多分片標(biāo)志為0且13位片偏移不為0,則是最后一個分片。
  • 如何判斷分片有沒有全部被接收?當(dāng)前的起始位置 + 自身長度 = 下一個報(bào)文中填充的偏移量大小,通過這個進(jìn)行判斷接收到的分片有沒有缺失。
  • 如何對接收到的全部分片進(jìn)行組裝?按照片偏移量對分片進(jìn)行升序排序即可。

分片好嗎?分片并不好,分片越多數(shù)據(jù)丟失的幾率就越大,丟失一個報(bào)文就需要重新發(fā)送全部報(bào)文,故分片并不是在通信時的主流情況。文章來源地址http://www.zghlxwxcb.cn/news/detail-609688.html

到了這里,關(guān)于【Linux后端服務(wù)器開發(fā)】IP協(xié)議的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Linux服務(wù)器丟包故障的解決思路及引申的TCP/IP協(xié)議棧理論

    Linux服務(wù)器丟包故障的解決思路及引申的TCP/IP協(xié)議棧理論

    我們使用Linux作為服務(wù)器操作系統(tǒng)時,為了達(dá)到高并發(fā)處理能力,充分利用機(jī)器性能,經(jīng)常會進(jìn)行一些內(nèi)核參數(shù)的調(diào)整優(yōu)化,但不合理的調(diào)整常常也會引起意想不到的其他問題,本文就一次Linux服務(wù)器丟包故障的處理過程,結(jié)合Linux內(nèi)核參數(shù)說明和TCP/IP協(xié)議棧相關(guān)的理論,介紹

    2024年02月11日
    瀏覽(32)
  • 【Linux后端服務(wù)器開發(fā)】協(xié)議定制(序列化與反序列化)

    【Linux后端服務(wù)器開發(fā)】協(xié)議定制(序列化與反序列化)

    目錄 一、應(yīng)用層協(xié)議概述 二、序列化與反序列化 Protocal.h頭文件 Server.h頭文件 Client.h頭文件 server.cpp源文件 client.cpp源文件 什么是應(yīng)用層 ?我們通過編寫程序解決一個個實(shí)際問題、滿足我們?nèi)粘P枨蟮木W(wǎng)絡(luò)程序,都是應(yīng)用層程序。 協(xié)議是一種“約定”,socket的api接口,在讀

    2024年02月16日
    瀏覽(21)
  • socket的使用 | TCP/IP協(xié)議下服務(wù)器與客戶端之間傳送數(shù)據(jù)

    socket的使用 | TCP/IP協(xié)議下服務(wù)器與客戶端之間傳送數(shù)據(jù)

    謹(jǐn)以此篇,記錄TCP編程,方便日后查閱筆記 注意:用BufferedWriter write完后,一定要flush;否則字符不會進(jìn)入流中。去看源碼可知:真正將字符寫入的不是write(),而是flush()。 服務(wù)器端代碼: 客戶端代碼: 運(yùn)行后結(jié)果: 服務(wù)器端: 客戶端: 參考資料: https://www.bilibili.com/vid

    2024年02月09日
    瀏覽(39)
  • Linux 基于 TCP 協(xié)議的簡單服務(wù)器-客戶端應(yīng)用

    Linux 基于 TCP 協(xié)議的簡單服務(wù)器-客戶端應(yīng)用

    目錄 一、相關(guān)函數(shù)? 1、listen() 2、accept() 3、connect()? 4、兩種IP地址轉(zhuǎn)換方式? 5、TCP和UDP數(shù)據(jù)發(fā)送和接收函數(shù)對比 5、log.hpp自定義記錄日志 二、udp_server.hpp單進(jìn)程版本 三、tcp_server.cc 四、Telnet客戶端(代替tcp_client.cc) 五、多進(jìn)程實(shí)現(xiàn)udp_server.hpp 1、多進(jìn)程版本一 2、tcp_client.

    2024年04月27日
    瀏覽(29)
  • 【Linux后端服務(wù)器開發(fā)】管道設(shè)計(jì)

    【Linux后端服務(wù)器開發(fā)】管道設(shè)計(jì)

    目錄 一、管道通信 二、匿名管道 1. 匿名管道通信 2. 匿名管道設(shè)計(jì) 三、命名管道 comm.hpp client.cc serve.cc 進(jìn)程通信 數(shù)據(jù)傳輸:一個進(jìn)程需要將它的數(shù)據(jù)發(fā)送給另一個進(jìn)程 資源共享:多個進(jìn)程之間共享同樣的資源 通知事件:一個進(jìn)程向另一個(一組)進(jìn)程發(fā)送信息,通知它們發(fā)

    2024年02月13日
    瀏覽(25)
  • 【Linux后端服務(wù)器開發(fā)】socket套接字

    【Linux后端服務(wù)器開發(fā)】socket套接字

    目錄 一、socket 套接字概述 二、socket 函數(shù)接口 三、IP地址與端口號的網(wǎng)絡(luò)格式 四、TCP協(xié)議的本地通信C語言示例 socket 是什么? socket 本質(zhì)上是一個抽象的概念,它是一組用于 網(wǎng)絡(luò)通信的 API , 提供了一種統(tǒng)一的接口 ,使得應(yīng)用程序可以通過網(wǎng)絡(luò)進(jìn)行通信。在不同的操作系統(tǒng)

    2024年02月16日
    瀏覽(25)
  • FPGA實(shí)現(xiàn) TCP/IP 協(xié)議棧 服務(wù)器 純VHDL代碼編寫 提供4套vivado工程源碼和技術(shù)支持

    FPGA實(shí)現(xiàn) TCP/IP 協(xié)議棧 服務(wù)器 純VHDL代碼編寫 提供4套vivado工程源碼和技術(shù)支持

    FPGA實(shí)現(xiàn) TCP/IP 協(xié)議棧 服務(wù)器 純VHDL代碼編寫 提供4套vivado工程源碼和技術(shù)支持 沒玩過TCP網(wǎng)絡(luò)通信都不好意思說自己玩兒過FPGA,這是CSDN某大佬說過的一句話,鄙人深信不疑。。。目前網(wǎng)上fpga實(shí)現(xiàn)udp協(xié)議的源碼滿天飛,我這里也有不少,但用FPGA純源碼實(shí)現(xiàn)TCP的項(xiàng)目卻很少,能上

    2024年02月04日
    瀏覽(25)
  • 【Linux后端服務(wù)器開發(fā)】基礎(chǔ)IO與文件系統(tǒng)

    【Linux后端服務(wù)器開發(fā)】基礎(chǔ)IO與文件系統(tǒng)

    目錄 一、基礎(chǔ)IO 1. C語言文件讀寫 2. 標(biāo)志位傳參 3. C語言與系統(tǒng)調(diào)用關(guān)系 二、文件系統(tǒng) 1. 文件描述符 2. 輸入輸出重定向 文件調(diào)用 庫函數(shù)接口: fopen、fclose、fwrite、fread、fseek 系統(tǒng)調(diào)用接口:open、close、write、read、lseek r/w/a :讀/寫/追加 若打開的文件不存在,“r”報(bào)錯,“

    2024年02月15日
    瀏覽(24)
  • Linux高性能服務(wù)器編程 學(xué)習(xí)筆記 第二章 IP協(xié)議詳解

    Linux高性能服務(wù)器編程 學(xué)習(xí)筆記 第二章 IP協(xié)議詳解

    本章從兩方面探討IP協(xié)議: 1.IP頭部信息。IP頭部出現(xiàn)在每個IP數(shù)據(jù)報(bào)中,用于指定IP通信的源端IP地址、目的端IP地址,指導(dǎo)IP分片和重組,指定部分通信行為。 2.IP數(shù)據(jù)報(bào)的路由和轉(zhuǎn)發(fā)。IP數(shù)據(jù)報(bào)的路由和轉(zhuǎn)發(fā)發(fā)生在除目標(biāo)機(jī)器外的所有主機(jī)和路由器上,它們決定數(shù)據(jù)報(bào)是否應(yīng)

    2024年02月09日
    瀏覽(31)
  • Linux網(wǎng)絡(luò)編程之TCP/IP實(shí)現(xiàn)高并發(fā)網(wǎng)絡(luò)服務(wù)器設(shè)計(jì)指南

    目錄 引言: 多進(jìn)程服務(wù)器 例程分享: 多線程服務(wù)器 ?例程分享: I/O多路復(fù)用服務(wù)器 select 例程分享: poll 例程分享: epoll 例程分享: 總結(jié)建議 ????????隨著互聯(lián)網(wǎng)的迅猛發(fā)展,服務(wù)器面臨著越來越多的并發(fā)請求。如何設(shè)計(jì)一個能夠高效處理大量并發(fā)請求的服務(wù)器成為

    2024年02月20日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包