您的位置:首页 > 其它

传输层

2015-10-21 21:08 197 查看
应用进程的通信





面向连接——TCP——TCP报文段
面向无连接——UDP——UDP报文或用户数据报

端口:
计算机中进程是用进程标识符标志
在网络中不同计算机操作系统不同——引入端口号

UDP





TCP
面向连接的、可靠的传输协议

因为IP不能提供可靠协议,TCP可靠性完全由自己实现



1.端口:是传输层与应用层的服务接口
2.序号:TCP传输的数据流每一个字节都编上一个序号。序号字段的值指的是本报文所发送的第一个字节的序号。
3.确认号:期望下一个报文段的数据的第一个字节的序号。(确认号是N,则说明n-1为止的所有数据都已正确收到)
4.URG:为1时,紧急指针有效。表明此报文段中有紧急数据,应尽快传送。
5.ACK:只有为1时确认号字段才有效。
6.PSH:收到PSH=1的报文段,尽快交付应用进程,而不再等整个缓存都填满再向上交付。
7.RST:为1时,表明TCP链接中出现严重差错(主机崩溃或其他原因),必须释放链接,然后重新建立连接。
8.SYN:为1时表示这是一个连接请求或连接接收报文。
9.FIN:为1时数据传输完毕要求释放传输连接。

通信三个阶段:
1.建立连接:握手
2.数据传输:“窗口”流量控制
3.连接关闭:向接收方发送关闭请求,但仍可接受数据,直到接收方发送了关闭连接请求的确认,才正式关闭。

连接

为什么要三次握手,同步窗口,序列号等等
2次可能的情况:
比如是A机要连到B机,结果发送的连接信息由于某种原因没有到达B机;
于是,A机又发了一次,结果这次B收到了,于是就发信息回来,两机就连接。
传完东西后,断开。
结果这时候,原先没有到达的连接信息突然又传到了B机,于是B机发信息给A,然后B机就以为和A连上



释放



为什么A必须等待2MSL时间
1.保证A发送的最后一个ACK报文能够到达B。
2.防止已失效的连接请求报文出现在本连接中,

TCP可靠传输

对每个报文计时

TCP流量控制——滑动窗口机制





拥塞控制

因为拥塞是整个个网络的问题,所以单个节点只能流量控制,流量控制所要做的就是抑制发送端发送数据的速率,以便使接收端来得及接收。

拥塞窗口

          发送窗口 = min [接收窗口,拥塞窗口]













快重传:接收到三个重复确认,发送方不必等超时现象的出现就重传报文段
快恢复:重传之后,进入拥塞避免阶段
接收到第三个重复的确认

  ssthresh
= cwnd/2

 
重传报文段

  cwnd
= ssthresh
+ 3 * segsize
2. 对每一个重复的确认

  cwnd
= cwnd +
segsize

3. 
如果收到对重传报文段的确认

  cwnd
= ssthresh
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: