Emu8086 da oldukça basit bir şekilde derlenip çalıştırılabilecek program:
; You may customize this and other start-up templates;
; The location of this template is c:\emu8086\inc\0_com_template.txt
org 100h
.model small
.stack 64
.data
snc db 10,13,’ ’,’$’,10,13 ; sonuc icin ayrilan alan
.code
mov ax,@data
mov ds,ax
mov es,ax
dizi_al:
mov ah,01 ;klavyeden karakter isteniyor
int 21h ;girilen al’de
cmp al,13 ;al’deki değeri enter ile karşılaştır
jz yaz ;enter’e basılmışsa yaz’a atla
inc si ;si ile kelime içinde bir sonraki karaktere ilerle
cmp al,61h ;al içindeki değerle a=61h karşılaştır
jg degis ;girilen değerden buyukse degis’e atla
jl sbt ;girilen değerden kucukse sbt’e atla
degis:
sub al,20h ;al değerinden 20h çıkar
sbt:
sub al,0h ;al değerinden 0h çıkar
mov [snc+si],al ;kelime içerisinde sıradaki harfe son al değerini yukle
jmp dizi_al ;dizi başlangıcına atla
yaz:
mov ah,09h ;ekrana snc’de tutulan değer yazılıyor
lea dx,snc
int 21h
dosa: ;programı terket
mov ah,4ch
int 21h
end
ret
7 Temmuz 2014 Pazartesi
Assembly Dilinde Büyük Harfi Küçük Harfe Dönüştürme (asm)
Emu8086 programı ile çok rahat bir şekilde derlenip çalıştırılabilecek bir kod örneği:
org 100h
.model tiny
.data
titlex db "BUYUk KARAKterLER DONUSTURULMUS OLMALI$"
.code
program:
mov ax,@data
mov ds,ax
lea bx,titlex
mov cx, 38
basla:
mov ah,[bx]
cmp ah,61h
jA B30
cmp ah,41h
jb B30
;and ah,11011111B
add ah,20h
mov [bx],ah
B30:
inc bx
loop basla
mov dx, offset titlex
mov ah,09
int 21h
mov ah,4ch
int 21h
end program
ret
org 100h
.model tiny
.data
titlex db "BUYUk KARAKterLER DONUSTURULMUS OLMALI$"
.code
program:
mov ax,@data
mov ds,ax
lea bx,titlex
mov cx, 38
basla:
mov ah,[bx]
cmp ah,61h
jA B30
cmp ah,41h
jb B30
;and ah,11011111B
add ah,20h
mov [bx],ah
B30:
inc bx
loop basla
mov dx, offset titlex
mov ah,09
int 21h
mov ah,4ch
int 21h
end program
ret
Adres Çözümleme Protokolü (ARP)
Adres Çözümleme Protokolü (ARP)
Adres Çözümleme Protokolü (ARP)
Adres Çözümleme Protokolü (ARP), RFC 826 "Address Resolution Protocol (ARP)" belgesinde tanımlanan gerekli bir TCP/IP standardıdır. ARP, TCP/IP tabanlı yazılımların kullandığı IP adreslerini LAN donanımları tarafından kullanılan ortam erişim denetim adreslerine çözümler. ARP, aynı fiziksel ağ üzerinde yer alan ana bilgisayarlara aşağıdaki iletişim hizmetlerini sağlar.
- Ortam erişim denetim adresleri "Ekteki IP adresiyle yapılandırılmış olan aygıtın ortam erişim denetim adresi nedir?” şeklindeki bir ağ yayın isteğiyle elde edilir.
- Bir ARP isteği yanıtlandığında hem ARP yanıtını gönderen hem de ARP isteğinde bulunan, birbirlerinin IP adreslerini ve ortam erişim denetim adreslerini ARP önbelleği denen bir yerel tabloya gelecekte başvurmak üzere bir girdi olarak kaydederler.
Donanım adresleme
Yerel ağlarda kullanılmak için üretilmiş donanımlar üretici tarafından aygıta programlanan benzersiz bir adrese sahip olmalıdırlar. Ethernet ve Token Ring LAN donanımları için bu adres ortam erişim denetim adresi olarak bilinir.
Her ortam erişim denetim adresi, aygıtı kendi fiziksel ağı içerisinde 6 baytlık bir numara ile tanıtır. Bu numara ağ bağdaştırıcısı gibi her fiziksel donanımın salt okunur belleğine (ROM) programlanmıştır. Ortam erişim denetim adresleri onaltılık sayılar şeklinde görüntülenir (örneğin , 00-AA-00-3F-89-4A).
Ortam erişim denetim adreslerine ilişkin yetki ve kayıt işlemleri Elektrik ve Elektronik Mühendisleri Enstitüsü’nün (IEEE) elindedir. Geçerli uygulamada IEEE, ortam erişim denetim adresinin ilk üç baytını bireysel üreticilerin benzersiz numaralarını kaydetmek ve atamak için ayırmıştır. Böylece üreticiler, ortam erişim denetimi adresinin son üç baytını ağ bağdaştırıcılarına atayabilirler.
ARP yerel trafik için ortam erişim denetim adreslerini nasıl çözümler?
Aşağıdaki resimde ARP’nin aynı yerel ağda bulunan ana bilgisayarlar için IP adreslerini nasıl donanım adreslerine çözümlediği gösterilmiştir.
Bu örnekte A ve B adlı iki TCP/IP ana bilgisayarı aynı fiziksel ağ üzerinde yer almaktadır. A ana bilgisayarına 10.0.0.99 IP adresi ve B ana bilgisayarına 10.0.0.100 IP adresi atanmıştır.
A ana bilgisayarı B ana bilgisayarıyla iletişim kurmaya çalıştığında aşağıdaki adımlar B ana bilgisayarının yazılımla atanan adresini (10.0.0.100) B ana bilgisayarının donanımla atanan ortam erişim denetim adresine çözümler:
- A ana bilgisayarındaki yönlendirme tablosunun içeriğine bağlı olarak, IP, B ana bilgisayarına erişmek için kullanılacak iletme IP adresinin 10.0.0.100 olduğunu belirler. Sonra A ana bilgisayarı kendi yerel ARP önbelleğinde B ana bilgisayarı için eşleşen bir donanım adresi arar.
- A ana bilgisayarı önbellekte eşleşen bir adres bulamazsa yerel ağdaki tüm ana bilgisayarlara "10.0.0.100 için donanım adresi nedir?" sorusunu yayınlar. Bu ARP istediğinde kaynak A ana bilgisayarının hem donanım hem de yazılım adresi yer alır.
Yerel ağda bulunan her ana bilgisayar ARP istediğini alır ve kendi IP adresiyle bir eşleşme olup olmadığını denetler. Bir ana bilgisayar kendi IP adresiyle bir eşleşme bulamazsa ARP isteğini atar. - B ana bilgisayarı ARP istediğindeki IP adresinin kendi IP adresiyle eşleştiğini belirler ve yerel ARP önbelleğine A ana bilgisayarı için bir donanım/yazılım adres eşleştirmesi ekler.
- B ana bilgisayarı, donanım adresini içeren bir ARP yanıt iletisini doğrudan A ana bilgisayarına geri gönderir.
- A ana bilgisayarı B ana bilgisayarından ARP yanıt iletisini aldığında ARP önbelleğini B ana bilgisayarının donanım/yazılım adres eşleştirmesiyle güncelleştirir.
B ana bilgisayarının ortam erişim adresi bir kez belirlendikten sonra A ana bilgisayarı, IP trafiğini, B ana bilgisayarının ortam erişim denetim adresini kullanarak B ana bilgisayarına gönderebilir.
ARP uzak trafik için ortam erişim denetim adreslerini nasıl çözümler?
ARP yerel ağda olmayan hedefler için IP veri birimlerini yerel yönlendiricilere iletmek üzere de kullanılır. Bu durumda ARP, yerel ağdaki yönlendirici arabiriminin ortam erişim denetim adresini çözümler.
Aşağıdaki resimde ARP’ın ortak bir yönlendirici ile bağlı olan ve farklı fiziksel ağlarda bulunan iki ana bilgisayar için IP adreslerini donanım adreslerine nasıl çözümlediği gösterilmiştir.
Bu örnekte A ana bilgisayarına 10.0.0.99 IP adresi ve B ana bilgisayarına 192.169.0.99 IP adresi atanmıştır. 1 numaralı yönlendirici arabirimi A ana bilgisayarıyla aynı fiziksel ağdadır ve 10.0.0.1 IP adresini kullanmaktadır. 2 numaralı yönlendirici arabirimi B ana bilgisayarıyla aynı fiziksel ağdadır ve 192.168.0.1 IP adresini kullanmaktadır.
A ana bilgisayarı B ana bilgisayarıyla iletişim kurmaya çalıştığında aşağıdaki adımlar 1 numaralı yönlendirici arabiriminin yazılımla atanan adresini (10.00,00,1) donanımla atanan ortam erişim denetim adresine çözümler:
- A ana bilgisayarındaki yönlendirme tablosunun içeriğine bağlı olarak, IP, B ana bilgisayarına erişmek için kullanılacak iletme IP adresinin 10.0.0.1, yani varsayılan ağ geçidinin IP adresi olduğunu belirler. Sonra A ana bilgisayarı kendi yerel ARP önbelleğinde 10.0.0.1 IP adresi değeriyle eşleşen bir donanım adresi arar.
- A ana bilgisayarı önbellekte eşleşen bir adres bulamazsa, yerel ağdaki tüm ana bilgisayarlara "10.0.0.100 için donanım adresi nedir?" sorusu ile bir ARP isteği çerçevesi yayınlar. Bu ARP istediğinde kaynak A ana bilgisayarının hem donanım hem de yazılım adresi yer alır.
Yerel ağda bulunan her ana bilgisayar ARP istediğini alır ve kendi IP adresiyle bir eşleşme olup olmadığını denetler. Bir ana bilgisayar kendi IP adresiyle bir eşleşme bulamazsa ARP isteğini atar. - Yönlendirici ARP istediğindeki IP adresinin kendi IP adresiyle eşleştiğini belirler ve yerel ARP önbelleğine A ana bilgisayarı için bir donanım/yazılım adres eşleştirmesi ekler.
- Yönlendirici bundan sonra, donanım adresini içeren bir ARP yanıt iletisini doğrudan A ana bilgisayarına geri gönderir.
- A ana bilgisayarı yönlendiriciden ARP yanıt iletisini aldığında ARP önbelleğini 10.0.0.1 için donanım/yazılım adres eşleştirmesiyle güncelleştirir.
1 numaralı yönlendirici arabiriminin ortam erişim adresi bir kez belirlendikten sonra A ana bilgisayarı, 1 numaralı yönlendirici arabirimin ortam erişim denetim adresini kullanarak IP trafiğini 1 numaralı yönlendirici arabirimine gönderebilir. Ardından, yönlendirici bu bölümde bahsedilen aynı ARP işlemi aracılığıyla trafiği B ana bilgisayarına iletir.
ARP önbelleği
Yayın sayısını en alt düzeye düşürmek için ARP, gelecekte kullanılmak üzere, IP adresinden ortam erişim denetim adresine eşleştirmelerinden oluşan bir önbellek tutar. ARP önbelleğinde dinamik ve statik girdiler olabilir. Dinamik girdiler zaman içerisinde otomatik olarak eklenir veya silinir. Statik girdiler ise bilgisayar yeniden başlatılana kadar ARP önbelleğinde kalırlar.
Her dinamik ARP önbelleği girdisi potansiyel olarak 10 dakikalık bir ömre sahiptir. Önbelleğe eklenen yeni girdilere zaman bilgisi girilir. Bir girdi eklendikten sonra 2 dakika içinde yeniden kullanılmazsa zaman aşımına uğrar ve ARP önbelleğinden silinir. Bir girdi kullanılırsa ömrü iki dakika daha uzar. Bir girdinin kullanımı sürdükçe, en çok 10 dakika olmak üzere, ek ikişer dakika daha önbellekte kalır.
ARP önbelleği arp komutuyla görüntülenebilir. ARP önbelleğini görüntülemek için, komut isteminde arp -a yazın. arp komut satırı seçeneklerini görüntülemek için, komut isteminde arp /? yazın.
Not
- Her ağ bağdaştırıcısı için ayrı bir ARP önbelleği vardır.
Kaynak: Microsoft Server
OSİ KATMANLARI (İnternet İletişim Kuralları Dizisi)
İnternet protokol takımı, bilgisayarlar ve ağ cihazları arasında iletişimi sağlamak amacıyla standart olarak kabul edilmiş kurallar dizisidir. Bu kurallar dizisi temel olarak verinin ağ üzerinden ne şekilde paketleneceğini ve iletilen veride hata olup olmadığının nasıl denetleneceğini belirlemektedir.
Ağ kavramının ortaya çıkmasından günümüze kadar geçen sürede farklı amaçlar için birçok protokol geliştirilmiştir. Bu protokoller ilk zamanlar belli bir standarda uygun olarak geliştirilmemiş, genelde bilgisayar donanımlarına bağlı kullanılacak şekilde tasarlanmışlardır. Bu dönemde ağ yapıları donanım üreticileri tarafından kendilerine has bir biçimde geliştirilmekteydi. Bu yapılara örnek olarak IBM 'in SNA ve DEC 'in DECnet ağları verilebilir. Bu şekilde tanımlanan protokoller ve donanımlar iletişimde bir ortak noktanın bulunması ve ağlar için yazılımların geliştirilmesinde sorun oluşturmuştur. Ortaya çıkan bu sorunun çözümü olarak 1978 yılında ISO (International Organization for Standardization - Uluslararası Standartlık Örgütü) tarafından, donanımdan ve ağ alt yapısından bağımsız olarak geliştirilmiş OSI (Open Systems Interconnection) başvuru modeli ortaya konmuştur. Bu yapısı ile OSI başvuru modeli bir standart olarak kabul görülmüş ve hızlı bir şekilde gelişme göstermiştir.
Şimdi osi katmanlarından bahsedip, basamaklar arasında neler yapıldığına göz atalım.
Osi katmanları server/client arasında iletişim ve işlemler silsilesinden geçer. Protokollere göre belirlenen bu iletişimde örnek verecek olursak,
mesela siz dokundum.blogspot.com adresinden bu sayfaya ulaştınız. Bu sayfayı anasayfanıza getirmek için geçen işlemler şunlardır:
- Blogger web sunucusu, HTML bir çıktı yaratır ve üzerinde çalıştığı sisteme "şu veriyi şu adrese şu port ile ulaştır(port 80-http veya 443-https) yolla" komutu verir. Bu veri, 4. katman olan uygulama katmanına gönderilir.
- Sistem, bu çıktıya öncelikle 3.katman olan taşıma katmanının bilgilerini iliştirir, yani paketin başına port bilgisini ilave edip yeni boyutu yazar.
- Ardından, az önceki pakete bu sefer de ağ katmanı bilgileri, başka bir deyişle yollayan bilgisayarın IP adresleri ve paketin toplam boyu, eklenir.
- Son işlem olarak tersi bir yolla tekrar alıcıya gönderilir.
Denilebilir. Bunu şema halinde gösterecek olursak;
OSİ katmanları ile ilgili genel kavramlar:
Ağ katmanındaki protokoller
- ARP (Address Resolution Protocol, yani Adres Çözümleme Protokolü) bir IP adresinin hangi ağ kartına (yani MAC adresine) ait olduğunu bulmaya yarar. TCP/IP'de veri gönderilecek bilgisayarın hangisi olduğunu bulmak için kullanılır. Ayrıca IP adresini yeni almış olan bir RARP, yani Ters ARP) protokolü ARP'ın tersi işlemi yapar, yani hangi MAC adresinin hangi IP adresini kullandığını bulur. Bir TCP/IP ağında RARP'ın çalışacağı garanti değildir, zira RARP bir RARP sunucusuna ihtiyaç duyar.
IP katmanındaki protokoller
- ICMP (Internet Control Message Protocol, yani Internet Yönetim Mesajlaşması Protokolü), hata ve türlü bilgi mesajlarını ileten protokoldür. Örneğin, ping programı ICMP'yi kullanır.
- RIP (Router Information Protocol, yani Router Bilgi Protokolü) router'ların yönlendirme tablolarını otomatik olarak üretebilmesi için yaratılmıştır.
- OSPF (Open Shortest Path First, yani İlk Açık Yöne Öncelik) aynı RIP gibi router'ların yönlendirme tablolarını otomatik olarak üretebilmesine yarar. OSPF, RIP'ten daha gelişmiş bir protokoldür.
- IGMP, (Internet Group Messaging Protocol, yani Internet Grup Mesajlaşma Protokolü) bir sistemin internet yayınlarına (multicast) abone olmasına ve aboneliği durdurmasına yarar. Bu yayınlar, UDP üzerinden yapılır ve genelde çoklu ortam (radyo veya video) içerikli olurlar.
- DHCP (Dynamic Host Configuration Protocol, yani Dinamik Cihaz Ayar Protokolü) bir TCP/IP ağına bağlanan bir cihaza otomatik olarak IP adresi, ağ maskesi, ağ geçidi ve DNS sunucusu atanmasına yarar.
Taşıma katmanındaki protokoller
- UDP (User Datagram Protocol, yani Kullanıcı Veri Protokolü), IP üzerinden veri yollamaya yarar. Verilerin ulaşacağını garanti etmez ve UDP paketlerinin maksimum boy sınırları vardır. Öte yandan, UDP son derece basit ve bağlantı gerektirmeyen (connectionless) bir protokoldür.
- TCP (Transmission Control Protocol, yani Gönderim Kontrol Protokolü), IP üzerinden ulaşma garantili ve herhangi bir boyda veri gönderilmesine imkân tanıyan bir protokoldür. UDP'den farklı olarak, TCP'de iki cihazın iletişim kurabilmesi için önce birbirlerine bağlanmaları gerekmektedir.
Uygulama katmanındaki protokoller
- DNS (Domain Name System, yani Alan Adı Sistemi) alan adı verilen isimler (mesela www.wikipedia.org) ile IP adreslerini birbirine bağlayan sistemdir. Paylaştırılmış bir veritabanı olarak çalışır. UDP veya TCP üzerinden çalışabilir.
- HTTP (HyperText Transfer Protocol, yani HiperMetin Yollama Protokolü) ilk başta HTML sayfaları yollamak için yaratılmış olan bir protokol olup günümüzde her türlü verinin gönderimi için kullanılır. TCP üzerinden çalışır.
- HTTPS (Secure HTTP yani Güvenli HTTP) HTTP'nin RSA şifrelemesi ile güçlendirilmiş halidir. TCP üzerinden çalışır.
- POP3 (Post Office Protocol 3, yani Postahane Protokolü 3) e-posta almak için kullanılan bir protokoldür. TCP üzerinden çalışır.
- SMTP (Simple Mail Transfer Protocol, yani Basit Mektup Gönderme Protokolü) e-posta göndermek için kullanılır. TCP üzerinden çalışır.
- FTP (File Transfer Protocol, yani Dosya Gönderme Protokolü) dosya göndermek ve almak için kullanılır. HTTP'den değişik olarak kullanıcının illa ki sisteme giriş yapmasını gerektirir. Veri ve komut alış verişi için iki ayrı port kullanır. TCP üzerinden çalışır.
- SFTP veya FTPS (Secure FTP, yani Güvenli FTP), FTP'nin RSA ile güçlendirilmiş halidir. TCP üzerinden çalışır.
Tüm bu protokoller (ve dahası) sayesinde TCP/IP her geçen gün daha da popülerleşen bir protokol olmuştur.
En genel bilgi için kaynak:
http://tr.wikipedia.org/wiki/%C4%B0nternet_ileti%C5%9Fim_kurallar%C4%B1_dizisi
Faydalı olabilecek link:
http://bidb.itu.edu.tr/seyirdefteri/blog/2013/09/07/osi-katmanlar%C4%B1
RAİD ve RAİD TÜRLERİ
RAİD ve RAİD TÜRLERİ
Raid NEDİR?
Eskiden bilgisayarlardaki depolama alanı Megabyte(MB) ile ölçülürken, yakın geçmişte Gigabyte(GB) ile ölçülmeye başlanmış ve şu an Terabytle(TB) ile ölçülür olmuştur. Alan arttıkça “nasıl olsa depolamak için çok yer var” diyerek çoğumuz yedek almıyoruz ve diskimize zarar gelince bazen saatlerce hatta günlerce kurtarmaya çalışıyoruz, bazen ise kurtarılamayacak durumda oluyor ve bütün verileri kaybediyoruz. Bir de bunu ev kullanıcıları için değil de iş yerleri için düşünelim. Verileri kaybetmek çok büyük bir sorun olur.
İşte burada devreye Raid giriyor; Veri kaybını engellemek için yeni bir disk takıyorsunuz. Taktığınız bu disk ile ister performans elde edebilirsiniz isterseniz de veri kaybını engellemek için güvenlik oluşturabilirsiniz.
Raid türleri NELERDİR?
Raid 0
+ En az 2 disk gereklidir (istenirse bu sayı arttırılır).
+ Performans sağlar (yazma hızı disklerin toplam hızları kadar olur).
- Güvenliği yoktur.
Raid 1
+ En az 2 disk gerekmektedir (istenirse bu sayı arttırılır).
+ Aynı veri bütün disklere yazılır ve bu sayede veri güvenle korunur.
-Kapasite minimum olan diskin boyutu ile sınırlıdır.
Raid 2
- En az 14 disk gereklidir, bunların 10 tanesi veri için, 4 tanesi de ECC (Error Correction Control yani hata düzeltme kontrolü) için kullanılır. Artık Raid kartlarında ECC olduğu için Raid 2 günümüzde kullanılmamaktadır. ECC olmayanlar için ufak bir not; 14 diskli yapıda toplam kapasitenin yaklaşık %70’i kullanılmaktadır.
Raid 3
+ Erişim çok hızlıdır.
+ Yedek bir disk varsa parity (0 ve 1ler ile kayıt) disk bozulursa diğer disk otomatik olarak devralır. Veri kaybı olmaz
- En az 3 disk gerekmektedir.
Not: Günümüzde pek kullanılmaz
Raid 4
+ Part part yüklediği için yazma sırasında hızlı bir şekilde okuma yapar.
- Yazma hızı azalır
- En az 3 disk gereklidir
Raid 5
+ Tüm disklere hem parity bilgisi ulaşır hem de veri bilgileri ulaşır.
+ Veriler diske yazılmadan önce Raid kart üzerinde parçalara ayrılarak yazılır.
- En az 3 disk gerekmektedir.
Not: Günümüzde en yaygın kullanılın Raid’dir.
Raid 6
Not: Raid 5 ile neredeyse aynı olan Raid 6’nın farkı en az 4 disk gerektirir ve 2 ayrı parity disk oluşturur. Bu sebeple de Yazma hızı Raid 5’e göre oldukça yavaştır.
Raid 0+1
+ En iyi performans.
+ En az 4 disk gerekmektedir, iki farklı Raid 0’ın Raid 1 bünyesinde birleşmesidir.
Not: En çok tercih edilen yapıdır.
Raid 1+0
+ Raid nesting adı verilen yapı ile farklı iki Raid 1’in Raid 0 bünyesinde birleşmesidir. En az 4 disk gerekmektedir.
+ Performans olarak yüksek seviyedir.
Raid 1+5
+ En güvenli yapıdır., çok öenmli dosyaların saklanmasında kullanılır.
- İki adet Raid 5 yapısının Raid 1 i bünyesinde birleşmesidir ancak en az 6 adet disk gerekmektedir.
Raid 5+0
+ Yüksek performans
+ Yüksek güvenlik
- En az 6 disk gerekmektedir, İki tane Raid 5’in Raid 0 bünyesinde birleşmesidir.
Raid 5+1
Not: Raid 5+0 ile benzerdir. İki adet Raid 5’in Raid 1 bünyesinde birleşmesidir. Oldukça da güvenlidir
Raid 6+0
+ Yüksek seviye güvenlik.
- En az 8 disk gerekmektedir, iki adet Raid 6’nın Raid 0 bünyesinde birleşmesidir.
- Güvenlik ile kıyaslandığında en maliyetli yapıdır.
NOT: Daha fazla bilgi ve fikir için: http://tr.wikipedia.org/wiki/RAID
Kaydol:
Kayıtlar (Atom)