![b1800eee3e4496814c366dd7419b43fd.png](https://i-blog.csdnimg.cn/blog_migrate/f974353df0b6f9a7da0795fd5e3625b8.jpeg)
作者 | JunSIr_deCp 责编 | 王晓曼 来源 | CSDN博客
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端口标识;
- SMTP默认使用TCP的25端口标识;
- POP3默认使用TCP的110端口;
- HTTPS默认使用TCP的443端口;
- DNS使用UDP的53端口;
- 远程桌面协议(RDP)默认使用TCP的3389端口;
- Telnet 使用 TCP 的23端口 Windows 访问共享资源使用TCP的445端口;
但是我们通过TCP/UDP封装的数据包,通过本机侦听服务发送到目标主机,目标主机是如何识别并处理的呢?
![0876c144cfee545dfab1495af0b71186.png](https://i-blog.csdnimg.cn/blog_migrate/4c57585f891c420199b1cc8368d72654.jpeg)
如上图,我们会在数据包中添加目标端口号,这样目标主机相关服务侦听到,就能处理我们的请求了。
TCP/UDP传输层协议与网络层协议的区别
- 网络层实现如何把数据包从这个地址(服务器)发送到另一个地址(服务器);
- 传输层实现如何让这个应用程序找到对应计算机的应用程序,即服务。
![53456c14439041c435e15fdff15c72db.png](https://i-blog.csdnimg.cn/blog_migrate/f9ccf38135fcffef94cead5081f0dc2a.jpeg)
说白了&