看了点可靠传输协议里的选择重传。这方面知识真的有些看不懂。那我就先说下回退N步和选择重传中一个重要的概念,窗口的概念。
先说下序号,序号的概念就是发送方发送的每个分组,它都有一个唯一的标识,就是序号,接收方收到某一分组,通知发送方,这一个分组收到了,就是通过序号来实现的。
窗口可以类似的认为是一个队列,只是类似的,和队列很不一样。把 基序号 定义为最早的未确认分组的序号,把 下一个序号 定义为最小的未使用序号,把 序号范围分成四个部分。有已经发送并确认的分组,已发送未确认的分组,要被立即发送的分组和不能使用的分组。,定义窗口长度N,N的长度就是那些已经发送未被确认和即将发送的分组的长度之和。
接下来说说选择重传,它不像回退N步那样,发现中间有一个分组丢失之后那就把那分组之后的包丢掉,重发,而是不管接收的分组是否按序,先缓存起来,直到所有的分组都收到。才把这批分组给上层。对于选择重传,我没能理解多少,只知道,发送方和接收方的窗口不一样。希望大家看后,了解这方面内容的,能指点指点。小弟感激不尽。
下来做个总结,
检验和:用来检测一个传输分组中的错误。
定时器,当发生超时事件后,就重传分组。
序号:对数据分组编号,根据序号检测分组的冗余。
确认:接收方用来告知发送方分组已经接收到了。
否定确认:通知发送方,分组未被正确接收。
窗口,流水线:发送序号在一个指定范围内的分组。
好了,这个周末我开始要看TCP协议了,我这个文章只是个很基础的了解了,希望大牛们能多教教我些更详细的只是,谢谢大家了。