5.6.2 传输层编址
传输层为应用进程提供了端到端的逻辑通信,两个主机之间的通信实际上是两个主机中的应用进程之间的相互通信,因此一个主机中可能有多个应用进程同时和另一个主机中多个应用进程进行通信,而网络层我们学习的网际协议能够保证分组送达到目的主机,但是它无法交付给主机当中的某个应用进程,因为在TCP/IP的协议族中IP地址标识的仅仅是一个主机,他并没有标识主机当中的应用进程,因此网络层是通过通信子网为主机之间提供一个逻辑通信,而传输层则是依靠网络层的服务在两个主机的应用进程之间来提供端到端的逻辑信,所以我们在传输层需要增加新的编址内容,这就是我们要学习的传输层的编址。
一、传输层的复用和分用
如图
传输层一个非常重要的功能就是复用和分用,传输层的复用功能指的是应用层的不同程序交付给下一层的报文都通过传输层的协议,再往下使用网络层提供的服务,当这些报文由网络层选录和控制经过主机和通信子网中各节点若干链路的传送到达目的主机之后将有目的主机的传输层再使用分用的功能将报文分别交付给相应的应用进程。
如图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2BLObZoc-1687687757953)(F:\2022年电子物证学习\基础夯实\网络技术与应用\微信截图_20230625085226.png)]
我们在前面已经学习过协议和服务,我们知道在协议的控制之下两个对等实体之间的通信使得本层能够向它的上一层提供服务,而传输层向应用层提供服务的就是传输层的实体,而传输层的服务用户就是应用层的实体。而传输层中两个对等实体之间遵循的传输协议保证额能够向应用层提供服务,传输层提供的服务还需要使用网络层及其以下各层提供的网络服务。
传输层与应用层之间的服务访问点TSAP就是端口。而传输层与网络层之间的服务访问点NSAP就是IP数据报中首部中的协议号字段。在传输层中的UDP和TCP都使用了端口与上层的应用进程之间进行通信,所以端口就是传输层的服务访问点TSAP也就是说是与应用进程之间的接口
二、常用应用进程默认的端口
如图
在DNS协议中使用的就是UDP的53的端口
而DHCP动态主机配置协议使用了UDP的67端口
我们常用的文件上传下载的FTP使用的是TCP的两个端口分别对应于控制连接和数据连接,它的默认端口分别是TCP的20端口和21端口
Telnet使用了TCP的23端口
我们收发邮件所使用的SMTP协议使用了TCP的25端口
POP协议使用的是TCP的110端口
我们经常上网用到的HTTP协议则是使用了TCP的80端口
我们可以看出端口的作用,就是**当数据发送时,让应用层的各种应用都能够将数据通过端口向下交付给传输层,接收数据时,传输层通过端口知道应当将报文中的数据通过端口向上交付给应用层相应的应用进程。**从这个意义上看,端口是应用层进程的标识。
三、端口
在传输层和应用层的接口上所设置的端口是一个16比特的地址,并且用端口号进行标识,所以TCP和UDP各有 2 16 2^{16} 216也就是65536个端口,在这种情况下端口只有本地意义,我们首先来学习一下传输层的端口的分类,传输层端口有以下两种类型。
- 熟知端口:专门分配给一些最常用的应用进程,其数值一般为0~1023。这些端口是TCP/IP体系确定并公布的。
- 一般端口:用来随时分配给请求通信的客户进程。其数值为1024~65535,我们可以看出一般端口号是非常多的。
有人把服务器比作房子,把端口比作通向不同房间的门,入侵者需要去占领房子的话,势必要破门而入,对入侵者而言,了解房子开了几扇门都是一些什么样的门,在门的后面又有什么东西呢?就显得非常重要了。因此通常入侵者需要用扫描器对目标主机的端口进行扫描,从而确定哪一些端口是开放的,从开放的端口中入侵者就知道目标主机提供了哪些网络服务,进而可以猜测可能存在的漏洞,因此端口扫描可以帮助我们更好的了解目标主机,而对管理员来说扫描本机的开放端口是做好全面安全防范的第一个步骤。
四、小结
我们从传输层复用分用技术引申出了端口的概念
- 端口是从英文的port直译过来的,我们在传输层所讲的端口是虚拟的端口,指的是计算机内部或者交换机路由器等网络设备的内部与外界通讯交流的出口,它是看不见的。
- 端口是应用层进程的标识。
- 熟知端口和一般端口的范围