Linux網絡功能協議介紹(二)

  上個內容中,我們知道了只要是本地通信得廣播,而廣播不是邏輯(IP)地址對應的MAC地址,所以主要是將邏輯地址轉換成目標地址,這叫地址解析稱為ARP,還有一種是反向解析RARP,都是在本地網絡中完成的,邏輯IP地址分為兩個階段,前一段分為網絡地址,后一段分為主機地址,如何判定?用子網掩碼用來判斷那一部分是網絡位,那一部分是主機位,最重要的是子網掩碼是根據一個地址來獲取網絡地址的,IP地址和網關一定在同一網絡中,不然轉發不出去。

  一個交換機可以連接不同的沖突域,而一個路由器可以連接不同的廣播域。

  路由器有一張表,叫路由表,可以靜態和動態生成,動態生成的話意味著管理員就不用手動管理這張表,但學習和生成是需要一段時間,一旦條目發生改變,使得網絡在轉換另一種穩定的網絡之前,這個過程叫路由表的收斂過程,如果范圍比較大的話,其收斂的速度肯定很慢。

  IP叫被路由協議,上面則叫路由協議。

  MAC地址實現的是本地通信地址。

  IP地址實現的是主機到主機的通信。

  我們的操作系統是多認為的,既能上網,有能聊天,還能打游戲等,如果主機A要與IP7.1通信,7.1的服務器既要提供上網服務,又要提供聊天服務,也要提供打游戲服務,那么這些請求該怎么去響應,如何知道和7.1的進程去通信?為了標識那個進程和那個主機通信服務,那就還需要一個地址,這個地址除了IP地址以外,還得需要一個端口號的地址,比如說7.1上的80(簡稱7.1:80)就是網頁服務,然后7.1的100就是提供游戲服務,之后主機A就會打開一個端口7.1的端口服務進行通信,所以用端口來被識別同一主機上的不同進程,所以端口來標識進程與進程之間的通信的。

  如果和WEB服務通信該如何知道端口?我們的端口的范圍為0-65535,對方的服務器的WEB接口到底在那個服務器上服務?端口和進程之間并沒有必然間的聯系,意味著工作在任意一端口,對于主機來講就像和WEB通信,該如何找?我們就事先有個規范,定義好(有個機構叫做名稱地址分配機構),如果用WEB服務,就必須使用那個端口,其它不行,80端口專門用于網頁服務,這個端口是可以改的,不過就是很麻煩,因為某些著名的服務都有固定的端口,客戶端使用的是隨機的,沒有使用的端口,80端口還得隨時監聽客戶端響應,這叫主動模式,但是端口和IP地址還是有關聯關系的,每個地址上有六萬多端口可以用,兩臺服務器同時用80端口并不沖突,因為IP不同,當前主機如何區別如何區別需要綁定起來,這叫做套接字,IP和端口綁定的一組就叫套接字。

  什么是協議?就是擁有相同的功能和標準建立起來的。

OSI參考模型

  共有七層,但常用的是TCP/IP模型,共有四層。OSI定義的很規范,但有缺陷,有很多功能,在兩個層次上都分別實現,比如數據包校驗在二層實現,在四層也要實現,同一種功能實現兩次不是一件好事,既浪費資源,又降低數據報文連接(生成速度),TCP/IP看上去不那么規范,但是它是能工作的模型,是現實中正用的模型。

  在IP首部,共32位二進制,每8位一個片段,共4段,8個0到8個1,整個地址分為兩段,網絡段和主機段,為了標識不同的網絡,因此分了類別,分別標記網絡和主機地址的不同長度,常用的有A、B、C類

  A類:只有一段標記網絡地址,后面三段標記為主機地址,這是包含主機范圍最多的的,是2^24-2。

  B類:前兩段標記網絡地址,后面兩段標記為主機地址,它的主機范圍是2^16-2。

  C類:前三段標記網絡地址,最后一段標記為主機地址,它的主機范圍是2^8-2。

如何區分是那一類的。

  我們是靠第一段的數字來進行區別的,對于A類來講,首位是0,從8個0到01111111,首位是0,后位變化,但其中127用于回環所以有效范圍是1-126,B類地址從10開頭,范圍是128-191,10000000-10111111,共64個B類網絡,C類地址從110開頭11000000-11011111,范圍是:191-223,共32個C類地址。

  ICANN(國際互聯網地址名稱分配機構)用來進行分配(包括注冊域名),事先預留出來的地址只能在內部使用,叫做私有地址,不能用在互聯網上,私有地址如下:

  A類:10.0.0.0/8。

  B類:172.16.0.0/16—172.31.0.0/16。

  C類:192.168.0.0/24—192.168.255.0/24。

  這些地址也不會在路由器上路由,作源地址也可以,但作為目標地址是接收不回來的報文,自己的IP與子網掩碼相與,得到網絡地址,目標IP與源IP的子網掩碼相與,如果不是一樣的,就是遠端地址。

  目標地址是主機的話,稱之為主機路由,目標地址是網絡的話,稱之為網絡路由,一般來說選擇網絡時,是從最佳匹配作為選擇標準。

  0.0.0.0是默認路由,如果條目中沒有匹配的目標地址的話,就走默認路由。

TCP傳輸層說明

  在TCP/IP層中,網際層的上方就是傳輸層,整個網絡其實也是沙漏模型,底層是IP報文,下面可能屬于不同的二層網絡,對于IP來講統一要呈現IP形式,到IP這兒根據應用的不同還會分不同的協議,比如傳輸層有TCP和UDP協議,TCP叫傳輸控制協議,UDP叫用戶數據報協議,TCP和UDP功能不一樣。

  TCP是有連接協議的。

  UDP是無連接協議的。

TCP是有三次握手的,傳輸完成就拆除通道,而且是雙向拆除,如果不響應就自行拆除(前提發的報文無響應)

TCP首部—控制更多信息(共32位)

Source Port Number 源端口   (16位)
Destination Port Number  目標端口  (16位)
Sequence Number 序列號   (32位)
Acknowledgement Number 確認號   (32位)
Header Length 首部長度  (4位)
Reserred

保留位   (6位,其實是3位)它的子集:URG、ACK、PSH、RST、SYN、FIN

windows size 窗口大小  (16位)
TCP Checksum TCP校驗和
Orgent Pointer 緊急指針  (16位)1、指針有效 0、指針無效
Options 選項    (32位)
Data 數據    (32位)

 

原創文章,作者:劉 祥宇,如若轉載,請注明出處:http://www.www58058.com/60754

(0)
劉 祥宇劉 祥宇
上一篇 2016-11-25
下一篇 2016-11-25

相關推薦

  • mysqldump的備份與恢復

    MySQL(05) 備份策略:     完全+差異+binlog(時間點還原)     完全+增量+binlog     備份,多久一次?         數據…

    Linux干貨 2016-11-20
  • vim編輯器

    vim編輯器 vi:Vistual Interface,是一種文本編輯器,所謂文本編輯器就是基于字符編碼的文件,常見的編碼有ASCLL編碼,UNICODE編碼。 vim:即vi IMproved:vi的增強版,可以使用顏色或者底線等方式來顯示一些特殊信息,是模式化的編輯。 文本編輯器的種類 行編輯器:所謂行編輯器就是一行一行來編輯處理的工具,如sed 全屏編…

    Linux干貨 2016-08-15
  • 小懶豆-運維28-01

    1.計算機的組成及其功能
    2.linux的發行版,并描述差異及其聯系
    3.說明linux的哲學思想,并按照自己的理解進行解釋描述
    4.linux的命令使用格式,并介紹下列命令 ifconfig echo tty startx export pwd history shundown poweroff reboot hwclock date的
    5.如何獲取linxux的幫助命令
    6.簡述fhs(Filesystem hierarchy standard)

    2017-12-03
  • nginx+keepalived構建負載均衡代理服務器

    實驗環境: 1、centos7.3 centos6.82、兩臺VS提供nginx代理和keepalived3、兩臺RS提供httpd服務并部署wordpress4、另外一臺提供Mysql數據庫服務 實驗拓撲圖: 拓撲圖 實驗步驟 1、在vs1(172.18.251.4)上配置,用yum安裝keepalived和nginx yum install -y kee…

    Linux干貨 2017-05-21
  • 導讀谷歌三大核心技術之一 GoogleFileSystem(一)

    GoogleFileSystem設計構想 為滿足Google數據處理的需求,Google工程師設計并實現了GoogleFileSystem(GFS)。GFS與傳統分布式文件系統類似,也需要滿足高性能、可伸縮性、可靠性以及可用性。與傳統分布式文件系統思路不不同的是: GFS認為組件失效是常態而非意外,GFS由大量廉價設備組成 文件數量異常巨大 絕大部分文件修改…

    Linux干貨 2017-05-07
  • 2班jackcui20160802作業

    1、每日課堂筆記總結 2、預習 3、每日課堂pdf練習 4、在/data/testdir里創建的新文件自動屬于g1組,組g2的成員如:alice能對這些新文件有讀寫權限,組g3的成員如:tom只能對新文件有讀權限,其它用戶(不屬于g1,g2,g3)不能訪問這個文件夾。 [root@centos7 /]# groupadd g1 [root@centos7 /…

    Linux干貨 2016-08-05
欧美性久久久久