运输层
网络层提供了主机之间的逻辑通信
运输层为运行在不同主机上的进程之间提供了逻辑通信
UDP(用户数据报协议)提供一种不可靠、无连接的服务,数据报
TCP(传输控制协议)提供一种可靠的、面向连接的服务,报文段
UDP和TCP的基本职责:将两个端系统间IP的交付服务扩展为运行在端系统上的两个进程之间的交付服务
UDP和TCP可通过在其报文段首部中包括差错检查字段而提供完整性检查
进程间的数据交付和差错检查是两种最低限度的运输层服务,也是UDP所能提供的
- 多路分解:将运输层报文段中的数据交付到正确的套接字
- 多路复用:在源主机从不同套接字中收集数据块,并为每个数据块封装上首部信息从而生成报文段,然后将报文段传递到网络层
nmap:端口扫描器
sudo apt install nmap
umap hostName
Application | Application-Layer Protocol | Underlying Transport Protocol |
---|---|---|
Electronic mail | SMTP | TCP |
Remote terminal access | Telnet | TCP |
Secure remote terminal access | SSH | TCP |
Web | HTTP,HTTP/3 | TCP(for HTTP),UDP(for HTTP3) |
File transfer | FTP | TCP |
Remote file server | NFS | Typically UDP |
Streaming multimedia | DASH | TCP |
Internet telephony | typically proprietary | UDP or TCP |
Network management | SNMP | Typically UDP |
Name translation | DNS | Typically UDP |
UDP
UDP只是做了运输协议能够做的最少工作,多路复用/分解功能+少量差错检测。UDP优点:
- 无拥塞控制,关于发送什么数据以及何时发送的应用层控制更为精细
- 无需建立连接
- 无连接状态
- 分组首部开销小
- 长度:UDP报文段中的字节数=首部+数据
UDP检验和提供了差错检测功能,检验和用于确定当UDP报文段从源到达目的地移动时,其中的比特是否发生了变化,对差错恢复无能为力。丢弃受损的报文段、或将受损的报文段交给应用程序并给出警告。
TCP
TCP的“连接”是一条逻辑链接,其共同状态仅保留在两个通信端系统的TCP程序中,是全双工的
TCP可以从缓存中取出并放入报文段中的数据数量受限于最大报文段长度(Maxi