這章的課後測試忘了提交,我課後補作了這章的測試題目,並將知識點和本身的錯題彙總以下:html
每一個網絡應用程序都是基於客戶端 - 服務器模型的,
採用這種模型,一個應用是由一個服務器進程 和一個或多個客戶端進程組成。程序員
服務器管理某種資源,而且經過操做這種資源爲它的客戶端提供某種服務。web
客戶端收到響應並處理它。編程
客戶端和服務端一般運行在不一樣的主機上,而且經過計算機網絡的硬件和軟件資源來通訊。服務器
對於物理上而言,網絡是一個按照地理遠近組成的層次系統。網絡
每一個以太網適配器(網卡)都有一個全球惟一的48位地址,它存儲在這個適配器的ROM上(MAC)。app
在層次的更高級別,多個不兼容的局域網能夠經過叫作路由器(router)的特殊計算機鏈接起來,組成一個internet(互聯網絡)dom
WAN(Wide-Area Network,廣域網)socket
互聯網相當重要的特性是:它能由採用徹底不一樣和不兼容技術的各類局域網和廣域網組成。ide
每臺因特網主機都運行實現TCP/IP協議 (Transmission Control Protocol/Intelnet Protocol,傳輸控制協議/互聯網絡協議)的軟件,幾乎全部計算機系統都支持這個協議
TCP/IP協議實際上一個協議族,每個協議提供不一樣的功能。
從程序員的角度,咱們能夠把因特網看做世界範圍內主機的集合,知足一下特性。
inet_aton
和inet_ntoa
函數來實現二者之間互相轉換。因特網域名
葉子結點反向到根的路徑就是域名。
層次結構第一層 : 未命名的根結點
層次結構第二層 : 一級域名(first-level domain name)
由非盈利組織ICANN(Internet Corporation for Assigned Names and Numbers,因特爾分配名字數字協會)定義。
常見的一級域名:com,edu,gov,org和net。
層次結構第三層: 二級域名(second-level)
例如:cmu.edu。
套接字接口(socket interface)是一組函數,他們和Unix I/O函數結合起來,用以建立網絡應用。
給出一個典型的客戶端-服務器事務的上下文中套接字接口概述,以此導向。
sin_family成員是AF_INET,ipv4仍是ipv6。
sin_port成員是一個16位的端口號。
sin_addr成員就是一個32位的IP地址。
IP地址和端口號老是以網絡字節順序(大端法)存放的。
sockaddr_in給程序員操做的,sockaddr交由套接字函數使用的,二者能夠直接強制轉換。
accept函數
2.有關Web服務器的說法,正確的是()
錯誤緣由
我選了ACD,沒有選B.課本上P666頁寫,可執行文件的URL能夠在文件名後包括程序參數。「?」字符分隔文件名和參數,並且每一個參數都用「&」隔開。課本沒有說這兩個參數是可執行文件產生的,因此我沒有選。
查閱資料後,這兩個參數確實是由可執行文件產生的,因此答案爲ABCD。
9.如圖關於struct sockaddr_in和struct sockaddr,下面說法正確的是()
D .套接字接口中的地址類型是sturct sockaddr_in
我選的是ABC,答案是AC。
對於A選項,AF_INET(又稱 PF_INET)是 IPv4 網絡協議的套接字類型,AF_INET6 則是 IPv6 的;而 AF_UNIX 則是 Unix 系統本地通訊。因此A是對的。
對於B選項,sin_family參數指定調用者期待返回的套接口地址結構的類型。它的值包括三種:AF_INET,AF_INET6和AF_UNSPEC。若是指定AF_INET,那麼函數就不能返回任何IPV6相關的地址信息;若是僅指定了AF_INET6,則就不能返回任何IPV4地址信息。AF_UNSPEC則意味着函數返回的是適用於指定主機名和服務名且適合任何協議族的地址。
故B錯誤。
對於C ,課本P653頁有,因此C選項是正確的。
10.有關Socket端口和Linux命令,下面說法正確的是()
F .ps -aux | grep pid 能夠查看綁定某端口的進程號爲pid的進程的詳細狀況
我選的是BCEF,正確答案:ABCDEF
我在終端輸入這些命令,eco /etc/services沒有顯示端口狀況。
lsof -i:80也沒有任何輸出。因此選錯了。
因此我很疑惑,但願老師可以解答。
11.知名端口號(well-known port numbers)就是那些由互聯網名稱與數字地址分配機構(ICANN)預留給傳輸控制協議(TCP)和用戶數據包協議(UDP)使用的端口號。下面有關知名端口號的說法正確的是()
K .auth服務的端口號是113
正確答案:ACDFGHIJK
B選項,FTP的端口號是20和21
E選項,telnet的端口號是23
18( 多選題 | 1 分)
有關域名和IP地址的說法,正確的是()
A .
1988年前,域名和IP地址的映射經過HOST.txt來完成
B .
1988年後,域名和IP地址的映射經過DNS來完成
C .
Linux中可使用hostname(1)來展現和某個IP對應的域名
D .
域名和IP地址的映射必須是1對1 的
我選的是ABC 對於C選項,hostname只能顯示或者設置主機名,不能展現某個IP對應的域名。 對於D選項,在最簡單的狀況下,域名和IP是一一對應的。可是,一個域名能夠對應多個IP,一個ip也能夠對應多個域名。 因此正確答案爲AB。