目录
一、TCP和UDP的应用场景
二、传输层和网络层的区别
三、传输层的主要功能
TCP端口
二、传输层协议和应用层协议之间的关系
OIS和DOD模型(美国国防部模型)对比图:
DOD模型相当于一个OSI模型的精简版,OSI模型是7层,而它是4层,并且两者具有对应关系。
1、TCP(Transmission Control Protocol)传输控制协议
应用场景:一个数据包(65535bit)不能完成数据的完整传送,因此,需要把数据信息进行分段传输。为保证传输的可靠性,需要建立会话、进行流量控制等。如访问网站、下载文件等
查看TCP建立的会话连接
2、UDP(User Data Protocol)用户数据报协议
应用场景:一个数据包就可以完成通信,无需建立会话,进行不可靠传输,当目标不可达时,通过重复多次发送来实现数据的发送。如:语音通信、微信聊天、DNS域名解析、屏幕多播、广播等
网络层提供主机到主机的逻辑通信
传输层提供进程和进程之间的逻辑通信
传输层为相互通信的应用进程提供了逻辑通信
传输层为应用进程之间提供端到端的逻辑通信,需要对收到的报文进行差错校验,同时提供面向连接和无连接的服务。
在网络层,数据包通过协议号来标识数据是TCP协议数据包还是UDP协议数据包。如TCP协议号是6、UDP协议号是17、TGMP协议号是1等。
在传输层,通过端口号来时别上层应用程序。
如图所示,每一层都有特殊的标记方法来识别上一层,从而保持层与层之间的联系。NSAP(协议号)
端口用一个16位端口号进行标记。
端口号只有本地意义,即端口号只是为了标记本计算机应用层中的各进程。在因特网中不同计算机的相同端口号是没有联系的。
端口号的划分
熟知端口号:0~1023;比如80、23、21等已有程序的默认端口在这一范围之内登记端口:1024~49151;开发程序的端口,一般是新增程序的端口使用范围客户端端口:49152~65535; 作为源客户端的端口,用来标记本机客户端的端口如图,TCP/UDP协议+端口号定位一个应用层协议,其中DNS域名解析比较特殊,它可以使用TCP协议+53端口,也可以使用UDP协议+53端口,但是绝大多数情况下使用的是UDP协议。
常见的应用层协议使用的默认端口:
http=TCP+80https=TCP+443RDP=TCP+3389 // 远程桌面ftp=TCP+21 // 文件传输共享文件夹=TCP+445SMTP=TCP+25 // 邮件发送POP3=TCP+110 // 邮件接收telnet=TCP+23 SQL=TCP+1443DNS=UDP+53服务器通过网卡侦听端口,根据端口号来识别访问的应用程序,网卡也可以通过限制端口号来过滤访问数据。
总结:
服务器使用TCP或UDP的端口侦听客户端请求。客户端使用IP地址定位服务器,使用目标端口定位服务。可以在服务器网卡上设置只开放必要的端口,实现服务器网络安全。 netstat -a 查看服务器监听的端口