
〇、传输层概述
传输层是只有主机才会有的层次,中间的网络设备是没有传输层的。传输层是为应用层提供服务的,并且可以使用网络层的服务。传输层提供的是进程与进程之间的逻辑通信。网络层提供主机之间的逻辑通信。
端口是传输层的SAP,标识主机中的应用进程。它是一种逻辑端口看不见摸不着的软件端口。端口号只有本地意义,在因特网中不同计算机的相同端口号是没有联系的。端口号的长度为16bit,能表示65536个不同的端口号。
端口号分为熟知端口号、注册端口号、动态端口号三种:
| 0–1023 | 熟知端口 | IANA严格分配,需root权限绑定 | HTTP(80), SSH(22) |
| 1024–49151 | 注册端口 | IANA登记但非强制,普通用户可用 | MySQL(3306), Redis(6379) |
| 49152–65535 | 动态/私有端口 | 客户端临时端口,不固定分配 | curl发起请求时的源端口 |
以下是一些核心的数值端口号的对照表:
| 20/21 | FTP | TCP | 20=数据连接,21=控制连接。双端口设计是经典考点;明文传输,生产环境已弃用。 |
| 22 | SSH | TCP | 加密远程登录/SFTP。替代Telnet(23)和FTP(21),运维必备。 |
| 23 | Telnet | TCP | 明文远程登录。安全反面教材,面试提及必强调"绝不使用"。 |
| 25 | SMTP | TCP | 邮件发送(MTA间中继)。云厂商默认封禁防垃圾邮件;用户提交用587/465。 |
| 53 | DNS | UDP/TCP | 域名解析。UDP为主(查询<512B);区域传输/响应>512B时用TCP。 |
| 67/68 | DHCP | UDP | 67=服务器端,68=客户端。基于广播Discover→Offer→Request→Ack四步交互。 |
| 80 | HTTP | TCP | Web明文访问。正被443全面替代,仅用于重定向或内网调试。 |
| 110 | POP3 | TCP | 邮件接收(离线下载)。不安全,已被IMAP(143)/SMTPS替代。 |
| 143 | IMAP | TCP | 邮件接收(在线同步)。支持多设备状态同步,现代邮件客户端标配。 |
| 443 | HTTPS | TCP | HTTP over TLS/SSL。当前Web事实标准;HTTP/2、HTTP/3(QUIC)均基于此端口。 |
| 3306 | MySQL | TCP | 最流行关系型数据库。切勿对公网开放,需防火墙+白名单限制。 |
| 5432 | PostgreSQL | TCP | 高级开源关系型数据库。企业级应用常见,安全性优于MySQL默认配置。 |
| 6379 | Redis | TCP | 内存缓存/KV存储。无密码时极度危险,曾爆发未授权访问漏洞。 |
| 8080 | Alt-HTTP | TCP | HTTP备用端口。开发测试、Tomcat默认、反向代理后端常用,避开80端口冲突。 |
在网络中采用发送方和接收方的套接字组合来识别端点,套接字唯一标识了网络中的一个主机和它上面的一个进程。故套接字 Socket = (主机IP地址,端口号)
一、TCP协议
面向连接的传输控制协议TCP。传输数据之前必须建立连接,数据传送结束后要释放连接。不提供广播与多播服务。由于TCP要提供可靠的面向连接的传输服务,因此不可避免增加了许多开销:确认、流量控制、计时器及连接管理等。关键词:可靠、面向连接、字节流、拥塞控制、时延大、适用于大文件。
二、UDP协议
无连接的用户数据报协议UDP。传送数据之前不需要建立连接,收到UDP报文后也不需要给出任何确认,减少了开销和发送数据之前的时延。UDP使用最大努力交付,即不保证可靠交付。UDP是面向报文的,适合一次性传输少量数据的网络应用。UDP无拥塞控制,适合很多实时应用。关键词:不可靠、无连接、数据报、时延小、适用于小文件。
三、协议对比
| 连接性 | 面向连接 | 无连接 |
| 可靠性 | 可靠(重传/排序/流控) | 不可靠 |
| 传输方式 | 字节流 | 数据报 |
| 效率 | 较低(因为开销大) | 高 |
| 通信模式 | 单播 | 单播/多播/广播 |
| 典型应用 | Web, Email, 文件传输 | 视频, DNS, 游戏 |






