算法講堂一:博弈論入門_租車

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

有別於一般網頁架設公司,除了模組化的架站軟體,我們的營業主軸還包含:資料庫程式開發、網站建置、網頁設計、電子商務專案開發、系統整合、APP設計建置、專業網路行銷。

博弈論的題目有如下特點:

  • 1:博弈模型為兩人輪流決策的博弈。並且兩人都使用最優策略來取得勝利。

    • 兩個玩家,都會採取最優的決策,那麼如果存在一個局面為必勝局面,某玩家位於此局面。只要自己無失誤,則必勝。那麼同樣又一個局面為必敗局面,某玩家位於此局面。只要對手無失誤,則必敗。
    • 那也就是說,針對這樣的遊戲,我們關注點應該在局面上。
  • 2:博弈是有限的。即無論兩人如何決策,都會在有限步決出勝負。

  • 3:博弈是公平的。即兩人進行決策的規則相同。

  • 相關概念:
    • 先手必勝狀態:先手可以從這個狀態走到某一個必敗狀態。
    • 先手必敗狀態:先手走不到任何一個必敗狀態。
    • 也就是說先手必勝狀態,那麼先手一定能採取某些操作,讓後手面對必敗態。如果是先手必敗態,無論先手怎麼操作,都無法讓後手面對必敗態。

簡單博弈的基本題型

1:bash博弈;2:nim博弈;3:威佐夫博弈;5:Fibonacci博弈;6:sg函數;

bash博弈 (巴什博奕)

  • 假設一堆石子有n個,每次最多取m個,甲乙兩個玩家輪流取石子,最後把石子取完的人獲勝,保證甲乙每一步的決策都是最優的,請問給定n和m,問甲勝還是乙勝。

    • 不妨假設剛剛開始

      n = m + 1
      

      ,那麼後手必勝,有如下結論:

      • n = ( m + 1 ) * r + s 其中(r > 1,0 <= s < m + 1)。如果s=0的話,先手每次取k個,後手只要取(m+1-k)個即可,後手必贏。如果s!=0的話,先手者第一次取s個,後手第一次取k個,接下來先手只要取(m + 1 - k)個即可,先手必贏。
      • 所以只需考慮 是否為0就可以判定結果。余為0,先手必敗,反之必勝。
  • 例題:

    • hdu_2188
    #include<bits/stdc++.h>
    using namespace std;
    int c, m, n;//總捐款數,每次最多m
    int main() {
        //freopen("in.txt","r",stdin);
    	cin >> c;
    	while (c--) {
    		cin >> n >> m;
    		if (n % (m + 1) == 0)
    			cout << "Rabbit\n";
    		else
    			cout << "Grass\n";
    	}
    	return 0;
    }
    
  • hdu_1846

  • hdu_1847

Nim遊戲

  • 假設有n堆石子,每堆石子分別有\(a_1,a_2,…,a_n個\),每次可以選擇任意一堆且至少取1枚石子, 甲乙兩個玩家輪流取石子, 最後把石子取完的人獲勝, 保證甲乙每一步的決策都是最優的, 甲為先手操作, 問甲勝還是乙勝。

  • 結論:

    • 設若\(a_1^{ ∧ }a_2^{∧}…^{∧}a_n = 0\)則先手必敗, 反之必勝。
  • 證明

  • \(a\)不全為\(0\)時, 任意一個\(res!=0\)的局面, 先手可以通過一定的操作讓後手面對\(res=0\)的局面。

  • 對於任意一個\(res=0\)的局面, 先手無法通過任何操作讓後手面對\(res=0\)的局面。

  • 得出結論, 當\(res=0\)時先手必敗, 反之必勝。

Nim博弈拓展-台階Nim

  • 問題描述: 有一個\(n\)級台階的樓梯, 每級台階上有若干個石子, 其中第i級台階上有\(ai\)個石子\((i≥1)\)。兩位玩家路輪流操作, 每次操作可以從任意一級台階上拿若干個石子放到下一級台階上(不能不拿)。

  • 已經拿到地面的石子不能再拿, 最後無法進行操作的人視為失敗。

  • 問如果兩人都採取最優策略, 先手是否必勝.

  • 結論
    • \(res=a_1∧a_3∧a_5∧,…,∧a_n=0\)(當然這裏的n是奇數)先手必敗, 反之先手必勝。
  • 證明
  • 1): 考慮極端情況, 當\(a1,a3,…,an\)全為0時, \(res=0\), 此時先手只能將偶數級台階往下搬, 後手只需要將先手從偶數級台階上搬下來的石子全部搬到下一級偶數級台階, 先手必敗。

  • 2): 當\(res=x≠0\)時, 通過經典\(Nim\)遊戲的證明, 我們知道一定有一種方法搬一定的石子到下一級讓後手面對res為0的局面。

  • 3):當\(res=x=0\)\(a\)不全為\(0\)時, 我們無法通過任何操作讓下一個狀態的\(res\)也為\(0\)

    ※Google地圖已可更新顯示潭子電動車充電站設置地點!!

    日本、大陸,發現這些先進的國家已經早就讓電動車優先上路,而且先進國家空氣品質相當好,電動車節能減碳可以減少空污

  • 即對於\(res\)不為\(0\)的情況, 先手總能通過一定的操作讓後手面對\(res\)\(0\)的情況,。

  • 然而\(res\)\(0\)時, 先手無論做什麼操作都無法讓後手面對\(res\)\(0\)的情況。

  • 那麼此刻我們就將題目轉化為在奇數台階上的經典Nim遊戲。

  • 思考題:

  • 為什麼不用\(res=a_2∧a_4∧a_6∧,…,∧a_n=0\)(n為偶數)來判定勝負?

    • 因為當先手搬去一定的石子讓後手面對res=0res=0的情況, 後手可以搬去一號台階的石子到地面讓先手重新面對res=0res=0的情況
例題:
  • hdu_1850(經典Nim)
#include<bits/stdc++.h>
using namespace std;
const int maxn = 100 + 10;
int n, a[maxn], res;
int main() {
    //freopen("in.txt","r",stdin);
	while (cin >> n,n)
	{
		res = 0;
		for (int i = 1; i <= n; i++){
			cin >> a[i];
			res ^= a[i];
		}
		if (res == 0) puts("0");
		else{
			int ans = 0;
			for (int i = 1; i <= n; i++)
				if ((res ^ a[i]) < a[i]) ans++;
			cout << ans << endl;
		}
	}
	return 0;
}
  • hdu_1730(經典Nim)
#include<bits/stdc++.h>
using namespace std;
int main() {
	//freopen("in.txt","r",stdin);
	int n, m;
	while (cin >> n >> m) {
		int res = 0;
		for (int i = 1; i <= n; ++i) {
			int a, b; cin >> a >> b;
			res = res ^ (abs(a - b) - 1);
		}
		if (res == 0) puts("BAD LUCK!");
		else puts("I WIN!");
	}
	return 0;
}
  • poj_1704(台階Nim)
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
const int N = 1000 + 10;
int a[N];
int main() {
	//freopen("in.txt", "r", stdin);
	int t, n;
	cin >> t;
	while (t--) {
		int ans = 0;
		cin >> n;
		for (int i = 1; i <= n; ++i) cin >> a[i];
		sort(a + 1, a + n + 1);
		if (n % 2)
		{
			ans ^= (a[1] - 1);
			for (int i = 3; i <= n; i += 2)
				ans ^= (a[i] - a[i - 1] - 1);
		}
		else for (int i = 2; i <= n; i += 2)
			ans ^= (a[i] - a[i - 1] - 1);
		if (ans) printf("Georgia will win\n");
		else printf("Bob will win\n");
	}
	return 0;
}
  • hdu_4315(台階Nim)
#include<bits/stdc++.h> 
using namespace std;
const int maxn = 1e3 + 10;
int a[maxn];
int n, k;
int main() {
    //freopen("in.txt","r",stdin);
    while(cin >> n >> k)
    {
        memset(a, 0, sizeof a);
        for(int i = 1; i <= n; i++) scanf("%d", &a[i]);
        if(k == 1) puts("Alice");
        else
        {
            int res = 0;
            if(n & 1)
            {
                if(k == 2) res ^= a[1] - 1;
                else res ^= a[1];
                for(int i = 3; i <= n; i += 2)
                    res ^= a[i] - a[i - 1] - 1;
            }
            else
            {
                for(int i = 2; i <= n; i += 2)
                    res ^= a[i] - a[i - 1] - 1;
            }
            if(res) puts("Alice");
            else puts("Bob");
        }
    }
    return 0;
}

Wythoff 遊戲 (威佐夫博弈)

  • 兩堆石子各有若干個, 兩人輪流從一堆取至少一個石子或從兩堆取同樣多的物品, 最後一名取完石子者勝利。

  • 結論:

    • 當兩堆石子各有\(n\)\(m\)個且不妨設\(n<m\)
    • 當(m−n)(√5+1)/2=n時, 先手必敗。
  • 證明
  • •首先考慮最(zhao)極(gui)端(lv)的情況, (0, 0), (1, 2), (3, 5)局面為先手必敗局面。而且這樣的数字對被稱為奇異局勢。

  • 奇異局勢的定義如下:

    • 設数字對為\(a[(i),b(i)]\)
    • 1:\(a(0)=b(0)=0\);
    • 2: \(a(k)\)是前面数字對中未出現的最小的自然數, 且\(a(k)+k=b(k)\)
  • 接下來我們看奇異局勢的幾個性質:

    • 性質1: 任何自然數都包含在一個且僅有一個奇異局勢中。

    • 性質2: 任意操作都能將奇異局勢轉變為非奇異局勢.

    • 性質3: 採取適當的方法, 可將非奇異局勢轉變為奇異局勢。

      證明略

  • 結論:奇異局勢必敗
例題
  • hdu_2177
#include<bits/stdc++.h> 
using namespace std;
int n, m;
    
bool check(int n, int m) {
    int x = min(n, m), y = max(n, m);
    double c = (sqrt(5.00000) + 1) / 2;
    double d = (double)(y - x);
    if(x == int(c*d)) return 1; // 必敗     return 0;
}
    
void work() {
    if(n > m) swap(n, m); // (n, m)     //第一個模塊 我們能一起減去讓他成為必敗態     {
        int tem = m - n;
        double c = (sqrt(5.00000) + 1) / 2;
        int a = double(tem) * c;
        int b = a + tem;
        if(n - a == m - b) cout << a << " " << b << endl;
    }
    //第二個模塊 我們求出當前n的奇異局勢, 如果m比他大 拿走就行     //如果m比他小我們求出(x, n) 然後拿走m     {
        double c = (sqrt(5.00000) + 1) / 2;
        int x = n;
        double d = x / c;
        int y = n + d;
        if(m > y) cout << x << " " << y << endl;
        else
        {
            double x = double(n) * 2 / (sqrt(5.000000) + 1);
            cout << int(x) << " " << n << endl;
        }
    }
}
    
int main() {
    while(cin >> n >> m)
    {
        if(!(n + m)) break;
        if(check(n, m)) puts("0");
        else
        {
            puts("1");
            work();
        }
    }
    return 0;
}
    

斐波那契博弈(Fibonacci Nim Game)

  • 一堆石子有nn個,兩人輪流取.先取者第1次可以取任意多個,但不能全部取完。以後每次取的石子數不能超過上次取子數的22倍。取完者勝。給定nn,問先手必勝還是必敗。

  • 結論:
    • \(n\)\(fibonacci\)數的時候,先手必敗
  • 證明:

例題:

  • hdu_2516
#include<bits/stdc++.h> using namespace std;
typedef long long ll;
unordered_map<int, int> mp;
ll f[50];
void fib() {
    f[0] = f[1] = 1;
    for(int i = 2; i <= 50; i++)
    {
        f[i] = f[i - 1] + f[i - 2];
        mp[f[i]]++;
    }
}
    
int main() {
    int n;fib();
    while(cin >> n)
    {
        if(n == 0)break;
        if(!mp[n]) puts("First win");
        else puts("Second win"); //如果是fibonacci數, 則先手必敗
    return 0;
}

SG函數

  • \(mex\)運算:
    • 定義\(mex(S)\)為不屬於集合S的最小非負整數運算。
    • •舉個栗子: \(S=1,2,3,mex(s)=0\);
  • SG函數:
    • \(SG\)函數: 設對於每個節點x, 設從x出發有k條有向邊分別到達節點\(y1,y2,…,yk\), 定義SG(x)函數為後繼節點\(y1,y2,…,yk\)的SG函數值構成的集合再執行mex運算的結果。
    • 特別的, 整個有向圖GG的SGSG函數被定義為有向圖起點sSG函數值, 即\(SG(G)=SG(s)\)
    • 有向圖終點的SG函數為0。
  • 結論:
    • •先手必敗, 則該局面對應\(SG函數=0\)。反之必勝。
例題
  • hdu_1524
#include<bits/stdc++.h> using namespace std;
const int maxn = 1e3 + 10;
int n, num;
int sg[maxn];
    
int head[maxn], ver[maxn], nex[maxn], tot;
void add(int x, int y) {
    ver[++tot] = y; nex[tot] = head[x]; head[x] = tot;
}
    
int GetSg(int x) {
    if(sg[x] != -1) return sg[x];
    bool vis[maxn];
    memset(vis, 0, sizeof(vis));
    for(int i = head[x]; i; i = nex[i]) // 掃描所有出邊     {
        int y = ver[i];
        sg[y] = GetSg(y);
        vis[sg[y]] = 1; //所有出邊的sg函數值     }
    for(int i = 0; i < n; i++)
        if(!vis[i]) return sg[x] = i; // mex運算     return 0;
}
    
void init() {
    memset(head, 0, sizeof(head));
    memset(nex, 0, sizeof nex);
    memset(ver, 0, sizeof ver);
    memset(sg, -1, sizeof sg);
    tot = 0;
}
    
int main() {
    while(cin >> n)
    {
        init();
        for(int i = 0; i < n; i++)
        {
            cin >> num;
            while(num--)
            {
                int x; scanf("%d", &x);
                add(i, x);
            }
        }
        while(cin >> num)
        {
            if(!num) break;
            int res = 0;
            while(num--)
            {
                int x; scanf("%d", &x);
                res ^= GetSg(x);
            }
            if(res) puts("WIN");
            else puts("LOSE");
        }
    }
    return 0;
}
  • hdu_1536
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e4 + 10;
int s[maxn], sg[maxn];
int k;
    
void init() {
    memset(sg, -1, sizeof(sg));
}
    
int GetSg(int x) {
    if(sg[x] != -1) return sg[x];
    bool vis[maxn]; memset(vis, 0, sizeof(vis));
    for(int i = 1; i <= k; i++)
        if(x >= s[i])
        {
            sg[x - s[i]] = GetSg(x - s[i]);
            vis[sg[x - s[i]]] = 1;
        }
    for(int i = 0; ; i++)
        if(!vis[i]) return sg[x] = i;
    return 0;
    
}
    
int main() {
    ios::sync_with_stdio(false);
    while(cin >> k)
    {
        init();
        if(k == 0) break;
        for(int i = 1; i <= k; i++) cin >> s[i];
        int num; cin >> num;
        while(num--)
        {
            int x, res = 0; cin >> x;
            for(int i = 1; i <= x; i++)
            {
                int y; cin >> y;
                res ^= GetSg(y);
            }
            if(res) cout << "W";
            else cout << "L";
        }
        cout << endl;
    }
    return 0;
}

參考

【博弈論】關於三姬分金(五海盜分贓)的博弈論問題分析

李永樂老師對三姬分金視頻講解

ACM集訓隊講解

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

※超省錢租車方案

商務出差、學生出遊、旅遊渡假、臨時用車!GO 神州租賃有限公司!合法經營、合法連鎖、合法租賃小客車!

BMW i3升級版創新精神引領綠色出行_租車

※Google地圖已可更新顯示潭子電動車充電站設置地點!!

日本、大陸,發現這些先進的國家已經早就讓電動車優先上路,而且先進國家空氣品質相當好,電動車節能減碳可以減少空污

繼寶馬首台純電動車BMW 1602領跑馬拉松賽之後,全球最創新的純電動車BMW i3多次擔任國內外重要馬拉松賽的計時引導車,成為該賽事的標誌性符號。自2013年首次將其體育營銷戰略引入中國以來,寶馬堅持將馬拉松運動與綠色出行有機結合,開創性地以新能源車贊助馬拉松運動。

(上海)2016年10月30日,國內頂級馬拉松賽事之一—上海國際馬拉松賽在黃浦江畔的金牛廣場鳴槍開跑。在38,000多名來自世界各地的參賽选手中, 南非选手Stephen Mokoka以2:10:18的槍聲成績獲得本屆比賽的男子組冠軍,埃塞俄比亞选手Bekele Roza Dereje以2:26:18的槍聲成績獲得女子組冠軍。作為上海國際馬拉松連續四年的榮耀贊助商,今年,寶馬以最新款純電動車BMW i3升級版作為比賽計時引導車,同時還首次攜新能源車家族亮相賽道,並邀請奧運冠軍王鎮和劉虹加入寶馬跑團。寶馬與廣大跑者在激情奔跑中共同倡導积極健康的生活方式,並以創新的體育營銷戰略成為都市綠色出行的引領者。

寶馬集團大中華區總裁兼首席執行官康思遠先生在比賽現場表示,“寶馬在全球範圍內大力推廣並支持馬拉松運動的發展,這與寶馬集團所堅持的綠色出行戰略方向以及以健康生活方式為核心的品牌內涵密不可分。在中國,寶馬開創性地以新能源車支持馬拉松運動,通過在馬拉松賽事中創新體育傳播引領都市綠色出行,並通過倡導积極健康的可持續生活方式,強化與廣大消費者的情感鏈接。明年,寶馬將以更深入、更專業的方式支持馬拉松運動,為廣大跑者提供優質平台,共享純粹運動樂趣。”

寶馬成為贊助馬拉松最早、最多以及最重要賽事的豪華車品牌

運動精神是寶馬品牌的核心DNA,推動寶馬建立起了完善的全球體育營銷戰略。寶馬在全球範圍內支持馬拉松、高爾夫、馬術和賽車等多種運動項目,傳承品牌運動精神。

同時,寶馬所堅持的創新精神與馬拉松運動挑戰極限、超越自我的精神深度契合,讓寶馬在全球範圍內推廣馬拉松並成為該項運動最強有力的推動者。早在1972年慕尼黑奧運會上,寶馬即以首台純電動車BMW 1602引領馬拉松賽,開創彼此合作的先河。目前,寶馬贊助全球7項頂級馬拉松和19個城市跑步賽事。在世界馬拉松大滿貫六大賽事中,寶馬贊助了柏林和東京馬拉松並成為柏林馬拉松的冠名贊助商。此外,寶馬還贊助了巴黎、法蘭克福、慕尼黑、漢堡和上海等國際知名馬拉松賽事,

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

有別於一般網頁架設公司,除了模組化的架站軟體,我們的營業主軸還包含:資料庫程式開發、網站建置、網頁設計、電子商務專案開發、系統整合、APP設計建置、專業網路行銷。

成為贊助馬拉松最早、贊助賽事最多以及賽事贊助規格最高的豪華車品牌。

在中國,寶馬已成為推動馬拉松運動蓬勃發展的先驅力量。自2013年開始贊助上海國際馬拉松賽以來,寶馬已連續四年贊助上海、廈門、蘭州國際馬拉松三大金牌賽事並於今年3月首度牽手成都雙遺馬拉松。

創新體育營銷戰略 引領都市綠色出行

在傳遞運動精神的同時,44年來,寶馬一直以新能源車支持馬拉松運動,在全球範圍內倡導和引領充滿激情活力、昂揚向上的綠色出行生活方式。繼寶馬首台純電動車BMW 1602領跑馬拉松賽之後,全球最創新的純電動車BMW i3多次擔任國內外重要馬拉松賽的計時引導車,成為該賽事的標誌性符號。

自2013年首次將其體育營銷戰略引入中國以來,寶馬堅持將馬拉松運動與綠色出行有機結合,開創性地以新能源車贊助馬拉松運動。作為2016上海國際馬拉松賽的計時引導車,BMW i3升級版更以蓄電容量提升50%、續航里程達到200公里的獨特優勢,成為都市綠色出行的最佳選擇。

同時,作為大型社會體育活動,馬拉松已成為傳遞綠色出行理念的理想平台。今年,寶馬全系新能源車家族—BMW i3升級版、BMW i8、BMW X5插電式混合動力、全新BMW 740Le插電式混合動力及全新BMW X1插電式混合動力—為上海國際馬拉松賽提供全方位的用車支持,並向公眾提供其上市以來的首次試乘試駕體驗。目前, 寶馬為中國消費者提供最廣泛且最先進的新能源車陣容,涵蓋5個車系的9款車型。

倡導健康生活 深化品牌情感鏈接

寶馬以富於遠見的思考及行動成為行業及社會公認的領軍者。寶馬不僅為客戶提供創新的產品,還通過創新的品牌營銷推廣积極健康的全新生活方式。時下,馬拉松運動不僅是一項自我挑戰、超越極限的體育比賽,更是积極、健康、可持續生活方式的代表。寶馬通過贊助馬拉松賽事以及發起和支持面向公眾的跑步嘉年華、彩色跑等活動,每年支持逾萬名跑者參加跑步活動,共同分享運動的激情和樂趣。

通過產品、品牌以及對運動共同的熱愛,寶馬與廣大消費者建立起了深入的溝通交流平台和緊密的情感鏈接,成為积極健康生活方式的引領者。

對運動和創新的熱情是寶馬保持商業成功的內在動力。在過去的100年裡,寶馬一直是技術創新的先行者,保持了可持續的成功。目前,代表未來出行和創新的新能源車已經成為寶馬集團日益重要的業務增長點。今年前三季度,寶馬純電動和插電式混合動力車型全球累計銷量超過4萬輛,在國內銷量同比增長超6倍。尤為重要的是,BMW i正為寶馬贏得全新的客戶群。統計表明,80%的BMW i3車主是首次選擇寶馬品牌。在今年開啟“下一個100年”之際,寶馬在新能源車領域的創新和成功將使其在未來綠色出行的“馬拉松”中繼續保持領先地位。本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

※超省錢租車方案

商務出差、學生出遊、旅遊渡假、臨時用車!GO 神州租賃有限公司!合法經營、合法連鎖、合法租賃小客車!

這四款SUV上個月賣的最好 只要不到15萬 是不是真的那麼好?_租車

※Google地圖已可更新顯示潭子電動車充電站設置地點!!

日本、大陸,發現這些先進的國家已經早就讓電動車優先上路,而且先進國家空氣品質相當好,電動車節能減碳可以減少空污

98-15。38萬TOp 3長安CS75售價:9。28-15。88萬TOp 4寶駿560售價:6。98-9。48萬【總結】如今國內SUV市場的火爆可謂是無人不知,而這當中自主品牌的崛起也讓我們為之欣慰,哈弗H6在競爭激烈的15萬級別SUV市場更是創下了5。3萬的銷量神話,15萬這個價格分水嶺既能選擇以上這些優秀的SUV也能選擇性能平庸的合資品牌轎車,具體怎麼選還得看你們怎麼選擇,但在看來上述的自主品牌的車輛他們在擁有不輸合資車的駕乘質感的同時價格還更有優勢,各位同學在選車是不防多留意他們一下。

9月的SUV熱銷榜單出爐了,

※超省錢租車方案

商務出差、學生出遊、旅遊渡假、臨時用車!GO 神州租賃有限公司!合法經營、合法連鎖、合法租賃小客車!

毫無疑問SUV市場依舊保持火熱。而在眾多的熱銷SUV前十名中,自主品牌脫穎而出包攬了緊湊級SUV銷量的前三名。

【總結】如今國內SUV市場的火爆可謂是無人不知,而這當中自主品牌的崛起也讓我們為之欣慰,哈弗H6在競爭激烈的15萬級別SUV市場更是創下了5.3萬的銷量神話,15萬這個價格分水嶺既能選擇以上這些優秀的SUV也能選擇性能平庸的合資品牌轎車,具體怎麼選還得看你們怎麼選擇,但在看來上述的自主品牌的車輛他們在擁有不輸合資車的駕乘質感的同時價格還更有優勢,各位同學在選車是不防多留意他們一下。本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

有別於一般網頁架設公司,除了模組化的架站軟體,我們的營業主軸還包含:資料庫程式開發、網站建置、網頁設計、電子商務專案開發、系統整合、APP設計建置、專業網路行銷。

Kubernetes筆記(四):詳解Namespace與資源限制ResourceQuota,LimitRange_租車

※超省錢租車方案

商務出差、學生出遊、旅遊渡假、臨時用車!GO 神州租賃有限公司!合法經營、合法連鎖、合法租賃小客車!

前面我們對K8s的基本組件與概念有了個大致的印象,並且基於K8s實現了一個初步的CI/CD流程,但對裏面涉及的各個對象(如Namespace, Pod, Deployment, Service, Ingress, PVC等)及各對象的管理可能還缺乏深入的理解與實踐,接下來的文章就讓我們一起深入K8s的各組件內部來一探究竟吧。下圖是基於個人的理解梳理的一個K8s結構圖,示例了各個組件(只包含了主要組件)如何協同。

後續幾篇文章圍繞該圖涉及組件進行整理介紹,本文主要探究Namespace及與Namespace管理相關的資源限制ResourceQuota/LimitRange部分。

Namespace

理解

Namespace即命名空間,主要有兩個方面的作用:

  1. 資源隔離:可為不同的團隊/用戶(或項目)提供虛擬的集群空間,共享同一個Kubernetes集群的資源。比如可以為團隊A創建一個Namespace ns-a,團隊A的項目都部署運行在 ns-a 中,團隊B創建另一個Namespace ns-b,其項目都部署運行在 ns-b 中,或者為開發、測試、生產環境創建不同的Namespace,以做到彼此之間相互隔離,互不影響。我們可以使用 ResourceQuota 與 Resource LimitRange 來指定與限制 各個namesapce的資源分配與使用
  2. 權限控制:可以指定某個namespace哪些用戶可以訪問,哪些用戶不能訪問

Kubernetes 安裝成功后,默認會創建三個namespace:

  • default:默認的namespace,如果創建Kubernetes對象時不指定 metadata.namespace,該對象將在default namespace下創建
  • kube-system:Kubernetes系統創建的對象放在此namespace下,我們前面說的kube-apiserver,etcd,kube-proxy等都在該namespace下
  • kube-public:顧名思義,共享的namespace,所有用戶對該namespace都是可讀的。主要是為集群做預留,一般都不在該namespace下創建對象

實踐

1.查看namesapce

kubectl get namespaces
kubectl get namesapce
kubectl get ns               # 三個操作等效
kubectl get ns --show-labels # 显示namespace的label

使用namesapces,namesapce,ns都是可以的。如下列出了當前集群中的所有namespace

[root@kmaster ~]# kubectl get ns
NAME                   STATUS   AGE
default                Active   34d
develop                Active   17d
ingress-nginx          Active   33d
kube-node-lease        Active   34d
kube-public            Active   34d
kube-system            Active   34d
kubernetes-dashboard   Active   31d
pre-release            Active   17d

可以使用 kubectl describe 命令來查看某個namespace的概要信息,如

[root@kmaster ~]# kubectl describe ns default
Name:         default
Labels:       <none>
Annotations:  <none>
Status:       Active

No resource quota.

No resource limits.

2.創建namespace

有兩種方式:通過yaml定義文件創建或直接使用命令創建。

# 方式1. 通過yaml定義文件創建
[root@kmaster ~]# vim test-namespace.yaml
apiVersion: v1
kind: Namespace
metadata:
  name: test     # namespace的名稱
  labels:
    name: ns-test
[root@kmaster ~]# kubectl create -f ./test-namespace.yaml  

# 方式2. 直接使用命令創建
[root@kmaster ~]# kubectl create ns test

3.在namesapce中創建對象

# 1. 在yaml中通過metadata.namesapce 指定
[root@kmaster ~]# kubectl get deploy my-nginx -o yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    run: my-nginx
  name: my-nginx
  namespace: test  # 指定namespace
spec:
  ...
# 2. 在命令中通過 -n 或 --namesapce 指定
[root@kmaster ~]# kubectl run dev-nginx --image=nginx:latest --replicas=3 -n test

4.設定kubectl namesapce上下文

kubectl上下文即集群、namespace、用戶的組合,設定kubectl上下文,即可以以上下文指定的用戶,在上下文指定的集群與namespace中進行操作管理。查看當前集群kubectl上下文

# 查看當前kubectl上下文
[root@kmaster ~]# kubectl config view
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://192.168.40.111:6443
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    user: kubernetes-admin
  name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED

可見當前上下文為kubernetes-admin@kubernetes (current-context: kubernetes-admin@kubernetes)。

創建一個kubectl上下文

[root@kmaster ~]# kubectl config set-context test --namespace=test --cluster=kubernetes --user=kubernetes-admin
Context "test" created.

再次執行 kubectl config view 將可以看到上面創建的test上下文。

切換上下文

# 設置當前上下文
[root@kmaster ~]# kubectl config use-context test
Switched to context "test".
# 查看當前所在的上下文
[root@kmaster ~]# kubectl config current-context
test

指定了上下文,後續操作都在該上下文對應的namespace中進行,不需要再顯式指定namespace。在上下文中創建對象

# 在當前上下文中創建對象
[root@kmaster ~]# kubectl run my-nginx --image=nginx:latest --replicas=2
kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.
deployment.apps/my-nginx created
# 查看創建的對象,不需要指定namespace
[root@kmaster ~]# kubectl get deploy
NAME       READY   UP-TO-DATE   AVAILABLE   AGE
my-nginx   2/2     2            2           25m
[root@kmaster ~]# kubectl get pod
NAME                        READY   STATUS    RESTARTS   AGE
my-nginx-667764d77b-ldb78   1/1     Running   0          24m
my-nginx-667764d77b-wpgxw   1/1     Running   0          24m

刪除上下文

[root@kmaster ~]# kubectl config delete-context test
deleted context test from /root/.kube/config

也可以使用如下命令直接切換默認的namespace

# 將默認namespace設置為test
[root@kmaster ~]# kubectl config set-context --current --namespace=test

5.刪除namesapce

可以使用 kubectl delete ns <namespace名稱> 來刪除一個namesapce,該操作會刪除namespace中的所有內容。

[root@kmaster ~]# kubectl delete ns test

Resource Quota

Resource Quota即資源配額,限定單個namespace中可使用集群資源的總量,包括兩個維度:

※Google地圖已可更新顯示潭子電動車充電站設置地點!!

日本、大陸,發現這些先進的國家已經早就讓電動車優先上路,而且先進國家空氣品質相當好,電動車節能減碳可以減少空污

  1. 限定某個對象類型(如Pod)可創建對象的總數;
  2. 限定某個對象類型可消耗的計算資源(CPU、內存)與存儲資源(存儲卷聲明)總數

如果在 namespace 中為計算資源 CPU 和內存設定了 ResourceQuota,用戶在創建對象(Pod、Service等)時,必須指定 requests 和 limits;如果在創建或更新對象時申請的資源與 namespace 的 ResourceQuota 衝突,則 apiserver 會返回 HTTP 狀態碼 403,以及對應的錯誤提示信息。當集群中總的容量小於各個 namespace 資源配額的總和時,可能會發生資源爭奪,此時 Kubernetes 將按照先到先得的方式分配資源。

對象數量限制

聲明格式為: count/<resource>.<group>, 如下列出各類對象的聲明格式

count/persistentvolumeclaims 
count/services
count/secrets
count/configmaps
count/replicationcontrollers
count/deployments.apps
count/replicasets.apps
count/statefulsets.apps
count/jobs.batch
count/cronjobs.batch
count/deployments.extensions

計算資源限制

定義CPU、內存請求(requests)、限制(limits)使用的總量,包括

  • limits.cpu:namespace中,所有非終止狀態的 Pod 的 CPU 限制 resources.limits.cpu 總和不能超過該值
  • limits.memory:namespace中,所有非終止狀態的 Pod 的內存限制 resources.limits.memory 總和不能超過該值
  • requests.cpu:namespace中,所有非終止狀態的 Pod 的 CPU 請求 resources.requrest.cpu 總和不能超過該值
  • requests.memory:namespace中,所有非終止狀態的 Pod 的 CPU 請求 resources.requests.memory 總和不能超過該值

存儲資源限制

定義存儲卷聲明請求的存儲總量或創建存儲卷聲明數量的限制,包括

  • requests.storage:namespace中,所有存儲卷聲明(PersistentVolumeClaim)請求的存儲總量不能超過該值
  • persistentvolumeclaims:namespace中,可以創建的存儲卷聲明的總數不能超過該值
  • <storage-class-name>.storageclass.storage.k8s.io/requests.storage:namespace中,所有與指定存儲類(StorageClass)關聯的存儲卷聲明請求的存儲總量不能超過該值
  • <storage-class-name>.storageclass.storage.k8s.io/persistentvolumeclaims:namespace中,所有與指定存儲類關聯的存儲卷聲明的總數不能超過該值

除此之外,還可以對本地臨時存儲資源進行限制定義

  • requests.ephemeral-storage:namespace中,所有 Pod 的本地臨時存儲(local ephemeral storage)請求的總和不能超過該值
  • limits.ephemeral-storage:namespace中,所有 Pod 的本地臨時存儲限定的總和不能超過此值

實踐

查看是否開啟 Resource Quota 支持,默認一般是開啟的。如果沒有,可在啟動 apiserver 時為參數 –enable-admission-plugins 添加 ResourceQuota 配置項。

1.創建ResourceQuota

# 創建namespace
[root@kmaster ~]# kubectl create namespace test
# 編輯ResourceQuota定義文檔
[root@kmaster ~]# vim quota-test.yaml
apiVersion: v1
kind: ResourceQuota
metadata:
  name: quota-test
  namespace: test
spec:
  hard:
    requests.cpu: "2"
    requests.memory: 2Gi
    limits.cpu: "4"
    limits.memory: 4Gi
    requests.nvidia.com/gpu: 4
    pods: "3"
    services: "6"
# 創建ResourceQuota
[root@kmaster ~]# kubectl apply -f quota-test.yaml
# 查看
[root@kmaster ~]# kubectl get quota -n test
NAME         CREATED AT
quota-test   2020-05-26T10:31:10Z
[root@kmaster ~]# kubectl describe quota quota-test -n test
Name:                    quota-test
Namespace:               test
Resource                 Used  Hard
--------                 ----  ----
limits.cpu               0     4
limits.memory            0     4Gi
pods                     0     3
requests.cpu             0     2
requests.memory          0     2Gi
requests.nvidia.com/gpu  0     4
services                 0     6

或者使用kubectl命令,如

[root@kmaster ~]# kubectl create quota quota-test --hard=count/deployments.extensions=2,count/replicasets.extensions=4,count/pods=3,count/secrets=4 --namespace=test

我們在namespace test中創建了一個ResourceQuota,限制CPU、內存請求為2、2GB,限制CPU、內存限定使用為4、4GB,限制Pod個數為3 等。

我們來嘗試創建一個如下定義的Deployment來測試一下,

# 創建一個測試deploy
[root@kmaster ~]# vim quota-test-deploy.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: quota-test-deploy
spec:
 selector:
    matchLabels:
      purpose: quota-test
 replicas: 3
 template:
   metadata:
     labels:
       purpose: quota-test
   spec:
     containers:
     - name: quota-test
       image: nginx
       resources:
         limits:
           memory: "2Gi"
           cpu: "1"
         requests:
           memory: "500Mi"
           cpu: "500m"
[root@kmaster ~]# kubectl apply -f quota-test-deploy.yaml -n test
# 查看pod
[root@kmaster ~]# kubectl get pod -n test
NAME                                 READY   STATUS    RESTARTS   AGE
quota-test-deploy-6b89fdc686-2dthq   1/1     Running   0          3m54s
quota-test-deploy-6b89fdc686-9m2qw   1/1     Running   0          3m54s
# 查看deploy狀態
[root@kmaster ~]# kubectl get deploy quota-test-deploy -n test -o yaml
  message: 'pods "quota-test-deploy-6b89fdc686-rmktq" is forbidden: exceeded quota:
        quota-test, requested: limits.memory=2Gi, used: limits.memory=4Gi, limited:
        limits.memory=4Gi'

replicas: 3定義創建三個Pod副本,但只成功創建了兩個Pod,在deploy的status部分(最後一條命令結果),我們可以看到message提示第三個Pod創建時被拒絕,因為內存已達到限定。我們也可以將limits.memory調整為1Gi,將replicas調整為4,來驗證對Pod個數的限制。可看到最終只起了三個Pod,status部分message提示 pods "quota-test-deploy-9dc54f95c-gzqw7" is forbidden: exceeded quota:quota-test, requested: pods=1, used: pods=3, limited: pods=3

Resource Limit Range

理解

Resource Quota 是對namespace中總體的資源使用進行限制,Resource Limit Range 則是對具體某個Pod或容器的資源使用進行限制。默認情況下,namespace中Pod或容器的資源消耗是不受限制的,這就可能導致某個容器應用內存泄露耗盡資源影響其它應用的情況。Limit Range可以用來限定namespace內Pod(或容器)可以消耗資源的數量。

使用LimitRange對象,我們可以:

  1. 限制namespace中每個Pod或容器的最小與最大計算資源
  2. 限制namespace中每個Pod或容器計算資源request、limit之間的比例
  3. 限制namespace中每個存儲卷聲明(PersistentVolumeClaim)可使用的最小與最大存儲空間
  4. 設置namespace中容器默認計算資源的request、limit,並在運行時自動注入到容器中

如果創建或更新對象(Pod、容器、PersistentVolumeClaim)對資源的請求與LimitRange相衝突,apiserver會返回HTTP狀態碼403,以及相應的錯誤提示信息;如果namespace中定義了LimitRange 來限定CPU與內存等計算資源的使用,則用戶創建Pod、容器時,必須指定CPU或內存的request與limit,否則將被系統拒絕;當namespace總的limit小於其中Pod、容器的limit之和時,將發生資源爭奪,Pod或者容器將不能創建,但不影響已經創建的Pod或容器。

實踐

創建一個測試namespace test-limitrange,

# 創建測試namespace
[root@kmaster ~]# kubectl create namespace test-limitrange
# 切換默認的namespace
[root@kmaster ~]# kubectl config set-context --current --namespace=test-limitrange

創建LimitRange定義文件 lr-test.yaml

apiVersion: v1
kind: LimitRange
metadata:
  name: lr-test
spec:
  limits:
  - type: Container       #資源類型
    max:
      cpu: "1"            #限定最大CPU
      memory: "1Gi"       #限定最大內存
    min:
      cpu: "100m"         #限定最小CPU
      memory: "100Mi"     #限定最小內存
    default:
      cpu: "900m"         #默認CPU限定
      memory: "800Mi"     #默認內存限定
    defaultRequest:
      cpu: "200m"         #默認CPU請求
      memory: "200Mi"     #默認內存請求
    maxLimitRequestRatio:
      cpu: 2              #限定CPU limit/request比值最大為2  
      memory: 1.5         #限定內存limit/request比值最大為1.5
  - type: Pod
    max:
      cpu: "2"            #限定Pod最大CPU
      memory: "2Gi"       #限定Pod最大內存
  - type: PersistentVolumeClaim
    max:
      storage: 2Gi        #限定PVC最大的requests.storage
    min:
      storage: 1Gi        #限定PVC最小的requests.storage

該文件定義了在namespace test-limitrange 中,容器、Pod、PVC的資源限制,在該namesapce中,只有滿足如下條件,對象才能創建成功

  • 容器的resources.limits部分CPU必須在100m-1之間,內存必須在100Mi-1Gi之間,否則創建失敗
  • 容器的resources.limits部分CPU與resources.requests部分CPU的比值最大為2,memory比值最大為1.5,否則創建失敗
  • Pod內所有容器的resources.limits部分CPU總和最大為2,內存總和最大為2Gi,否則創建失敗
  • PVC的resources.requests.storage最大為2Gi,最小為1Gi,否則創建失敗

如果容器定義了resources.requests沒有定義resources.limits,則LimitRange中的default部分將作為limit注入到容器中;如果容器定義了resources.limits卻沒有定義resources.requests,則將requests值也設置為limits的值;如果容器兩者都沒有定義,則使用LimitRange中default作為limits,defaultRequest作為requests值

創建與查看LimitRange,

# 創建LimitRange
[root@kmaster ~]# kubectl apply -f lr-test.yaml
# 查看
[root@kmaster ~]# kubectl describe limits lr-test
Name:                  lr-test
Namespace:             test-limitrange
Type                   Resource  Min    Max  Default Request  Default Limit  Max Limit/Request Ratio
----                   --------  ---    ---  ---------------  -------------  -----------------------
Container              cpu       100m   1    200m             900m           2
Container              memory    100Mi  1Gi  200Mi            800Mi          1500m
Pod                    cpu       -      2    -                -              -
Pod                    memory    -      2Gi  -                -              -
PersistentVolumeClaim  storage   1Gi    2Gi  -                -              -

我們可以創建不同配置的容器或Pod對象來驗證,出於篇幅不再列出驗證步驟。

總結

本文對K8s的Namespace及針對Namespace的資源限制管理ResourceQuota,LimitRange進行了較為深入的探索,其中ResourceQuota對整個Namespace的資源使用情況進行限制,LimitRange則對單個的Pod或容器的資源使用進行限制。Namespace的權限控制可基於RBAC來實現,後續再單獨進行梳理介紹。

原文地址:http://blog.jboost.cn/k8s4-namespace.html

相關閱讀:

  1. Kubernetes筆記(一):十分鐘部署一套K8s環境
  2. Kubernetes筆記(二):了解k8s的基本組件與概念
  3. Kubernetes筆記(三):Gitlab+Jenkins Pipeline+Docker+k8s+Helm自動化部署實踐(乾貨分享!)

作者:雨歌,一枚仍在學習路上的IT老兵
歡迎關注作者公眾號:半路雨歌,一起學習成長

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

有別於一般網頁架設公司,除了模組化的架站軟體,我們的營業主軸還包含:資料庫程式開發、網站建置、網頁設計、電子商務專案開發、系統整合、APP設計建置、專業網路行銷。

9.9萬起它的油耗堪稱SUV中最低!車主們有話要說_潭子電動車

※超省錢租車方案

商務出差、學生出遊、旅遊渡假、臨時用車!GO 神州租賃有限公司!合法經營、合法連鎖、合法租賃小客車!

不滿意的地方:懸挂稍微偏硬,內飾的質感確實不怎樣,配置上唯一的遺憾就是沒有倒車影像。車主一購買車型:1。4T 自動四驅旗艦型裸車價:15。48萬元滿意的地方:相比其他同級的SUV車型,維特拉顯得較為硬朗,也有個性,凹凸有致。

在之前,很多人普遍都認為SUV比轎車耗油,也有很多人證實過SUV比一定比轎車耗油,這是一個糾結的問題。不過,有輛SUV卻做到了,它的油耗可以說比一些同級的轎車還低,無論是自動還是手動,目前用戶油耗的平均值沒有超過7L/100km。

長安鈴木-維特拉

指導價:9.98-15.98萬

車身尺寸

長*寬*高:4175*1775*1610mm

軸距:2500mm

動力匹配

1.6L 122馬力 L4 + 5擋手動

1.4T 140馬力 L4 + 6擋手動/6擋手自一體

車主一

購買車型:1.4T 手動兩驅豪華型

裸車價:13.3萬元

滿意的地方:外觀設計的比較硬朗,很有SUV的范,車頭燈很犀利。選的這個版本的車型配置算是比較豐富,舒適性配置較為齊全。在小型SUV裏面來說,空間乘坐較為舒適,也挺寬敞的。動力很足,提速很快,轉向舒適。在100km/h的高速上,显示5.1L,日常上下班在6.1L左右,過了磨合期應該會更低。

不滿意的地方:懸挂稍微偏硬,內飾的質感確實不怎樣,配置上唯一的遺憾就是沒有倒車影像。

車主一

購買車型:1.4T 自動四驅旗艦型

裸車價:15.48萬元

滿意的地方:相比其他同級的SUV車型,維特拉顯得較為硬朗,也有個性,凹凸有致。性價比還算可以,

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

有別於一般網頁架設公司,除了模組化的架站軟體,我們的營業主軸還包含:資料庫程式開發、網站建置、網頁設計、電子商務專案開發、系統整合、APP設計建置、專業網路行銷。

在這樣裸車價上找到這些配置車,也很難找到。1.4T渦輪增壓發動機很給力,超車很輕鬆,油門一點都不拖沓,剎車很線性。在提車回來之後,油耗一直在降,目前是6個多一點,養車成本少了不少。

不滿意的地方:空間對於體型較高較大的人來說有些局促,內飾做工用料不敢恭維,隔音不是很好。

點評:說起鈴木的車型,不少人會想雨燕,奧拓這兩款,從中也可以看出,鈴木對於造小型車還是比較在行的,三大件的技術也較為成熟。而對於維特拉,最大的賣點無非就是它的油耗,低於7L的耗油,實在是讓人驚喜,當然,除了發動機的功勞之外,車重也是一點,1.2噸的車重降低了不少耗油量。維特拉的空間不能說寬敞,應該說夠用。而至於內飾的質感,這是鈴木一向的短板,做工用料都較為差一些,沒有外觀顯得那麼精緻。總體來說,維特拉有購買的硬理由,也不會給人說怎麼會要買它,而不是別的車型。本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

※Google地圖已可更新顯示潭子電動車充電站設置地點!!

日本、大陸,發現這些先進的國家已經早就讓電動車優先上路,而且先進國家空氣品質相當好,電動車節能減碳可以減少空污

英企須揭露氣候風險_租車

※超省錢租車方案

商務出差、學生出遊、旅遊渡假、臨時用車!GO 神州租賃有限公司!合法經營、合法連鎖、合法租賃小客車!

摘錄自2020年11月11日經濟日報報導

英國財政大臣蘇納克(Rishi Sunak)宣布,將強制要求大企業和金融機構在未來5年內提出氣候風險報告,以推動淨零碳排放計畫,凸顯英國減緩全球暖化問題的決心。

蘇納克表示,計劃在2025年前強制大公司和金融機構提出氣候風險報告,此舉比「氣候相關財務揭露專案小組」(TCFD)的建議更嚴格,且為20國集團(G20)中第一個實施這種措施的國家。

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

有別於一般網頁架設公司,除了模組化的架站軟體,我們的營業主軸還包含:資料庫程式開發、網站建置、網頁設計、電子商務專案開發、系統整合、APP設計建置、專業網路行銷。

英國財政部表示,新規定涵蓋的經濟活動範圍很大,包括上市公司、在英國註冊的大型未上市企業、銀行、住屋互助會、保險公司、獲英國政府核准的資產管理公司、壽險公司、受金融行為監理總署(FCA)監管的退休金方案、職業退休金計畫。

蘇納克也宣布英國第一個綠色債券計畫,預定2021年在金融市場發行,發債籌得的資金,將投入減少碳排放的計劃,以及創造就業機會。

氣候變遷
國際新聞
英國
氣候風險

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

※Google地圖已可更新顯示潭子電動車充電站設置地點!!

日本、大陸,發現這些先進的國家已經早就讓電動車優先上路,而且先進國家空氣品質相當好,電動車節能減碳可以減少空污

Diffie-Hellman密鑰協商算法_租車

※Google地圖已可更新顯示潭子電動車充電站設置地點!!

日本、大陸,發現這些先進的國家已經早就讓電動車優先上路,而且先進國家空氣品質相當好,電動車節能減碳可以減少空污

概述

DH算法是非對稱加密算法的鼻祖,為非對稱加密算法奠定了基礎,主要用途是進行密鑰交換確保共享的密鑰能夠安全穿越不安全的網絡。該算法其背後有對應數學理論做支撐,簡單來講就是構造一個複雜的計算難題,使得對該問題的求解在現實的時間內無法快速有效的求解(computationally infeasible )。

這個機制的巧妙在於需要安全通信的雙方可以用這個方法確定對稱密鑰。然後可以用這個對稱密鑰進行加密和解密。但是注意,這個密鑰交換協議/算法只能用於密鑰的交換,而不能進行消息的加密和解密。之所以如此,主要還是由於對稱加密和非對稱加密算法的特性決定的。

1. 對稱加密算法和非對稱加密算法

對稱加密算法

雙方使用的同一個密鑰,既可以加密又可以解密,這種加密方法稱為對稱加密,也稱為單密鑰加密。

優點:速度快,對稱性加密通常在消息發送方需要加密大量數據時使用,算法公開、計算量小、加密速度快、加密效率高。

缺點:在數據傳送前,發送方和接收方必須商定好秘鑰,然後 使雙方都能保存好秘鑰。其次如果一方的秘鑰被泄露,那麼加密信息也就不安全了。另外,每對用戶每次使用對稱加密算法時,都需要使用其他人不知道的唯一秘鑰,這會使得收、發雙方所擁有的鑰匙數量巨大,密鑰管理成為雙方的負擔。

在對稱加密算法中常用的算法有:DES、AES等。

AES:密鑰的長度可以為128、192和256位,也就是16個字節、24個字節和32個字節。

DES:密鑰的長度64位,8個字節。

非對稱加密算法

一對密鑰由公鑰和私鑰組成(可以使用很多對密鑰)。私鑰解密公鑰加密數據,公鑰解密私鑰加密數據(私鑰公鑰可以互相加密解密)。私鑰只能由一方保管,不能外泄。公鑰可以交給任何請求方。

優點:安全。

缺點:速度較慢。

在非對稱加密算法中常用的算法有: DH,RSA等。

兩者區別

  • 算法複雜度:對稱密鑰<非對稱密鑰
  • 加解密速度:對稱密鑰>非對稱密鑰
  • 安全性:對稱密鑰<非對稱密鑰

對稱加密算法相比非對稱加密算法來說,加解密的效率要高得多。但是缺陷在於對於秘鑰的管理上,以及在非安全信道中通訊時,密鑰交換的安全性不能保障。所以在實際的網絡環境中,會將兩者混合使用。因此 ,在https中(TLS\SSL)握手階段使用非對稱加密進行對稱密鑰的協商,而後在後續正常的數據傳輸時,都會使用對稱加密算法進行加密傳輸。

數學基礎

本原根:如果使得 \(a^{m}\equiv 1\ \left( mod\ n \right)\) 成立的最小正冪 \(m\) 滿足 $m=\varphi \left( n \right) $ ,則稱 \(a\)\(n\) 的本原根。 其中 \(\varphi \left( n \right)\) 為歐拉函數。

性質:若 \(a\) 為模 \(n\) 的本原根,則 \(a\)\(a\) 的平方,\(a\) 的3次方,……,\(a\)\(\varphi \left( n \right)\) 次m方 模 \(n\) 的餘數互不相同,而且構成一個模n的簡化剩餘系。

栗子(原根):設 \(n=7\),則 \(\varphi \left( 7 \right) =7\times \left( 1-\frac{1}{7} \right) =6\)

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

有別於一般網頁架設公司,除了模組化的架站軟體,我們的營業主軸還包含:資料庫程式開發、網站建置、網頁設計、電子商務專案開發、系統整合、APP設計建置、專業網路行銷。

  • \(n=2\) 時,我們需要找到一個 \(m\), 使得 \(2^m\%7=1\),且剛好 \(m==\varphi \left( 7 \right)\),首先我們能找到當 \(m=3\) 時,\(2^3\%7=1\),但是卻不等於 \(\varphi \left( 7 \right)\),因此不滿足。
  • \(n=3\)時,類比上面一點,可以發現 \(m=6\) 時,兩點都能滿足。因此 \(3\)\(7\) 的一個原根。

question:找了很多資料對原本根和原根的區別,還是很含糊!有大神的話,希望能教教我,感謝啦!

算法流程及原理

假設Alice需要與Bob協商一個秘鑰(秘鑰本質上就是一個比特序列,從計算的角度看就是一個大數)。

  1. 首先Alice與Bob共享一個素數 \(p\) 以及該素數 \(p\) 的本原根 \(g\) (generator),且 \(2\le g\le p-1\)。這兩個數可以不經過加密的由一方發送到另一方,至於誰發送給誰並不重要,只要保證雙方都能知道 \(p\)\(g\) 即可。
  1. 而後Alice產生一個私有的隨機數 \(A\),滿足 \(1\le A\le p-1\),然後計算 \(g^Amod\ p=Y_a\),將結果 \(Y_a\) 通過公網發送給Bob; 與此同時,Bob也產生一個私有的隨機數 \(B\),滿足 \(1\le B\le p-1\),計算 \(g^Bmod\ p=Y_b\),再將結果 \(Y_b\) 通過公網發送給Alice。
  1. 此時Alice知道的信息有\(p\),\(g\),\(A\),\(Y_a\),\(Y_b\),其中数字 \(A\) 是Alice私有的,只有她自己知道,其他的信息都是別人可能知道的;同樣Bob知道的信息有\(p\),\(g\),\(A\),\(Y_a\),\(Y_b\),其中数字 \(B\) 是Bob私有的,只有自己知道。

    到目前為止,Alice和Bob之間的密鑰協商結束。

    Alice通過計算 \(K_a=\left( Y_b \right) ^A\ mod\ p\) 得到密鑰 \(K_a\),同樣的,Bob通過計算 \(K_b=\left( Y_a \right) ^B\ mod\ p\) 得到密鑰 \(K_b\),可以證明,必然滿足 \(K_a=K_b\)。由此,Alice和Bob得到了相同的密鑰,達成了密鑰協商的目的。

    證明:\(K_a=K_b\)

    對於Alice有:

    \(K_a=\left( Y_b \right) ^Amod\ p=\left( g^Bmod\ p \right) ^A\ mod\ p=g^{B\times A}\ mod\ p\)

    對於Bob有:

    \(K_b=\left( Y_a \right) ^Bmod\ p=\left( g^Amod\ p \right) ^B\ mod\ p=g^{A\times B}\ mod\ p\)

    上面的運算過程,可根據取模運算的性質可得【a ^ b % p = ((a % p)^b) % p】,由上可得,Alice和Bob生成的密鑰其實是進行相同的運算過程,因此必然有 \(K_a=K_b\)

  2. 如果存在一個竊聽者Eve,他能否破解密鑰呢?很顯然Eve能夠竊聽到 \(p\),\(g\),\(Y_a\),\(Y_b\),所以問題轉變了,Eve能否根據這些信息計算出 \(K_a\)\(K_b\) ?要計算 \(K_a\)\(K_b\) 需要知道A和B。

    以計算A為例,Eve能根據 \(p\),\(g\),\(Y_a\) 通過 \(g^Amod\ p=Y_a\) 計算出 \(A\) 嗎? 目前所知的最佳算法Pollard’s rho algorithm for logarithms 時間複雜度是 \(O\left( \sqrt{p} \right)\), 但是實際應用中的 \(p\) 為二進制,假設這個 \(p\) 的長度為 \(n\), 這個複雜度實際上是 $O\left( 2^{\frac{n}{2}} \right) $,這個一個指數級的複雜度,是非常高的。因此求解該問題在計算上的困難程度保證了DH算法的安全性。

安全性問題

那DH密鑰協商算法是否就一定安全呢?我們所熟知的,存在一種偽裝者攻擊(中間人攻擊)能夠對這種密鑰協商算法造成威脅。

假設密鑰協商過程中,在Alice和Bob有一個稱為Alan的主動攻擊者,他能夠截獲Alice和Bob的消息並偽造假消息,考慮以下情況。

  1. Alice和Bob已經共享一個素數 \(p\) 以及其該素數 \(p\) 的本原根 \(g\),當然Alan也監聽到報文得知了這個兩個消息。
  2. 此時Alice計算 \(g^Amod\ p=Y_a\) ,然而將 \(Y_a\) 發送給Bob的過程中被Alan攔截了,Alan自己選定了一個隨機數 \(C\), 計算 \(Y_c=g^C\ mod\ p\), 然後將 \(Y_c\) 發送給Bob。
  1. 同時Bob計算 \(g^Bmod\ p=Y_b\),同樣在將 \(Y_b\) 發送給Alice的過程中被Alan攔截下來,Alan自己選定了一個隨機數D ,計算 \(g^Dmod\ p=Y_d\) 發送給了Alice
  1. 由於Alice和Bob通訊的消息被替換,Alice計算出來的密鑰實際上為Alice和Alan之間協商的密鑰:\(K_{ad}=g^{D\times A}\ mod\ p\);Bob計算出來的密鑰實際上是Blob和Alan之間協商的密鑰:\(K_{bc}=g^{C\times B}\ mod\ p\) 。如果之後Alice和Bob用他們各自計算出來的密鑰加密任何信息,Alan截獲之後都能夠解密得到明文,而Alan也能夠偽裝成Alice或者Bob給雙方發消息,而不至於被發現。

代碼為java實現。

參考

https://www.cnblogs.com/qcblog/p/9016704.html

https://www.cnblogs.com/wushaopei/p/11979200.html

https://blog.csdn.net/l18339702017/article/details/81625257

https://www.jiamisoft.com/blog/24603-dcfdcjm.html

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

※超省錢租車方案

商務出差、學生出遊、旅遊渡假、臨時用車!GO 神州租賃有限公司!合法經營、合法連鎖、合法租賃小客車!

實用性+操控性 有這款12.6萬起家用神車SUV都不用賣了!_租車

※超省錢租車方案

商務出差、學生出遊、旅遊渡假、臨時用車!GO 神州租賃有限公司!合法經營、合法連鎖、合法租賃小客車!

內飾設計難免顯得有些落俗,沒有什麼值得深入解析的地方,典型的大眾風格內飾,熟悉的人會倍感熟悉,陌生的人很容易找到溝通感,一種設計感稍差,實用性還算出色的內飾風格已經在大眾近年來的車型上非常普及。蔚領的車身尺寸為4559*1793*1487mm,軸距為2614mm,標準的緊湊型家轎尺寸,作為一款要兼顧一定通過性的跨界旅行車,蔚領的離地間隙達到132mm,在面對較為坑窪的非鋪裝路面時,蔚領比一般三廂家轎有更好的適應性。

一汽大眾蔚領是一汽大眾旗下全新的一款跨界旅行車,自從發布以來便一直受到不小的關注,就在11月3日,一汽大眾正式宣布蔚領上市,售價為12.59-16.29萬元。作為一款獨具個性的跨界旅行車,一汽大眾蔚領有什麼特點?購置哪款車比較值得購買?

一汽大眾-蔚領

指導價格:12.59-16.29萬

外觀:熟悉中有種新意

作為一台大眾的車型,這幾年新車推送出來也很難給人一種驚艷的感覺,前臉依舊還是濃郁的家族風格,大燈造型和自家三廂轎車寶來的設計方式如出一轍,只是中網類似麟甲的設計頗具新意,辨識度還算不錯。

說它是跨界旅行車並不是毫無道理,車身較短(4559mm),不像一台旅行車該有的那種尺寸,也不像兩廂車那般緊湊,但是不得不說這種在三廂、旅行、兩廂三種車型中間取得一個平衡的設計方式,讓蔚領這款車在審美疲勞較為嚴重的大眾車系裡面有了一種個性。

內飾:老舊的平台難免落俗

儘管蔚領來自所謂的C-TREK理念,但不可忽視的是它依舊是衍生於一個老舊的技術平台——pQ34,這款平台下的車型我們已經很熟悉,諸如朗逸、寶來、朗行、朗境,都是來自此平台的產物。

內飾設計難免顯得有些落俗,

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

有別於一般網頁架設公司,除了模組化的架站軟體,我們的營業主軸還包含:資料庫程式開發、網站建置、網頁設計、電子商務專案開發、系統整合、APP設計建置、專業網路行銷。

沒有什麼值得深入解析的地方,典型的大眾風格內飾,熟悉的人會倍感熟悉,陌生的人很容易找到溝通感,一種設計感稍差,實用性還算出色的內飾風格已經在大眾近年來的車型上非常普及。

蔚領的車身尺寸為4559*1793*1487mm,軸距為2614mm,標準的緊湊型家轎尺寸,作為一款要兼顧一定通過性的跨界旅行車,蔚領的離地間隙達到132mm,在面對較為坑窪的非鋪裝路面時,蔚領比一般三廂家轎有更好的適應性。

動力:真沒什麼好說的

蔚領搭載的是一套EA211發動機,兩種排量分別為1.6L自然吸氣與1.4T渦輪增壓,前者110匹馬力,峰值扭矩155牛米,後者131匹最大馬力,峰值扭矩225牛米;傳動系統除手動車型以外,分別搭載6速手自一體和7速乾式雙離合變速箱,這對於熟悉大眾車型的朋友來說,早已爛熟於心了吧。

配置:推薦豪華型

蔚領的配置原廠裝備得並不齊全,作為旅行車,標配全景天窗和車頂行李架是情理之中的事情,但是全系鹵素大燈,只有豪華型可選裝氙氣大燈和LED日間行車燈的做法顯得有些不太厚道。

推薦豪華型的原因在於安全裝備的配備更齊全,舒適型的前排側氣囊和前後排側氣簾都為選裝件,作為一款家用車來說,安全氣囊的配置可以說既是為自己也是為家人負責的重要選項。

全文總結:蔚領是目前十五萬左右可以選擇的較為新穎的選擇,比轎車更強的裝載能力和更優秀的道路通過性都是蔚領的優勢。

不足之處在於原廠的配置較為“寒酸”,儘管全系標配ESp、上坡輔助、胎壓檢測、定速巡航等相對實用的配置,但是大燈光源、日間行車燈等較為體現車輛高檔感的配置依然為選裝件,蔚領的技術成本不算太高,畢竟技術平台、動力總成都是現成的東西,有助於提升車輛檔次感的裝備較為欠缺,消費者願為其買單的熱情有多高還有待商榷。本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

※Google地圖已可更新顯示潭子電動車充電站設置地點!!

日本、大陸,發現這些先進的國家已經早就讓電動車優先上路,而且先進國家空氣品質相當好,電動車節能減碳可以減少空污

快時尚攜手設計師能否取而代之?_租車

※Google地圖已可更新顯示潭子電動車充電站設置地點!!

日本、大陸,發現這些先進的國家已經早就讓電動車優先上路,而且先進國家空氣品質相當好,電動車節能減碳可以減少空污

快時尚攜手設計師能否取而代之?

9月、10月,隨着企業年度、半年度業績基本披露完畢,2019年以來,各大時尚品牌的發展態勢也終於浮出水面。最新的數據與市場動向显示,幾大輕奢服裝、珠寶巨頭的日子似乎有些不好過。

2017年“鯨吞”了Kate Spade,令全球輕奢格局從“三足鼎立”變為“兩大巨頭”模式的Coach母公司——美國輕奢集團Tapestry,最近公布了第四財季業績報告。報告显示,其第四季度凈銷售額同比上漲2%至15.1億美元,凈收入同比大跌29.7%至1.49億美元,均低於市場及分析師預期。財報發布當日,Tapestry集團股價大跌超過22%,創下集團自2001年以來的單日最大跌幅。

步入9月,Tapestry集團頒布了一項“人事任命”——9月4日,Tapestry集團宣布原CEO Victor Luis正式離職,該集團董事長Jide Zeitlin將成為新任CEO。而Victor Luis正是Tapestry集團近四五年來“多品牌戰略”的策劃者與執行者,他在任時,Tapestry集團的前身Coach集團於2015年收購了Stuart Weitzman、2017年收購了Kate Spade,並將集團正式更名為“Tapestry”。

另一家同樣走多品牌路線、前身為“Michael Kors集團”的Capri集團最新公布的2019/2020財年第一季度數據显示,期內Capri集團凈銷售總額同比增長11.9%至13.46億美元,略低於分析師平均預期的13.7億美元。其中,Capri集團於2018年12月收購的Versace成為“業績奶牛”,期內該品牌的可比門店銷售額呈雙位數增長。但Michael Kors的表現卻不佳,期內凈銷售額同比下降 4.8%至9.81億美元,Capri集團在財報中稱,Michael Kors銷售下降的主要原因在於銷售渠道過度依賴百貨公司,隨着網絡購物的快速發展,百貨公司的發展陷入困境,對 Michael Kors的銷售造成很大影響。

時裝領域外,珠寶領域的輕奢品牌在2019年上半年也遭遇到了類似的發展窘境。除了因“門店數據造假案”而深陷破產傳聞的Folli Follie,丹麥珠寶品牌運營商Pandora潘多拉2019年第二季度的表現也讓不少人“大跌眼鏡”。期內,該集團銷售額大跌10%至46.9億丹麥克朗(約合49億元人民幣),凈利潤暴跌50%至5.26億丹麥克朗(約合5.52億元人民幣),集團CEO表示,這一季業績下滑主要受實體店客流量減少影響,未來將通過回購批發庫存、減少折扣等措施以及一系列的創意營銷活動,重新喚起消費者們的關注。

據光大證券研究院研報,“輕奢”是可以讓更廣泛的群體負擔得起的奢侈品,其“主力產品價格在150美元-1500美元之間”。輕奢品具有奢侈品的基因,品質上有高端質感,營銷上注重品牌形象,性價比較高,價格更為親民,設計符合年輕人的個性需求。

但最近兩年,輕奢產品在年輕群體中並不受寵。要客研究院最新發布的《2019年中國奢侈品電商報告》显示,時下年輕消費者在電商渠道購買的奢侈品以“硬奢”產品為主,線上購買品類中,珠寶佔比最多為31%,服裝配飾佔比19%,腕錶佔比18%。與輕奢品牌相比,他們更樂於在潮牌或是小眾品牌上花更多錢。

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

有別於一般網頁架設公司,除了模組化的架站軟體,我們的營業主軸還包含:資料庫程式開發、網站建置、網頁設計、電子商務專案開發、系統整合、APP設計建置、專業網路行銷。

相比於輕奢品牌,2019年上半年,除了陷入“分拆”局面的GAP集團外,ZARA、H&M與優衣庫等快時尚巨頭,業績表現尚可。細心的消費者們可以發現,近幾個季度,這些快時尚巨頭除了越來越积極“觸網”,也開始售賣定價數千元的“定製款”或是“設計師聯名款”產品,大有“蠶食”輕奢品牌一隅之地的跡象。雖然現在討論快時尚攜手設計師可否取代輕奢還為之過早,但觀察、分析兩例“快時尚×設計師”的成功案例后,相信不少人也會有一定程度的判斷。

Giambattista Valli×H&M系列

5月24日,藉著戛納晚宴的契機,H&M公布了今年設計師聯名的合作對象——Giambattista Valli。戛納活動上,Kendall Jenner、李宇春、Chiara Ferragni等都身穿預熱系列新品,可以說“產品未出,營銷先火”。

此次Giambattista Valli與H&M的聯名與以往不大一樣。Giambattista Valli是一個只做高定禮服的設計師品牌,除了有主線成衣系列,設計師在2014年還推出了年輕化的副線品牌Giamba。有了“高定”的標籤,使得這一系列單品有了更高的“格調”。而且,與高定禮服相比,該聯名系列單品的價格並不會讓人“高攀不起”:最便宜的一款連衣裙售價1490元,最貴的單品不超過4000元,極具設計師個人風格。

KAWS×優衣庫聯名UT

每年夏天優衣庫都會推出聯名系列T恤,今年也不例外。6月,優衣庫與紐約潮流藝術家KAWS合作的聯名系列T恤銷售空前火爆,線下門店甚至出現了消費者鑽門、扒模特衣服的現象,成為熱議話題。

不過,有不少行業人士指出此次“KAWS×優衣庫”聯名系列引發搶購的事件,存在着一些偶然因素,具有一定的孤立性。首先,過去一兩年裡,KAWS本人的“升值”幅度較為可觀,其作品《THE KAWS ALBUM》在2019年4月的香港蘇富比拍賣會上以500萬港元起拍,最後超1億港元成交。他在2019年春夏與Dior合作的“XX”BFF(Best Friend Forever)娃娃,售價高達7500美元。近年來,他與其他品牌的聯名合作款,大多數售價也在千元以上。

但大多數專家也認同,“藝術與跨界”着實是一種更為高級的“產品升級”。快時尚在與藝術家、設計師聯名后推出的產品,“情感”應答的內容變得更加豐富,而有情感呼應的產品將很容易成為引發“現象級”搶購的“爆品”。

網站內容來源http://www.online.jx.cn/

※超省錢租車方案

商務出差、學生出遊、旅遊渡假、臨時用車!GO 神州租賃有限公司!合法經營、合法連鎖、合法租賃小客車!

講真 這應該是20萬出頭最值得買的7座合資SUV!_租車

※Google地圖已可更新顯示潭子電動車充電站設置地點!!

日本、大陸,發現這些先進的國家已經早就讓電動車優先上路,而且先進國家空氣品質相當好,電動車節能減碳可以減少空污

主推車型2。4L排量有着192ps的最大馬力和235N。m的峰值扭矩,這對於應付一般的郊區鋪裝路面已經足夠。為什麼說它值得買。一、便宜便宜的售價可以說是廣汽三菱歐藍德最有利的競爭武器,廣汽三菱歐藍德的頂配價格莫過於22。38萬,這對於大多數合資品牌緊湊型SUV來說僅僅是購買到中配的價格,但是歐藍德可以直接上到頂配車型,並且配置非常齊全。

一提到大空間7座SUV,很多人往往會第一時間想到豐田漢蘭達和福特銳界這兩款中型SUV。的確這兩款車型在市場上的銷量表現可以說是相當出色, 但是動輒三十萬的售價讓很多預算吃緊而又有7座購車需求的朋友感到捉急。其實二十萬出頭的七座SUV在市場存量上並不在少數,但近期新晉上市的廣汽三菱歐藍德,是小編覺得目前二十萬左右的7座SUV裏面性價比較高的選擇。

廣汽三菱——歐藍德

指導價格:15.98-22.38萬

此前的歐藍德只作為進口車型在國內銷售,並且從第一代以來的口碑積攢一直處於不錯的狀態,故在國內有相當大一部分消費者對於歐藍德的認同度很高,如今正式國產,也重新激起了很多粉絲對於它的熱情。

廣汽三菱歐藍德的外觀是從海外版本直接引進,前臉使用大面積的鍍鉻裝飾略顯囂張,整體設計風格延續了三菱Dynamic Shield家族式臉譜,造型犀利,層次感豐富,也給予了觀眾較強的視覺衝擊力。只是個人會覺得這套前臉耐看程度不高。

中控使用了一套8英寸的觸控屏幕,功能集成了當下主流的手機互聯功能,實用度不低,但內飾偏向樸實的設計,對於年輕一些的消費者來說吸引力或許不夠。不過由於歐藍德定義的是一款家用緊湊型SUV,少一些浮夸的裝飾與設計或許正是這類車主所希望的。

動力總成採用的是兩套發動機,兩種排量分別為2.0L和2.4L,與之匹配的是模擬6擋的CVT無級變速箱。主推車型2.4L排量有着192ps的最大馬力和235N.m的峰值扭矩,這對於應付一般的郊區鋪裝路面已經足夠。

為什麼說它值得買?

一、便宜

便宜的售價可以說是廣汽三菱歐藍德最有利的競爭武器,廣汽三菱歐藍德的頂配價格莫過於22.38萬,這對於大多數合資品牌緊湊型SUV來說僅僅是購買到中配的價格,但是歐藍德可以直接上到頂配車型,

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

有別於一般網頁架設公司,除了模組化的架站軟體,我們的營業主軸還包含:資料庫程式開發、網站建置、網頁設計、電子商務專案開發、系統整合、APP設計建置、專業網路行銷。

並且配置非常齊全。

當年歐藍德以進口的方式在國內進行銷售之時,從性價比來說並不算特別高,單從售價的層面就已經讓很多消費者覺得不值,現如今的國產歐藍德的對標車型直接可以下探到日產奇駿、本田CRV之流。

二、配置不低

歐藍德一共有四款車型,細分車型配置較為均衡而且齊全,除了15.98萬的最低配車型是起到壓低售價門檻的作用,其餘三款四驅車型在安全裝備和操控配置上差異不大,頂配車型增加了中央差速器鎖止功能,以及主動剎車和自適應巡航等錦上添花的選項。

三、空間表現全面

現如今由於生活背景、用車需求等等原因,七座車型越來越受到消費者的青睞,廣汽三菱歐藍德的車身尺寸其實並不算優勢巨大的存在,但是在同價位中罕見的七座布局,這無疑增加了歐藍德的空間實用性與性價比。更何況,歐藍德的第三排座椅並沒有想象中的那麼擁擠,只要你不是身材過於高大的人士,歐藍德的第三排座椅在路途不算遙遠的出行中,還是可以提供一定的舒適性。

總的來說,同樣的七座,你沒有我這麼便宜的價格,同樣的價格,你沒有我這麼全面的配置,同樣的定位,你沒有我這麼強悍的四驅系統所帶來的越野能力。

編輯總結:廣汽三菱歐藍德,小編主推的是頂配與次頂配的兩款車型,兩者在主流配置上的差異並不明顯,但是頂配車型有着差速器鎖止功能,這會很大程度上使得歐藍德的適時四驅有着更強大的越野性能與脫困能力,如果你是一個有着一定輕度越野訴求的家用SUV消費者,那麼大可以購買歐藍德的頂配,如果你是更傾向於城市之間的穿梭,那麼次頂配車型已然足夠。本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

※超省錢租車方案

商務出差、學生出遊、旅遊渡假、臨時用車!GO 神州租賃有限公司!合法經營、合法連鎖、合法租賃小客車!