TCP/UDP学习

1、运输层是端对端(应用进程)之间的通信。

2、TCP和UDP的区别
1)TCP是全双工的可靠信道。UDP尽最大努力交付,是不可靠信道。
2)UDP开销小,效率比较高。
3)TCP提供面向连接的服务,UDP传输数据之前不需要建立连接。
4)UDP没有拥塞控制。TCP面向字节流,根据对方给的窗口值和拥塞程度决定报文字节。

3、端口:标志计算机应用层中各进程在和运输层交互的层间接口。

4、停止等待:每发完一个分组后就停止发送,等待对方的确认。收到确认后再发送下一个分组。

5、自动重传请求ARQ:设置超时重传,确认丢失和确认收到。连续AQR协议的主要形式是滑动窗口。报文段每重传一次,就把超时重传时间增大些。

6、TCP可靠传输的实现
1)以字节为单位的滑动窗口;
2)超时重传;
3)选择确认SACK:即接收方通过选择确认告诉发送方那些数据丢失,那些数据已经收到等,选择确认这种可靠传输方式也称为快速选择性重传

7、TCP的流量控制:让发送方的速率不要太快,让接收方来得及接收。由接收方向发送方发送报文进行控制。针对可能出现死锁的情况,设置持续计数器。

8、TCP的拥塞控制:通过超时判断进行控制。
1)慢开始:由小到大增大发送窗口。慢指的是最开始的发送报文数小,不是指增长率慢,增长率是倍数增长。
2)拥塞避免:让发送方的拥塞窗口每经过一个往返时间就加1。称加法增大。慢开始和拥塞避免算法之间的切换由一个慢开始门限值决定。
3)快重传:接收方操作,防止发送方把个别报文段的丢失当成拥塞。
4)快恢复:丢失个别报文段后,发送方不启动慢开始,而是将慢开始门限值除以2,拥塞窗口值改成慢开始门限值。称乘法减小

9、三次握手:首先服务器进程先保持LISTEN状态,等待连接请求。
1)客户端向服务器端发出连接请求报文段。SYN = 1, seq = x。
2)服务器端向客户端发送确认。SYN = 1, ACK = 1, seq = y, ack = x + 1。
3)客户端收到确认后,向服务器端发出确认。ACK = 1,seq = x + 1,ack = y + 1。最后一次的确认是为了防止已失效(如在某个网络节点长时间滞留)的连接请求报文段突然又发送到了服务器。

10、四次挥手:首先两方都处于ESTABLISHED状态。
1)客户端发出连接释放报文段。FIN = 1,seq = u。
2)服务器收到后发出确认,ACK = 1, seq = v, ack = u + 1,进入CLOSE-WAIT状态。此时客户到服务器方向的连接释放了,TCP处于半关闭状态,但服务器到客户端方向的连接没关闭。客户端受到确认后进入FIN_WAIT_2(终止等待2)状态。
3)若服务器已经没有要向客户端发送的数据,发出释放连接。FIN = 1,ACK = 1, seq = w,ack = u + 1。服务器进入LAST_ACK(最后确认)状态。
4)客户端收到释放报文段后,对此发出确认。ACK = 1,seq = q + 1,ack = w + 1。经过等待时间计数器后,才进入CLOSE状态。原因是保证最后这个报文段能穿到服务器(如果丢失服务器会超时重传,客户端再重传);同时防止已失效的连接请求报文段突然又发送到了服务器(经过这段时间后,本连接的报文都已经在网络上消失)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值