TCP为什么是个可靠的协议】的更多相关文章

一直以来,我们都被告知TCP是可靠的.但为什么是可靠的,很多人都会说“三次握手.四次挥手”.然后我们就进入一个误区:TCP可靠是因为它在建立链路时进行了“多次”地确认.然后又有人问,“多次确认就可靠了吗?”专家想了一会,说:“这只是相对的……” 回顾一下,网络书籍里面有一个很著名的问题,“红军和蓝军通信联合进攻山下的敌军的例子,第一天红军发了条信息要蓝军第二天一起进攻,蓝军收到之后,发一条确认信息,但是蓝军担心的是‘确认信息’如果也不可靠而没有成功到达红军那里,那自己不是很危险?于是红军再发一条…
1.稍微想一下就知道,TCP不是绝对可靠的协议,比如:网络断开,主机崩溃,无论TCP如何努力,都无法将数据传给对方. 2.考虑应用程序A向应用程序B发送数据的TCP流程,数据流从应用程序A通过他所在主机的TCP/IP栈向下传输,经过几台中间路由器, 通过应用程序B所在主机的TCP/IP栈向上传输,最后到达应用程序B. 特别注意:中间的路由器(即使拥有TCP/IP协议栈)并不涉及TCP层和应用层,只是转发IP数据报, 也就是说,不会在路由器的TCP/IP协议栈向上传输,然后在向下传输,只有在发送端…
应用层: 该层包括所有和应用程序协同工作,利用基础网络交换应用程序专用的数据协议.如: HTTP:超文本传输协议. TELNET:(网络电传),通过一个终端(terminal)登录到网络(运行在TCP协议上) FTP:(文件传输协议),由名知意(运行在TCP协议上) SMTP:(简单邮件传输协议),用于王成地址查找,有加转发等工作(运行在TCP协议上) DNS:(域名服务),用于完成地址查找,邮件转发等工作(云星宇TCP和UDP协议上) NTP(网络时间协议),用于网络同步(运行在UDP协议上)…
1.IP协议 IP协议是TCP/IP协议的核心,所有的TCP,UDP,IMCP,IGCP的数据都以IP数据格式传输.要注意的是,IP不是可靠的协议,这是说,IP协议没有提供一种数据未传达以后的处理机制--这被认为是上层协议--TCP或UDP要做的事情.所以这也就出现了TCP是一个可靠的协议,而UDP就没有那么可靠的区别.这是后话,暂且不提 1.1.IP协议头 如图所示 挨个解释它是教科书的活计,我感兴趣的只是那八位的TTL字段,还记得这个字段是做什么的么?这个字段规定该数据包在穿过多少个路由之后…
ude是一款基于udp的可靠传输协议,专门用于在数据传输方面对实时性要求较高的应用领域.    tcp协议虽然能保证数据的可靠传输,但它有以下几个缺点:1.tcp的数据确认机制会导致发送方重复发送一些已经被对方接收的数据,降低了带宽的有效利用率:2.tcp协议的超时重传机制严格遵守rtt公平性,即到了rtt时间才会重传丢失的数据,当rtt较大时,就会导致数据的实时性降低,这对于一些对实时性要求较高的应用(比如流媒体应用)是不能忍受的,并且这一特点会导致带宽得不到充分利用:3.在p2p传输领域,由…
一.计算机网络体系结构 二.TCP与UDP差异 1.TCP是面向连接的可靠传输,UDP是面向无连接的不可靠传输 面向连接表现在3次握手,4次挥手:可靠传输表现在未进行4次挥手时的差错重传,超时重传: TCP UDP传输时都会建立虚拟信道,区别是TCP要进行握手确认,直到挥手才注销信道,UDP则传输完成就注销信道并不在意接收方收到消息与否. 2.TCP是面向流的传输,UDP是基于数据报的传输 流传输可进行流量控制传输,可进行分组传输,可进行拥塞控制传输:基于报文的传输不拆分不合并,无论多大一次性发…
计算机网络实验代码与文件可见github:计算机网络实验整理 实验名称 可靠数据传输协议(停等协议与GBN协议) 实验目的: 本次实验的主要目的. 理解可靠数据传输的基本原理:掌握停等协议的工作原理:掌握基于 UDP 设计并实现一个停等协议的过程与技术. 理解滑动窗口协议的基本原理:掌握 GBN 的工作原理:掌握基于UDP 设计并实现一个 GBN 协议的过程与技术. 实验内容: 概述本次实验的主要内容,包含的实验项等. 1)基于 UDP 设计一个简单的停等协议,实现单向可靠数据传输(服务器到客户…
2013-08-17 17:31:49 1.7 分用 分用(Demultiplexing):这是一个过程——当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议上的报文首部.每层协议盒都要去检查报文首部中的协议标识,以确定接受数据的上层协议——换一种思路理解就是,为数据制定一条解析的路线. 1.8 客户-服务器模型 服务的类型: (多为UDP服务器,当然也存在例外)重复型 (TCP服务器)并发型 I1.等待一个客户请求的到来 C1.等待一个客户请求的到来 I2.处理…
在Linux的发行版本中,都存在一个/proc/目录,有的也称它为Proc文件系统.在 /proc 虚拟文件系统中存在一些可调节的内核参数.这个文件系统中的每个文件都表示一个或多个参数,它们可以通过 cat 工具进行读取,或使用 echo 命令进行修改.下面给出了几个可调节的参数是关于Linux TCP/IP 栈的参数,相关的帮助可以通过man tcp或info tcp获取.在这个目录中,包括了一些特殊的文件,不仅能用来反映内核的现行状态和查看硬件信息,而且,有些文件还允许用户来修改其中的内容,…
为什么要安装可靠多播协议?   答:随着因特网的发展,出现了视频点播.电视会议.远程学习.计算机协同工作等新业务.传统的点到点通信方式,不仅浪费大量的网络带宽,而且效率很低.一种有效利用现有带宽的技术就是多播技术. 多播(MultiCast)是一种点到多点(或多点到多点)的通信方式,即多个接收者同时接收一个源发送的相同信息.在多播中,组的概念十分重要.由多播定义可知,多播报文是从一个源发到三组目的节点.在IP多播中,多播组有一个ID号,称作多播组ID号,它指定发送报文的目的组,实际上是D类IP地…
为什么要安装可靠多播协议?   答:随着因特网的发展,出现了视频点播.电视会议.远程学习.计算机协同工作等新业务.传统的点到点通信方式,不仅浪费大量的网络带宽,而且效率很低.一种有效利用现有带宽的技术就是多播技术. 多播(MultiCast)是一种点到多点(或多点到多点)的通信方式,即多个接收者同时接收一个源发送的相同信息.在多播中,组的概念十分重要.由多播定义可知,多播报文是从一个源发到三组目的节点.在IP多播中,多播组有一个ID号,称作多播组ID号,它指定发送报文的目的组,实际上是D类IP地…
关于TCP/IP的三次握手协议,这篇文章中有详细的介绍,很通俗易懂,什么时候忘了,都可以过来瞧两眼,保证很快就明白了. 首先TCP/IP协议分为三个阶段:建立连接(握手阶段),数据传输阶段,连接终止阶段. 看到以前学习的<计算机网络>课本,书上介绍,数据传输阶段的时候,突然想到QQ或者阿里旺旺是不是采用TCP/IP协议进行聊天的, 发现阿里旺旺应该是采用TCP/IP协议,但是QQ是采用UDP协议进行聊天的,采用TCP协议进行保持登录状态的.关于QQ采用的协议,可以参考这篇知乎问答 关于他们具体…
由于传输层所依赖的网络层是不可靠的,通过逐渐考虑实际情况不断引入新技术来实现可靠数据传输. 完全可信的信道 有比特差错的信道 新的协议功能: 1.    差错检测:检验和 2.    接收方反馈:序号,ACK分组 3.    重传 会产生丢包的信道 超时重传:冗余数据分组 流水线可靠数据传输 1.     增加序号范围 2.     发送方和接收方都需要缓存分组 3.     差错恢复:选择重传/回退N步 回退N步(GBN): 发送方: 发送发维护如图所示的结构,窗口长度的含义即为已发送未确认的…
第一章 概述 协议栈 应用层 HTTP,FTP   运输层 TCP, UDP 段(Segment) 网络层 IP, ICMP, IGMP 数据报(Datagram) 链路层   帧(Frame) 物理层     应用层关心的是应用程序的细节,而不是数据在网络中的传输活动:下面四层对应用程序一无所知,但它们要处理所有的通信细节. 互联网地址 端口号 周知端口号(Well-Known Ports) 1-255 Unix系统占用端口 256-1023 临时可分配端口 1024-5000 为其他服务预留…
从今日起开始认真研读TCP/IP详解这本经典制作,一是巩固我薄弱的计算机网络知识,二来提高我的假期的时间利用率.将心得与思考记录下来,防止白看-哦耶 2013-08-14 18:47:06 第一章 概述 1.1引言 1.2分层 层次名 功能 备注 应用层 处理特定应用程序细节 Telnet远程登录.FTP文件传输协议.SMTP简单邮件传送协议.SNMP简单网络管理协议 运输层 为两台主机上的应用程序提供端到端的通信 TCP(传输控制协议) 为两台主机提供高可靠性的数据通信 UDP(用户数据报协议…
第一章 概述 分层 TCP/IP 通常被认为是一个四层协议系统. 每一层负责不同的功能. 链路层, 也成为数据链路层或者网络接口层. 通常包括 操作系统中的设备驱动程序和计算机中对应的网络接口卡. 主要处理与电缆(或其他传输介质)的物理接口细节. 网络层, 互联网层, 处理分组在网络中的活动,例如分组的选路. 主要包括协议有 : IP协议(网际协议) ICMP协议(Internet互联网控制报文协议) IGMP协议(Internet组管理协议) 运输层, 主要为两台主机上的应用程序提供端到端的通…
SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定:SSH 为建立在应用层和传输层基础上的安全协议.SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议. 第一步 #查看本机是否安装SSH软件包 [root@localhost ~]# rpm -qa | grep ssh openssh-server-6.6.1p1-12.el7_1.x86_64 openssh-clients-6.6.1p1-12.e…
一.OSI七层模型 OSI七层协议模型主要是:应用层(Application).表示层(Presentation).会话层(Session).传输层(Transport).网络层(Network).数据链路层(Data Link).物理层(Physical). 二.TCP/IP四层模型 TCP/IP是一个四层的体系结构,主要包括:应用层.运输层.网际层和网络接口层.从实质上讲,只有上边三层,网络接口层没有什么具体的内容. 三.五层体系结构 五层体系结构包括:应用层.运输层.网络层.数据链路层和物…
TCP 协议如何保证可靠传输   一.综述 1.确认和重传:接收方收到报文就会确认,发送方发送一段时间后没有收到确认就重传. 2.数据校验 3.数据合理分片和排序: UDP:IP数据报大于1500字节,大于MTU.这个时候发送方IP层就需要分片(fragmentation).把数据报分成若干片,使每一片都小于MTU.而接收方IP层则需要进行数据报的重组.这样就会多做许多事情,而更严重的是,由于UDP的特性,当某一片数据传送中丢失时,接收方便无法重组数据报.将导致丢弃整个UDP数据报. tcp会按…
两种协议都是传输层协议,为应用层提供信息载体. TCP协议是基于连接的字节流的可靠协议,有三次握手,四次挥手,超时重传,流量控制(滑动窗口),拥塞控制和差错控制,也正因为有可靠性的保证和控制手段,所以传输效率比UDP低: UDP协议是基于无连接的数据报的不可靠协议,没有控制手段,仅仅是将数据发送给对方,因此效率比TCP要高.   UDP 编程比 TCP 难,使用UPD场景 1.低延时 2.音视频为何不用UDP 3.NAT穿透 4.一般都使用TCP 基于上述特性,不难得到结论,TCP协议适用于对效…
前言:TCP学习的综述 在学习TCP/IP协议的大头:TCP协议 的过程中,遇到了很多机制和知识点,详解中更是用了足足8章的内容介绍它. TCP协议作为 应用层 和 网络层 中间的 传输层协议,既要为下面的网络层协议保证连接的可靠性(IP协议)弥补不足,又要作为 应用层进程向网络层发送数据的中转站(作为多路复用/解复用器). 这就使得我们在审视TCP这个协议的过程中,需要横向和纵向地看待TCP连接: 横向的连接:client 的 TCP 与 server 的 TCP.三握四挥,是 reliabl…
作为TCP的重头戏,本章节涉及了许多关于计算方面的内容,使用了大量的例子来指明一些观点. 我使用的理解方法是:通过别人的博客,以及实例结合进行理解,不然会很吃力. 21.1 引言 reliable TCP提供可靠的运输层,它使用的方法之一就是确认从另外一端收到的数据. 也就是说通过ACK,或者说 TCP自时钟,来保证这一特性. TCP通过在发送的时候,设置一个定时器来解决这些问题.如果当定时器溢出还没有收到确认,就重传数据,对于任何的实现而言,关键就在超时和重传的策略. 四个不同的定时器 重传定…
本章作为TCP的入门章节,简单的概述了一些TCP的知识,和TCP数据报的首部格式. TCP 最重要的特性:reliable. 17.1 引言 本章介绍的是 TCP为应用层提供的服务. 17.2 TCP的服务 TCP 提供一种 面向连接的,可靠的字节流服务.面向连接 意味着两个使用的TCP应用(eg. client-server)在彼此交换数据之前必须先建立一个TCP连接. 在一个 TCP 连接中,仅有两方进行彼此通信. TCP 提供以下方式来提供可靠性: (1) 由上一层发送的应用数据 被分割成…
第一章 概述 游览了一下,本章主要是简介OSI模型的低层(1-4层).介绍了TCP/IP协议族的相关知识. TCP/IP的分层 Application <--> TCP / UDP <--> ICMP / IP / IGMP <--> ARP / 硬件接口 / RARP <--> 传媒介质 要点: (1)TCP 和 UDP 是运输层协议,均使用 IP 作为网络层协议. (2)TCP使用的是不可靠的IP网络层协议,但是它本身提供一种可靠的运输层服务.可靠体现在…
什么是TCP和UDP TCP和UDP是TCP/IP协议中的两个传输层协议,它们使用IP路由功能把数据包发送到目的地,从而为应用程序及应用层协议(包 括:HTTP.SMTP.SNMP.FTP和Telnet)提供网络服务.TCP提供的是面向连接的.可靠的数据流传输,而UDP提供的是非面向连接的. 不可靠的数据流传输.面向连接的协议在任何数据传输前就建立好了点到点的连接.ATM和帧中继是面向连接的协议,但它们工作在数据链路层,而不是在传输 层.普通的音频电话也是面向连接的. 可靠的传输协议可避免数据传…
一.OSI七层模型 OSI七层协议模型主要是:应用层(Application).表示层(Presentation).会话层(Session).传输层(Transport).网络层(Network).数据链路层(Data Link).物理层(Physical). 二.TCP/IP四层模型 TCP/IP是一个四层的体系结构,主要包括:应用层.运输层.网际层和网络接口层.从实质上讲,只有上边三层,网络接口层没有什么具体的内容. 三.五层体系结构 五层体系结构包括:应用层.运输层.网络层.数据链路层和物…
分层           TCP/IP协议族是一组不同层次上的多个协议的组合.TCP/IP通常被认为是一个四层次协议系统.   链路层(数据链路层或网络接口层):通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡.用于处理与传输媒介物理接口细节. 网络层:处理有关通信媒介的细节,处理分组在网络中的活动,例如分组的选路.在TCP/IP协议族中,网络层协议包含IP协议(网际协议),ICMP(Internet互联网控制报文协议,Internet Control Message Protocol…
TCP提供可靠的通信传输,而UDP则常用于让广播和细节控制交给应用的通信传输. 传输层协议根据IP数据报判断最终的接收端应用程序. TCP/IP的众多应用协议大多以客户端/服务端的形式运行.客户端是请求的发起端,而服务端表示提供服务的意思,是请求的处理端.因此,作为服务端的程序有必要提前启动,准备接收客户端的请求.传输协议根据接收数据中的目标端口号识别目标处理程序. TCP.UDP比较 TCP提供可靠性传输.实行顺序控制或重发控制机制,还有流量控制和拥塞控制,提高网络利用率. UDP是不具备可靠…
转载于:https://blog.csdn.net/liuchenxia8/article/details/80428157 TCP协议传输的特点主要就是面向字节流.传输可靠.面向连接. TCP保证数据可靠传输的方式主要有以下六点:校验和.确认应答与序列号.超时重传.连接管理.流量控制.拥塞控制. 1.校验和 在数据传输的过程中,将发送的数据段都当做一个16位的整数.将这些整数加起来.并且前面的进位不能丢弃,补在后面,最后取反,得到校验和.发送方在发送数据之前计算校验和,并进行校验和的填充.接收…
2013-08-27 15:44:52 第7章 Ping程序 7.1 引言 “ping”这个名字来源于声纳定为操作.Ping程序由Mike Muuss编写,目的是为了测试另一台主机是否可达.该程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答. 一般来说,如果不能Ping到某台主机,那么就不能Telnet或者FTP到那台主机.反过来,如果不能Telnet到某太主机,那么通常可以用Ping程序来确定问题出在哪里.Ping程序还能测出到这台主机的往返时间,以表明该主机离我们有“多远”…