tcp-ip
ccc_yxc
这个作者很懒,什么都没留下…
展开
-
TCP/IP:tcp快速重传和快速恢复
1.重传会分为超时和3次重复确认后重传两种。快速重传就是指接收方重复3次确认同一个序号时,发送方立即重传。第1次不算在重复里面,所以一共发了4次ACK。2.《tcp/ip 协议》描述的快速恢复有点乱。简单来讲,就是快速重传后执行拥塞避免算法,而不是慢启动算法。通过控制慢启动窗口ssthresh和拥塞窗口cwnd的值就可以实现。具体如下 (1)接收方发送第1次数据确认ACK。这里假设序号6657,表原创 2017-02-05 19:42:18 · 3656 阅读 · 0 评论 -
TCP/IP:UDP(1)
1.UDP不提供可靠性意味着:把应用程序传给IP层的数据发送出去,但是并不保证它们能够到达目的地.2.应用程序必须关心IP数据报的长度.如果超过网络的MTU,那么就要对IP数据报进行分片.并不是只是发送端连接的第一个网络才切片,而是途径的,从源端到目的端之间的每个网络都可能进行分片(如果要分片).3.UDP首部:(图来源于网络,是正确的) 有几点需要注意的: (1)UDP长度是指UDP首部和原创 2017-02-03 15:18:48 · 372 阅读 · 0 评论 -
TCP/IP:UDP(2) IP分片
1.IP分片 讲ip分片就要借助IP首部(图借助于网络) 分片涉及的字段有 (1)总长度 (2)标识 (3)标志 (4)片偏移分片的步骤 (1)对于每份IP数据报,首部标识字段具有唯一值,用于识别同一数据报。该字段在分片时复制到各个片。 (2)标志字段为1,表示还有更多片等着拼接,最后一片=0; (3)片偏移字段指代偏移原始数据报开始位置。 (4)分片后,总长度改为每个片的值原创 2017-02-03 18:20:15 · 420 阅读 · 0 评论 -
TCP/IP:UDP(3) ICMP
1.ICMP报文格式 报文中有一个字段是下一站网络的MTU。但是有些路由器不支持。如果不支持,“下一站网络的MTU”=0.2.确定路径最小MTU时,通常设置“不分片”标志比特。3.不应该让源端对IP数据报分片(除非源端已经不允许通过),应该是把DF设成0,然后让具有最小MTU的路由器来完成分片。原创 2017-02-03 19:46:34 · 318 阅读 · 0 评论 -
TCP/IP:UDP(4) 缓存与抑制
1.UDP协议,发送方有一个虚拟的发送缓存区。假的,意思是UDP应用程序生成数据报,就直接发送出去,不做任何处理。发送缓存区主要是限制单个数据报的大小。如果写一个太大的数据报,内核返回该进程一个EMSGSIZE错误。因为UDP是不可靠的,它不必保存应用进程数据的一个副本,因此无需一个真正的发送缓存区。2.UDP接收方具有接收缓存区,输出队列是FIFO的。3.接收缓存区有固定大小,可以通过SO_RCV原创 2017-02-04 14:25:08 · 597 阅读 · 0 评论