python:網絡通訊概述與端口

網絡概述

一.什麼是網絡

網絡就是一種輔助雙方或者多方可以鏈接在一塊兒的工具linux

二.使用網絡的目的

就是爲了聯通多方而後進行通訊用的,即把數據從一方傳遞給另一方編程

前面的學習編寫的程序都是單機的,即不能和其餘電腦上的程序進行通訊服務器

爲了讓在不一樣的電腦上運行的軟件,之間可以互相傳遞數據,就須要藉助網絡的功能網絡

  • 使用網絡可以把多方連接在一塊兒,而後能夠進行數據傳遞
  • 所謂的網絡編程就是,讓在不一樣的電腦上的軟件可以進行數據傳遞,即進程之間的通訊

三.tcp/ip協議

1).協議:規定一個統一的標準,如規定英語是國際通用語言tcp

2).經常使用的網絡協議工具

網際層也稱爲:網絡層 網絡接口層也稱爲:鏈路層

四.端口

1).什麼是端口

端口就好一個房子的門,是出入這間房子的必經之路學習

若是一個進程須要收發網絡數據,那麼就須要有這樣的端口操作系統

在linux系統中,端口能夠有65536(2的16次方)個之多!code

既然有這麼多,操做系統爲了統一管理,因此進行了編號,這就是端口號blog

2).端口號

端口是經過端口號來標記的,端口號只有整數,範圍是從0到65535

3).端口是怎麼分配的

端口號不是隨意使用的,而是按照必定的規定進行分配。

A.知名端口

知名端口是衆所周知的端口號,範圍從0到1023

80端口分配給HTTP服務

21端口分配給FTP服務

通常狀況下,若是一個程序須要使用知名端口,須要有root權限

B.動態端口(Dynamic ports)

動態端口的範圍是從1024到65535

之因此稱爲動態端口,是由於它通常不固定分配某種服務,而是動態分配。

動態分配是指當一個系統進程或應用程序進程須要網絡通訊時,它向主機申請一個端口,主機從可用的端口號中分配一個供它使用。

當這個進程關閉時,同時也就釋放了所佔用的端口號。

c.怎樣查看端口

用「netstat -an」查看端口狀態

4).總結

端口有什麼用呢 ? 咱們知道,一臺擁有IP地址的主機能夠提供許多服務,好比HTTP(萬維網服務)、FTP(文件傳輸)、SMTP(電子郵件)等,這些服務徹底能夠經過1個IP地址來實現。那麼,主機是怎樣區分不一樣的網絡服務呢?顯然不能只靠IP地址,由於IP地址與網絡服務的關係是一對多的關係。其實是經過「IP地址+端口號」來區分不一樣的服務的。 須要注意的是,端口並非一一對應的。好比你的電腦做爲客戶機訪問一臺WWW服務器時,WWW服務器使用「80」端口與你的電腦通訊,但你的電腦則可能使用「3457」這樣的端口。

相關文章
相關標籤/搜索