計算機網絡中的幾個需要注意區分的概念
-
數據包與數據幀的區別:
-
數據包:TCP/IP協議通信傳輸中的數據單元。由於TCP/IP協議工作在OSI模型的網絡層和傳輸層,因此數據包是在這兩層之間傳輸的。
-
數據幀:最大傳輸單元(MTU)。幀是工作在數據鏈路層的。
-
綜上:由於上層內容由其下層內容傳輸,因此數據包時包含在數據幀里的。
-
-
互聯網,因特網,以太網,局域網之間的區別:
以太網<=局域網《=互聯網!=因特網
-
互聯網(internet):即網絡中的網絡,是一個通用名詞。泛指多個計算機網絡互聯組成的網絡,這些網絡之間的通信協議可以是任意的。
-
因特網(Internet):專有名詞。因特網是當前全球最大的,開放的,有眾多網絡互聯而成的特定的計算機網絡。采用的時TCP/IP協議族作為通信的規則,其前身是美國的ARCNET。
-
局域網(LAN):指某一特定區域內的由多台計算機互聯成的計算機組。該區域可大可小,可以是一間辦公室,一棟建築物,一個公司,一所學校等。一般是在方圓幾千米以內。局域網之間的通信協議必須是相同的,不同的局域網之間又可以通過其它任意的通信規則進行通信,由此構成了互聯網。
-
以太網:當今現有局域網采用的最通用的通信協議標准。以太網可以說是局域網的一種,而目前局域網大多數都是使用以太網標准,故可以認為以太網就是局域網。
-
擴展:局域網(LAN),城域網(MAN),廣域網(WAN)
-
LAN:一般指覆蓋在十公里以內,一座樓房或一個單位內部的網絡。
-
MAN:一般指覆蓋范圍為一個城市的網絡。覆蓋范圍在LAN和WAN之間
-
WAN:指遠距離的,大范圍的計算機網絡。跨地區,跨城市,跨國家的網絡。Internet是全球最大的廣域網,其覆蓋范圍遍布全世界。
-
ARP(Address Resolution Protocol):地址解析協議,位於數據鏈路層和網絡層之間,解決“下一跳”的問題。
IP數據包是在IP地址之間發送的,但封裝IP數據包的以太網幀在MAC地址之間發送,所以在將IP數據包發送到以太網之前需要知道目標IP地址的MAC地址。因此就映入了ARP映射表,用於獲取MAC地址信息。
-
子網(subnet):
本地IP網絡(子網),不使用網關/路由器就可以尋址的網絡。子網之間的通信必須通過路由器。
-
子網掩碼(netmask):包含路由信息的位數由子網掩碼決定。在子網掩碼中設置一個位就意味着該位被解釋為路由信息。例如:10.134.134.10,子網掩碼是255.255.0.0,則10.134提供路由信息,134.10提供本地地址信息。從10.134開始的IP地址可以直接發送到它們在本地網絡上的目的地。以任何其他數字開頭的IP地址不在本地網絡上,因此必須發送到路由器。
-
路由器(Router):網絡掩碼用於將IP地址細分為提供路由信息的字節和提供本地地址信息的字節。如果用子網掩碼按位處理的目標IP地址與用子網掩碼按位處理的本地IP地址不匹配,則兩個IP地址在同一個網絡上不存在。這種情況下,發送到目標地址的包不能直接發送,必須發送到路由器進行智能呢個的網絡間路由。
-
網關(Geteway):網關地址是路由器的IP地址。路由器是通往其它(遠程)網絡的網關。
-
TCP(Transmission Control Protocol):以太網包可以攜帶IP包,而IP包又可以攜帶TCP包。TCP用於在預先建立的連接上發送和接受數據流。TCP協議本身負責建立連接,並且確保正確接收所有傳輸的數據。TCP比UDP(User Datagram Protocol)更加可靠,但用起來更復雜,且需要更多的內存。額外RAM的使用,一部分是因為在數據包被確認正確發送到網絡前,需要保留這些發送到網絡的數據包。
-
MSS:代表最大段大小。它定義了在TCP或UDP包中可以發送或接收的最大數據。與MTU值得不同之處在於。它的值只適用於數據大小,而不適用於幀大小。因此MSS排除了以太網,IP,TCP或UDP協議。MSS取決於MTU和最大項字節數。
-
端口號:每個單獨的網路節點可以運行多個使用相同網絡接口的應用程序,因此可以使用相同的IP地址。使用相同的IP地址的情況下,運行在相同網絡節點上的不同應用程序通過它們的端口號加以區別。因此每個TCP或UDP數據包的源地址和目標地址是通過IP地址和端口號組合的。IP地址標識網絡上的節點,而端口號標識節點內的應用程序。
-
網絡套接字(Network Socket):套接字在概念上是通信的端點。它是用網絡節點的IP地址和端口號來標識的。任何一個網絡節點都可以同時參與多個網絡會話,每一個唯一的會話的每一端使用一個套接字。
如果一個網絡節點想要向網絡發送UDP數據,它首先創建一個套接字,然后將數據發送到該套接字。如果一個網絡節點想要接收UDP數據,它首先在發送數據的節點所知道的地址上創建一個套接字,然后從該套接字讀取數據。
如果一個網絡節點希望向網絡發送TCP數據,它首先創建一個套接字,將該套接字連接到遠程節點上的一個套接字,然后將數據發送到該套接字。如果一個網絡節點想要接收TCP數據,首先要創建一個套接字,然后監聽套接字上的傳入連接。當接收到連接時,它可以(可選地)創建一個新的套接字來處理連接,然后接收新套接字上的數據——這樣可以讓原來的套接字繼續偵聽額外的傳入連接