Chinaunix首页 | 论坛 | 博客
  • 博客访问: 180324
  • 博文数量: 33
  • 博客积分: 2047
  • 博客等级: 大尉
  • 技术积分: 333
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-21 19:35
文章分类

全部博文(33)

文章存档

2011年(1)

2010年(21)

2009年(11)

分类: 系统运维

2010-10-05 11:32:56

一. TCP与UDP基础知识

1. 运输层只存在于主机中,子网中的设备最多处于IP层。

2. 为什么要存在运输层?
   答:IP协议提供主机到主机之间的通信,TCP、UDP是提供主机中应用进程之间的通信,通过端口区别不同的应用进程,称为端到端的通信。
   (1) 运输层达到复用和分用的功能。向下封包复用,向上解包分用。
   (2) 网络层为主机之间提供逻辑通信。运输层为应用进程之间提供逻辑通信。
   (3) 运输层需要对收到的报文进行差错检测。
   (4) 运输层根据需要实现两种协议,面向连接的TCP和无连接的UDP协议。

3. TCP提供可靠全双工信道,可以做到无差错、按序接收、无丢失、无重复。UDP是不可靠信道,尽最大努力交付,不保证交付,可能不按序、有差错和重传。

4. TCP的连接端点叫做socket,由IP地址和端口号组成。

5. UDP只在IP基础上增加了端口和差错检验的功能。TCP需要20字节的首部控制信息,UDP只需要8字节的首部。

6. TCP和UDP中的端口都是用两个入队列和出队列来实现。
   UDP的数据校验和的求值方法是:需要加上12B的伪首部,2B by 2B处理,二进制反码求和,结果取反放在检验
和字段。

7. TCP首部:20字节固定首部,加上选项和填充字段(4B的倍数)。TCP首部最大为60字节,因为偏移字段只有4bit,最大值为15,每个单位为4B,故首部最大为60B。窗口字段2B,用来控制发送端发送的数据量。用接收端的接受能力来控制发送端的数据发送量。根据接收端的缓存空间大小确定自己的接受窗口大小,再将此数值作为的、发送端的发送数据量上限。

8. 一般TCP最大数据字段长度(MSS)为536B。TCP报文段长度为536+20=556字节。TCP的可靠传输时由于使用了序号SEQ和确认ACK机制。

9. TCP滑动窗口:用来进行流量控制
   大小可变的滑动窗口,一开始由双方商定,后面由接收端控制发送端窗口上限的方法。接收端窗口和拥塞控制窗口共同控制发送端的发送窗口大小。
   拥塞避免是在拥塞避免阶段将拥塞窗口控制为按线性规律增长,使得网络不易出现拥塞。
   新的拥塞控制算法:快重传和快恢复。

10. TCP重传机制
    TCP采用自适应算法来确定报文重传时间。报文段往返时间是RTT。

11. TCP三次握手
    (1) 连接请求阶段:发送请求报文段 SYN=1,SEQ=x;表明后面传送数据时第一个数据字节序号就是x+1。
    (2) 服务器端若允许连接请求,则发回确认,在确认报文段中SYN=1,ACK=1,确认号为x+1,同时也为自己选择一个序号SEQ=y。
    (3) 客户端收到服务器的确认报文后,给此报文发出确认,ACK=1,确认号为y+1,SEQ=x+1。
    TCP标准规定,SYN=1报文段要消耗掉一个序号。
    此时,客户端中的TCP通知上层应用进程,连接已建立。当服务器收到确认报文后,他的TCP通知上层应用进程连接已建立。
    客户端向服务器发送第一个数据报文段的SEQ为x+1。
    
    三次握手主要是为了防止已失效的连接请求报文又到达服务器端。

12. 释放连接
    释放Client-->Server的连接:发送到Server的报文段置FIN=1,SEQ=前一个报文段的最后一个字节序号+1=n。Server发出确认,SEQ=y,ACK=1,ACK号=n+1,同时通知Server的应用进程。此时连接的一个方向关闭了,处于半关闭状态。
   释放Server-->Client的连接:S发送到C的报文段FIN=1,SEQ=y,ACK=n+1,ACK;C收到释放请求,并对其确认,ACK=1,ACK号=y+1,SEQ=n+1,并报告上层应用进程连接全部释放完毕。

13. TCP连接的有限状态机
    表明了TCP连接可能所处的所有状态以及状态之间的转换。
    见计算机网络书P252。

14. 发送端,发送窗口的移动是在发送端收到接收端的确认后进行的。
    发送端每次发送的报文段数据大小不能大于发送窗口的大小。发送窗口大小事根据接收端的能力和拥塞控制窗口来共同确定,这种是动态改变的发送窗口。
    进行流量控制的目的:不仅仅是为了使接收端有充分的缓冲区和时间接收和处理数据,同时防止网络发生拥塞。
 
阅读(1000) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~