传输层(一)
传输层(一)
概述
传输层是整个网络体系结构中的关键层次之一,主要负责向两个主机中进程之间的通信提供服务。传输层在终端用户之间提供透明的数据传输,向上层提供可靠的数据传输服务。传输层在给定的链路上通过流量控制、分段/重组和差错控制来保证数据传输的可靠性。主要的传输协议有TCP和UDP。
服务过程:
- 发送方:将应用层的报文分成报文段,然后传递给网络层
- 接收方:将报文段重组成报文,然后传递给应用层
服务类型:
- 可靠的、保序的传输: TCP
- 多路复用、解复用
- 拥塞控制
- 流量控制
- 建立连接
- 不可靠、不保序的传输:UDP
- 多路复用、解复用
- 没有为尽力而为的IP服务添加更
多的其它额外服务
都不提供的服务:
- 延时保证
- 带宽保证
多路复用和解复用
在发送方主机多路复用:
从多个套接字接收来自多个进程的报文,根据套接字对应的IP地址和端口号等信息对报文段用头部加以
封装(该头部信息用于以后的解复用)在接收方主机多路解复用:
根据报文段的头部信息中的IP地址和端口号将接收到的报文段发给正确的套接字(和对应的应用进程)
面向连接的解复用(TCP):
由于UDP的Socket需要关联自身的IP和端口以及目标的IP和端口,每个连接会有单独的socket进行复用
无连接的解复用(UDP):
由于UDP的Socket只关联自身的IP和端口,所以不管谁发送的都可以复用同一个Socket。
无连接传输:UDP
- UDP提供一种“尽力而为”的服务,报文可能丢失、乱序。
- UDP属于无连接的服务:
- UDP发送端和接收端之间没有握手
- 每个UDP报文段都被独立地处理
数据报格式:
优势:
- 不建立连接(会增加延时)
- 简单:在发送端和接收端没有连接状态
- 报文段的头部很小(开销小)
- 无拥塞控制和流量控制:
- UDP可以尽可能快的发送报文段
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 goMars的学习随记!
评论