Tek Mesajı Görüntüle
Old 12-15-2005, 05:51 PM   #2
ZaNdAR
ÇaKaL Üye
 
ZaNdAR Kullanıcısının Avatarı
 
Üyelik Tarihi: Dec 2005
Konum: Antalya
Yaş: 40
Mesajlar: 1,014
Teşekkür Etme: 76
Thanked 139 Times in 45 Posts
Üye No: 4739
İtibar Gücü: 1702
Rep Puanı : 7362
Rep Derecesi : ZaNdAR has a reputation beyond reputeZaNdAR has a reputation beyond reputeZaNdAR has a reputation beyond reputeZaNdAR has a reputation beyond reputeZaNdAR has a reputation beyond reputeZaNdAR has a reputation beyond reputeZaNdAR has a reputation beyond reputeZaNdAR has a reputation beyond reputeZaNdAR has a reputation beyond reputeZaNdAR has a reputation beyond reputeZaNdAR has a reputation beyond repute
Cinsiyet :
Exclamation İP nedir nedir ne değildir. TCP/IP nasıl çalışır. internet nasıl işler!

arkadaşlar aşağıdaki yazımda ip nin ne işe yaradığını nelerden olutuğunu nasıl kullanıldığını , tcp/ip protokolunun ne olduğunu nasıl çalıştığını ve dolayısıyla internetin nasıl işlediğinin açıklamaya çalışıcam


İnternet'in yaygınlaşmasıyla birlikte TCP/IP kısaltmasını çok sık duymaya başladık. Bu kısaltmanın bir bilgisayar ağı protokolü olduğu, İnternet'in bu protokol üzerine kurulu olduğu hep tekrarlandı. Buraya kadar anladık. Ama hiç kimsede çıkıp bu TCP/IP'yi doğru düzgün anlatmadı. Internet'e bağlanırken girdiğimiz değerler (IP, Subnet Mask, Default Gateway vs. vs.) ne anlama geliyor. Bunları yanlış girince niye İnternet'e çıkş yapamıyoruz, kısacası nasıl
oluyor da oluyor, hiç bilemedik. Ama artık yeter. Size bu yazıda TCP/IP'nin ne olduğunu bir bir anlatacağım. Artık gerçekler karanlıkta kalmayacak. TCP/IP, Transmission Control Protocol/Internet Protocol ifadesinin kısaltması. Türkçesi, İletim Kontrolü/İnternet Protokolü oluyor. Protokol belli bir işi düzenleyen kurallar dizisi demek.. Örneğin, devlet protokolü devlet erkanının nerede duracağını, nasıl oturup kalkacağını düzenler. Ağ protokolleri de bilgisayarlar arası bağlantıyı, iletişimi düzenliyor. TCP/IP'nin adına bakıp tek bir protokol olduğunu düşünmeyin. TCP/IP, bir protokoller kümesi. Herbiri değişik
işler yapan bir yığın protokolden oluşuyor.


TCP/IP'nin kökleri, 1960'ların sonunda 1970'lerin başında Amerikan Savunma Bakanlığı'na bağlı İleri Araştırma Projeleri Ajansının (Advanced Research Projects Agecncy, ARPA) yürüttüğü paket anahtarlamalı ağ deneylerine kadar uzanır. TCP/IP'nin yaratılmasını sağlayan proje ABD'deki bilgisayarların bir felaket anında da ayakta kalabilmesini, birbirleriyle iletişimin devam etmesini amaçlıyordu. Şimdi baktığımız zaman projenin fazlasıyla amacına ulaştığını ve
daha başka şeyleri de başardığını görüyoruz.


Bu projenin ilk aşamasında, 1970'de ARPANET bilgisayarları Network Control Protocol'ünü kullanmaya başladılar. 1972'de ilk telnet spesifikasyonu tanımlandı. 1973'de FTP (File Transfer Protocol) tanımlandı. 1974'te Transmission Control Program ayrıntılı bir şekilde tanımlandı. 1981'de IP standartı yayımlandı. 1982'de Defence Communications Agency (DCA) ve ARPA, TCP ile IP'yi TCP/IP Protokol suiti olarak tanımladı. 1983'de, ARPANET NCT'den TCP/IP'ye geçti. 1984'de Domain Name System (DNS) tanıtıldı.


Yukarıda kısaca verdiğimiz tarihçe aynı zamanda Internet'in tarihçesidir. Internet ile TCP/IP ayrılmaz kardeşlerdir. TCP/IP, İnternet'in temelidir.


Bu kısa tarihçeden sonra, bir yerel alan bilgisayar ağı üzerinde TCP/IP'yi anlatmaya geçelim. Burada anlatılanlar İnternet üzerinden de geçerlidir. TCP/IP ile kurulan bir bilgisayar ağında bir bilgisayarı üç parametre ile tanımlarız. Bu parametreler bilgisayarın adı, IP adresi ve MAC adresidir. TCP/IP protokoller kümesi bu 3 parametreyi kullanarak bilgisayarları birbirine bağlar.


Bilgisayar adı kullanıcı tarafından İşletim Sistemi yüklenirken bilgisayara verilen addır. (Bilgisayarlara MUHASEBE, SATIS, ye da AHMET gibi açıklayıcı ve kolay adlar verilmelidir.).MAC (Media Access Control, Ortama Erişim Kontrolü) adresi, bilgisayrların ağ kartının ya da benzer ağcihazlarının içine değiştirilemez bir şekilde yerleştirilmiş bulunan bir adrestir. (0020AFF8E771örneğinde olduğu gibi onaltılı düzende rakamlardan oluşur). MAC adresine donanım adresi de denir. IP dresi ise 131.107.2.101 örnek adresinde olduğu gibi, 4 bölümden oluşan bir adrestir. Nokta ile biri iğerinden ayrılan bu bölümlerin her biri 0 ile 255arasında değer alabilir.



IP adresleri aşağıdaki gibi sınıflandırılmaktadır:

Sınıf Menzil

A 0.0.0.0 dan 126.255.255.255 e

B 128.0.0.0 dan 191.255.255.255 e

C 192.0.0.0 dan 223.255.255.255 e

D 224.0.0.0 dan 239.255.255.255 e

E 240.0.0.0 dan 247.255.255.255 e


Bu tabloya göre bir IP adresinin hangi sınıfta olduğunu bulabiliriz.
örneğin: 212.98.228.194 IP adresinin ilk bölümündeki 212 sayısı bize bu IP`nin C sınıfı bir IP adresi olduğunu gösteriyor.

Çeşitli IP adresleri Ağ yapılarına göre farklı sınıflara ayrılmıştır:
Sınıf bilgi
A ilk 8-bit Ağ kimliği ve geri kalan 24-bit Host kimliği
B ilk 16-bit Ağ kimliği ve geri kalan 16-bit host kimliği
C ilk 24-bit Ağ kimliği ve son 8-bit Host kimliği
D 32-bitlik multicast grup kimliği
E Şu anda kullanımda değil. (Experimental)



Dikkatli okuyucu arada 127 ile başlayan adreslerin kayıp olduğunu farketmiştir. 127 ile başlayan adresler özel işler için ayrılmıştır. Bu adreslerin bir tanesi bizi ilgilendirir ve sık sık kullanmamız gerekir. Bu adres 127.0.0.1'dir ve kendi bilgisayarımızı gösterir. İşlerin yolunda gidip gitmediğini öğrenmek için ilk önce bu adresi kullanırız.

Aşğıdaki örneklere baktığınızda yukarıdaki tabloyu daha iyi anlayacaksınız:

Örnekler:
212.98.228.194 A sınıfına ait olduğunda 212 ağ kimliğini ve 98.228.194 de host`un kimliğini belirtecekti.
Eğer aynı IP adresi B sınıfı olsaydı Ağ kimliği 212.98 olacaktı ve host kimliğide 228.194 olacaktı.
Ve C sınıfına ait olduğunda da ağ kimliği 212.98.228 ve host kimliğide 194 olacaktı.
Çoğu ISS (internet servisi sağlayıcı) B sınıfı ağlara sahip. ISS`e bağlandığınızda IP adresinizin ilk 2 octet`i muhtemelen değişmeyecek fakat son ikisi değişecektir. (Subnetting`den ilerde bahsedilecek)

Kendi sisteminizin IP adresini nasıl bulursunuz?

Internet`e bağlanın.
MSDOS komut satırına geçin.
netstat –n yazın ve enter`a basın.
Aşağıdakine benzer bir çıktı alacaksınız:

C:WINDOWS>netstat -n



Active Connections

Proto Local Address Foreign Address State

TCP 195.174.1.182:1045 212.98.228.194:21 ESTABLISHED

TCP 195.174.1.182:1242 195.87.6.41:6667 ESTABLISHED


Local Address alanındaki IP adresi sisteminizin IP adresini gösterir.
Ağ kimliği 127 ile başlayan bir A sınıfı, adres özel adres olarak tanımlanmıştır. Loopback Interface olarak bilinir. Aynı sistemdeki istemci ve sunucuların birbiriyle haberleşebilmesine izin verir. loopback adresi, genelde 127.0.0.1 dir. Hemen hemen tüm sistemler loopback adresine `localhost` özel ismini vermiştir.


Artık bir IP adresinin kablolu dünyadaki bir bilgisayarın adresinin ondalık sistemde yazılışı olduğunu biliyoruz. Fakat bir bilgisayarın adresinin ondalık sistemiyle yazılması gerekmiyor. Aşağıda bir IP adresinin çeşitli şekillerde yazılışını göreceğiz.

Bir IP adresini göstermenin birden fazla yolu vardır:
Ondalık Sistem: IP Adresleri 10 tabanına göre gösterilir. Örnek: 212.98.228.194Alan adı sistemi: Eğer bir IP adresi insanın daha kolay anlayacağı hatırlayacağı karakter ve isimlerle gösteriliyorsa buda DNS sistemidir.

Octal System: Eğer bir IP adresi octal sistemde gösteriliyorsa 8 tabanına göre gösteriliyor demektir. Örneğin: 33034666365
Hexadecimal Sistemi: IP Adresleri 16 tabanına göre gösterilir.
Cross Breed: Eğer bir IP adresi yukardaki herhangi iki sistem ile karışık olarak gösterilirse buna Cross Breed denir.

Yukardaki örneklerle değişik yazılımlar sizi aynı adrese götürecektir. Yani browser`da : www.xx.com 143189, 33034666365 ve 216.115.108.245. Adresin binary yazılışı (11011000011100110110110011110101) da pek çok uygulamada çalışır.

NOT: Yukardakilerin hemen hepsi tüm browser`lar ile çalışacaktır. Eğer ISS`iniz proxy yada firewall kullanıyor ise bazısı çalışmayabilir.
Bir IP adresinin çeşitli şekillerde yazılışını gördükten sonra şimdi bir alan ismini diğer şekillere nasıl çevirebileceğimizi görelim.

Çevirimin nasıl çalıştığını görmek için örnek olarak www.xx.com i alalım. Öncelikle normal dotted-decimal IP adresini bulalım. Bunu bulmak için pek çok araç kullanılabilir. Ben ping kullandım:
C:WINDOWS>ping xxx.com

Pinging xcom [216.115.108.245] with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.

Yukarda hedef sistemin IPsinin 216.115.108.245 olduğu görülüyor.
Elimizde IP var şimdi bunu diğer format`lara çevirelim.
dotted-decimal bir IP adresini DWORD karşılığına çevirmek için her rakamı birbirinden ayırmak lazım. Böylece 216.115.108.245 aşağıdaki gibi bölünüyor:
216.115.108.245=
216
115
108
245

İlk olarak decimal olanları hexadecimal karşılıklarına çevirelim. Bu aşağıdaki tablo ile yapılabilir:
0 1 2 3 4 5 6 7 8 9 A B C D E F.
0 000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015
1 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031
2 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047
3 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063
4 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079
5 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095
6 096 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111
7 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
8 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
9 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
A 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
B 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191
C 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207
D 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223
E 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
F 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255
(Tabloyu grafik tabandan text tabanına donusturunce alt alta gelemedi kusura bakmayın)

Buna göre:
216=D8
115=73
108=6C
245=F5
Sonuç olarak, 216.115.108.245 = D8736CF5

D8736CF5 IPnin Hex karşılığı ve her zaman 8 karakter uzunluğunda olacaktır. bir DWORD değeri 10 tabanında gösterildiği için Decimal şeklinede çevirmemiz gerekiyor:

Start > Programs > Accessories > Calculator
View > Scientific
‘Hex’i seçin ve D8736CF5 yazın

Sonra Dec (Decimal)a basın. yazdığınız değerin 3631443189`a döüştüğünü göreceksiniz.

Şimdi 10 tabanında gösterilen DWORD değeriniz oldu. Browser`ınzıda www.x.om veya 3631443189 veya 216.115.108.245 yazmak sizi aynı siteye götürecektir.

Yukardaki işlem zahmetli gelenler için aşağıdaki perl script`i bu işlemleri daha kolaylaştıracaktır:


Kod:
#!/usr/bin/perl
# Usage: dword.pl [ -q | --quiet ] host/ip
#
use Socket;              # for gethostbyname()
use Math::BigInt;         # so it fits..
my $quiet, $host, @ip;            # get some vars started.
if ( $#ARGV < 0 ) {
  print '$0';
  print 'Usage: $0 [-q | --quiet] host n';
  exit;
**
if ( $ARGV[0] =~ /-q|--quiet/ ) {
  $quiet=1;
  $name = $ARGV[1];
**
else {
  $name = $ARGV[0];
**
@host = gethostbyname( $name );  # get the ip, if a hostname is used
$foo = $host[4];
# This parses the result of the gethostbyname into numbers
for $n (1..4) {
  $ip[$n] = ord( substr( $foo , ($n-1) , 1 ) );
**
if ($quiet != 1) {
  print '$name = $ip[1].$ip[2].$ip[3].$ip[4] = ';
**
for $n (1..4) {
  $ip[$n] = ( $ip[$n] * ( 2 ** ( ( 3 - ($n-1)) * 8 ) ) );
**
print ($ip[1] + $ip[2] + $ip[3] + $ip[4]);
print 'n';
exit;

*******************
10 tabanlı DWORD değerine aşağıdaki matematik formülü ilede ulaşılabilir:
IP Adresi= 216.115.108.245
DWORD değeri: 3631443189 (hesaplamıştık)
216 * (256)3 = 216 * 16777216 = 3623878656
115 * (256)2 = 115 * 65536 = 7536640
108 * (256)1 = 108 * 256 = 27648
245 * (256)0 = 245 * 1 = 245

Son kolonuda eklediğimizde daha önce hesaplanan DWORD değerini elde ediyoruz.
*******************


IP adresinin binary şeklini elde etmek için
Start > Programs > Accessories > Calculator.
View > Scientific.
‘Hex’iseçin ve D8736CF5 yazın.
Bin (Binary)`e basın. yazdığınız değerin 11011000011100110110110011110101 olduğunu göreceksiniz.

Çoğu browser binary formatındaki IPleri kabul etmez. Onları kullanmanın tek yolu Decimal`e çevirmektirki buda 10-tabanlı sistemde DWORD gösterimleridir.
IP Adresini (216.115.108.245) binary karşığına çevirmek için:
Start > Programs > Accessories > Calculator.
View > Scientific.
‘Dec’ i seçin ve IP adresinin ilk bölümünü yazın (216).
‘Oct’ u seçin, bu IP adresinin ilk bölümünün Octal karşılığını verecektir (324).
Bunu bir yere not edin ve IP adresinin diğer bölümleri içinde bu işlemleri yapın.
Böylece, 216.115.108.245:
216= 330
115=163
108=154
245=365
Browser`a yazmadan önce hepsinin başına 0 eklemek gerekiyor
http://216.115.108.245 = http://0330.0163.0154.0365
Octal IP Adresinde baştarafa istenildiği kadar 0 eklenebilir. Bu sonucu değiştirmeyecektir.
Yani http://0330.0163.0154.0365 aynı zamanda http://000330.000163.000154.000365 olarakda yazılabilir.

Browser`ınıza www.x.om veya 3631443189 veya 216.115.108.245 veya http://0330.0163.0154.0365 yazdığınızda hepsinin sizi aynı adrese götürmesi gerekiyor.

Bir IP adresini Hexadecimal olarak göstermekde mümkün. Daha önce hesapladığımız gibi:
216.115.108.245 = D8736CF5
olarak bulmuştuk.
Her değerin başına bir `0x` ekleyelim:
http://0xD8.0x73.0x6C.0xF5

Yukarıdaki aynı zamanda http://0xD8736CF5 olarakda yazılabilir.

Not: Netscape`in çoğu sürümü Hexadecimal IP Adreslerini desteklemez.

Yukardaki formatlardan birkaçını birleştirerek bir cross breed yaratabilirsiniz ama browser`ın desteklemesi gerektiği unutulmamalı.



İnternette A sınıfı adresler çok değerli adreslerdir ve büyük ağlardaki bilgisayarlar için ayrılmıştır. Örneğin IBM'in adresleri A sınıfı adreslerdir. Şu anda İnternette A sınıfı adres tükenmiştir, kimseye verilmemektedir. A sınıfı adres alan bir işletme yaklaşık 16 milyon adres tanımlayabilir. İnternet'te B sınıfı adresler de şu anda tükenmiştir. Bir B sınıfı adreste yaklaşık 65000 bilgisayar tanımlanabilir. Örneğin, Microsoft'a bir B sınıfı adres alanı ayrılmıştır. C sınıfı adresler halen boldur, kullanılabilir. Ama C sınıfı bir adres alanı ile de ancak 250 küsür adres alanı tanımlanabilir. Bir yerel ağ kurarken İnternet'teki adres kısıtlamaları bizi bağlamaz. Kendi ağımız için her sınıftan bir adres verebiliriz.
Burada verilen adreslerin İnternet ile bir bağlantısı yoktur. Bu noktaya dikkat ediniz.

TCP/IP'yi anlamak için kendimizi bir yerel, daha sonra dageniş bir ağ ile ksıtlayacağız.
Böyle bir ağın İnternet bağlantısı ise bambaşka bir konudur. Şimdi kendi bilgisayar ağımız için bir C sınıfı adres alanı tanımlayalım. Bilgisayarlarımıza vereceğimiz adresler 220.107.2.100 ile 220.107.2.200 arasında yer alsın.

Örnek adresler:



Birinci bilgisayar için 220.107.2.100

İkinci bilgisayar için 220.107.2.101

Üçüncü bilgisayar için 220.107.2.102

..........

Sonuncu bilgisayar için 220.107.2.200



Dikkat ederseniz, bütün bilgisayarların adreslerinin ilk üç hanesi sabit: 220.107.2.
Bu adrese, tam olarak söylemek gerekirse 220.107.2.0 adresine, ağ tanımlayıcısı (Network ID) denir. Yani, sizin ağınızın adresi nedir derlerse 220.107.2.0 diyebiliriz. Buradan çıkaracağımız lk sonuç şu: Hiç bir bilgisayara, sonu 0 ile biten bir adres veremeyiz. Sonu 0 ile biten adresler ağı tanımlar.



Bilgisayarımıza veremeyeceğimiz ikinci bir adres de, sonu 255 ile biten bir adrestir.
Örnek ağımızdaki bilgisayarların adresleri araasında 220.107.2.255 yer alamaz. Sonu 255 ile biten adresler broadcast adresleridir. Broadcaast yayın demektir; Aynen radyo televizyon yayınlarındaki gibi. Yani, belli bir bilgisayara değil de tüm ağa mesaj göndereceğimiz zaman sonu 255'le biten bir adres kullanırız, böylece ağa yayın yaparız. Örnek ağımızda herkese gidecek mesajın hedef adresi 220.107.2.255 olur.



Şimdi biraz toplayalım. IP adresleri iki bölümden oluşur. İlk bölüm ağın adresidir. İkinci bölüm ağ içindeki bilgisayarların adresleridir. Örneğimizdeki adreslerde "220.107.2." ifadesini içeren bölüm, ağı tanımlar. Geri kalan kısım ise (100,101,...,200 gibi) ağdaki bilgisayarların her birini tanımlar. Başka bir ağda ağ adresleri 131.107.0.0 şeklinde, bir başkasında ise 90.0.0.0 şeklinde olabilir. Ağ adresleri seçtiğimiz sınıfa bağlıdır.



Bir bilgisayar, IP adresinin hangi bölümünün ağı tanımladığını, hangi bölümünün ise bilgisayarı tanımladığını bilmek zorundadır. Bunun için Subnet Mask bilgisini kullanır. Subnet Mask'i AĞ MASKESİ şeklinde çevirebiliriz. Subnet Mask'da bir IP adresidir; Dört bölümden oluşur ve ağ adresinin hangi bölüme kadar geldiğni göstermek için kullanılır. Örneğimizde Subnet Mask 255.255.255.0'dır. Yani örneğimizde ağ adresi IP adresinin ilk üç hanesi ile tanımlanmaktadır. Bilgisayarlar kendi ağ tanımlayıcılarını bulmak için Subnet
Mask'i kullanırlar. Bu yüzden Subnet Mask'in doğru bir şekilde girilmesi ağımızın çalışması açısından önemlidir. Yanlış girilen subnet mask değeri, bilgisayarın diğer bilgisayarlarla iletişimini engeller.



Bir bilgisayar ancak kendi ağı üzerindeki bir bilgisayara
bilgi gönderebilirler. Bir bilgisayar ancak kendi ağı üzerindeki bir bilgisayara bilgi
gönderebilir. Başka bir ağda bulunan bilgisayarlara bilgi göndermek gerekirse, yönlendirici (ROUTER) adı verilen cihazlar kullanılır. Cihaz dedik ama, üzerinde birden fazla ağ kartı bulunan bilgisayarlar da yönlendirici görevi görebilirler.


biraz sıkıcı ve uzuzn oldu ama okuyanlar kesnilikle memnun olacaktır..



selametle...
__________________
˙·٠�●ßµ aLεмd£ KяaL`dã Taήıмaм KµяaL`da ! گoήµ öLµм oLگã ßįL£..!!! ●�٠· ¤ۜ



ZaNdAR çevrimdışı   Alıntı ile Cevapla