当网络的边缘部分中有两个主机使用网络的核心部分的功能进行端到端的通信时,只有主机的协议栈才有传输层,而网络核心部分中的路由器在转发分组时都只用到下三层的功能。
运输层:
提供应用进程间的逻辑通信。
网络层是为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信。
复用:应用层所有的应用进程都可以通过传输层再传送到IP层。
分用:运输层从IP层收到数据后必须交付给指明的应用进程。
TCP(传输控制协议)
1.面向连接的运输层协议
2.每一条TCP连接只能有两个端点
3.提供可靠的交付服务
4.提供全双工通信
5.面向字节流。
6.传输速度比UDP慢
TCP连接的端点叫做套接字或插口。 套接字 socket = (IP地址:端口号)
ICMP 差错报文传输协议(控制报文协议)用来发送错误信息,本身不会传输数据。
连续ARQ协议(滑动窗口协议)
超时重传
tcp 粘包是怎么产生的?
tcp 粘包可能发生在发送端或者接收端,分别来看两端各种产生粘包的原因:
发送端粘包:发送端需要等缓冲区满才发送出去,造成粘包;
接收方粘包:接收方不及时接收缓冲区的包,造成多个包接收。
UDP(用户数据报协议)
1.无连接
2.尽最大努力交付
3.面向报文,收发都是报文。
4.没有拥塞机制
5.支持一对一,一对多,多对一,多对多的交互通信。
6.首部开销小。
7.传输速度较快