Tuesday, October 29, 2013

SPESIFIKASI FUNGSIONAL

3 SPESIFIKASI FUNGSIONAL
3.1 Format Header Segmen TCP dikirim sebagai datagram internet. Internet Protocol Header membawa beberapa bidang informasi, termasuk sumber dan tujuan alamat host. Sebuah header TCP berikut header internet, penyediaan informasi khusus untuk protokol TCP. Divisi ini memungkinkan adanya protokol tingkat host yang lain daripada TCP .
TCP Format Header  
Perhatikan bahwa salah satu tanda centang merupakan salah satu posisi bit . Gambar 3.
Sumber Port : 16 bit Nomor port sumber . Destination Port : 16 bit Nomor port tujuan.
Nomor urut: 32 bit Nomor urut dari data oktet yang pertama di segmen ini ( kecuali ketika SYN hadir ). Jika SYN hadir nomor urut adalah nomor urut awal (ISN) danoktetdata yang pertama ISN +1.
NomorPengakuan : 32 bit Jika bit kontrol ACK diatur bidang ini berisi nilai nomor urutan berikutnya, pengirim segmen mengharapkan untuk menerima. Setelah sambungan dibuat ini selalu dikirim .
Data Offset : 4 bit Jumlah 32 kata bit dalam header TCP . Hal ini menunjukkan dimana data dimulai . TCP header ( bahkan satu termasuk opsi ) adalah jumlah integral 32 bit panjang .
Reserved : 6 bit Reserved untuk penggunaan masa depan . Harus nol .
Kontrol Bits : 6 bit ( dari kiri ke kanan ) : URG : Urgent Pointer field significant ACK : Acknowledgment field significant PSH : Push Function RST : Reset the connection SYN : Synchronize sequence numbers FIN : No more data from sender
Window: 16 bit Jumlah oktet data yang diawali dengan salah satu menunjukkan bidang pengakuan yang di segmen ini pengirim bersedia menerima .
Checksum : 16 bit Bidang checksum adalah melengkapi satu 16 bit jumlahnya satu komplemen dari semua 16 bit kata di header dan teks. Jika segmen header dan teks oktet berisi ganjil untuk checksummed, oktet terakhir yang dipadatkan pada sisi kanan dengan nol untuk membentuk sebuah kata 16 bit untuk tujuan checksum. Pad ini tidak menular sebagai bagian dari segmen. Sementara komputasi checksum, bidang checksum itu sendiri diganti dengan nol . Checksum juga mencakup 96 bit palsuheader konseptualdiawali ke header TCP. Header palsu ini berisi sumber alamat, Alamat tujuan, Protokol, dan panjang TCP. Hal ini TCP memberikan perlindungan terhadap segmen misrouted. Informasi ini dilakukan dalam
Protokol Internet dan ditransfer di seluruh antarmuka TCP / Jaringan dalam argumen atau hasil dari panggilan oleh TCP pada IP .    
Panjang TCP adalah panjang header TCP ditambah panjang data dalam oktet (ini bukan kuantitas eksplisit menular, tetapi dihitung ), dan tidak menghitung 12 oktet header palsu.
Urgent Pointer : 16 bit Bidang ini mengkomunikasikan nilai saat ini dari pointer mendesak sebagai offset positif dari nomor urut di segmen ini . The mendesak pointer poin ke nomor urutan oktet menyusul data yang mendesak. Bidang ini hanya ditafsirkan dalam segmen dengan kontrol bit set URG .
Pilihan : variabel Pilihan dapat menempati ruang pada akhir header TCP dan panjangnya merupakan kelipatan dari 8 bit. Semua pilihan termasuk dalam checksum. Sebuah opsi dapat dimulai pada setiap batas oktet.
Ada dua kasus untuk format pilihan :  Kasus 1 : Sebuah octet tunggal opsi –kind Kasus 2 : Sebuah oktet opsi –kind, oktet opsi-panjang, dan oktet osi-data aktual.
Saat ini didefinisikan pilihantermasuk (jenis yang ditunjukkan dalam octal):  
Akhir Daftar Pilihan +--------+ |00000000| +--------+ Kind=0
Pilihan ini kode menunjukkan akhir dari daftar pilihan.Ini mungkin tidak bertepatan dengan akhir dari header TCP menurut Offset bidang Data.Ini digunakan pada akhir semua pilihan, bukan akhir dari setiap pilihan, dan hanya perlu digunakan jika akhir dari opsi tidak akan dinyatakan bertepatan dengan akhir dari header TCP.
No-Operation +--------+ |00000001| +--------+ Kind=1
Kode pilihan ini dapat digunakan antara pilihan, misalnya, untuk menyelaraskan awal pilihan berikutnya pada batas kata. Tidak ada jaminan bahwa pengirim akan menggunakan opsi ini, maka penerima harus siap untuk memproses pilihan bahkan jika mereka tidak dimulai pada batas kata.
Ukuran segment maksimum +--------+--------+---------+--------+ |00000010|00000100|  max seg size | +--------+--------+---------+--------+ Kind=2  Length=4 Jika opsi ini hadir, maka berkomunikasi menerima ukuran segmen maksimal pada TCP yang mengirimkan segmen ini. Bidang ini hanya akan dikirim harus dalam permintaan sambungan awal (yaitu, dalam segmen dengan kontrol bit set SYN). Jika opsi ini tidak digunakan, setiap ukuran segmen diperbolehkan.
3.2 Terminologi Sebelum kita dapat membahas banyak tentang pengoperasian TCP kita perlu memperkenalkan beberapa terminologi rinci. Pemeliharaan koneksi TCP memerlukan mengingat dari beberapa variabel. Kami memahami variabel-variabel yang disimpan dalam catatan koneksi disebut Transmission Control Block atau TCB. Diantara variabel disimpan dalam TCB adalah nomor lokal dan remote socket , keamanan dan didahulukan dari koneksi, pointer untuk mengirim dan menerima buffer pengguna, pointer ke antrian retransmit dan segmen saat ini. Selain beberapa variabel yang berhubungan dengan mengirim dan menerima nomor urut disimpan dalam TCB tersebut .
Kirim Urutan Variabel  SND.UNA - send unacknowledged SND.NXT - send next SND.WND - send window SND.UP - send urgent pointer SND.WL1 - segment sequence number used for last window update SND.WL2 - segment acknowledgment number used for last windowupdate ISS  -initial send sequence number    
Menerima Urutan Variabel RCV.NXT - receive next RCV.WND - receive window RCV.UP - receive urgent pointer IRS  - initial receive sequence number

Diagram berikut dapat membantu untuk menghubungkan beberapa variabel tersebut ke ruang barisan.
Send Sequence Space
1 - nomor urut lama yang telah diakui 2 - nomor urut data tidak diakui 3 - nomor urut diperbolehkan untuk transmisi data baru 4 - nomor urut masa depan yang belum diperbolehkan Figure 4. Receive Sequence Space
1 - nomor urut lama yang telah diakui 2 - nomor urut diperbolehkan untuk penerimaan baru 3 - nomor urut masa depan yang belum diperbolehkan Figure 5.   Ada juga beberapa variabel yang sering digunakan dalam diskusi yang mengambil nilai-nilai mereka dari bidang segmen saat ini. Current Segment Variables SEG.SEQ - nomor urutan segmen SEG.ACK  - jumlah pengakuan segmen SEG.LEN  - panjang segmen SEG.WND  - window segmen SEG.UP  - segmen pointer mendesak SEG.PRC  - segmen nilai didahulukan
Sebuah koneksi TCP berlangsung dari satu keadaan ke yang lain dalam menanggapi peristiwa.Peristiwa tersebut antara lain panggilan pengguna, BUKA, KIRIM, MENERIMA, TUTUP, ABORT, dan STATUS; segmen yang masuk, terutama yang mengandung SYN, ACK, RST dan bendera FIN, dan timeout.
CATATAN: diagram ini hanya ringkasan dan tidak harus diambil sebagai spesifikasi keseluruhan.
3.3 Nomor urutan Sebuah gagasan mendasar dalam desain adalah bahwa setiap oktet data yang dikirim melalui koneksi TCP memiliki nomor urut. Karena setiap pengurutan oktet, masing- masing dapat diakui. Mekanisme pengakuan yang digunakan adalah kumulatif sehingga pengakuan urutan nomor X menunjukkan bahwa semua oktet sampai yang tidak termasuk X telah diterima. Mekanisme ini memungkinkan untuk straigt-forwarddi duplikat deteksi adanya transmisi ulang. Penomoran oktet dalam segmen adalah bahwa data pertama oktet segera setelah header adalah bernomor paling rendah, dan oktet berikutnyabernomor berurutan.   Sangat penting untuk diingat bahwa ruang nomor urutan yang sebenarnya terbatas, meskipun sangat besar. Ruang ini berkisar 0-2 ** 32-1. Karena ruang terbatas, semua aritmatika yang berurusan dengan nomor urut harus dilakukan Modulo 2 ** 32. Ini unsigned aritmatika mempertahankan hubungan nomor urut karena siklus dari 2 ** 32 - 1 to 0 lagi. Ada beberapa seluk-beluk ke komputer Modulo aritmatika, sehinggaharus hati- hati diambil dalam pemrograman perbandingan nilai-nilai tersebut. Simbol "= <" berarti "kurang dari atau sama" (Modulo 2 ** 32) .
Jenis-jenis khusus perbandingan nomor urut yang harusTCPlakukan meliputi:
A. Menentukan bahwa pengakuan mengacu pada beberapa nomor urut yang dikirim tetapi belum diakui. B. Menentukan bahwa semua nomor urut ditempati oleh segmen yang telah diakui( misalnya, untuk menghapus segmen dari antrian transmisi). C. Menentukan bahwa segmen yang masuk berisi nomor urut yang diharapkan (yaitu, bahwa segmen "tumpang tindih" jendela menerima).
Bagian pertama dari memeriksa tes ini untuk melihat apakah awal segmen jatuh di jendela, bagian kedua dari memeriksa tes untuk melihat apakah akhir segmen jatuh di jendela, jika segmen melewati salah satu bagian dari tes itu berisi data dalam jendela.
Sebenarnya, itu sedikit lebih rumit dari ini. Karena jendela nol dan panjang segmen nol, kita memiliki empat kasus penerimaan dari segmen masuk:

Perhatikan bahwa ketika jendela menerima adalah tidak ada segmen nol harus dapat diterima kecuali segmen ACK. Jadi, mungkin untuk TCP mempertahankan nol menerima jendela sementara transmisi data dan menerima ACK. Namun, bahkan ketika jendela penerimaan adalah nol, TCP harus memproses bidang RST dan URG semua segmen yang masuk.
Kami telah mengambil keuntungan dari skema penomoran untuk melindungi informasi kontrol tertentu juga. Hal ini dicapai dengan implisit termasuk beberapa bendera kontrol dalam ruang barisan sehingga mereka dapat disebarkan dan diakui tanpa kebingungan (yaitu, satu dan hanya satu salinan kontrol akan ditindaklanjuti). Kontrol informasi secara fisik tidak dilakukan di ruang data segmen. Akibatnya, kita harus mengadopsi aturansecara implisit menetapkan nomor urut untuk kontrol. SYN dan FIN adalah satu-satunya kontrol yang membutuhkan perlindungan ini, dan kontrol ini digunakan hanya pada pembukaan sambungan dan penutupan. Untuk tujuan nomor urut, SYN dianggap terjadi sebelum pertama sebenarnya oktet data segmen di mana itu terjadi, sementara FIN dianggap terjadi setelah terakhir oktet data aktual dalam segmen di mana itu terjadi. Panjang segmen (SEG.LEN) mencakup data dan urutan ruang kontrol pendudukan. Bila SYN hadir maka SEG.SEQ adalah nomor urut dari SYN.
Protokol tidak menentukan batasan pada koneksi tertentu yang digunakan berulang- ulang. Sambungan didefinisikan oleh sepasang soket. Kasus baru dari koneksi akan disebut sebagai inkarnasi dari sambungan. Masalah yang timbul adalah- "Bagaimana TCP mengidentifikasi segmen duplikat dari inkarnasikoneksi sebelumnya?" Masalah ini
menjadi jelas jika sambungan sedang dibuka dan ditutup secara berurutan, atau jika koneksi istirahat dengan hilangnya memori dan kemudian dibangun kembali.
Untuk menghindari kebingungan kita harus mencegah segmen dari satu inkarnasi sambungan dari yang digunakan, sementara nomor urut yang sama mungkin masih ada dalam jaringan dari inkarnasi sebelumnya. Kami ingin meyakinkan ini, bahkan jika TCP crash dan kehilangan semua tentang nomor urut yang telah digunakan. Ketika koneksi baru diciptakan, nomor urutan awal ( ISN ) dari generator bekerja yang memilih sedikitnya ISN 32 baru. Generator terikat dengan (mungkin fiktif ) 32 bit yang rendah order bit bertambah kira-kira setiap 4 mikrodetik. Dengan demikian, siklus ISN kira-kira setiap 4,55 jam. Karena kita menganggap bahwa segmen akan tinggal di jaringan tidak lebih dari Lifetime Segmen Maksimum (MSL) dan bahwa MSL kurang dari 4,55 jam kami dapat menganggap itu ISN akan menjadi unik.
Untuk setiap koneksi ada nomor urut pengirim dan nomor urut penerima. Awal nomor urut kirim (ISS) dipilih oleh pengiriman data TCP, dan awal menerima nomor urut (IRS ) yang dipelajari selama sambungan menetapkan prosedur.
Untuk koneksi yang akan dibentuk atau diinisialisasi, dua TCP harus melakukan sinkronisasi pada nomor urutan awal masing-masing. Hal ini dilakukan dalam pertukaran koneksi membentuk segmen membawa sedikit kontrol yang disebut "SYN" (untuk sinkronisasi) dan nomor urut awal. Sebagai kependekan, segmen membawa bit SYN juga disebut "SYNs". Oleh karena itu, solusinya memerlukan mekanisme yang tepat untuk mengambil nomor urut awal dan jabat tangan sedikit terlibat untuk bertukar ISN itu.
Sinkronisasi mengharuskan setiap sisi untuk mengirim sendiri nomor urut awal itu dan untuk menerima konfirmasi dalam pengakuan dari sisi yang lain. Masing-masing pihak juga harus menerima nomor urutan awal dari pihak lain dan mengirim pernyataan yang menegaskan.
1) A --> B SYN my sequence number is X 2) A <-- B ACK your sequence number is X 3) A <-- B SYN my sequence number is Y 4) A --> B ACK your sequence number is Y
 Karena langkah 2 dan 3 dapat dikombinasikan dalam satu pesan ini disebut tiga cara (atau tiga pesan) handshake.
Tiga cara jabat tangan diperlukan karena nomor urut tidak terikat dengan jam global dalam jaringan, dan mungkin TCP memiliki mekanisme yang berbeda untuk memilih ISN itu. Penerima pertama SYN tidak memiliki cara untuk mengetahui apakah segmen adalah salah satu yang tertunda lama atau tidak, kecuali ia mengingat urutan nomor terakhir yang digunakan pada sambungan (yang mungkin tidak selalu), dan sehingga harus meminta si pengirim untuk memverifikasi SYN ini. Tiga cara jabat tangan dan keuntungan dari skema clock-driven dibahas dalam [3].
 Konsep waktu TCP Quiet
Spesifikasi ini menyatakan bahwa host yang "crash" tanpa mempertahankan tentang nomor urut terakhir yang diketahui ditransmisikan pada setiap (yaitu, tidak tertutup) koneksi aktif akan menunda memancarkan apapun segmen TCP untuk setidaknya disepakati Maksimum Lifetime Segmen (MSL) adalah bagian host dalam sistem internet. Dalam paragraf di bawah ini, penjelasan untuk spesifikasi ini diberikan. TCP pelaksana mungkin melanggar "waktu tenang" pembatasan, tetapi hanya pada risiko menyebabkan beberapa data lama untuk dapat diterima sebagai data baru atau baru ditolak setua digandakan oleh beberapa penerima dalam sistem internet.
TCPs mengkonsumsi ruang nomor urut setiap kali segmen terbentuk dan dimasukkan ke dalam antrian keluaran jaringan pada host sumber. Duplikat deteksi dan sekuensing algoritma dalam protokol TCP bergantung pada pengikatan unik data segmen ke ruang barisan sejauh bahwa nomor urut tidak akan menggilir semua 2 ** 32 nilai sebelum data segmen terikat kepada mereka nomor urut telah disampaikan dan diakui oleh penerima dan semua duplikat salinan segmen telah "terkuras" dari internet. Tanpa asumsi ini, dua segmen TCP yang berbeda bisa dibayangkan beassigned nomor urutan yang sama atau tumpang tindih, menyebabkan kebingungan pada penerima untuk yang data baru dan yang lama. Ingat bahwa setiap segmen terikat sebagai nomor urutan berturut-turut karena ada oktet data dalam segmen.
Bahkan host yang dapat mengingat waktu dan menggunakannya untuk memilih nilai nomor urut awal tidak kebal dari masalah ini (yaitu, bahkan jika waktu hari digunakan untuk memilih nomor urut awal untuk setiap inkarnasi sambungan baru).
Sebagai aturan umum, reset (RST) harus dikirim setiap kali segmen tiba yang tampaknya tidak dimaksudkan untuk sambungan saat ini . Sebuah ulang tidak harus dikirim jika tidak jelas bahwa hal ini terjadi . Ada tiga kelompok keadaan :
1. Jika koneksi tidak ada ( CLOSED ) maka reset dikirim dalam menanggapi setiap segmen masuk kecuali ulang lain. Secara khusus , SYNs ditujukan kepada koneksi tidak ada yang ditolak dengan cara ini . Jika segmen yang masuk memiliki medan ACK , reset mengambil nomor urut yang dari bidang ACK segmen , jika reset memiliki nomor urut nol dan field ACK diatur ke jumlah dari nomor urut dan panjang segmen segmen masuk . Sambungan tetap dalam status CLOSED .
2 . Jika sambungan di setiap keadaan non - disinkronkan ( DENGARKAN , SYN - SENT , SYN diterima ) , dan segmen yang masuk mengakui sesuatu yang belum dikirim ( segmen membawa ACK diterima ) , atau jika segmen masuk memiliki tingkat keamanan atau kompartemen yang tidak tepat sesuai dengan tingkat dan kompartemen diminta untuk sambungan tersebut , reset dikirim . Jika SYN kami belum diakui dan tingkat didahulukan dari segmen yang masuk lebih tinggi dari tingkat didahulukan diminta maka baik meningkatkan tingkat didahulukan lokal ( jika diizinkan oleh pengguna dan sistem ) atau mengirim ulang , atau jika tingkat didahulukan segmen yang masuk lebih rendah dari tingkat didahulukan diminta kemudian terus seolah-olah didahulukan cocok persis (jika remote TCP tidak bisa menaikkan tingkat didahulukan untuk mencocokkan kita ini akan terdeteksi pada segmen berikutnya mengirimkan , dan koneksi akan dihentikan kemudian ) . Jika SYN kami telah diakui (mungkin di segmen ini masuk ) tingkat didahulukan dari segmen yang masuk harus sesuai dengan tingkat prioritas lokal persis , jika tidak reset harus dikirim .Jika segmen yang masuk
memiliki medan ACK , reset mengambil nomor urut yang dari bidang ACK segmen , jika reset memiliki nomor urut nol dan field ACK diatur ke jumlah dari nomor urut dan panjang segmen segmen masuk . Sambungan tetap di keadaan yang sama .
3 . Jika sambungan dalam keadaan disinkronisasi ( ESTABLISHED , FIN - WAIT - 1 , FIN - WAIT - 2 , CLOSE- WAIT , PENUTUP , TERAKHIR - ACK , WAKTU - WAIT ) , setiap segmen dapat diterima ( dari nomor urut jendela atau pengakuan unacceptible nomor ) harus memperoleh hanya segmen pengakuan kosong yang berisi nomor send- urutan saat ini dan pengakuan menunjukkan nomor urutan berikutnya diharapkan akan diterima , dan koneksi tetap di keadaan yang sama .Jika segmen yang masuk memiliki tingkat keamanan , atau kompartemen , atau didahulukan yang tidak sama persis dengan tingkat , dan kompartemen , dan diutamakan diminta untuk sambungan , reset dikirim dan koneksi pergi ke status CLOSED . Reset mengambil nomor urutannya dari bidang ACK dari segmen yang masuk . Pengolahan ulang di semua keadaan kecuali SYN - SENT , semua reset ( RST ) segmen divalidasi dengan memeriksa SEQ - ladang mereka . Ulang adalah sah jika nomor urut yang ada di jendela. Di keadaan SYN - SENT ( RST diterima dalam menanggapi SYN awal) , RST diterima jika bidang ACK mengakui SYN .  Penerima RST pertama memvalidasi , maka perubahan keadaan . Jika penerima berada di keadaan Dengar , mengabaikan hal itu . Jika penerima dalam keadaan SYN - DITERIMA dan sebelumnya berada di keadaan Dengar , maka kembali ke penerima LISTEN keadaan , jika penerima dibatalkan sambungan dan pergi ke status CLOSED . Jika penerima berada di keadaan lain , itu dibatalkan sambungan dan menyarankan pengguna dan pergi ke status CLOSED

3.4 Membangun Koneksi "Tiga-cara jabat tangan" adalah prosedur yang digunakan untuk membuat sambungan. Prosedur ini biasanya dimulai oleh salah satu TCP dan ditanggapi oleh TCP yang lain. Prosedur ini juga bekerja jika dua TCP secara bersamaan memulai prosedur. Ketika upaya simultan terjadi, masing-masing TCP menerima "SYN" segmen yang tidak membawa pengakuan setelah itu telah mengirim "SYN". Tentu saja, kedatangan seorang duplikat "SYN" segmen tua dapat berpotensi membuatnya tampak, kepada penerima, bahwa inisiasi koneksi simultan sedang berlangsung. Meskipun contoh-contoh tidak menunjukkan sinkronisasi sambungan menggunakan pembawa data segmen, ini adalah sah, asalkan penerima TCP tidak memberikan data kepada pengguna sampai jelas data berlaku (yaitu, data harus buffer pada penerima sampai sambungan mencapai keadaan ESTABLISHED). Tiga-cara jabat tangan mengurangi kemungkinan koneksi palsu. Ini adalah implementasi dari trade-off antara memori dan pesan untuk memberikan informasi untuk pemeriksaan ini.
Dibaris 2 dari gambar 7, TCP A dimulai dengan mengirimkan segmen SYN menunjukkan bahwa ia akan menggunakan nomor urut dimulai dengan nomor urut 100. Doibaris 3, TCP B mengirimkan SYN dan mengakui SYN yang diterima dari TCP A. Perhatikan bahwa bidang pengakuan menunjukkan TCP B kini mengharapkan untuk mendengar urutan 101, mengakui SYN yang menempati urutan 100. Pada baris 4, TCP A merespon dengan segmen kosong yang berisi ACK untuk TCP B SYN, dan di baris 5, TCP A mengirimkan beberapa data. Perhatikan
bahwa nomor urutan segmen sejalan 5 adalah sama seperti pada baris 4 karena ACK tidak menempati ruang nomor urut (jika itu terjadi, kita akan berakhir acking ACK itu!).    

Sebagai contoh sederhana pemulihan dari duplikat tua, pertimbangkan gambar 9. Pada baris 3, sebuah duplikat SYN lama tiba di TCP B. TCP B tidak bisa mengatakan bahwa ini adalah duplikat tua, sehingga akan meresponnya secara normal (jalur 4). TCP A mendeteksi bahwa field ACK tidak benar dan mengembalikan RST (reset) dengan medan SEQ yang dipilih untuk membuat segmen dipercaya. TCP B, pada menerima RST, kembali ke keadaan mendengarkan. Bila SYN asli (pun intended) akhirnya tiba di line 6, sinkronisasi biasanya berlangsung. Jika SYN pada baris 6 tiba sebelum RST, pertukaran yang lebih kompleks mungkin terjadi dengan RST yang dikirim di kedua arah. Koneksi dikatakan "setengah terbuka" jika salah satu dari TCP tersebut telah ditutup atau dibatalkan sambungan di ujungnya tanpa sepengetahuan yang lain, atau jika kedua ujung sambungan telah menjadi desynchronized karena crash yang mengakibatkan hilangnya memori. Sambungan tersebut secara otomatis akan di ulang jika dilakukan usaha untuk mengirim data di kedua arah. Namun, koneksi setengah terbuka diharapkan menjadi tidak biasa, dan prosedur pemulihan ringan yang terlibat.  
Ketika SYN tiba di baris 3, TCP B, berada dalam keadaan sinkron, dan segmen yang masuk di luar jendela, merespon dengan pengakuan yang menunjukkan apa urutan di samping mengharapkan untuk mendengar (ACK 100). TCP A melihat bahwa segmen ini tidak mengakui apa pun dikirim dan yang tidak sinkron, mengirimkan reset (RST) karena
telah mendeteksi koneksi setengah terbuka. TCP B dibatalkan pada baris 5. TCP A akan terus berusaha untuk membuat sambungan, masalahnya sekarang dikurangi menjadi dasar 3-way handshake gambar 7.
3.5 Menutup Koneksi Menutup Koneksi yang  TUTUP adalah operasi yang berarti " Saya tidak memiliki lebih banyak data untuk mengirim . " Gagasan menutup koneksi full-duplex tunduk pada interpretasi ambigu , tentu saja , karena mungkin tidak jelas bagaimana memperlakukan sisi penerimaan koneksi . Kami telah memilih untuk mengobati TUTUP dalam mode simplex . Pengguna yang menutup dapat terus MENERIMA sampai ia mengatakan bahwa pihak lain telah DITUTUP juga . Dengan demikian , program bisa memulai beberapa mengirimkan diikuti oleh TUTUP , dan kemudian terus sampai MENERIMA mengisyaratkan bahwa MENERIMA gagal karena pihak lain telah ditutup. Kami berasumsi bahwa TCP akan sinyal pengguna , bahkan jika tidak ada menerima luar biasa , bahwa pihak lain telah ditutup, sehingga pengguna dapat menghentikan timnya anggun . A TCP terpercaya akan memberikan semua buffer DIKIRIM sebelum sambungan itu ditutup sehingga pengguna yang mengharapkan tidak ada data dalam pengembalian hanya perlu menunggu untuk mendengar koneksi berhasil ditutup untuk mengetahui bahwa semua data telah diterima di tujuan TCP . Pengguna harus terus membaca koneksi mereka menutup untuk mengirim sampai TCP mengatakan tidak lebih banyak data . Pada dasarnya terdapat tiga kasus : 1) Pengguna memulai dengan mengatakan TCP untuk TUTUP sambungan  2) remote TCP memulai dengan mengirimkan sinyal kontrol FIN 3) Kedua pengguna TUTUP bersamaan 

0 comments:

Post a Comment

 

About

Copyright © tecknology and Software Download Design by BTDesigner | Blogger Theme by BTDesigner | Powered by Blogger