TCP/IP详解 读书笔记(1)

1)TCP的三次握手过程?

TCP是TCP/IP协议栈中运输层的协议,TCP为应用程序提供端到端的可靠的传输,可靠传输的其中一个表现就是在数据发送之前,双方必须要通过三次握手建立连接。

三次握手的具体过程是:

第一次握手:发送方向接受方发送一个连接建立的请求,并通告一些性能参数,比如可以接受的最大报文段长度,缓存窗口大小等等。

第二次握手:如果接收方接受了发送方的连接请求,接收方会返回一个数据报,表明连接请求已接收,并说明本端的性能参数比如最大报文段长度,缓存窗口大小等等。

第三握手:发送方对接收方报文的确认。

至此,双方就通过三次握手建立了TCP连接。双方就可以通信了。


2)TCP是如何提供可靠传输?

一  双方在进行通信前,需要通过三次握手建立连接,而这个建立连接的过程中双方会协商彼此数据传输的参数。 

二  TCP的首部字段中有检验和字段,这是一个端到端的检验和,目的是检验数据在传输过程中的变化。如果接受方的数据段检验和有差错,TCP会丢弃这个段不发送确认以希望发送方能超时并重发。

三 TCP发送一个数据报后,会启动一个定时器,等待目的端确认这个数据段,如果在定时器到期前,还没有收到确认,那TCP将重发数据报。

四 TCP使用IP提供的服务,而IP提供的是不可靠的传输,即IP数据报的到达可能会失序,TCP会将数据报排序后交付给应用程序。

  五 TCP 会提供流量控制。TCP连接的每一端都有固定大小的缓冲区,TCP的接收端只允许发送端发送接收端缓冲区所能接纳的数据。这样可防止较快的主机使较慢的主机缓冲区溢出。


3) TCP和UDP的比较?

TCP和UDP都是TCP/IP协议栈中运输层的协议,为应用程序提供端到端的通信。这两者之间有以下区别:

UDP提供的是不可靠的,无连接的数据报服务,UDP不能保证数据可以准确到达目的地,数据报的可靠性由应用程序提供。而TCP提供的是可靠的,面向连接的字节流服务。在发送数据前,需通过三次握手建立连接。并且在发送数据后,要求目标计算机必须发送确认。TCP在收到的数据发送丢失,重复时,负责数据的恢复。

总体来说,TCP和UDP之间的区别就是TCP提供可靠传输,而UDP提供的是不可靠传输。


4)  既然UDP提供的是不可靠的传输,为什么需要有UDP协议?

UDP提供不可靠的传输,在传输数据前不需要建立连接,数据传输的过程中没有确认机制。UDP只是尽最大可能的发送数据,所以用UDP传输数据的实时性较好。所以在一些实时性要求较高的场合,比如视频传输就可以采用UDP协议实现。因为在这种应用中,丢失少量的数据并不会影响视频的观看。应用程序也可同时采用TCP和UDP,用TCP连接传输一些重要的数据比如密码,控制信息,用UDP传输主要数据。所以UDP协议有其存在的必要性。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值