传输层(概念)

从传输层的角度来看,通信的真正端点并不是主机而是主机中的进程,也就是说,端到端的通信是应用进程之间的通信

概述:
传输层实现端到端的连接,端到端是什么概念呢?比如说:一个人用QQ与朋友聊天,网络层识别IP地址,能够将信息发送到正确的主机,而主机需要使用什么应用协议接收这个信息呢?这个功能就需要靠传输层来完成,传输层实现进程到进程的连接

  • 从IP层来说,通信的两端是两台主机,但“两台主机之间的通信”这种说法还不够清楚
  • 严格的来讲,两台主机进行通信就是两台主机中的应用进程互相通信

传输层主要有TCP和UDP协议


1.传输层的功能

  • 网络层协议只提供了点到点的连接,而传输层协议提供一种端到端的服务,即应用进程之间的通信
  • 网络层协议提供不可靠、无连接和尽力投递的服务,因此,如果对于可靠性要求很高的上层协议,就需要在传输层实现可靠性的保障

2.端口号

2.1.概念

  • 物理意义上的端口:比如,集线器、交换机、路由器用于连接其他网络设备的接口,sc端口等
  • 逻辑意义上的端口:一般是指TCP/IP协议中的端口

2.2.端口的功能

在主机上标识一个进程,范围是0~65535,但是0-1023不推荐使用,因为0-1023是知名端口号,HTTP,FTP,SSH等这些应用层协议,他们的端口号都是固定的,1024-65535是操作系统动态分配的端口号,客户端程序的端口号,就是由操作系统从这个范围内分配的

2.3.端口号的工作过程

操作系统拿到网卡接收到的数据后,通过数据中的端口号知道数据放到哪个socket的缓冲区内,一个端口只能被一个进程占用,但一个进程可以使用多个端口号

2.4.TCP/IP协议中的五元组

一个网络上的数据包含的五条信息,分别为源IP,目的IP,源端口号,目的端口号,协议号

在TCP/IP协议中通过五元组来标识一个通信

2.5.关于一些知名的端口号

  • ssh服务器:使用22端口
  • ftp服务器:使用21端口
  • telnet服务器:使用23端口
  • http服务器:使用80端口
  • https服务器:使用443端口

2.6.查看进程端口号被占用的问题

在Windows中:netstat -ano | findstr "想要查询的端口号"
在Linux中:netstat -anp | grep "想查询的端口号"

3.复用分用

  • 复用:是指发送方不同的应用进程都可以使用同一个传输层协议传送传送数据(当然需要加上适当的首部)
  • 分用:是指接收方的传输层在剥去报文的首部后能够把这些数据正确的交付到目的应用进程
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>