青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-163  評(píng)論-223  文章-30  trackbacks-0
   繼上篇TCP/IP FAQ(1),本篇涵蓋了域和協(xié)議、IP編址、插口、原始IP、unix域方面的問(wèn)題與解答。

【Domain & Protocol】

1. 什么是域,它和協(xié)議有什么關(guān)系?
   域可以理解為一種容納協(xié)議的空間,它的存在便于了協(xié)議的分類;域和協(xié)議是集合與元素的關(guān)系,一個(gè)域中的每個(gè)協(xié)議使用同類地址,并且每種地址只被一個(gè)域使用,一個(gè)域能由協(xié)議族或地址族常量唯一標(biāo)識(shí)。
2. TCP/IP中有哪些域及其協(xié)議?
   internet、iso、route、ccitt、imp、network systems和unix,其中internet域含有ip,icmp,igmp,tcp和udp五種協(xié)議,unix域用于ipc通信。
3. 哪些地方會(huì)用到域?
   一個(gè)網(wǎng)絡(luò)層協(xié)議必須分用輸入數(shù)據(jù)報(bào),并交給相應(yīng)的傳輸層協(xié)議,由于域包含了協(xié)議族,因此必須從對(duì)應(yīng)的域中找到合適的協(xié)議去處理。例如IP對(duì)應(yīng)的域?yàn)閕nternet,這個(gè)域?qū)?yīng)的協(xié)議族為inetsw,當(dāng)收到IP數(shù)據(jù)報(bào)時(shí),就從inetsw中找到對(duì)應(yīng)的傳輸層協(xié)議去輸入處理。

【IP Addressing】
1. IP地址有哪幾類?
   分為5類,A、B和C類用于單播;D類用于多播;E類用于實(shí)驗(yàn)。
2. sockaddr和sockaddr_in有什么區(qū)別聯(lián)系?
   sockaddr是一種通用的用于接口編址信息的結(jié)構(gòu),它將硬件與協(xié)議的地址細(xì)節(jié)相對(duì)于接口層隱藏起來(lái),成員依次為sa_len、sa_family和sa_data,而sockaddr_in成員依次為sin_len、sin_family、sin_port、sin_addr和sin_zero。它們的前兩個(gè)成員其實(shí)是一樣的,只是命名不同,而sockaddr_in中的sin_port標(biāo)識(shí)傳輸層的端口,sin_addr標(biāo)識(shí)IP層的地址,所以它是Internet協(xié)議的專用接口編址結(jié)構(gòu),sin_zero僅為填充用,因?yàn)閟ockaddr_in長(zhǎng)度不應(yīng)小于sockaddr。
3. 插口編址結(jié)構(gòu)允許的最大長(zhǎng)度是多少?
   sockaddr最后一個(gè)成員是可擴(kuò)展的,這是C語(yǔ)言的通用技術(shù),因?yàn)槠涞谝粋€(gè)成員為u_char類型,所以最大長(zhǎng)度是255。
4. 一個(gè)接口可以配置多個(gè)IP地址,是怎么實(shí)現(xiàn)的?
   ifaddr表示通用的接口地址,ifnet表示接口,它有個(gè)類型為ifaddr*的if_addrlist成員,表示當(dāng)前接口上的地址鏈表。in_ifaddr表示Internet協(xié)議專用的接口地址,而IP屬于Internet協(xié)議,因此用in_ifaddr表示,所有的IP地址組成一個(gè)類型為in_ifaddr*的鏈表。當(dāng)增加一個(gè)IP地址時(shí),就需要插入這兩個(gè)鏈表中;當(dāng)刪除一個(gè)IP地址時(shí),就需要從它們當(dāng)中移除。
5. 為什么配置IP主機(jī)地址和網(wǎng)絡(luò)掩碼可以是獨(dú)立的?
   因?yàn)樗鼈兪褂貌煌拿顚?shí)現(xiàn),前者用SIOCSIFADDR,后者用SIOCSIFNETMASK。當(dāng)配置IP主機(jī)地址時(shí),如果沒(méi)有指明網(wǎng)絡(luò)掩碼,那么網(wǎng)絡(luò)掩碼被設(shè)置成默認(rèn)的。
6. 為什么訪問(wèn)IP接口地址使用的是UDP插口而不是原始IP插口?
   只有超級(jí)用戶用程才能創(chuàng)建原始IP插口,而通過(guò)UDP插口,任何用戶進(jìn)程都能查看接口配置。

【Socket】
1. 為什么會(huì)存在插口層?
   從概念上講,tcp/ip協(xié)議棧劃分為鏈路、網(wǎng)絡(luò)、傳輸和應(yīng)用4層;但從實(shí)現(xiàn)上講,在應(yīng)用層和其下層中間,引入了一個(gè)插口層,作為進(jìn)程和內(nèi)核通信的橋梁,主要功能是將進(jìn)程發(fā)送的與協(xié)議有關(guān)的請(qǐng)求映射到產(chǎn)生插口時(shí)指定的與協(xié)議有關(guān)的實(shí)現(xiàn),從而屏蔽了不同協(xié)議處理的細(xì)節(jié)。
2. 為什么服務(wù)器進(jìn)程總是要調(diào)用bind,客戶進(jìn)程能調(diào)用它嗎?
   bind將一個(gè)本地地址同一個(gè)插口相關(guān)聯(lián),客戶進(jìn)程需要同一個(gè)已知地址建立連接或發(fā)送數(shù)據(jù)報(bào)到已知地址,如果不調(diào)用bind,服務(wù)器進(jìn)程就無(wú)法在某個(gè)已知地址上接受TCP連接或接收UDP數(shù)據(jù)報(bào)。客戶進(jìn)程也能調(diào)用bind,這樣便可以由應(yīng)用程序而非內(nèi)核來(lái)選擇一個(gè)本地地址,其結(jié)果是只能接收目的地址為被綁定地址的數(shù)據(jù)包,但通常不必調(diào)用bind,因?yàn)閮?nèi)核會(huì)自動(dòng)決定外出地址和臨時(shí)端口。
3. 對(duì)于tcp和udp協(xié)議的插口,調(diào)用connect有什么區(qū)別聯(lián)系?
   共同點(diǎn)是設(shè)定插口的外部地址(插口的地址存儲(chǔ)在相關(guān)的協(xié)議控制塊中),不同點(diǎn)如下
   1)tcp:與遠(yuǎn)端系統(tǒng)進(jìn)行3次握手交互,如果插口是非阻塞的且連接正在進(jìn)行中,那么返回EINPROGRESS,下次再調(diào)用則返回EALREADY;如果連接成功,無(wú)論是否阻塞,那么下次再調(diào)用會(huì)返回EISCONN;如果連接失敗,那么下次再調(diào)用,則重新開(kāi)始三次握手。
   2)udp:沒(méi)有3次握手交互,直接設(shè)定外部地址,無(wú)論插口是否阻塞,調(diào)用會(huì)立即返回,多次調(diào)用則會(huì)替換老的外部地址。發(fā)送數(shù)據(jù)必須使用write或目的地址為空的sendto,若sendto目的地址非空,則返回EISCONN。如果沒(méi)有事先調(diào)用connect,那么調(diào)用目的地址為空的sendto則會(huì)返回ENOTCONN。
4. 什么情況下調(diào)用close會(huì)阻塞?
   連接已建立且設(shè)置了SO_LINGER選項(xiàng)并延時(shí)值非零的阻塞插口。
5. 插口IO有哪些系統(tǒng)調(diào)用?
   發(fā)送有write、writev、sendto和sendmsg,接收有read、readv、recvfrom和recvmsg。注意,send和recv是庫(kù)函數(shù)而非系統(tǒng)調(diào)用,前者調(diào)用sendto實(shí)現(xiàn),后者調(diào)用recvfrom實(shí)現(xiàn)。
6. write、writev、read、readv與sendto、sendmsg、recvfrom、recvmsg有什么不同?
   1)前面4個(gè)適合于任何描述符,而后面4個(gè)只能用于插口。
   2)前面4個(gè)不支持標(biāo)志,而后面4個(gè)支持。
   3)前面前2個(gè)不支持目的地址、后2個(gè)不支持源地址,而后面前2個(gè)支持目的地址、后2個(gè)支持源地址。
   4)前面4個(gè)不支持控制信息,而后面第2個(gè)和第4個(gè)支持。
7. 如何斷開(kāi)已連接的udp插口,允許調(diào)用sendto向其它主機(jī)發(fā)送數(shù)據(jù)?
    由于系統(tǒng)并沒(méi)有提供形如disconnect的斷連API,但connect內(nèi)部實(shí)現(xiàn)是先斷連,再調(diào)用對(duì)應(yīng)協(xié)議的PRU_CONNECT請(qǐng)求處理,因此向connect傳遞無(wú)效的外部地址結(jié)構(gòu)(如IP=0.0.0.0,Port=0),雖然這樣會(huì)導(dǎo)致結(jié)果失敗,但先前的斷連成功,對(duì)應(yīng)pcb的外部地址被設(shè)為INADDR_ANY,所以調(diào)用sendto就不會(huì)返回EISCONN。

【Raw IP】
1. 怎么使用原始IP,它有哪些用途及應(yīng)用?
   創(chuàng)建SOCK_RAW類型的原始插口,就能使用原始IP機(jī)制,它有下列用途:
   1)發(fā)送和接收ICMP和IGMP報(bào)文,如ping程序和多播路由守護(hù)程序。
   2)構(gòu)造自己的IP首部,如路由跟蹤程序。
   3)設(shè)計(jì)基于IP的新的傳輸層協(xié)議,如gated程序。
2. 協(xié)議值為PROTOCOL_RAW(255)的原始插口能收到什么類型的IP數(shù)據(jù)報(bào)?
   由于255是非零的保留值,這樣的IP數(shù)據(jù)報(bào)在網(wǎng)絡(luò)中不會(huì)存在,原始IP輸入處理協(xié)議比較測(cè)試失敗,因此收不到任何類型的IP數(shù)據(jù)報(bào)。
3. 協(xié)議值為0的原始插口能收到什么類型的IP數(shù)據(jù)報(bào)?
   由于協(xié)議值為0,原始IP輸入處理忽略了協(xié)議比較測(cè)試,因此能收到任何類型的IP數(shù)據(jù)報(bào)。
4. 如何處理收到的IP數(shù)據(jù)報(bào)?
   遍歷Internet PCB表,依次從協(xié)議值、本地地址和外部地址三項(xiàng)來(lái)比較IP數(shù)據(jù)報(bào)和每個(gè)PCB,將IP數(shù)據(jù)報(bào)復(fù)制追加到所有匹配的PCB對(duì)應(yīng)的插口緩存中,并喚醒等待的進(jìn)程。
5. 如何發(fā)送數(shù)據(jù)?
   先填充IP首部,如果未設(shè)置IP_HDRINCL選項(xiàng),那么由內(nèi)核填充,否則由應(yīng)用程序在發(fā)送前填充,再交給IP協(xié)議輸出處理。
6. 內(nèi)核何時(shí)會(huì)調(diào)用原始輸入?
   當(dāng)收到的協(xié)議類型為除IPPROTO_TCP、IPPROTO_UDP、IPPROTO_ICMP和IPPROTO_IGMP外的IP數(shù)據(jù)報(bào)時(shí)調(diào)用。

【Unix domain】
1. 使用unix域的原因有哪些?
   1)當(dāng)通信雙方在同一主機(jī)上時(shí),使用unix域插口的速度比tcp和udp插口要快很多。
   2)支持同一主機(jī)進(jìn)程間傳遞描述符。
2. unix域和internet域有什么不同?
   1)編址結(jié)構(gòu)不同:前者是sockaddr_un,與文件系統(tǒng)路徑名關(guān)聯(lián),而后者是sockaddr_in,與IP地址和端口關(guān)聯(lián)。
   2)協(xié)議控制塊不同:前者是unpcb,沒(méi)有全局的pcb鏈表,而后者是inpcb,有全局的pcb雙向循環(huán)鏈表。
3. 如果一個(gè)unix域服務(wù)器在bind后unlink了被綁定的路徑名,會(huì)發(fā)生什么情況?
   因?yàn)閏onnect內(nèi)部實(shí)現(xiàn)查找路徑名失敗,所以連接失敗,但listen會(huì)成功,因?yàn)閎ind會(huì)創(chuàng)建新的vnode和pcb關(guān)聯(lián),且PRU_LISTEN請(qǐng)求實(shí)現(xiàn)只檢查vnode是否為空。
4. 如果一個(gè)unix域服務(wù)器在終止時(shí)沒(méi)有unlink被綁定的路徑名,會(huì)發(fā)生什么情況?
   因?yàn)閏onnect內(nèi)部實(shí)現(xiàn)雖能找到路徑名但找不到相關(guān)的插口,所以連接被拒絕。
5. 系統(tǒng)調(diào)用socketpair和pipe有什么區(qū)別聯(lián)系?
   共同點(diǎn)是使用unix域,即socket調(diào)用第1參數(shù)為AF_UNIX,不同點(diǎn)如下
   1)前者是雙工的,因?yàn)閮蓚€(gè)插口標(biāo)志都為讀寫,且它們的pcb相互指向?qū)Ψ剑缓笳呤菃喂さ模驗(yàn)橐粋€(gè)插口標(biāo)志為只讀,另一個(gè)為只寫,寫插口的pcb指向讀插口的pcb。
   2)前者支持?jǐn)?shù)據(jù)報(bào)和流式插口,后者僅支持流式插口。
6. unix域是怎么實(shí)現(xiàn)傳遞描述符的?
   描述符存儲(chǔ)在控制信息cmsghdr內(nèi),cms_level=SOL_SOCKET且cms_type=SCM_RIGHTS,unix域的發(fā)送請(qǐng)求實(shí)現(xiàn)將描述符轉(zhuǎn)換為file指針,這個(gè)過(guò)程叫內(nèi)部化,接收請(qǐng)求實(shí)現(xiàn)把file指針轉(zhuǎn)換為最小的沒(méi)有使用的描述符,這個(gè)過(guò)程叫外部化。
posted on 2013-09-03 15:52 春秋十二月 閱讀(2402) 評(píng)論(1)  編輯 收藏 引用 所屬分類: Network

評(píng)論:
# re: TCP/IP FAQ 2[未登錄](méi) 2013-09-04 13:22 | jacky
socket一般翻譯為套接字比較好吧  回復(fù)  更多評(píng)論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲午夜免费福利视频| 国产精品福利影院| 亚洲第一狼人社区| 一区二区三区日韩欧美精品| 在线观看成人网| 久久久xxx| 亚洲欧美精品在线| 欧美韩国一区| 欧美日韩www| 9色精品在线| 亚洲电影第1页| 久久野战av| 欧美成年人视频| 国产日韩欧美91| 久久夜色精品亚洲噜噜国产mv| 久久久久国产一区二区三区| 好男人免费精品视频| 欧美日韩国语| 午夜免费在线观看精品视频| 在线欧美影院| 欧美成人第一页| 亚洲视频在线观看三级| 欧美在线黄色| 99精品视频免费| 狠狠做深爱婷婷久久综合一区 | 亚洲国产福利在线| 亚洲高清电影| 亚洲一区二区三区中文字幕在线| 亚洲国产精品一区在线观看不卡| 国内精品一区二区三区| 欧美日韩三级| 欧美国产亚洲精品久久久8v| 亚洲免费在线精品一区| 亚洲精品免费看| 亚洲高清视频在线| 中文有码久久| 一区二区视频欧美| 国产精品私拍pans大尺度在线 | 欧美三级乱码| 久久高清国产| 一本一本久久a久久精品综合妖精| 欧美大片91| 亚洲国产小视频| 亚洲欧美日韩精品在线| 亚洲精品在线三区| 亚洲国产精品视频| 亚洲国产mv| 精品91视频| 亚洲精品视频在线| 国产精品99久久久久久人| 国产色视频一区| 国产精品女人久久久久久| 国产欧美一区二区视频| 国产一区二区高清不卡| 国产女精品视频网站免费 | 在线看片成人| 亚洲国产精品成人va在线观看| 1000部国产精品成人观看| 韩国三级电影一区二区| 狠狠爱www人成狠狠爱综合网| 国产精品黄视频| 欧美激情综合色| 国产亚洲欧美日韩一区二区| 国产精品一区二区三区成人| 国产精品免费久久久久久| 国产视频在线观看一区二区| 伊人蜜桃色噜噜激情综合| 亚洲黄色免费| 欧美一级专区免费大片| 最新国产乱人伦偷精品免费网站 | 影音先锋中文字幕一区| 一区二区亚洲精品| 一本色道久久综合亚洲精品不卡 | 欧美日韩高清区| 国产精品免费一区豆花| 亚洲欧美日韩一区在线| 猛干欧美女孩| 国产精品私房写真福利视频| 日韩午夜中文字幕| 久久精品国产亚洲a| 这里只有精品丝袜| 久久免费视频一区| 国产精品视频内| 欧美一区二区三区视频在线观看| 亚洲色图自拍| 一区二区三区视频在线| 在线中文字幕不卡| 欧美日韩不卡合集视频| 亚洲精品一区二区网址| 亚洲欧洲在线观看| 亚洲欧美日韩天堂| 国内精品福利| 蜜乳av另类精品一区二区| 欧美亚洲免费电影| 久久婷婷蜜乳一本欲蜜臀| 亚洲日本va午夜在线电影| 欧美日韩一区二区在线观看视频| 亚洲网站在线看| 亚洲欧洲精品一区二区精品久久久| 久久亚洲影音av资源网| 日韩写真视频在线观看| 亚洲欧美国产制服动漫| 国内精品**久久毛片app| 午夜在线视频观看日韩17c| 亚洲午夜国产一区99re久久| 欧美午夜片在线观看| 久久精品国产欧美激情| 狂野欧美性猛交xxxx巴西| 欧美一区高清| 蜜桃久久精品一区二区| 亚洲日本视频| 亚洲欧美另类综合偷拍| 亚洲精品三级| 性欧美办公室18xxxxhd| 亚洲精品美女在线观看播放| 久久黄色级2电影| 亚洲另类自拍| 亚洲一区欧美激情| 国产精品成人免费| 国内精品久久国产| 一本色道久久综合亚洲精品不卡 | aaa亚洲精品一二三区| 亚洲一区二区动漫| 1024精品一区二区三区| 亚洲欧美另类综合偷拍| 亚洲欧美在线免费观看| 欧美特黄一级大片| 欧美激情视频一区二区三区免费 | 欧美韩国一区| 裸体女人亚洲精品一区| 国产精品视频网站| 亚洲一区二区三区免费在线观看 | 亚洲午夜精品17c| 欧美在线黄色| 国产精品入口日韩视频大尺度| 日韩一区二区精品视频| 亚洲国产美女| 欧美波霸影院| 日韩午夜在线播放| 亚洲一级黄色片| 国产精品久久久久免费a∨大胸| 亚洲日本aⅴ片在线观看香蕉| 亚洲国产精品久久精品怡红院| 欧美在线免费| 亚洲黄色在线视频| 欧美在线二区| 亚洲精品色婷婷福利天堂| 欧美日韩综合在线免费观看| 亚洲精品在线观看视频| 欧美在线观看一区二区三区| 国产午夜精品全部视频在线播放 | 欧美福利在线观看| 亚洲福利精品| 欧美一区综合| 在线观看亚洲a| 国产日韩三区| 欧美日韩精品免费观看视一区二区 | 欧美中文字幕视频| 亚洲一区二区三区精品动漫| 99香蕉国产精品偷在线观看| 欧美天堂在线观看| 浪潮色综合久久天堂| 欧美三级在线播放| 亚洲人成网站精品片在线观看| 国产精品永久入口久久久| 这里只有精品视频在线| 99伊人成综合| 欧美三级精品| 久久久成人精品| 欧美大成色www永久网站婷| 欧美午夜在线| 新67194成人永久网站| 欧美福利专区| 久久er精品视频| 国产精品理论片在线观看| 国产精品99久久久久久白浆小说 | 亚洲宅男天堂在线观看无病毒| 在线看欧美日韩| 欧美日韩国产在线播放| 国产精品久久久久9999高清| 国产亚洲欧美日韩日本| 亚洲高清中文字幕| 日韩视频中文字幕| 欧美一区日本一区韩国一区| 欧美四级剧情无删版影片| 好看的日韩视频| 亚洲作爱视频| 久久亚洲私人国产精品va| 亚洲人午夜精品| 亚洲欧美日韩国产中文在线| 免费在线成人av| 国产视频一区二区三区在线观看| 亚洲精品日韩精品| 久久久精品999| 一本到12不卡视频在线dvd| 久久婷婷麻豆| 国产日韩欧美a| 亚洲一区二区在| 亚洲日本成人| 免费在线欧美视频|