课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,用户对于网络的安全性要求也在不断的提高,而今天我们就通过案例分析来了解一下,程序员如何保障网络信息传输安全性。
一、字节编号机制
编号机制很好理解,就是给TCP的数据段里面的数据部分,每个字节都进行编号。
为什么需要编号?
好说,就是为了更清楚的接收和发送。TCP数据是按序的,接收完之后按序组装好,才会交付给上层。
日常生活中也经常遇到这样的情况,你去银行还不得在门口取个号,先取号的先办理,既保证处理事情不乱,也不用大家站着长长的队,叫到号就是你。
二、数据段的确认机制
也就是我们常常听到的确认应答机制,一问一答,保证问的问题,对方一定接收到,如果确实没有接收到就会重复去问。
TCP确认应答就是每一个数据段发送都会收到接收端返回的一个确认号,收到的确认号表示该号前面的数据全部接收。
确认应答机制里面有几个重要的问题,也是面试高频问题,龙叔必须唠叨几句。
TCP可以一次连续发送多个数据段
TCP可以连续发送多个数据段,具体发送数据段的多少取决于对方返回的窗口大小。只要满足窗口大小可容纳,Negale算法处于关闭状态就可以连续发送多个数据段。
仅对连续接受的数据段进行确认
假设你发送了数据段序号为101、201、301、401、501、601,接收端接收到了101、201、501,此时接收端只会返回201的确认,不会返回501确认,因为301和401还没接收到。当收到301和401之后才会返回501的确认(在不超时的情况下)。
不连续序号的数据先缓存下来
如上面的例子,接收端收到101、201、501,此时501不能被确认,因为有不连续的数据,但是501的会被缓存在本地,后面收到301、401立即返回501的确认。
三、TCP的超时重传机制
前面两条都是预防和减少出错,超时重传机制是保证TCP在传输过程中数据丢失了一个回复措施。因此超时重传机制是保证可靠性很重要的机制。
每发送一个TCP数据段都会启动一个超时重传计时器(RetransmissionTimer,RTT)。如果在计时器时间内没有收到确认应答号,会启动重传,重新发送该数据段。
这里面还有个点,TCP每发送一个数据段不是立刻把该数据段从缓冲区删除的,收到确认应答以后才会从发送队列丢掉。
超时重传原理看起来比较简单,重传的步骤也比较简单,其实也就是如此简单。有一个难的点是,超时重传计时器的时间是一个很复杂的问题。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请在707945861群中学习了解。