Transmission Control Protocol (TCP)

Slides:



Advertisements
Benzer bir sunumlar
Bilgisayar Ağları Son Hafta
Advertisements

TCP/IP Mimarisi ve Katmanları
Bölüm 6 IP Adresleme ve Yönlendirme
BBY 302 Bilgi Teknolojisi ve Yönetimi
IP ADRESLEME / YÖNLENDİRME
TCP/IP Protokolü.
TCP/IP Protokolü.
TCP/IP Protokolü.
 Meltem KORCAY  Ayşe KUBİLAY
TCP/IP.
VTYS 2012 Mehmet Emin KORKUSUZ Ders - 06.
TCP/IP (Devam).
CEIT316 İrfan Çiftgül Abdurrahman Köle Fırat Canlısoy
OSI Modeli SAMET ARSLAN
Internet Nedir? Birbirine bağlı bilgisayarlar topluluğudur.
Google Display Network Targeting options.
İNTERNET VE BİLGİ AĞLARININ KULLANIMI
AĞ PROTOKOLÜ.
IP Adresleme Mekanizması - Adres Sınıfları ve Altağlar Sistem Adresi ve Ağ Adresi Kaynaklar: Ilker Temir, Yrd.Doc.Dr. Sirin Karadeniz, Rize Univ.
İnternet ve e-posta Yönetimi
Yard. Doç. Dr. Şirin KARADENİZ
2- OSI BAŞVURU MODELİ & TCP/IP MODELİ
TCP/IP.
FTP Dosya Transfer Protokolü (File Transfer Protocol; FTP), bir veri yığınının bir uç aygıttan diğerine iletimi için kullanılmaktadır. Bir dosyayı FTP.
Ağ PROTOKOLLERİ.
İnternet Katmanı Öğr. Gör. Mustafa SARIÖZ
Gaziantep Üniversitesi Enformatik Bölümü
32 bit destination IP address
ALT AĞLAR.
TCP/IP Protokol Yapısı
Büyük Risk Bilgisayar Ağları Network Soru-Cevap 1 Bilgisayar Ağları
IP Adresleme ve Alt Ağlar (subnets)
DHCP SUNUCUSU KURULUMU VE YÖNETİMİ
TCP/IP PROTOKOLÜ.
İnternet Teknolojisi Temel Kavramlar
BTEP 203 – İnternet ProgramcIlIğI - I
3- IP ADRESLEME Yrd. Doç. Dr. Ersoy ÖZ.
TCP/IP Sorun Çözme ve Ağ Komutları
3. Bölüm Taşıma Katmanı Computer Networking: A Top Down Approach 4th edition. Jim Kurose, Keith Ross Addison-Wesley, July Transport Layer.
TCP/IP Protokolü.
Taşıma Katmanı Öğr. Gör. Mustafa SARIÖZ
BLM619 Bilgisayar Ağları ve Uygulamaları
TCP/IP’nin YApISI ve IP ADRESLEME
NAT: Network Address Translation (Ağ Adres Dönüşümü)
TCP/IP – DHCP Nedir?.
İnternet Teknolojisi Temel Kavramlar
OSI Katman Modeli.
Chapter 5. Ağ Protokolleri
TCP/IP Sorun Çözme ve Ağ Komutları
Network Bölümlemek. Network Bölümlemek Adres yönetimi kolaylığı, güvenlik sağlamak ve performans artışı sağlamak için Networkleri küçük parçalara böleriz.
Ethernet Anahtarlama.
TCP/IP Protokolü. TCP/IP TCP/IP’nin tarihi ARPANET ile başlayan Internetin tarihidir. Adreslerin dağıtımı NIC (Network Information Center) tarafından.
Yard. Doç. Dr. Şirin KARADENİZ
B İ L İŞİ M S İ STEMLER İ GÜVENL İĞİ (2016) PROF. DR. ORHAN TORKUL ARŞ. GÖR. M. RAŞIT CESUR.
Ağ Temelleri Semineri erbiL KARAMAN. Gündem 1. İnternet 2. TCP / IP 3. Ağ Analizi 4. Ağ Güvenliği.
TCP/IP. Network Katmanı ● Bu katmanda IP'ye göre düzenlenmiş veri paketleri bulunur. ● İletim katmanından gelen veriler burada Internet paketleri haline.
Öğretim Görevlisi Alper Talha Karadeniz Ağ Temelleri
Sunucu İşletim Sistemleri-2
TCP/IP (Devam).
Dünyanın bilgisine açılan pencere...
Inter-Process Communication: Processler-Arası İletişim Network Programming using Java Sockets Java Soketleri kullanarak Ağ Programlama.
PORTLAR Gizem GÜRSEL
TCP/IP Protokolü Öğr. Gör. Ferdi DOĞAN.
TCP/IP Protokolü.
TCP/IP PROTOKOLÜ.
Bilgisayar Mühendisliğine Giriş
TCP-IP.
802.1CBdb draft text contribution
Sunum transkripti:

Transmission Control Protocol (TCP)

OSI vs. TCP/IP Uygulama Sunum Oturum Taşıma Ağ Veri İletim Fiziksel WAN SLIP ve PPP TCP UDP Telnet FTP DNS OSI TCP/IP ICMP ARP LAN Uygulama Katmanı (Application Layer) Taşıma Katmanı (Transport Layer) Ağ Katmanı (Network Layer/Internet Layer/Internetwork Layer) Fiziksel Katman (Network Access Layer/Link and Physical Layer)

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 point-to-point (unicast): one sender, one receiver connection-oriented: handshaking (exchange of control msgs) init’s sender, receiver state before data exchange State resides only at the END systems – Not a virtual circuit! full duplex data: bi-directional data flow in same connection (A->B & B->A in the same connection) MSS: maximum segment size reliable, in-order byte steam: no “message boundaries” send & receive buffers buffer incoming & outgoing data flow controlled: sender will not overwhelm receiver congestion controlled: sender will not overwhelm network

TCP segment structure source port # dest port # application data 32 bits application data (variable length) sequence number acknowledgement number Receive window Urg data pnter checksum F S R P A U head len not used Options (variable length) URG: urgent data (generally not used) counting by bytes of data (not segments!) ACK: ACK # valid PSH: push data now (generally not used) # bytes rcvr willing to accept RST, SYN, FIN: connection estab (setup, teardown commands) Internet checksum (as in UDP)

TCP Connection-oriented demux TCP socket identified by 4-tuple: source IP address source port number dest IP address dest port number receiving host uses all four values to direct segment to appropriate socket

TCP Demultiplexing Example SP: 80 DP: 9157 SP: 80 DP: 5775 SP: 9157 SP: 5775 DP: 80 client IP: A Client IP:B DP: 80 server IP: C

Typical TCP Transaction Client Server A TCP Transaction consists of 3 Phases Connection Establishment Handshaking between client and server Reliable, In-Order Data Exchange Recover any lost data through retransmissions and ACKs Connection Termination Closing the connection Connection Establishment Reliable, In-Order Data Exchange Connection Termination time time

TCP Connection Establishment TCP sender, receiver establish “connection” before exchanging data segments initialize TCP variables: seq. #s buffers, flow control info (e.g. RcvWindow) client: connection initiator Socket clientSocket = new Socket("hostname", port#); server: contacted by client Socket connectionSocket = welcomeSocket.accept();

Connection Establishment (cont) Three way handshake: Step 1: client host sends TCP SYN segment to server specifies a random initial seq # no data Step 2: server host receives SYN, replies with SYNACK segment server allocates buffers specifies server initial seq. # Step 3: client receives SYNACK, replies with ACK segment, which may contain data Host A Host B Connection request SYN, Seq=42 host ACKs and selects its own initial seq # SYN+ACK, Seq=79, ACK=43 host ACKs ACK, Seq=43, ACK=80 time time Three-way handshake

Connection Establishment (cont) Host A Host B Connection request Seq. #’s: byte stream “number” of first byte in segment’s data ACKs: seq # of next byte expected from other side cumulative ACK SYN, Seq=42 host ACKs and selects its own initial seq # SYN+ACK, Seq=79, ACK=43 host ACKs ACK, Seq=43, ACK=80 time time Three-way handshake

TCP Starting Sequence Number Selection Why a random starting sequence #? Why not simply choose 0? To protect against two incarnations of the same connection reusing the same sequence numbers too soon That is, while there is still a chance that a segment from an earlier incarnation of a connection will interfere with a later incarnation of the connection How? Client machine seq #0, initiates connection to server with seq #0. Client sends one byte and client machine crashes Client reboots and initiates connection again Server thinks new incarnation is the same as old connection

TCP Connection Termination Closing a connection: client closes socket: clientSocket.close(); Step 1: client end system sends TCP FIN control segment to server Step 2: server receives FIN, replies with ACK. Server might send some buffered but not sent data before closing the connection. Server then sends FIN and moves to Closing state. client server close FIN ACK DATA Data write ACK FIN close timed wait ACK closed

TCP Connection Termination Step 3: client receives FIN, replies with ACK. Enters “timed wait” - will respond with ACK to received FINs Step 4: server, receives ACK. Connection closed. Why wait before closing the connection? If the connection were allowed to move to CLOSED state, then another pair of application processes might come along and open the same connection (use the same port #s) and a delayed FIN from an earlier incarnation would terminate the connection. client FIN server ACK closing closed timed wait

TCP State-Transition Diagram CLOSED LISTEN SYN_RCVD SYN_SENT ESTABLISHED CLOSE_WAIT LAST_ACK CLOSING TIME_WAIT FIN_WAIT_2 FIN_WAIT_1 Passive open Close Send/ SYN SYN/SYN + ACK SYN + ACK/ACK ACK /FIN FIN/ACK ACK + FIN/ACK Timeout after two segment lifetimes Active open /SYN

Typical TCP Client/Server Transitions TCP server lifecycle TCP client lifecycle

How to program using the TCP? TCP UDP IP LL PL Socket Layer TCP UDP IP LL PL Socket Layer TCP UDP IP LL PL Socket Layer Socket Layer: Programmer’s API to the protocol stack Typical network app has two pieces: client and server Server: Passive entity. Provides service to clients e.g., Web server responds with the requested Web page Client: initiates contact with server (“speaks first”) typically requests service from server, e.g., Web Browser

Socket Creation mySock = socket(family, type, protocol); UDP/TCP/IP-specific sockets Socket reference File (socket) descriptor in UNIX Socket handle in WinSock Family Type Protocol TCP PF_INET SOCK_STREAM IPPROTO_TCP UDP SOCK_DGRAM IPPROTO_UDP Socket descriptors can be used just like file descriptors in UNIX. In WinSock, Socket handles and file handles are not the same thing.

TCP Client/Server Interaction Server starts by getting ready to receive client connections… Server Create a TCP socket Assign a port to socket Set socket to listen Repeatedly: Accept new connection Communicate Close the connection Client Create a TCP socket Establish connection Communicate Close the connection Students should follow along with source code in the book

TCP Client/Server Interaction /* Create socket for incoming connections */ if ((servSock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) DieWithError("socket() failed"); Server Create a TCP socket Bind socket to a port Set socket to listen Repeatedly: Accept new connection Communicate Close the connection Client Create a TCP socket Establish connection Communicate Close the connection Students should follow along with source code in the book

TCP Client/Server Interaction echoServAddr.sin_family = AF_INET; /* Internet address family */ echoServAddr.sin_addr.s_addr = htonl(INADDR_ANY);/* Any incoming interface */ echoServAddr.sin_port = htons(echoServPort); /* Local port */ if (bind(servSock, (struct sockaddr *) &echoServAddr, sizeof(echoServAddr)) < 0) DieWithError("bind() failed"); Server Create a TCP socket Bind socket to a port Set socket to listen Repeatedly: Accept new connection Communicate Close the connection Client Create a TCP socket Establish connection Communicate Close the connection Students should follow along with source code in the book

TCP Client/Server Interaction /* Mark the socket so it will listen for incoming connections */ if (listen(servSock, MAXPENDING) < 0) DieWithError("listen() failed"); Server Create a TCP socket Bind socket to a port Set socket to listen Repeatedly: Accept new connection Communicate Close the connection Client Create a TCP socket Establish connection Communicate Close the connection Students should follow along with source code in the book

TCP Client/Server Interaction for (;;) /* Run forever */ { clntLen = sizeof(echoClntAddr); if ((clntSock=accept(servSock,(struct sockaddr *)&echoClntAddr,&clntLen)) < 0) DieWithError("accept() failed"); Server Create a TCP socket Bind socket to a port Set socket to listen Repeatedly: Accept new connection Communicate Close the connection Client Create a TCP socket Establish connection Communicate Close the connection Students should follow along with source code in the book

TCP Client/Server Interaction Server is now blocked waiting for connection from a client Server Create a TCP socket Bind socket to a port Set socket to listen Repeatedly: Accept new connection Communicate Close the connection Client Create a TCP socket Establish connection Communicate Close the connection Students should follow along with source code in the book

TCP Client/Server Interaction Later, a client decides to talk to the server… Server Create a TCP socket Bind socket to a port Set socket to listen Repeatedly: Accept new connection Communicate Close the connection Client Create a TCP socket Establish connection Communicate Close the connection Students should follow along with source code in the book

TCP Client/Server Interaction /* Create a reliable, stream socket using TCP */ if ((sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) DieWithError("socket() failed"); Server Create a TCP socket Bind socket to a port Set socket to listen Repeatedly: Accept new connection Communicate Close the connection Client Create a TCP socket Establish connection Communicate Close the connection Students should follow along with source code in the book

TCP Client/Server Interaction echoServAddr.sin_family = AF_INET; /* Internet address family */ echoServAddr.sin_addr.s_addr = inet_addr(servIP); /* Server IP address */ echoServAddr.sin_port = htons(echoServPort); /* Server port */ if (connect(sock, (struct sockaddr *) &echoServAddr, sizeof(echoServAddr)) < 0) DieWithError("connect() failed"); Server Create a TCP socket Bind socket to a port Set socket to listen Repeatedly: Accept new connection Communicate Close the connection Client Create a TCP socket Establish connection Communicate Close the connection Students should follow along with source code in the book A new socket is created on the server that is connected to the client socket

TCP Client/Server Interaction echoStringLen = strlen(echoString); /* Determine input length */ /* Send the string to the server */ if (send(sock, echoString, echoStringLen, 0) != echoStringLen) DieWithError("send() sent a different number of bytes than expected"); Server Create a TCP socket Bind socket to a port Set socket to listen Repeatedly: Accept new connection Communicate Close the connection Client Create a TCP socket Establish connection Communicate Close the connection Students should follow along with source code in the book

TCP Client/Server Interaction /* Receive message from client */ if ((recvMsgSize = recv(clntSocket, echoBuffer, RCVBUFSIZE, 0)) < 0) DieWithError("recv() failed"); Server Create a TCP socket Bind socket to a port Set socket to listen Repeatedly: Accept new connection Communicate Close the connection Client Create a TCP socket Establish connection Communicate Close the connection Students should follow along with source code in the book

TCP Client/Server Interaction close(sock); close(clntSocket) Server Create a TCP socket Bind socket to a port Set socket to listen Repeatedly: Accept new connection Communicate Close the connection Client Create a TCP socket Establish connection Communicate Close the connection Students should follow along with source code in the book Note that server closes connection socket, not listening socket

TCP Tidbits Client Client knows server address and port No correlation between send() and recv() Client send(“Hello Bob”) recv() -> “Hi Jane” Server recv() -> “Hello ” recv() -> “Bob” send(“Hi ”) send(“Jane”) The client must know the server address and port The server discovers the client’s address and port at connection

Uygulama Katmanı Protokolleri DNS (Domain Name System-Alan Adı Sistemi) Alan adı verilen isimler (www.gazi.edu.tr) ile IP adreslerini (194.27.16.10) birbirine bağlayan sistemdir. Paylaştırılmış bir veritabanı olarak çalışır. HTTP (HyperText Transfer Protocol-Hiper Metin Gönderme Protokolü) HTML sayfaları göndermek vb… HTTPS (Secure HTTP-Güvenli HTTP) HTTP'nin RSA (İki anahtarlı şifreleme veya asimetrik anahtarlı şifreleme) şifrelemesi ile güçlendirilmiş halidir. Örneğin bankaların internet siteleri. FTP (File Transfer Protocol) SFTP veya FTPS (Secure FTP), FTP'nin RSA ile güçlendirilmiş halidir.

Uygulama Katmanı Protokolleri DHCP (Dynamic Host Configuration Protocol) Terminallere otomatik ip adresi dağıtır. SNMP (Simple Network Managment Protocol- Basit Ağ Yönetimi Protokolü) Ağlar büyüdükçe bu ağlar üzerindeki birimleri denetlemek amacıyla tasarlanmıştır. PC’ye bağlı kullanıcılar, internet bağlantı hızı, sistem çalışma süresi vb. bilgiler tutulur. NFS (Network File System-Ağ Dosya Sistemi) Ağdaki paylaştırılmış dosyalara ulaşmayı sağlar LPD (Line Printer Daemon) Ağdaki yazıcının kullanılmasını sağlar.

Uygulama Katmanı Protokolleri SMTP (Simple Mail Transfer Protocol, - Basit Posta Gönderme Protokolü) E-posta göndermek için kullanılır. POP3 (Post Office Protocol 3) E-posta almak için kullanılır. Telnet (Telecommunication Network) Çok kullanıcılı bir makineye uzaktaki başka bir makineden bağlanmak için kullanılır.

Fiziksel Katman Protokolleri SLIP (Serial Line Internet Protocol) IP verilerinin, seri iletişim teknikleri ile iletimini sağlayan protokoldür. Dial-up veya kiralık hat bağlantılarında kullanılır. Veriler seri iletişim teknikleri kullanılarak iletilir. PPP (Point-to-Point Protocol) SLIP’e benzer, yine dial-up bağlantıda kullanılır. Ancak PPP; Verileri sıkıştırır Bir çok donanım çoğunlukla destekler Hata düzeltme ve belirleme algoritmaları kullanır.

Taşıma Katmanı Protokolleri TCP (Transmission Control Protocol-Transfer Kontrol Protokolü) Veri aktarımı yapılacak iki bilgisayar arasındaki bağlantıyı kurar Hata denetimi yapar. Paketler gitmediyse bir daha gönderir. UDP (User Datagram Protocol) TCP gibi ağ üzerinden paketi gönderir ama bu protokol paketin gidip gitmediğini takip etmez ve paketin yerine ulaşıp ulaşmayacağını garantilemez. Daha çok küçük paketlerin tüm PC’lere gönderilmesinde kullanılır.

TCP Başlığı (TCP Header) Kaynak portu (16 bit) Hedef portu (16 bit) Sıra numarası (32 bit) Alındı bilgisi numarası (32 bit) Veri ofseti (4 bit) Ayrılmış (6 bit) Bayraklar (6 bit) Pencere (16 bit) Checksum (Kontrol Toplamı – 16 bit) Acil İşaretçiler (16 bit) Opsiyonlar – Değişkenler Veri

TCP/IP Başlık Kaynak ve hedef portu: Gönderici ve alıcı pc’lerin port numarası Sıra numarası:Paketin hangi bölümü olduğunu gösterir Alındı bilgisi numarası: Bir sonraki gelecek olan paket bölüm numarası Pencere: Alıcının daha ne kadar paket bölümü alacağını belirler. Checksum: İletim biriminden geçen bit'lerin sayısı.

TCP/IP Portları Ağ Servisi Port No FTP veri transferi TCP Port 20 FTP kontrol TCP Port 21 Telnet TCP Port 23 SMTP TCP Port 25 DNS UDP port 53 HTTP TCP/UDP Port 80 POP3 TCP Port 110 SHTTP TCP/UDP Port 443

Checksum (Kontrol Toplamı – 16 bit) UDP Başlığı Kaynak portu (16 bit) Hedef portu (16 bit) Uzunluk Checksum (Kontrol Toplamı – 16 bit) Veri

Ağ Katmanı Protokolleri ICMP (Internet Control Message Protocol): Paketin gönderilmesi sırasında hata oluştuğunda mesaj veya rapor gönderir. Ping komutu ARP (Address Resolution Protocol) Yerel ağdaki adresleri veya donanım adreslerini (MAC adres) ön bellekler. MAC adresi ağ adresine ve ağ adresini de MAC adresine çevirir. IGMP (Internet Group Management Protocol) Belli bir gruptaki hostları, multicast (Bir gönderici ile ağ üzerinde birden fazla alıcı arasında kurulan iletişimbir grup) router’a bildirir.

Ağ Katmanı Protokolleri IP (Internet Protocol) IP adresi bir ağa bağlı bilgisayarların ağ üzerinden birbirlerine veri yollamak için kullandıkları adrestir. IP Başlığı: IP versiyon IP başlık uzunluğu Hizmet türü Toplam uzunluk Kimlik Parçalanma durumu Parçalanma Ofseti TTL Protokol Başlık kontrol toplamı (Checksum) Kaynak Adresi Hedef Adresi Opsiyonlar Veri

IP Başlığı Hizmet türü: Host’un ne tür bir hizmet istediği: Hızlı (örneğin ses), hatasız (örneğin dosya) veya güvenli iletim gibi. Kimlik: Paket bölümünün bağlı olduğu bölümün kimliği, o pakete ait olan bölümlerin hepsinde aynı tanım yazar. TTL (Time to Live): Paketin ömrü. Başlık kontrol toplamı: Sadece paketin kontrolünü sağlar.

IP (Internet Protocol) Yaygın olarak IPv4 adresler kullanılıyor. Toplam 32 bit ve noktalarla ayrılmış 4 adet 8 bitlik sayı. Örnek bir IP adresi: 10000000 10011100 00001110 00000111 w.x.y.z 128.156.14.7 Ip adresleri dünyada 232 = 4 milyardır. Dinamik ip adresleri : Evden modem ile bağlanma Statik ip adresleri: IIS

D sınıfı 224-239 ve ağ 28 bit ile gösterilir. IPv4 Adresleme Sınıf IP adres Ağ No Host No Ağ bit sayısı Host bit sayısı Ağdaki PC Sayısı A 1-126 w x.y.z 8 24 224 = 16,777,214 B 128-191 w.x y.z 16 216 =65534 C 192-223 w.x.y z 28 = 254 D sınıfı 224-239 ve ağ 28 bit ile gösterilir. 240 ve üzeri E sınıfı 127 ile başlayan adresler : Bir makinenin kendisi ile konuşması (loopback) Localhost: 127.0.0.1 İlk oktet 0 veya 255 olamaz.

Ayrılmış IP Adresler Bazı IP adresleri bazı kullanımlar için ayrılmıştır. Yerel ağlar için ayrılmış adresler: 10.0.0.0 - 10.255.255.255 172.16.0.0 - 172.31.255.255 192.168.0.0 - 192.168.255.255 169.254.0.0 - 169.254.255.255 0  bir ağı göstermektedir 255  broadcast adres; bir ağ içerisindeki tüm PC’ler

Ağ ve Broadcast Numaraları C sınıfı 129.23.123.2 adres için; Ağ numarası: 129.23.123.0 Bu ağdaki tüm PC’lere mesaj göndermek isteyen bir cihaz şu adrese mesajı atacaktır; 129.23.123.255 B sınıfı 124.50.120.2 adres için; Ağ numarası: 124.50.0.0 124.50.255.255

Alt Ağ Maskesi (Subnet Mask) Ağdaki iki bilgisayarın veya cihazın aynı ağda olduklarını anlamalarını sağlar. Sınıf IP adres Ağ No Host No Ağ bit sayısı Host bit sayısı Ağ Maskesi A 1-126 w x.y.z 8 24 255.0.0.0 B 128-191 w.x y.z 16 255.255.0.0 C 192-223 w.x.y z 255.255.255.0 255.0.0.0  (11111111.00000000.00000000.00000000 255.255.0.0  (11111111. 11111111.00000000.00000000 255.255.255.0  (11111111. 11111111. 11111111.00000000

A Sınıfı (1-126) ağ host 8 24 bit 32-bit 18.26.0.1 IP adres: 18.26.0.1 Ağ adresi: 18.0.0.0 Alt Ağ maskesi: 255.0.0.0 Broadcast adres: 18.255.255.255 18.26.0.1 ağ 32-bit Host (Pc veya cihaz)

B Sınıfı (128-191) ağ host 16 16 bit 32-bit 181.26.0.1 IP adres: 181.26.0.1 Ağ adresi: 181.26.0.0 Alt Ağ maskesi: 255.255.0.0 Broadcast adres: 181.26.255.255 181.26.0.1 ağ 32-bit Host (Pc veya cihaz)

C Sınıfı (192-223) ağ host 24 8 bit 32-bit 194.26.5.1 IP adres: 194.26.5.1 Ağ adresi: 194.26.5.0 Alt Ağ maskesi: 255.255.255.0 Broadcast adres: 194.26.5.255 ağ host 24 8 bit 32-bit 194.26.5.1 ağ Host (Pc veya cihaz)

Alıştırma 131.107.20.4 208.234.23.4 108.15.45.4 Yukarıdaki adreslerin IP sınıfını Alt ağ maske numarasını Bağlı olduğu ağ numarasını Broadcast adreslerini yazınız.

IPv6 IPv4: 32 bit IPv4: 232 = 4,3 109 IPv4:10’luk sayı sistemi IPv6:16’lık sayı sistemi Eski adı: IPng: IP next generation Bazı ülkeler (Amerika, Japonya…) kullanıyor. Uygulama ve fiziksel katman değişmedi. Daha hızlı, güvenli ve daha az başlık (header)

IPv6 adresler 8 adet 4’lü hexadecimal sayıdan oluşur. 2001:0DB8:400:965a:0000:0000:0000:0001 2001:0DB8:400:965a::1 (aynı adres) (::) adreste 0 olan yerlerde kullanılarak adres kısaltılır Örnek: 2001:0DB8:400:965a:: 2001:0DB8:400:965a:0000:0000:0000:0000 2001:0DB8:400:965a:0042::1 2001:0DB8:400:965a:0042:0000:0000:0001

IPv6 adresler IPv6 adres: FE80:0000:0000:0000:02A0:D2FF:FEA5:E9F5 / 64 / x  ağ numarasını gösteren bit sayısı Örneğin; /32 ise 128 bitin ilk 32 biti ağ numarasını diğerleri host numarasını gösterir /64 ise 128 bitin ilk 64 biti ağ numarasını diğerleri host numarasını gösterir Ağ no : FE80:0000:0000:0000 Host no: 02A0:D2FF:FEA5:E9F5

IPv6 adresler Ayrılmış adresler IPv6 ve IPv4 adreslerin kullanımı 0:0:0:0:0:0:0:1  ::1 loopback 0:0:0:0:0:0:0:0  :: belirsiz IPv6 ve IPv4 adreslerin kullanımı 128 – 32 = 96 x:x:x:x:x:x:d.d.d.d x: IPv6 ve d: IPv4 Örnek: 0:0:0:0:0:0:1.2.3.4/96  ::1.2.3.4/96

IP and IPv6

TCP/IP Sorun Çözme Ağ bağlantılarını kontrol edin Ping 127.0.0.1 (loopback) ile ethernet kartınızı kontrol edin Kendi bilgisayarınızın IP adresine ping atabilirsiniz. Varsayılan (Default) Router veya gateway (ağ geçidi) varsa ona ping atarak pc-alt ağ iletişimini kontrol edebilirsiniz. Uzaktaki bir hosta ping atabilirsiniz.

Ping Komutu Ping komutu bir bilgisayara 32 byte’lık bir ICMP paketi gönderir ve sonuçta elde ettiği raporu gösterir. Ping 127.0.0.1

Ping Komutu Ping www.gazi.edu.tr

Ping Komutu Ping /?

IPConfig Komutu Tüm ip ile konfigürasyonu (MAC adres vb.) görmek için kullanılır.

IPConfig Komutu İpconfig /? ipconfig /all ile tüm seçenekler görülebilir.

Tracert Komutu Bir adrese giden yolu gösterir. Microsoft’ta tracert ve ping komutlarının birleşimi olan pathping komutu kullanılabilir.

ARP (Adres Çözümleme Protokolü) IP adreslerini fiziksel adrese dönüştürmek için kullanılır. Bir paketin bir bilgisayardan çıktığında nereye gideceğini IP numarası değil gideceği bilgisayarın fiziksel adresi (MAC) belirler. Bu adreste paketin gideceği ip numarası kullanılarak elde edilir.

ARP (Adres Çözümleme Protokolü) Ardından paket yönlendirilir. ARP adres çözümlemek istediği zaman tüm ağa bir ARP istek mesajı gönderir ve bu IP adresini gören yada bu IP adresine giden yol üzerinde bulunan makine bu isteğe cevap verir ve kendi fiziksel adresini gönderir. ARP isteğinde bulunan makine bu adresi alarak verileri bu makineye gönderir.

ARP (Adres Çözümleme Protokolü)

Netstat Komutu TCP/IP bağlantılarını, gönderilen ve alınan paketlerin detaylarını görmek için kullanılır.

Nslookup Komutu Bir adresin TCP/IP numarasını bulunmasını sağlar.

Nslookup Komutu

Nbstat Komutu TCP/IP üzerinden NETBIOS bağlantılarının detaylarını görmeyi sağlar. NETBIOS (Network Basic Input/Output System) : Farklı bilgisayarlardaki uygulamaların bir yerel alan ağı ile iletişim kurabilmelerini sağlayan program.

Nbstat Komutu