概述
传输层服务和协议
- 为运行在不同主机上的应用进程提供逻辑通信
【传输层向上层提供的服务是为应用进程(以报文message为单位)提供逻辑的通信服务。应用进程能够把报文逻辑的发给对方,逻辑的再把报文回转回来,但物理上来说,报文要通过层间接口交给传输层,由传输层、网络之间的相互配合最终能够把报文交给对方的应用进程。
不是主机到主机,是进程到进程,而且是远程的两个进程到进程之间的逻辑的通信。】
- 传输协议运行在端系统
- 发送方:将应用层的报文分成报文段,然后传递给网络层【以段位单位形成本层的协议数据单元PDU,TCP的PDU就是TCP的segment,就是TCP的段】
- 接收方:将报文段重组成报文,然后传递给应用层【把段的头部去掉,段的内容部分取出来,以字节流的形式交给上面的应用进程】
【message交下来,分成若干段,加上段头,段头包括源端口、目标端口等信息,借助于网络层提供的服务,就能够传到对等的TCP的实体,对等的TCP实体拿到一系列段之后,把这些段的段头都去掉,然后段的数据部分排序,形成message,再把message往上交】
【TCP向上层提供的服务是字节流的服务,保证流是正常的,不保证报文的界限。应用层需要靠自己的应用协议的标识来标识哪里是报文的开始哪里是报文的结束】
- 有多个传输层协议可供应用选择
- Internet:TCP和UDP【TCP、UDP下面都是IP。网络层提供的基本模式就是以分组为单位、以IP数据报为单位的存储转发的服务,尽力而为的服务。】
传输层 VS 网络层
- 网络层服务:主机之间的逻辑通信
- 传输层服务:进程间的逻辑通信
- 依赖于网络层的服务
- 延时、带宽
- 并对网络层的服务进行增强
- 数据丢失、顺序混乱、加密【网络层向上层提供的服务可以丢失、可以重拍、也可以出错。传输层在网络层提供的服务的基础之上,把他的这种可靠性的不足加以弥补,从而向上层提供可靠的服务】
- 依赖于网络层的服务
有些服务是可以加强的:不可靠 -> 可靠;安全
但有些服务是不可以被加强的:带宽,延迟
类比:东西2个家庭的通信
Ann家的12个小孩给Bill家的12个小孩发信
- 主机 = 家庭
- 进程 = 小孩
- 应用层报文 = 信封中的信件
- 传输协议 = Ann 和 Bill
- 为家庭小孩提供复用/解复用服务【双向通信分解为单向的,源端做多路复用,目标端做多路解复用】
- 网络层协议 = 邮政服务
- 家庭-家庭的邮包传输服务【主机的到主机的】
Internet传输层协议
- 可靠的、保序的传输:TCP【提供的是可靠的字节流的服务】
- 多路复用、解复用【把IP到IP的、主机到主机的,网络层所提供的服务细分到进程到进程的服务】
- 拥塞控制
- 流量控制
- 建立连接【连接建立、连接维持、连接拆除】
- 不可靠的、不保序的传输:UDP【提供的是UDP数据报的服务,不是字节流的服务下,UDP的datagram的服务】
- 多路复用、解复用
- 没有为尽力而为的IP服务添加更多的其他额外服务【IP提供的服务是best effort,UDP提供的服务几乎也是是best effort,只不过细分了进程到进程。比IP所提供的服务来的更好的一点是,IP所提供的服务是主机到主机的、IP到IP的,而UDP向上层提供的服务是进程到进程的,除此之外,UDP没有再做额外的其他的工作】
- 都不提供的服务
- 延时保证
- 带宽保证
最后
以上就是醉熏诺言为你收集整理的传输层概述和传输层服务的全部内容,希望文章能够帮你解决传输层概述和传输层服务所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复