运输层-TCP
简介
通俗点来说,运输层是连接底层和用户层的,运输层向它上面的应用层提供通信服务,它属于通信部分的最高层,同时也是用户功能的最低层。
运输层重要功能是复用和分用。复用:发送方不同应用进程可以使用同一种运输层协议。分用:接收方根据报文首部送到再送到相应的应用进程。
两种重要的协议:TCP:提供面向连接的服务 。UDP:传送数据前不需要先建立连接。下面主要说一下TCP连接。
上图表示应用层部分协议用到的运输层协议。
TCP
开始准备
TCP协议重要的部分就是先要建立连接,TCP连接IP层和应用层的枢纽就是套接字。套接字=={IP地址:端口号}
建立连接直接或者通信都需要用到TCP报文,所以先来了解一下报头:
每行有32位即4个字节,固定首部为5行即20字节。
连接-三次握手
可靠传输原理
无差错情况:正常的传输情况每一个请求对应一个确认。
超时重传:一个请求在一定时间内没有得到确认就重新发送。
确认丢失:确认报文丢失的情况下,这时候请求方没有收到确认就再发送请求,接收方丢弃重复的请求。
确认迟到:请求方迟迟没有收到确认,超时情况下再发送请求,这个确认很快收到了,过会以前的迟到(超时的)确认包过来了,请求方收到这个包什么也不会做。