运输层协议TCP/UDP

进程之间的通信

运输层向它上面的应用层提供通信服务。它是面向通信部分的最高层,是用户功能的最低层。
在这里插入图片描述
上图:局域网LAN1上的主机A和局域网LAN2上的主机B通过互连的广域网WAN进行通信。
模拟场景是用户在主机A使用浏览器查找某网站的信息(信息在主机B),主机A的应用层运行了浏览器客户进程(AP1),用户在浏览器浏览网页的同时还需要发送电子邮件给网站反馈意见,主机的应用层同时运行了电子邮件客户进程AP2。主机A的AP1进程和主机B的AP3进程通信,主机A的AP2进程和主机B的AP4进行通信。
IP协议可以把源主机发送的分组按照首部中的目的地址发送个主机B。
IP层来说,通信的2端是两台主机。IP数据报的首部明确的标志了这2台主机的IP地址。但是真正通信的是2台主机中的进程。(端到端的通信应用进程之前的通信)IP协议虽然把分组送到了目的主机,但是这个分组还停留在主机的网络层,而没有交付主机的应用进程。
“运输层提供应用进程间的逻辑通信”:
逻辑通信的意思是从应用层看好戏只要把应用层报文交给下一层运输层,报文就可以被运输层传送到对方的运输层,但实际上是沿着虚线的方向经过多个层次的传送的。
网络层为主机之前提供逻辑通信,运输层为应用进程之间提供逻辑通信

运输层的复用和分用:

复用:发送方不同的应用进程可以使用同一个运输层协议传送数据(需要加上适当的首部);
分用:接收方的运输层在剥去报文的首部后能够把这些数据正确交付目的应用进程。

运输层差错检测

在网络层,IP数据报首部中的检验和字段只检验首部是否出现差错而不检查数据部分。
根据应用程序的不同要求,运输层需要两种不同的运输协议,面向连接的TCP和无连接的UDP。
在这里插入图片描述
UDP在传送数据之前不需要先建立连接,原地主机在运输层收到UDP报文后不需要给出任何确认信息。
TCP提供面向连接的服务,在传送数据之前必须建立连接,数据传送结束之后需要释放连接,会增加许多开销,确认、流量控制、计时器连接管理等。

运输层的端口:

在单个计算机中,进程是用一个进程标识符来标志的。
但是在互联网上进行通信时,我们往往只需要利用目的主机提供的功能来识别终点,而不需要知道具体实现的进程是哪一个。比如,需要跟某个邮箱服务器连接,并不一定需要知道这个服务器功能是由目的主机上具体哪个进程实现的。
实现这个方法的是在运输层加协议端口号,简称端口。
虽然通信的终点是应用进程,但是只要把所传送的报文交到目的主机的某个合适的端口,剩下的工作就可以有TCP或者UDP来完成。
端口号只具有本地意义,在互联网不同计算机中,相同的端口号没有关联。
运输层端口号分为服务器使用的端口号和客户端使用的端口号:
服务器使用的端口号分为熟知端口号和系统端口号,数值为0-1023。
在这里插入图片描述
另一种是登记端口号,数值为1024-48151。
客户端使用的端口号为49152-655535。这类端口号只在客户进程运行时动态选择,所以叫短暂端口号。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值