پروتکل (transmission control protocol (tcp یک پروتکل ارتباط محور (connection oriented) است و عملکرد آن بدین صورت است که برای هر پکت ارسالی توسط کامپیوتر مبدا باید یک پکت ack از سرور مقصد مبنی بر دریافت صحیح و بدون نقص پکت دریافت کند . اگر طی زمان مشخصی این پیام ack توسط مبدا دریافت نگردد فرایند ارسال پکت مجددا تکرار خواهد شد و کاربر آن بیشتر در مواردی است که نیاز به اطمینان از صحت انتقال اطلاعات داریم مانند پروتکل های FTP , Telnet . http , SMTP , pop3 , …

پروتکل (User datagram protocol (UDP یک پروتکل بدون ارتباط محور (connection less) است . بر خلاف tcp در این پروتکل هیچ گونه پیام ack مبنی بر دریافت پکت از سوی سرور ارسال نشده و بیشتر در مواردی مانند انتقال صوت voip یا ویدئو که پهنای باند در این موارد از اهمیت بالایی برخوردار است بکار می رود زیرا در صورت استفاده از پروتکل tcp جهت انتفال این ترافیک هر پیام ack به ازای دریافت پکت خود باعث اشغال پهنای باند خواهد شد .

TCP یک پروتکل قابل اعتماد برای دریافت و ارسال پکیت هست که به ان اصطلاحا connection-oriented می گویند یعنی به همان میزان و شکلی که پکیت رو به سمت یک دستگاه ارسال می کنیم به همان شکل و میزان هم پکیت رو دریافت می کنیم بدون هیچ تغییری ! اما پروتکل UDP بهش اصطلاحا connection-less می گویند قابل اعتماد نیست و هیچ گارانتی نشده که اطلاعات در فرایند تبادل به همان شکل و میزان باشند و ممکن است حتی دیتایی به مقصد نرسد . شما در یک زمان تنها می تونید یک ارسال و یا یک دریافت داشته باشید برای دیتا با حجم بالا خیلی کاربرد دارد مثلا سیستم های مبتنی بر VOIP ، یکی از سرویس هایی که بر روی این پروتکل کار می کند DNS هست …

یکی دیگر از مهترین فرق های این دو پروتکل این است که در پروتکل TCP به وسیله 3Way – Handshake ابتدا Connections برقرار می شود. در صورت برقرای بدون مشکل Connections سپس بسته ها به همان ترتیبی که توضیح داده شد ارسال می شود اما در UDP بدون اینکه هیچ گونه Connection ایی شکل بگیرد و به صورت کامل یکطرفه بسته ها ارسال می شود.