Skip to content

Latest commit

 

History

History
100 lines (63 loc) · 3.27 KB

網路.md

File metadata and controls

100 lines (63 loc) · 3.27 KB

網路

一般人會認為「傳訊息」就是個Virtual Connection,很直接就傳到了,但其實會穿過很多層。

  • Application layer
  • Transport layer(填上TCP/UDP Header)
  • NetWork layer(填上IP Header)
  • Data link layer
  • Physical network

網卡

網卡有媒體存(Media Access Control, MAC)位址,每個網卡都會獨一無二的MAC地址,網卡會用MAC地址來去跟Router申請IP回來用。 例如

00-18-F3-62-E6-58
廠商號碼-流水號

每個區域網卡都唯一識別

DHCP協定(IP配置)

  • 當內部區域網路的client需要IP時,就會去看router的DHCP server去要IP,如果router手上的IP沒有,就無法上網
  • 配置的IP通常會有租借期(稱為lease time),在client的IP要過期以前,必須重新跟Server要IP。(當lease time到達50%,87.5%時就會重新去要)

在一些網路使用者很多的地區,IP租借其可能就很短(例如:咖啡店)

IP網址

路由器會透過通訊閘道(gateway)把封包丟出去或是把收到的封包分發給大家,通常會設在最後一後碼上。4 個位元組組成,用來定義與區別網路上各主機的位置。

在傳統TCP/IP術語中,網路裝置只分成兩種,一種為閘道器(gateway),另一種為主機(host)。閘道器能在網路間轉遞封包,但主機不能轉送封包。

公開IP (public ip)

私有IP (private ip)

  • Class A:10.0.0.0 - 10.255.255.255(辦公室可能用Class A)
  • Class B:172.16.0.0 - 172.31.255.255
  • Class C:192.168.0.0 - 192.169.255.255(個人電腦可能用Class C)

Port 通訊埠

系統的port通常在0~1023(因此盡量不要佔用這些port)

常用的PORT

  • 80:HTTP
  • 443:讓人可以使用SSL加密連線
  • 22:ssh

常用的網路伺服器

  • apache:會聽80或是443 port
  • ngix:會聽80或是443 port

但是瀏覽器收到的response不會送到80 port,而是連線時他會自動決定要傳回到哪個port(可能是1023之後的),然後通訊閘道(gateway)收到封包後再幫忙傳過去。

瀏覽器會自動把request發到80和443,如果想要同時啟用兩個伺服器,就要自動換port。

名稱解析

當電腦收到一個domain(google.com)他會先去問host檔案,然後再出去問DNS。例如/etc/host打開會看到

127.0.0.1 localhost

加密

公鑰&私鑰

每個人身上都有公鑰與私鑰。當client和server連線時,就會拿自己的公鑰去去交換server的公鑰。當server要傳資料給client時,就會用client的公鑰去加密,然後client收到後就會用自己的私鑰去解鎖。

如何進行安全的資料交換

client�

  1. 會傳送檔案
  2. 會checksum檔案得出一組密碼A,然後在把他用自己的私鑰加密成密碼B

server收到後會

  1. 把「檔案」checksum得到一組密碼C
  2. 把密碼B用client�的公鑰去解碼成密碼A
  3. 對照密碼C和密碼A是否為同一組

一般來說,如果檔案沒有機密性,可以只用checksum確保檔案是安全的,沒有被路上加入一些木馬。

技巧

host www.google.com
ping 8.8.8.8
traceroute #查看資料經過多少router,通常不會超過30個
ifconfig 看網路資訊
netstat -ntulp | grep ssh #可以看ssh用什麼port