日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

OpenStack Network --- introduction部分 阅读笔记

發布時間:2025/7/25 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenStack Network --- introduction部分 阅读笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Basic Networking

1、混雜模式(promiscuous mode):當網卡被配置為混雜模式時,它們會將所有的frame傳遞給操作系統,即使MAC地址不匹配。

2、交換機(switch)是一種擁有多個端口的網絡硬件,能將frame從連接的一個主機轉發到另一個主機。它會維護一張叫做forwarding table或者交forwarding information base(FIB)的表,用于記錄MAC地址和端口的關系,該表由交換機轉發frame的過程中學習獲得。交換機還可以級聯在一起,這些連接在一起的交換機和主機可以看成是單個網絡。

3、VLAN可以讓單個交換機看起來像多個獨立的交換機一樣,即連接在同一個交換機上的主機,如果它們不屬于同一個VLAN就看不見對方。每一個VLAN有一個編號從1到4095的ID。

當多個交換機連接在一起時,連接的端口(即trunck port)必須能夠轉發來自任何VLAN的Ethernet frames,而且發送frame的交換機必須給frame加上VLAN ID,這樣接收的交換機才能保證合適的主機收到該frame。

4、如果兩個主機的IP地址的網絡號相同,那么它們屬于同一個subnet,而以太網中位于同一個local network的兩臺主機之間可以互相通信。ARP協議假設,同一個subnet中的主機都位于同一個local network。

5、有兩種方式來表示一個子網:

dotted quad: 255.255.255.0

classless inter-domain routing(CIDR): 192.168.1.5/24

6、DHCP(Dynamic Host Configuration Protocol)用于在主機啟動時自動為其分配IP。

DHCP client由端口67向地址255.255.255.255的端口68發送一個UDP包,DHCP server會從端口68向client的端口67發送響應。具體交互過程如下:

  • client發送一個discover(我是MAC地址為08:00:27:b9:88:74的client,需要一個IP地址)
  • server發送一個offer(好的,08:00:27:b9:88:74,我給你一個IP地址10.10.0.112)
  • client發送一個request(Server 10.10.0.113,我愿意接受IP?10.10.0.112)
  • server返回一個acknowledgement(好的,08:00:27:b9:88:74, IP?10.10.0.112是你的了)
  • DHCP server通常會在發送給DHCP client IP地址和子網掩碼的同時,還會發送default gateway的IP地址。OpenStack用dnsmasq來實現DHCP server。

    7、因為TCP能夠檢測(detect)和重傳(retransmit)丟失的包,因此它被稱為reliable protocol。

    8、應用可以用多播(IP multicast)技術將UDP數據包發送到指定的主機集合。接收的應用必須首先通過給UDP socket綁定一個合法的multicast group address來加入一個multicast group。接收主機和發送主機不需要在同一個local network,但是中間經過的路由器必須被配置成支持IP多播的。VXLAN就是一種使用IP多播基于UDP的協議。

    ?

    Network Components

    1、防火墻(Firewalls) 用于對流量進行管理。防火墻可以是用來連接兩個網絡的定制的設備,也可以是在操作系統中基于軟件的過濾規則。它可以基于源IP地址,目標IP地址,端口號以及連接狀態等條件對包進行過濾。主要用來讓主機避免未經授權的登陸以及惡意的攻擊。Linux系統一般使用iptables來實現防火墻。

    ?

    Overlay(tunnel)protocols

    使用隧道的原因是在不兼容的網絡上傳輸數據,或者在不安全的網絡上提供一個安全的路徑。通常被傳輸的數據都會進行加密,從而讓那些私密的數據也能公開進行傳輸。

    1、GRE(Generic routing encapsulation)

    2、VXLAN(Virtual extensible local area network)是為了提供可擴展的網絡隔離。它運行在多個三層網絡之上構建一個二層的overlay網絡。每個overlay都被稱為一個VXLAN segment。只有處于同一個VXLAN segment中的虛擬機才能互相通信。

    ?

    Network Namespace

    1、Linux啟動時存在一個default namespace,所有的網絡設備都存在其中。但是我們也可以新建network namespace,并且在其中創建新的設備,或者將已有的設備從一個namespace轉移到另一個namespace。

    2、每個network namespace都有它自己的路由表,這是network namespace存在的主要原因。路由表的關鍵是目標IP地址,而如果想要同樣的目標IP地址在不同的時候代表不同的含義,network namespace正是我們需要的。而這對OpenStack Networking對于不同的虛擬網絡提供有重復的IP地址的特性是非常重要的。

    3、VRF(Virtual routing and forwarding)是一種能夠讓多個路由表實例存在于同一個路由器的IP技術。

    ?

    Network Address Translation

    1、NAT可以在IP包傳輸的過程中改變其頭部的源地址或目標地址。通常IP包的發送者和接收者通常都不會意識到包被修改過了。在OpenStack中,通常是Linux服務器用iptables軟件包來實現NAT的。

    2、RFC 1918保留了以下三個子網作為私有地址:

    • 10.0.0.0/8
    • 172.16.0.0/12
    • 192.168.0.0/16

    3、SNAT(Source Network Address Translation)在數據包進入公網之前,NAT路由器會將IP數據包頭部的源地址改成它自己的公網IP,并且修改源TCP或者UDP端口,同時路由器會維護一個表,用于記錄源IP地址以及端口到修改后的IP地址和端口的映射關系。這種既改變端口也改變IP地址的SNAT方式稱為PAT(Port Address Translation)或者NAT overload。

    4、DNAT(Destination Network Address Translation)顯然就是用于修改IP數據包頭部的目標IP地址。OpenStack使用DNAT將實例的數據包轉發到OpenStack metadata service。通常,OpenStack實例中的應用都是通過發送一個HTTP GET請求給IP地址為169.254.169.254的web server來訪問OpenStack metadata service。不過事實上OpenStack中并沒有主機有這么一個地址。所以OpenStack使用DNAT用于轉換這些包中的目標IP,從而讓它們能訪問metadata service的網絡接口。

    5、One-to-one NAT,在這種NAT路由器中維護了私有IP和公網IP之間的一對一映射關系。OpenStack通常使用one-to-one NAT來實現floating IP address。

    ?

    OpenStack Networking

    Networking service,又稱neutron,提供了能夠讓我們在云中定義網絡的連接性和尋址的API。同時,它也提供了能夠配置和管理各種網絡服務,包括L3 forwarding, NAT到負載均衡,外圍防火墻和VPN等等。它主要包括了以下三個組件:

    • API server: OpenStack的Networking API支持二層網絡,IPAM以及一個三層路由結構的擴展,用于二層網絡,網關到外部網絡的路由。
    • OpenStack Networking plug-in and agents:用于plug或者unplug端口,創建網絡或子網,提供IP尋址。需要注意的是,一次只能使用一個plug-in
    • Message queue:用于在agents之間接收并且路由RPC請求。

    在OpenStack中有project network和provider network兩種類型的網絡。

    Provider networks

    Provider networks提供虛擬機實例之間的二層連通性,同時對于DHCP和metadata services提供可選的支持。這些網絡會連接或者映射到數據中心的二層網絡上,通常用VLAN tag來標識和劃分它們。Provider networks在犧牲靈活性的情況下,能夠提供簡單性,性能和可靠性。默認只有管理員能夠創建和更新provider network,因為它需要對基礎物理網絡的設置。

    Routed provider networks

    Routed provider networks提供了虛擬機實例之間的三層連通性。這些網絡通常映射到數據中心已有的三層網絡。事實上,它們會映射到多個layer-2 segments,每一個segment其實就是一個provider network。每一個網絡都有一個router gateway與它相連,用于在它們之間以及外部路由流量。Networking service是不提供路由的。

    ?Self-service networks

    Self-service network 是完全虛擬化的并且需要虛擬路由器來連接provider network和external network。通常它們還給虛擬機實例提供DHCP和metadata service。一般情況下,self-service network使用overlay network例如VXLAN和GRE,因為它們相比于使用VLAN tag的layer-2 segmentation可以支持更多的網絡。而且,VLAN一般需要對基礎物理網絡進行設置。

    IPv4 self-service network一般使用私有IP地址段并且通過虛擬交換機的SNAT和provider進行交互。而Floating IP能夠讓provider network通過虛擬路由器的DNAT訪問虛擬機實例。IPv6 self-network通常使用公網IP地址段并且通過虛擬路由器的靜態路由和provider network進行交互。

    Networking service使用在之上一個Network node中的layer-3 agent來實現router。與provider Network直接將實例連接到物理網絡中不同的是,self-service network必須經過一個layer-3 agent。因此layer-3 agent或者network node的故障都會對self-service network和使用它們的實例產生巨大的影響。

    OpenStack主要支持Flat,VLAN,GRE和VXLAN這四種網絡拓撲結構

    Subnets

    Subnets用于新的ports在一個network中創建時,為其分配IP地址。

    Subnet pools

    Subnet pools是一個預先定義的地址池,從而讓規定了可以使用的IP地址的范圍,讓所有子網都在給定的地址池內。以此來避免同一個地址池內地址的重用以及子網之間地址的重合。

    Ports

    port是設備和虛擬網絡的連接點,同時,port描述了相關的網絡配置,例如該port使用的MAC和IP地址

    Routers

    路由器用于在self-service和provider network之間,或者屬于同一個project的self-service network之間提供layer-3 services,例如路由和NAT。Networking service通常使用layer-3 agent,通過namespace,來管理路由。

    Security groups

    每個project都包含一個default security group,它允許所有的出口流量并且拒絕所有的入口流量。

    ?

    Service and component hierarchy

    • Server:提供API,管理數據庫等等
    • Plugin-ins:管理agents
    • Agents:提供實例間的二層或三層連接,處理物理和虛擬網絡之間的轉換,處理元數據

    轉載于:https://www.cnblogs.com/YaoDD/p/6397517.html

    總結

    以上是生活随笔為你收集整理的OpenStack Network --- introduction部分 阅读笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。