Kategoriler
Genel Software Defined Networking

Floodlight Exact/Prefix IP Matching Tutorial

Assalamu alaikum (Peace be upon you) dear friend =)

In this tutorial, I’m going to show you how to make exact IP matching in the Floodlight controller using Mininet, OpenFlow (of course) and Open vSwitch.

Let’s begin with the topology. We have me (Sadican), my workmate (Workmate) and a server (Bilmuh). All of them are connected to an Open vSwitch. Overall network is something like that:

tut_network_topology

Here are the IP addresses and switch ports for each node:

Node Name IP Address Connected Physical SW Port
Sadican 10.0.0.11 1
Workmate 10.0.0.55 2
Bilmuh Server 10.0.0.99 3

Me and my workmate want connect to the Bilmuh server. Whenever we try to connect to the server, (if there is no corresponding rule in the switch) switch sends packet-in message to the Floodlight (FL) controller. FL takes this message and extracts IP addresses. Then, it generates exact IP matching rules. There are several important things to do that.

  • First of all, FL has to know connected ports of nodes, which are given.
  • Secondly, controller must create 4 flow-mod add rules. 2 Rules for ARP packets from one node to another (e.g. Sadican to Bilmuh server and reverse) and 2 rules for TCP connections.
  • FL must specify data layer type in matching. For TCP, it is 0x800 and for ARP, it is 0x806. Do not forget that!
  • FL must also set both of the network masks to 32 bits (full) for source and destination IP addresses.

For TCP Connections:
match.setWildcards(Wildcards.FULL.matchOn(Flag.IN_PORT)
.matchOn(Flag.DL_TYPE).matchOn(Flag.NW_SRC).matchOn(Flag.NW_DST).withNwSrcMask(32).withNwDstMask(32));
match.setDataLayerType(Ethernet.TYPE_IPv4);
match.setNetworkProtocol(IPv4.PROTOCOL_TCP);

For ARP Connections:
match.setWildcards(Wildcards.FULL.matchOn(Flag.IN_PORT).matchOn(Flag.DL_TYPE).matchOn(Flag.NW_SRC).matchOn(Flag.NW_DST).withNwSrcMask(32).withNwDstMask(32));
match.setDataLayerType(Ethernet.TYPE_ARP);
match.setNetworkProtocol(IPv4.PROTOCOL_TCP);

You can download the Mininet script from here.

You can download the Floodlight module from here. 

If you will test this scenario, you should disable Forwarding and LearningSwitch modules. To do so, open floodlightdefault.properties file and delete the modules. Then, add our module (a.tests.ExactIPMatchingTutorial) in it. Since, they also establish paths between nodes. Here is a screenshot from FL’s UI:

Remarks:
If network source and destination masks are less than 32, exact IP matching becomes prefix matching. Actually, you can try it by changing withNwSrcMask and withNwDstMask to something like 16 or whatever. You will see that there will be less than 8 rules in the switch. It is because some rules overlap and they are removed during addition operation as specified in the OpenFlow version 1.0. Besides, exact IP addresses become prefixed IP addresses. For example, 10.0.0.11 becomes 10.0.0.0.

tut_fl_ss_exact_ip_matching

Kategoriler
Günlük

Türkçe ile Hintçe Arasındaki Benzer Kelimeler

Allah ‘ın selamı, rahmeti, bereketi, ihsanı ve ikramı üzerinize olsun.

Geçtiğimiz günlerde izlediğim bir Bollywood filminde bir şey farkettim. Hintçe ile Türkçe arasında epey benzer kelime var. Bunun sebebi nedir tam bilmiyorum. Belki direk bir alışveriş olmamıştır. Fakat 3. ortak bir dilden (Farsça) alınmış kelimeler olabilir. Bir bilen varsa söylesin, öğrenelim.

Benim farkettiğim benzer kelimeler:

ishq = aşk
duaa = dua
jism = cisim/beden
rooh = ruh
nazar = nazar/bakış
bashar = beşer
raks = raks/dans
nishaan = nişan/belirti
dum = tam
aawaara = avare
Jannaton = Cennet
shiddaton = şiddet
sajdon = secde
noor = nur/parıltı
sabar = sabır
darbadar = derbeder

Teselli, Rab, cihad, sükunet gibi kelimelerde de benzerlikler var. Fakat onların nasıl yazıldığını bilmiyorum.

Bu kelimelere baktığınızda dikkatinizi çeken bir şey olmuştur muhakkak. Evet evet, kelimeler İslâm ile, tasavvuf ile ilgili gibi duruyor değil mi? 🙂

Selam, dua ve muhabbetle,
Allah ‘a (c.c.) emanet olunuz. 🙂

Kategoriler
Anlatım Software Defined Networking

IP Prefix Matching and Flow Insertion using Static Flow Pusher API of Floodlight

Assalamu alaikum wa rahmatullahi wa barakatuh,
Peace be upon you dear visitor 🙂

In this tutorial, I created a simple topology in Mininet (MN). Topology consists of one switch and two hosts. One of hosts is client and another is server. The topology is illustrated as below.

fl_ip_prefix_match_topo

I disabled Forwarding and LearningSwitch modules of Floodlight (FL) by deleting them from /floodlight/src/main/resources/floodlightdefault.properties. Thus, I was able to see that my code works perfectly. If you disable these two modules and run your MN topology code, you see that client and server can not communicate with each other. Because, there will be no flow entry in the switch to forward packets.

In order to provide connection between these two nodes, at first we must insert ARP flow entry to the switch so that client can find server’s MAC address. I used Static Flow Pusher API of Floodlight to insert flows. In the Static Flow Pusher API page, there is a python script that allows developers to insert flow entries to switches. The following two flow codes do the job.

arp_client_server = {
 'switch':"00:00:00:00:00:00:00:01", # DPID of SW
 'name':"arp_client_server", # unique name of flow entry
 'cookie':"1", # opaque identifier
 'priority':"32767", # highest flow priority
 'ingress-port':"1", # packet that comes in from port ### of sw
 'ether-type':"0x806", # hex of ethernet type of ARP
 'active':"true", # activate flow entry
 'actions':"output=2" # forward matched packet from port ### of sw
 }

arp_server_client = {
 'switch':"00:00:00:00:00:00:00:01",
 'name':"arp_server_client", 
 'cookie':"2",
 'priority':"32767",
 'ingress-port':"2",
 'ether-type':"0x806",
 'active':"true",
 'actions':"output=1"
 }

arp_client_server provides ARP packet forwarding from client to server. arp_server_client does the reverse.

As a next step, tcp flow entries must be inserted to the sw. To do so, I wrote the following codes.

ip_host_server = {
 'switch':"00:00:00:00:00:00:00:01",
 'name':"ip_host_server",
 'cookie':"3",
 'priority':"32767", 
 'ether-type':"0x800", # for TCP
 'src-ip':"10.0.0.0/8", # source IP prefix matching
 'active':"true",
 'ingress-port':"1",
 'actions':"output=2"
 }

ip_server_host = {
 'switch':"00:00:00:00:00:00:00:01",
 'name':"ip_server_host",
 'cookie':"4",
 'priority':"32767", 
 'ether-type':"0x800",
 'src-ip':"10.0.0.0/8", 
 'active':"true",
 'ingress-port':"2",
 'actions':"output=1"
 }

Notice that, I used IP prefix matching in src-ip tag. That means, all packets sending from hosts with 10.0.0.0/8 match with this entry. If you do the same, you will have such a switch as shown in the figure below.

fl_ip_prefix_match_sw

After insertion of required flow entries, I ping server from host. The result is as follows:

fl_ip_prefix_match_mn

If you examine the ping result shown above, you will realize that ping time is a lot less when you use Forwarding or LearningSwitch module. That is because, switch already has required flow entries to forward packets.

Assalamu alaikum wa rahmatullahi wa barakatuh 🙂

Kategoriler
Anlatım Software Defined Networking

Floodlight Unknown Host Discovery

Assalamu alaikum wa rahmatulllahi wa barakatuh.
(Peace be upon you dear visitor.)

In my tests, I saw that Floodlight discovers an unknown host per switch as in the figure below.

fl_unknown_host_discovery

I have Floodlight (FL), Mininet (MN) and Open VSwitch (OVS) installed in the same machine where Ubuntu 14.04 LTS x64 is running. As far as I know, OVS 2.0.1 supports kernel from 2.6.32 to 3.10. Since my Ubuntu kernel is 3.13, this may be the source of problem. Update of OVS or downgrade of Ubuntu kernel may solve the problem but I have another simple, not that good, solution.

With the help and advise of Hung-Wei Chiu from Floodlight-Developers group, I noticed that there are many IPv6 packets in the FL logs as he had told. This unknown IPv6 addresses were the same as MAC addresses of switches or hosts. As a solution to this problem, I disabled IPv6 in my computer.

In order to disable IPv6, you must append the three lines of code as in below to the file located in /etc/sysctl.conf . Note that you need root privileges.

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

After modification, you can either reboot your computer or execute sudo sysctl -p command in terminal.

However, this method may not work as expected. (Well, it did not work for me) Alternatively, there is another way of disabling IPv6 in Linux. Using your favorite text editor, open /etc/default/grub file. Then, add ipv6.disable=1 to the GRUB_CMDLINE_LINUX line. In my computer (Ubuntu 14.04 LTS x64), it was like:

GRUB_CMDLINE_LINUX=""

After change:

GRUB_CMDLINE_LINUX="ipv6.disable=1"

After this modification, you must update grub with executing the command sudo update-grub . Finally, reboot your computer and problem solved!

Assalamu alaikum wa rahmatulllahi wa barakatuh.

Kategoriler
Genel

Bir Müslüman Kardeş’in Hicreti

Allah ‘ın selamı, rahmeti, bereketi, ihsanı, ikramı, affı, mağfireti ve rızası üzerine olsun.

Bir gün Güzelyalı’da otobüs durağında beklerken birden gözümün önünde bir kağıt belirdi. Bir el ısrarla kağıdın üzerindeki yazıyı gösteriyordu. Çok da güzel olmayan bir yazıyla yazılmış bir adres vardı. Ben kağıdı bana uzatan kişiye bakmadan adresi okudum. Belli ki çok yaklaşmış ama bir türlü bulamamış. Sonra başımı çevirdim ve buralardan olmayan birinin adres aradığını anladım.

Hiç bir şey söylemeden kağıttaki adresi gösteriyordu. Acaba ingilizce bile bilmiyor mu diye düşündüm. Sonra belki konuşamıyordur ama en azından anlar herhalde diyerek “Ben de buraları iyi bilmiyorum. Ama çok yaklaşmışsın. Bir iki kişiye soracağım. Beni takip et.” dedim. Birden yabancının yüzünde bir sevinç ifadesi belirdi. Güldü ve “Aaa sen İngilizce konuşabiliyor musun?” dedi. Ben de “Evet.” dedim ve konuşarak yürümeye devam ettik. Tam adresi öğrendikten sonra yolu tarif ettim. Kısa bir vedalaşmadan sonra ben geri durağa döndüm. O da tarif ettiğim şekilde yürümeye başladı.

Sonra durup düşündüm. Bulunduğum yerde İngilizce konuşabilecek çok az kişi vardı. Bir şekilde hata yaparsa doğru adresi bulması bütün gününü alabilirdi belki. Ben de hemen arkasından koştum. Birlikte adresi aramaya başladık. (Hala adresin ne adresi olduğunu bilmiyordum.)

Yazılan adresteki yere geldik (çok yakındı). Adres bir inşaat firmasına aitmiş. Fakat firma yerinde yoktu. Tevafuğa bakın ki ben bu firmayı, sahiplerini uzaktan da olsa tanıyorum. Adresin yanlış olduğunu anladıktan sonra firmayı aradık. Firmaya gitmek üzere yola koyulduk ve tabii ki yolda konuşmaya başladık.

Kendisi Müslüman Kardeşler’denmiş. “Mısır’dan buraya niye geldin?” diye sordum. “Pek çok sebebi var. Ama temel sebep Mısır’daki gösterilere katılmış olmam.” dedi. Kendisini gösterilerde tutuklayıp içeri almışlar.  “Polisler rastgele, önlerine kim gelirse tutup içeri alabiliyorlar.” manasında şeyler söyledi. İçeride bir gün kalmış. Sorgulama ve fişlemeden sonra serbest bırakmışlar. “İçeri girip çıktıktan sonra artık oralarda duramazdım. Mısır dışındaki herhangi bir yerde yaşayabilirim. Fakat Mısır’da daha fazla kalamazdım.” dedi. (Düşünebiliyor musunuz? Öz vatanınızda yaşayamamak…) “Neden?” diye sordum. “Artık benim herşeyimi biliyorlar. Fişlediler. İstedikleri zaman beni içeri alabilirler. Hatta bana zarar bile verebilirler.” dedi. Sanırım burada idamı kastediyordu. Belki o kadar önemli birisi değildir ama bilmiyoruz. Kimse durup dururken ciddi problem olmasa vatanını bırakıp gitmez, orada yaşayamam demezdi herhalde. Sormak istediğim yüzlerce soru vardı ama canını sıkmak istemedim. Nitekim yaşananlar hoş şeyler değil. “Peki ailen ne durumda?” diye sordum. “Bazı akrabalarım hala orada. Fakat ablam ailesiyle birlikte buraya geldi. Ben de şimdilik yanlarında kalıyorum.” dedi. Daha önce başka bir ülkedeymiş. Oradan Türkiye’ye gelmiş. Burada iş aramaya başlamış. O gün de iş başvurusuna gidiyormuş.

Yakın zamanda tekrar konuştuk. Vizesi bitmek üzere. İş başvurusundan olumlu bir yanıt gelmemiş olacak ki şimdi geldiği ülkeye geri dönmeye çalışıyor. Elden bir şey gelmiyor olması çok üzücü. Zaten oradan buraya gelmiş. Herhalde orada da işler iyi gitmemişti. Neyse… Biz dua edelim de orada (bir inşaat firmasında) iş bulabilsin.

Allah o kardeşimizin yaşadıklarını bize yaşatmasın (Âmin). Rabbimiz’e verdiği sonsuz nimetlerden ötürü O’nun büyüklüğünce şükürler olsun.

Selam, dua ve muhabbetle,
Allah ‘a emanet olunuz.

Kategoriler
Günlük

Mücevherleri Saklamak

Allah ‘ın selamı, rahmeti, bereketi, ihsanı, ikramı, affı ve rızası üzerine olsun.

Son zamanlarda fark ettiğim, bence üzücü bir şeyi belki bir farkındalık oluştururum, faydam dokunur diye size anlatmak istedim.

Niyetim kimseyi suçlamak, kırmak, üzmek değildir. Kalp kırmaktan Allah’a sığınırım.

Bazı hanımlar kendilerini sosyal medyada görsel anlamda gizleyebilmişler. Bir vesileyle haklarında arama yapsanız en azından görsel anlamda hiçbir şey bulamıyorsunuz. Bana sorarsanız bu çok zor bir iş. Herhalde resimlerini koymamak için bin bir nefs mücadelesi veriyorlardır. Maşaallah, ne güzel!

Burada bence üzücü olan şey bazı “mücevherler”in bazı arkadaşlarının, onların hassasiyetlerini bilmedikleri için (yazar burada hüsnü zan etmek istiyor), birlikte çekildikleri fotoğrafları sosyal medyada etrafa saçmalarıdır.

Allah sevdiklerimizin hassasiyetlerine aynı derecede saygı gösteren, aynı hassaslıkta yaklaşan kullarından eylesin. (Âmin)

Selam, duâ ve muhabbetle.
Allah ‘a emanet olunuz.

Kategoriler
Günlük Manevi İlaçlar

Receb-i Şerif için Duâlar

Allah ‘ın selamı, rahmeti, bereketi, ihsanı, ikramı, affı, mağfireti, merhameti, nuru üzerinize olsun.

Recep ayına çok az bir zaman kaldı. Sosyal paylaşım sitelerinde merhum Hocam Mahmud Es’ad COŞAN (Rh.a. – 1 Fatiha, 3 İhlas) ‘den bir alıntının sıklıkla yapıldığını gördüm. Hemen bilmeyenler, görmeyenler için buradan ben de paylaşayım:

“Receb ayının ilk gecesi duaların kabul olduğu çok kıymetli bir geceymiş. Hatırınızda olsun. Hani insan bazen ileriye dönük işlerinde bir not alır ya, siz de bu işin bir notunu alın. Aklınıza veya defterinize veya kenara yazın ki 20-25 gün sonra bir gece gelecek ki dualar makbul. O zamanı kaçırmayın. Takvimlere bakın, o gece yapacağınız duaları şimdiden düşünün.” M.E.C.

Heyecanla Recep ayının ilk gecesini (yanlışım yoksa Cum’a gününün akşamı) bekliyoruz. Dualar kabul oluyormuş. Ne güzel! Zaten bir sürü şey için dua etmem lazımdı. Sizin de istedikleriniz vardır. Fırsat bu fırsat yani…

Geçtiğimiz günlerde de (7 Mayıs 2013 tarihinde Akra FM ‘de Ummandan İnciler programı adıyla yayınlanan sohbetin takriben 4.dksından sonra olması gerekiyor. Sohbetin adı: Namaz – Sözünde durmak – Komşusunun emin olması) merhum Hocam Mehmet Zahid KOTKU (R.a. – 1 Fatiha, 3 İhlas) şunları söylemişti:

“… Kader denen bir şeyimiz vardır, imanımız. Bunu hiçbir şey durdurmaz, ancak yalvarışlar, duâlar. Onun için Cenab-ı Hakk ‘a çok duâlar etmelidir. Hususi duâ kitapları vardır. Biz bu duâları bilemeyiz ve becerip de söyleyemeyiz de. Onun için eski büyüklerimizin yaptıkları gerek Cenab-ı Hakk ‘ın gerek Peygamberimiz ‘in (s.a.v.) gerek büyük evliyalardan intikal eden o duâlar çok makbul duâlardır. O duâları etmeli ki, o kaza ve kaderler de geri çevrilsin…” M.Z.K.

Ben de bunun üzerine bu sınıflara giren duâları araştırmaya başladım. İlk duâ, bizim çok iyi bildiğimiz, 3 ayların başında Efendimiz ‘in (s.a.v.) sık sık yapmamızı istediği duâ:

“Allahumme barik lena fi recebe ve şa’ban ve belliğna ramazan” (Âmin) (Ahmed bin Hanbel, Müsned, 1/259)

“Allah’ım! Recep ve Şaban aylarını bizim için mübarek kıl ve bizi Ramazan ayına ulaştır” (Âmin)

Diyanet ‘in sitesinde de pek çok duâ buldum. Bunlar Recep ayına özel duâlar değiller. Fakat M.Z.K. Hocamız ‘ın söylediği gerek Cenab-ı Hakk ‘ın gerek Peygamberimiz ‘in (s.a.v.) gerek büyük evliyalardan intikal eden duâlardır.

Kaynak: http://dua.diyanet.gov.tr/

Bildiğiniz, bulduğunuz duâları bir şekilde bu fakire de iletirseniz, çok bahtiyar olur.

Selam, duâ ve muhabbetle,
Allah ‘a emanet olunuz…

Kategoriler
Genel

Metro Duraklarına Mescid İsterük!

Allah ‘ın selamı, rahmeti, bereketi, ihsanı ve ikramı üzerinize olsun,

Akşam namazı vaktinin kısa olması ve iş çıkışı vakitlerine denk gelmesi sebebiyle çoğu kişinin evine gidemeden eve dönüşte namazlarını kılması gerekiyor. Fakat ne yazık ki her zaman toplu taşıma araçlarının hemen yakınında bir ibadethane bulmak mümkün olmuyor.

istanbul_metro_ve_metrobus_hatlari_yeni11

Kadıköy-Kartal Metrosu’nu kullanan bir vatandaş olarak bu durumdan çok muzdaribim. Kartal ya da Göztepe istasyonlarının hemen yakınında bir ibadethane bulunmaması sebebiyle çok zorluk yaşıyorum. Eminim benim gibi başka vatandaşlar da metro istasyonlarının yakınında bir ibadethane bulunmamasından rahatsızlık duyuyorlardır.

Umulur ki vesile olurum diye Kadıköy-Kartal metrosunu kullanan halkın bu ihtiyacını gidermek amacıyla mümkünse her istasyona değilse de çok kişi tarafından kullanıldığını düşündüğüm için Ayrılıkçeşme, Acıbadem, Göztepe, Kozyatağı, Bostancı, Hastane-Adliye ve Kartal istasyonlarına küçük de olsa mescid yapılmasına dair bir e-dilekçe yazıp İstanbul Ulaşım A.Ş. ‘ye ve İ.B.B. ‘ye gönderdim.

ibb_logo

Sizden istirhamım, benim gibi, sizlerin de aynı talepte bulunmanız ve mescidlerin yapılmasına vesile olmanızdır.

Bitirmeden önce şunu hatırlatmak isterim ki mescidlerin yapılmasına vesile olarak sadaka-i cariye yapmış olursunuz inşaallah. O mescidler var olduğu sürece mescidlerde yapılan her ibadetten size de sevap yazılır. inşaallah.

İstanbul Büyükşehir Belediyesi Beyaz Masa 

İstanbul Ulaşım A.Ş. Şikayet Başvuru Formu

Selam, dua ve muhabbetle.
Allah ‘a emanet olunuz.

Kategoriler
Günlük

Marshmallow Deneyi ve Hayat

Allah ‘ın selamı, rahmeti, bereketi, ihsanı ve ikramı üzerinize olsun,

İnternette video izlemeyi seviyorsanız büyük ihtimalle çocuklara uygulanan meşgur marshmallow testini izlemişsinizdir.

Bilmeyenler için kısaca söyleyeyim. Bu test (The Marshmallow Test) zevki erteleme becerisi testidir. Testi yapacak kişi ile bir çocuk bir odaya giriyorlar. Odada bir masa var ve masanın üzerindeki tabakta bir marshmallow var. Deneyi yapacak kişi dışarıda bir işi olduğunu ve çocuğa burada beklemesini söylüyor. Çocuk beklerken de eğer marshmallowu yemezse ona geldiğinde bir tane daha vereceğini söylüyor.

Bu deneyi pek çok kez izledim. Her seferinde de bunun çok basit bir test olduğunu düşünüyordum. Düşünsenize sadece 10dk bekleyip bir tane daha marshmallow sahibi olacaksınız. Bence 2 marshmallow için kabul edilebilir bir zaman.

Hepimiz aslında bir bakıma buna benzer bir deneyin, imtihanın içinde değil miyiz? İslami kurallara uygun bir şekilde belirli bir süre yaşarsak, bize sonsuz ve dünyaya göre kat kat kat kat … kat daha güzel bir ahiret hayatına sahip olacağımız vaad ediliyor.

Hamiş: Allah ‘ın (c.c.) razı olduğu bir kulu olarak yaşayıp, razı olduğu bir kulu olarak huzuruna varmak hepimize nasip olsun. (Âmin)

Selam, dua ve muhabbetle,
Allah ‘a emanet olunuz.

Kategoriler
Genel

Ben Hala Düşünüyorum

Allah ‘ın selamı, rahmeti, bereketi, ihsanı ve ikramı üzerinize olsun,

Yakın bir zamanda bir amerikan sinemasına gitmiştim.  Seyircilerin büyük kısmı filmin sonunda zafer kazanan amerikalıları ayakta alkışlamıştı.

Bu manzara karşısında;

a) Adamlar yapmış abi… mi?

b) İnsanlar sinemaya gittiklerinin farkındalar… mı?

c) Gururla alkışladıklarının kimler olduklarını biliyorlar… mı?

d) Orada kazanan insanlık… mı?

e) Zihinlerde kazanan insanlık… mı?

Ben hala düşünüyorum…

Selam, dua ve muhabbetle,
Allah ‘a emanet olunuz.