传输层简析
传输层架构在网络层之上,应用层之下,需要提供高效、可靠地数据传输服务,同样提供了有连接和无连接的服务,且与网络层对于有连接和无连接的操作也相当类似,两者不同的是传输层的代码是完全运行在用户的机器上,而网络层的代码主要是运行在由运营商操作的路由器上,用户对于网络层并没有真正的控制权,只能在网络层之上再加一层传输层来提高网络的服务质量
作用
负责确保各包以发送的顺序接收,并保证没有数据丢失或破坏,如果丢包,传输层会请求发送方重传这个包
协议
传输层协议主要是TCP(Transmission Control Protocol,传输控制协议)和UDP(User Data Protocol,用户数据报协议)两种
TCP面向连接的协议
面向连接的传输服务是可靠的传输服务,而且可提供拥塞控制和差错控制功能,支持对丢失或破坏的数据进行重传,并按照发送时的顺序进行传送
TCP原语
- SOCKET 创建一个通信端点
- BIND 为套接字分配地址,将套接字与一个本地地址关联
- LISTEN 为入境呼叫分配队列空间
- ACCEPT 服务端被动创建一个连接
- CONNECT 客户端主动创建一个连接
- SEND 发送数据
- RECEIVE 接收数据
- CLOSE 释放连接
UDP无连接的协议
无连接的传输服务在提供服务前不需要建立专门的传输,直接向目的节点发送数据,不管是否有可传输的通道,只提供不可靠的传输服务,允许接收方检测被破坏的包,但不保证这些包以正确的顺序传送