传输层服务
传输层为在不同主机上的应用进程提供逻辑通信服务。
传输层协议在终端系统上运行:
- Sender:将应用的信息分成片段,然后下传到网络层,
- Receiver:将这些片段重组成信息,然后再上传到应用层
传输层和网络层的区别
网络层提供的是主机之间的通信服务(用的是IP地址)
传输层为在不同主机上的应用进程提供逻辑通信服务(用的是端口号)
套接字地址(Socket address):IP地址与端口号结合(eg. 193.14.26.7:13)
端口号
16-bit的数字
Internet Assigned Numbers Authority (IANA)负责维护特定的端口号
广泛使用的端口:0~1023(提供被广泛使用的网络服务的系统进程)
注册的端口:1023~49151(IANA管理的特定服务)
动态或私有的端口:49152~65535(私有的,定制的或短暂的服务以及被自动分配)
传输层协议处理的问题
连接管理
- 保证双方同意进行通信
错误恢复
- 验证数据没有在传输过程中中断
- 检测数据报和从数据报丢失中恢复
- 删除重复的包
- 保证信息按顺序抵达
- 防止延时的包被错误解释
流量控制
- 适应sender和receiver之间的速度不匹配
拥塞控制
- 回应互联网中的拥堵
两个主要的传输层协议
TCP:可靠的,按顺序的传输
- 有连接管理的
- 可靠的数据传输(具有错误恢复机制)
- 流量控制
- 拥塞控制
UDP:不可靠的,无顺序的传输
- 没有上面TCP的那些,只有“尽最大努力”的交付