1. 程式人生 > >TCP/IP學習筆記(1)-----基本概念

TCP/IP學習筆記(1)-----基本概念

使用 本機ip 分類 公司 idt intern xtend pen 不用

技術分享圖片

TCP/IP的起源

  在全球各地,各種各樣的電腦運行著各自不同的操作系統一起為大家服務,這些電腦在表達同一種信息的時候所使用的方法是千差萬別。就好像聖經中上帝打亂了各地人的口音,讓他們無法合作一樣。計算機使用者意識到,計算機只是單兵作戰並不會發揮太大的作用。只有把它們聯合起來,電腦才會發揮出它最大的潛力。於是人們就想方設法的用電線把電腦連接到了一起。

但是簡單的連到一起是遠遠不夠的,就好像語言不同的兩個人互相見了面,完全不能交流信息。因而他們需要定義一些共通的東西來進行交流,TCP/IP就是為此而生。

TCP/IP不是一個協議,而是一個協議族的統稱。裏面包括了IP協議,ICMP協議,TCP協議,

以及我們更加熟悉的http、ftp、pop3協議等等。電腦有了這些,就好像學會了外語一樣,就可以和其他的計算機終端做自由的交流了。

TCP/IP協議分層

技術分享圖片

TCP/IP協議族按照層次由上到下,層層包裝。最上面的就是應用層了,這裏面有http,ftp,等等我們熟悉的協議。而第二層則是傳輸層,著名的TCP和UDP協議就在這個層次(不要告訴我你沒用過udp玩星際)。第三層是網絡層,IP協議就在這裏,它負責對數據加上IP地址和其他的數據(後面會講到)以確定傳輸的目標。第四層是叫數據鏈路層,這個層次為待傳送的數據加入一個以太網協議頭,並進行CRC編碼,為最後的數據傳輸做準備。再往下則是硬件層次了,負責網絡的傳輸,這個層次的定義包括網線的制式,網卡的定義等等(這些我們就不用關心了,我們也不做網卡),所以有些書並不把這個層次放在tcp/ip協議族裏面,因為它幾乎和tcp/ip協議的編寫者沒有任何的關系。發送協議的主機從上自下將數據按照協議封裝,而接收數據的主機則按照協議從得到的數據包解開,最後拿到需要的數據。這種結構非常有棧的味道,所以某些文章也把tcp/ip協議族稱為tcp/ip協議棧。

對比

OSI模型

即開放式通信系統互聯參考模型(Open System Interconnection,OSI/RM,Open Systems Interconnection Reference Model),是國際標準化組織(ISO)提出的一個試圖使各種計算機在世界範圍內互連為網絡的標準框架,簡稱OSI。

OSI將計算機網絡體系結構(architecture)劃分為以下七層: 物理層: 將數據轉換為可通過物理介質傳送的電子信號 相當於 郵局中的搬運工人。 數據鏈路層: 決定訪問網絡介質的方式。 在此層將數據分幀,並處理流控制。本層 指定拓撲結構並提供硬件尋 址。相當於郵局中的裝拆箱工人。 網絡層: 使用權數據路由經過大型網絡 相當於郵局中的排序工人。 傳輸層: 提供終端到終端的可靠連接 相當於公司中跑郵局的送信職員。 會話層: 允許用戶使用簡單易記的名稱建立連接 相當於公司中收寄信、寫信封與拆信封的秘書。 表示層: 協商數據交換格式 相當公司中簡報老板、替老板寫信的助理。 應用層: 用戶的應用程序和網絡之間的接口老板。

OSI分層協議

1、應用層協議 應用層協議工作在OSI模型的上層,提供應用程序間的交換和數據交換。比較常用的應用層協議有: FTP (File Transfer Protocol,文件傳輸協議) HTTP(Hypertext Transfer Protocol,超文本傳輸協議) SMTP (simple Mail Transfer Protocol,簡單郵件傳輸協議) BOOTP(Boot trap.Protocol) AFP (Apple Talk文件協議)--Apple公司的網絡協議族,用於交換文件 SNMP (Simple Network Management Protocol) SMB (Server Message Block Protocol) TFTP(簡單文件傳輸協議) X.500 NCP (NetWare Core Protocol) NFS (Network File System) TELNET DNS 2、傳輸層協議 傳輸層協議提供計算機之間的通信會話,並確保數據在計算機之間可靠地傳輸。主要的傳輸層協議有: TCP(Transmission Control Protocol,傳輸控制協議) UDP(用戶數據報協議) SPX(SequenCed Packet ExChange Protocol NWL INK ATP(AppleTalk Transaction Protocol),NBP(名字綁定協議) NetBEUI(NetBIOS Extended User Internet) 3、網絡層協議 網絡層協議提供所謂的鏈路服務,這些協議可以處理尋址和路由信息、錯誤檢測和重傳請求。網絡層協議包括: IP IPX (Internet work Packet Exchange) NWLINK--微軟實現的 IPX/SPX DDP (Datagram Delivery Protocol) NetBEUI X.25 Ethernet ARP RARP ICMP

ip地址

網絡上每一個節點都必須有一個獨立的Internet地址(也叫做IP地址)。現在,通常使用的IP地址是一個32bit的數字,也就是我們常說的IPv4標準,這32bit的數字分成四組,也就是常見的255.255.255.255的樣式。

IPv4標準上,地址被分為五類,我們常用的是B類地址。需要註意的是IP地址是網絡號+主機號的組合,這非常重要。

IP地址分類

最初設計互聯網絡時,為了便於尋址以及層次化構造網絡,每個IP地址包括兩個標識碼(ID),即網絡ID和主機ID。同一個物理網絡上的所有主機都使用同一個網絡ID,網絡上的一個主機(包括網絡上工作站,服務器和路由器等)有一個主機ID與其對應。Internet委員會定義了5種IP地址類型以適合不同容量的網絡,即A類~E類。 其中A、B、C3類(如下表格)由InternetNIC在全球範圍內統一分配,D、E類為特殊地址。
類別 最大網絡數 IP地址範圍 最大主機數 私有IP地址範圍
A 126(2^7-2) 0.0.0.0-127.255.255.255 16777214 10.0.0.0-10.255.255.255
B 16384(2^14) 128.0.0.0-191.255.255.255 65534 172.16.0.0-172.31.255.255
C 2097152(2^21) 192.0.0.0-223.255.255.255 254 192.168.0.0-192.168.255.255

A類IP地址

一個A類IP地址是指, 在IP地址的四段號碼中,第一段號碼為網絡號碼,剩下的三段號碼為本地計算機的號碼。如果用二進制表示IP地址的話,A類IP地址就由1字節的網絡地址和3字節主機地址組成,網絡地址的最高位必須是“0”。A類IP地址中網絡的標識長度為8位,主機標識的長度為24位,A類網絡地址數量較少,有126個網絡,每個網絡可以容納主機數達1600多萬臺。 A類IP地址 地址範圍1.0.0.0到127.255.255.255 [1] (二進制表示為:00000001 00000000 00000000 00000000 - 01111111 11111111 11111111 11111111)。最後一個是廣播地址。 A類IP地址的子網掩碼為255.0.0.0,每個網絡支持的最大主機數為256的3次方-2=16777214臺。 [2] B類IP地址 一個B類IP地址是指,在IP地址的四段號碼中,前兩段號碼為網絡號碼。如果用二進制表示IP地址的話,B類IP地址就由2字節的網絡地址和2字節主機地址組成,網絡地址的最高位必須是“10”。B類IP地址中網絡的標識長度為16位,主機標識的長度為16位,B類網絡地址適用於中等規模的網絡,有16384個網絡,每個網絡所能容納的計算機數為6萬多臺。 B類IP地址地址範圍128.0.0.0-191.255.255.255 [3] (二進制表示為:10000000 00000000 00000000 00000000----10111111 11111111 11111111 11111111)。 最後一個是廣播地址。 B類IP地址的子網掩碼為255.255.0.0,每個網絡支持的最大主機數為256的2次方-2=65534臺。

C類IP地址

一個C類IP地址是指,在IP地址的四段號碼中,前三段號碼為網絡號碼,剩下的一段號碼為本地計算機的號碼。如果用二進制表示IP地址的話,C類IP地址就由3字節的網絡地址和1字節主機地址組成,網絡地址的最高位必須是“110”。C類IP地址中網絡的標識長度為24位,主機標識的長度為8位,C類網絡地址數量較多,有209萬余個網絡。適用於小規模的局域網絡,每個網絡最多只能包含254臺計算機。 C類IP地址範圍192.0.0.0-223.255.255.255 [3] (二進制表示為: 11000000 00000000 00000000 00000000 - 11011111 11111111 11111111 11111111)。 C類IP地址的子網掩碼為255.255.255.0,每個網絡支持的最大主機數為256-2=254臺

D類IP地址

D類IP地址在歷史上被叫做多播地址(multicast address),即組播地址。在以太網中,多播地址命名了一組應該在這個網絡中應用接收到一個分組的站點。多播地址的最高位必須是“1110”,範圍從224.0.0.0到239.255.255.255。

特殊的網址

  1. 每一個字節都為0的地址(“0.0.0.0”)對應於當前主機;
  2. IP地址中的每一個字節都為1的IP地址(“255.255.255.255”)是當前子網的廣播地址;
  3. IP地址中凡是以“11110”開頭的E類IP地址都保留用於將來和實驗使用。
  4. IP地址中不能以十進制“127”作為開頭,該類地址中數字127.0.0.1到127.255.255.255用於回路測試,如:127.0.0.1可以代表本機IP地址,用“http://127.0.0.1”就可以測試本機中配置的Web服務器。
  5. 網絡ID的第一個8位組也不能全置為“0”,全“0”表示本地網絡。

IP網絡段

IP地址根據網絡ID的不同分為5種類型,A類地址、B類地址、C類地址、D類地址和E類地址。 查找ip有個cmd命令:tracert 後面加ip地址,可以查所經過的路由!

局域網的IP

在一個局域網中,有兩個IP地址比較特殊,一個是網絡號,一個是廣播地址。網絡號是用於三層尋址的地址,它代表了整個網絡本身;另一個是廣播地址,它代表了網絡全部的主機。網絡號是網段中的第一個地址,廣播地址是網段中的最後一個地址,這兩個地址是不能配置在計算機主機上的。 例如在192.168.0.0這樣的網段中,網絡號是192.168.0.0,廣播地址是192.168.0.255。因此,在一個局域網中,能配置在計算機中的地址比網段內的地址要少兩個(網絡號、廣播地址),這些地址稱之為主機地址。在上面的例子中,主機地址就只有192.168.0.1至192.168.0.254可以配置在計算機上了。

域名系統

域名系統是一個分布的數據庫,它提供將主機名(就是網址啦)轉換成IP地址的服務。

RFC

RFC是什麽?RFC就是tcp/ip協議的標準文檔,在這裏我們可以看到RFC那長長的定義列表,現在它一共有4000多個協議的定義,當然,我們所要學習的,也就是那麽十幾個協議而已。

端口號

註意,這個號碼是用在TCP,UDP上的一個邏輯號碼,並不是一個硬件端口,我們平時說把某某端口封掉了,也只是在IP層次把帶有這個號碼的IP包給過濾掉了而已。

應用編程接口

現在常用的編程接口有socket和TLI。而前面的有時候也叫做“Berkeley socket”,可見Berkeley對於網絡的發展有多大的貢獻。

TCP/IP學習筆記(1)-----基本概念