本篇博文其实并不只是学习三握手四挥手,而是总结计网传输层的内容,只是这八个字在传输层中地位实在太重了…故单列出来做标题,当然,你耳熟能详的滑动窗口这里也会涉及到
传输层之下的层之前也已经写了…推荐你阅读
文章目录
TCP/IP协议概述
在TCP/IP协议栈,传输层有两个协议TCP和UDP
TCP(Transmission Control Protocol,传输控制协议)协议:负责将要传输的文件分段 进行传输,一般用于建立会话 ,其基本特性是可靠传输 、流量控制,所谓三握手、四挥手也是基于TCP协议的
UDP(User Data Protocol,用户数据报协议)协议:一个数据包就能够完成数据通信 ,数据包不分段 ,不需要建立会话 ,不需要流量控制 ,属于不可靠传输 , 屏幕广播 、多播 、广播都是基于UDP协议
以上定义,下面来详讲
传输层协议的作用体现在应用层协议
TCP和UDP协议内指定不同的端口即可对应一个应用层的协议
端口代表主机服务的侦听"门牌号",不管是TCP还是UDP,带上门牌号,它就能帮你找到主机上的对应服务
例如我们在浏览器访问某个网站地址,这个动作会被我们本机上的80端口侦听到,并处理你的网络请求
我们主机上常见的应用层协议端口:
- HTTP默认使用TCP的80端口标识
- FTP文件上传服务默认使用TCP的21端口标识(21用于控制、20用于数据接口)
- SMTP简单文件传输协议默认使用TCP的25端口标识
- POP3(邮局协议版本3)(用于支持使用客户端远程管理在服务器上的电子邮件)默认使用TCP的110端口
- HTTPS默认使用TCP的443端口
- DNS使用UDP的53端口
- 远程桌面协议(RDP)默认使用TCP的3389端口
- telnet使用TCP的23端口Windows访问共享资源使用TCP的445端口
但是我们通过TCP/UDP封装的数据包,通过本机侦听服务发送到目标主机,目标主机是如何识别并处理的呢?
如上图,我们会在数据包中添加目标端口号,这样目标主机相关服务侦听到,就能处理我们的请求了
TCP/UDP传输层协议与网络层协议的区别
- 网络层实现如何把数据包从这个地址(服务器)发送到另一个地址(服务器)
- 传输层实现如何让这个应用程序找到对应计算机的应用程序,即服务