Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

TCP (Transmission Control Protocol)

Benzer bir sunumlar


... konulu sunumlar: "TCP (Transmission Control Protocol)"— Sunum transkripti:

1 TCP (Transmission Control Protocol)
Etkileşimli (Interactive) Veri Akışı Hacimli (Bulk) Veri Akışı Timeout – Retransmission Persist Timer Keepalive Timer TCP Başarımı ve Geleceği SNMP, Telnet & Rlogin, FTP, SMTP , NFS ve Diğer TCP Uygulamaları

2 TCP Trafik Analizi TCP segmentlerinin %50 ‘si etkileşimli, %50’si hacimli veri içermekte Byte tabanlı, olarak %90 hacimli, %10 etkileşimli veri taşınmakta

3 Etkileşimli Veri Akşı istemci sunucu tuşa basılma 1 byte veri
Sunucu uygulama ack echo karakteri ekran ack

4 bsdi.2023 svr4.login bsdi.2023 svr4.login
PSH 0:1(1) ack 1 (“d”) 1 PSH 4:5(1) ack 1 (newline) 13 16.5ms PSH 1:2(1) ack 1 (echo of “d”) 2 PSH 5:7(2) ack 5 (CR,LF) 14 delayed ACK 123.5ms ack 2 3 ack 7 15 PSH 1:2(1) ack 2 (“a”) 4 PSH 7:37(30) ack 5 (currnet date) 16 16.3ms PSH 2:3(1) ack 2 (echo of “a”) 5 ack 37 17 delayed ACK 65.6ms ack 3 6 PSH 37:44(7) ack 5 (“svr4 %”) 18 PSH 2:3(1) ack 3 (“t”) 7 ack 44 19 PSH 3:4(1) ack 3 (echo of “t”) 8 ack 4 9 PSH 3:4(1) ack 4 (“e”) 10 PSH 4:5(1) ack 4 (echo of “e”) 11 ack 5 12

5 Nagle Algoritması bsdi.2023 svr4.login 1 PSH 5:6(1) ack 47 197.7 ms

6 Hacimli (Bulk) Veri Akışı
WWW, FTP, e-posta gibi yoğun veri akışı olan uygulamalarda kullanılır TCP veri akış denetimi için Sliding Window algoritmasını kulanır

7 Sliding Window Algoritması
4.2BSD’de pencere boyu 2048 byte, 4.3BSD’de pencere boyu 4096 byte olarak belirlenmiştir. Socket API pencere boyunun değiştirilmesine olanak verir.

8 win advertised by segment 7 win advertised by segment 10
SYN : (0) 1 1 1024 1025 2048 2049 3072 3073 4096 4097 5120 5121 6144 6145 7168 7169 8192 SYN : (0) 2 Window advertised by segment 2 ack 1, win4096 3 data sent in segments 4,5,6 PSH 1:1025(1024) ack 1,win 4096 4 PSH 1025:2049(1024) ack 1,win 4096 5 ACKed by segment 7 win advertised by segment 7 PSH 2049:3073(1024) ack 1,win 4096 6 ACKed by segment 8 win advertised by segment 8 ack 2049, win 4096 7 data sent segment 9 ack 3073, win 3072 8 PSH 3073:4097(1024) ack 1,win 4096 9 ack 4097, win 4096 10 win advertised by segment 10 ACKed by segment 10 PSH 4097:5121(1024) ack 1, win 4096 11 data sent in segments 11,12,13 PSH 5121:6145(1024) ack 1, win 4096 12 13 PSH 6145:7169(1024) ack 1, win 4096 win advertised by segment 14 ACKed by 14 ack 6145,win 4096 data sent segment 15 15 PSH 7169:8193(1024) ack 1, win 4096 16 ack 8193, win 4096 ACKed by segment 16

9 1 SYN : (0) win 4096 2 SYN : (0) win 4096 3 ack 1, win 4096 4 PSH 1:1025(1024) ack 1, win 4096 5 PSH 1025:2049(1024) ack 1, win 4096 6 PSH 2049:3073(1024) ack 1, win 4096 7 PSH 3073:4097(1024) ack 1, win 4096 8 ack 4097, win 0 9 ack 4097, win 4096 10 PSH 4097:5121(1024) ack 1, win 4096 11 PSH 5121:6145(1024) ack 1, win 4096 12 PSH 6145:7169(1024) ack 1, win 4096 13 PSH 7169:8193(1024) FIN,ack 1, win 4096

10 Urgent Mode 16-bit source port number 16-bit source port number
32-bit sequence number 32-bit acknowledgement number length 4-bit Reserved 6-bit URG ACK PSH RST SYN FIN 16- bit window size 16-bit TCP checksum 16-bit urgent pointer options (if any) offset of urgent data from seq. number URG = 1

11 TCP Timeout & Retransmission
Retransmission timer bir ack beklenirken, Persist timer, penceresini boyu kontrolünde Keepalive timer karşı tarafın bağlantısının koptuğunun tespit edilmesinde kullanılır

12 0.0 bsdi.1029 > svr4.discard: S 1747921409:1747921409(0) win 4096 <mss 1024>
0.004 (0.0048) svr4.discard > bsdi.1029: S : (0) ack win 4096 ( ) bsdi.1029 > svr4.discard: . ack 1 win 4096 ( ) bsdi.1029 > svr4.discard: P 1:15(14) ack 1 win 4096 ( ) svr4.discard > bsdi.1029: . ack 15 win 4096 ( ) bsdi.1029 > svr4.discard: P 15:23(8) ack 1 win 4096 ( ) bsdi.1029 > svr4.discard: P 15:23(8) ack 1 win 4096 ( ) bsdi.1029 > svr4.discard: P 15:23(8) ack 1 win 4096 ( ) bsdi.1029 > svr4.discard: P 15:23(8) ack 1 win 4096 ( ) bsdi.1029 > svr4.discard: P 15:23(8) ack 1 win 4096 ( ) bsdi.1029 > svr4.discard: P 15:23(8) ack 1 win 4096 ( ) bsdi.1029 > svr4.discard: P 15:23(8) ack 1 win 4096 ( ) bsdi.1029 > svr4.discard: P 15:23(8) ack 1 win 4096 ( ) bsdi.1029 > svr4.discard: P 15:23(8) ack 1 win 4096 ( ) bsdi.1029 > svr4.discard: P 15:23(8) ack 1 win 4096 ( ) bsdi.1029 > svr4.discard: P 15:23(8) ack 1 win 4096 ( ) bsdi.1029 > svr4.discard: P 15:23(8) ack 1 win 4096 ( ) bsdi.1029 > svr4.discard: P 15:23(8) ack 1 win 4096 ( ) bsdi.1029 > svr4.discard: R 23:23(0) ack 1 win 4096

13 Repacketization Zaman aşımına uğrayan ve yeniden gönderilmesi gereken segmentleri ayrı bir segment olarak yeniden göndermez bsdi > svr4.discard: P 1:13(12) ack 1 svr4.discard > bsdi.1032: . ack 13 Ethernet kablosu çıkarılıyor bsdi.1032 > svr4.discard: P 13:27(14) ack 1 Üçüncü satır yazılyor bsdi.1032 > svr4.discard: P 13:33(20) ack 1 Ethernet kablosu yeniden takılıyor svr4.discard > bsdi.1032: . ack 33

14 Round-Trip Time (RTT) Bir segmentin gönderilmesinden, o segmentle ilgili ack segmentinin alnmasına kadar geçen süre R = aR + (1-a)M

15 Persist Timer Kapalı olan pencerenin yeni boyunu belirten ack segmenti kaybolduğunda kullanılır Gönderen taraf pencerenin açılmasını, alan taraf ise yeni segmentleri bekler durumdadır (deadlock) Gönderen taraf bir persist timer tutar ve periodik olarak alıcı tarafın pencere boyunun sorgulanmasını sağlar (window probes)

16 1 bsdi.1027 > svr4.5555: P 1:1025(1024) ack 1 win 4096
2 svr > bsdi.1027: . ack 1025 win 4096 3 bsdi.1027 > svr4.5555: :2049(1024) ack 1 win 4096 4 bsdi.1027 > svr4.5555: :3073(1024) ack 1 win 4096 5 svr > bsdi.1027: . ack 3073 win 4096 6 bsdi.1027 > svr4.5555: :4097(1024) ack 1 win 4096 7 bsdi.1027 > svr4.5555: P 4097 :5121(1024) ack 1 win 4096 8 bsdi.1027 > svr4.5555: P 5121 :6145(1024) ack 1 win 4096 9 svr > bsdi.1027: . ack 5121 win 4096 10 bsdi.1027 > svr4.5555: P 6145 :7169(1024) ack 1 win 4096 11 bsdi.1027 > svr4.5555: P 7169 :8193(1024) ack 1 win 4096 12 bsdi.1027 > svr4.5555: P 8193 :9217(1024) ack 1 win 4096 13 svr > bsdi.1027: . ack 9217 win 0

17 14 bsdi.1027 > svr4.5555: . 9217 : 9218(1) ack 1 win 4096
15 svr > bsdi.1027: . ack 9217 win 0 16 bsdi.1027 > svr4.5555: :9218 (1) ack 1 win 4096 17 svr > bsdi.1027: . ack 9217 win 0 18 bsdi.1027 > svr4.5555: : 9218(1) ack 1 win 4096 19 svr > bsdi.1027: . ack 9217 win 0 20 bsdi.1027 > svr4.5555: :9218 (1) ack 1 win 4096 21 svr > bsdi.1027: . ack 9217 win 0 22 bsdi.1027 > svr4.5555: : 9218(1) ack 1 win 4096 23 svr > bsdi.1027: . ack 9217 win 0 24 bsdi.1027 > svr4.5555: : 9218(1) ack 1 win 4096 25 svr > bsdi.1027: . ack 9217 win 0 26 bsdi.1027 > svr4.5555: :9218 (1) ack 1 win 4096 27 svr > bsdi.1027: . ack 9217 win 0 28 bsdi.1027 > svr4.5555: :9218(1) ack 1 win 4096 29 svr > bsdi.1027: . ack 9217 win 0 30 bsdi.1027 > svr4.5555: : 9218(1) ack 1 win 4096 31 svr > bsdi.1027: . ack 9217 win 0

18 Aptal Pencere Sendromu (Silly Window Syndrome)
Alan tarafın küçük pencere boyu belirtmesi ve bu nedenle tam dolmamış segmentler göndermesi durumu Kullanılan çözüm yöntemi : Alan taraf belirttiği boydan daha büyük bir boy belirtmesi için pencere boyunda MSS kadar ya da buffer alanının yarısı kadar bir artış sağlamalıdır

19 1 PSH 1:1025(1024) ack 1, win 4096 ack 5634, win 1279 17 2 PSH 1025:2049(1024) ack 1, win 4096 3 PSH 2049:3073(1024) ack 1, win 4096 18 FIN,PSH 5634:6145(511) ack 1, win4096 4 PSH 3073:4097(1024) ack 1, win 4096 ack 6146, win 767 19 5 ack 4097, win 0 6 4097:4098(1) ack 1, win4096 ack 6146, win 2816 20 ack 4098, win 0 7 8 4098:4099(1) ack 1, win4096 FIN 1:2(1) ack 6146, win 4096 21 ack 4099, win 0 9 ack 2, win4096 10 4099:4100(1) ack 1, win4096 22 ack 4100, win 1533 11 12 4100:5124(1) ack 1, win4096 ack 5124, win 509 13 14 5124:5633(509) ack 1, win4096 ack 5633, win 0 15 16 5633:5634(1) ack 1, win4096

20 Keepalive Timer Bir TCP oturumunda veri akışı yoksa, herhangi bir segment akışı da yoktur Uygulama düzeyinde bir denetim yoksa, oturum, günler, haftalar ya da aylarca açık kalabilir Keepalive Timer RFC de yoktur. Bunun nedenleri : Geçici çakılmalarda, oturumun kapanmasına neden olabilir Gereksiz ağ trafiği oluştururlar Paket tabanlı İSS’lerde maddi kayıplara neden olabilirler

21 Keepalive Timer socket API ‘ de setsockopt(...,SO_KEEPALIVE,...)
işlevi kullanılarak aktif hale getirilebilir Genelde server tarafından kullanılır

22 1 0.0 bsdi.1055 > svr4.echo : P 1:14(13) ack 1
( ) svr4.echo > bsdi.1055 : P 1:14(13) ack 14 ( ) bsdi.1055 > svr4 .echo : . ack 14 ( ) arp who-has svr4 tell bsdi ( ) arp reply svr4 is-at 0:0:c0: c2:9b:26 ( ) bsdi.1055 > svr4.echo : . ack 14 ( ) svr4 .echo > bsdi.1055 : . ack 14 ( ) arp who-has svr4 tell bsdi ( ) arp reply svr4 is-at 0:0:c0: c2:9b:26 ( ) bsdi.1055 > svr4.echo : . ack 14 ( ) svr4.echo > bsdi.1055 : . ack 14 ( ) arp who-has svr4 tell bsdi ( ) arp who-has svr4 tell bsdi ( ) arp who-has svr4 tell bsdi ( ) arp who-has svr4 tell bsdi ( ) arp who-has svr4 tell bsdi ( ) arp who-has svr4 tell bsdi ( ) arp who-has svr4 tell bsdi ( ) arp who-has svr4 tell bsdi ( ) arp who-has svr4 tell bsdi ( ) arp who-has svr4 tell bsdi


"TCP (Transmission Control Protocol)" indir ppt

Benzer bir sunumlar


Google Reklamları