概述:
- IP 是地址,有定位功能(網與網的通訊) (在邏輯上唯一標識一台電腦)(網絡層)
- MAC 是身份證,無定位功能(在子網干活)(在物理上唯一標識一台電腦) (鏈路層)
首先是如何查看ip地址的問題:
Windows:ipconfig
Linux:ifconfig 、ip addr
#Linux下ip addr的內容 root@test:~# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether fa:16:3e:c7:79:75 brd ff:ff:ff:ff:ff:ff # MAC地址 inet 10.100.122.2/24 brd 10.100.122.255 scope global eth0 #10.100.122.2就是一個IP地址 valid_lft forever preferred_lft forever inet6 fe80::f816:3eff:fec7:7975/64 scope link valid_lft forever preferred_lft forever
在利用TCP/IP協議族進行通信的時候,有三個比較關鍵的確認身份的信息:mac地址、IP地址和端口號。
- IP地址:(基於計算機或路由器)在網絡層的IP頭部里,用於識別網絡中互聯的主機和路由器,其實主要是確認子網,通過子網掩碼確認某個IP地址所在的子網,而后再在子網內部確認mac地址就能找到准確的用戶了。
- MAC地址:(基於網卡或路由器)在數據鏈路層包裹在以太網頭部中的,它主要用來識別同一個鏈路中的不同計算機。Mac地址即網卡號,每塊網卡出廠的時候,都有一個全世界獨一無二的 MAC 地址,長度是 48 個二進制位,通常用 12 個十六進制數表示。
- 端口號:在傳輸層包含在TCP/UDP頭部中的,用於識別應用程序。一台主機上能運行多個程序,那么接收到的消息到底是哪個程序的呢?就需要端口號來確認。
- 端口號有兩種:
-
- 固定的端口號,是形如http,telnet,ftp等廣為使用的應用協議所使用的端口號是固定的
- 動態分配的端口號,這個時候服務端要確定監聽端口號,接受服務的客戶端沒必要確定端口號
端口
端口是應用層的概念,每個應用程序(進行網絡通信)都占用自己的端口
端口號由傳輸層協議決定,因此不容傳輸協議可以使用相同的端口號,所以TCP和UDP可以使用同一個端口號
通過端口發送給應用程序
端口號用16位2進制數來表示。取值范圍0~65535,分為兩種端口:
知名端口:0~1023(系統應用程序服務所占用)
FTP服務:21
HTTP服務:80、443
動態端口:1024~65535(自己安裝的應用程序/服務占用)
MySQL:3306
Redis:6379
FeiQ:2425
問題:現在很多工具都可以更改本機的MAC地址,也就是網絡上存在很多MAC地址被更改成一樣的,然而並沒有出現通訊異常或者混亂這是為什么?
回答:MAC在一個局域網內沖突才會影響網絡通訊,局域網外是通過IP定位,所以不同局域網的網絡設備MAC一樣是不會有通訊問題的。
IP詳細補充
根據網絡號的前幾位不同,把IP地址分為5類:
目前IP技術可能使用的IP地址最多可有4,294,967,296個(即232)。
n 表示該二進制位是網絡位 H 表示該二進制位是主機位 X 表示該二進制位無特定作用
A類地址:第一位為0,網絡號長度是8-1=7位,主機號地址長度是24位。地址范圍:0.0.0.0~127.255.255.255 0. 0. 0. 0 = 00000000.00000000.00000000.00000000 127.255.255.255 = 01111111.11111111.11111111.11111111 0nnnnnnn.HHHHHHHH.HHHHHHHH.HHHHHHHH B類地址:前兩位為10,網絡號長度是16-2=14位,主機號長度16位。地址范圍:128.0.0.0~191.255.255.255 128. 0. 0. 0 = 10000000.00000000.00000000.00000000 191.255.255.255 = 10111111.11111111.11111111.11111111 10nnnnnn.nnnnnnnn.HHHHHHHH.HHHHHHHH C類地址:前三位為110,網絡號長度為24-3=21位,主機號長度8位。地址范圍:192.0.0.0~223.255.255.255 192. 0. 0. 0 = 11000000.00000000.00000000.00000000 223.255.255.255 = 11011111.11111111.11111111.11111111 110nnnnn.nnnnnnnn.nnnnnnnn.HHHHHHHH D類地址:前四位為1110,后面不區分網絡號和主機號。用於進行多播或廣播 224. 0. 0. 0 = 11100000.00000000.00000000.00000000 239.255.255.255 = 11101111.11111111.11111111.11111111 1110XXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX E類地址:后面不區分網絡號和主機號,預留,現在沒用了(出了IPV6) 240. 0. 0. 0 = 11110000.00000000.00000000.00000000 255.255.255.255 = 11111111.11111111.11111111.11111111 1111XXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX
C類地址中,在一個局域網(網絡號相同)內,最多能同時存在多少台機器?256台
B類地址中,在一個局域網(網絡號相同)內,最多能同時存在多少天機器?65536台
A類地址中,……
另外,在A、B、C地址中,有一個小范圍:
10.0.0.0~10.255.255.255
172.16.0.0~172.16.255.255
192.168.0.0~192.168.255.255
這個范圍之內的IP地址用來做私有IP
這些地址是不能聯網的,能上網的IP叫公有IP
還有一個127.0.0.1~127.255.255.255,用於回路測試。以確保自己的電腦身上的網絡相關的功能是正常的。
學習參考資料: