传输层两大协议:TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)

传输层为两个主机上运行的应用进程之间提供通信服务。“通信的真正端点不是主机而是主机中的进程”。

传输层存在的原因:

  1. 为两个端主机中运行的应用进程之间提供数据通信;
  2. 可灵活选择适当的协议保证通信的可靠性

TCP与UDP

UDP 在传送数据之前不需要先建立连接。对方的运输层在收到 UDP 报文后,不需要给出任何确认。虽然 UDP 不提供可靠交付,但在某些情况下 UDP 是一种最有效的工作方式。 TCP 则提供面向连接、可靠的服务,可以处理报文段出错、丢失等异常情况,并能根据接收方的接受能力、网络的拥堵状况自动调节自身发送速度。因此也增加了许多的开销,不仅使报文段的首部增大,还要占用处理机资源。

https://keyon-photo-1256901694.cos.ap-beijing.myqcloud.com/markdown/20191025140331.png

端口号(Port)

为了主机间通信而采取用端口号对TCP/IP体系的应用进程进行标识。

16位端口号,范围从0~65535。

端口分类:

  1. 公认端口(Well Known Ports) :从0到1023 ,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。
  2. 注册端口(Registered Ports):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。
  3. 动态和/或私有端口(Dynamic and/or Private Ports):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/f61a06c1-64f2-4b06-8550-440eab385c73/Untitled.png

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/97056773-b617-4001-a481-0a26ea2348d9/Untitled.png