目录
Z. 前言
特别写在前面
本文仅用学习记录及分享,不做他用.
如有不妥,请告知
一. 传输层
IP首部的协议字段 - 协议号 可以标识网络层上一层传输层所采用的传输协议
端口号 --(程序地址)-- 便可以指出传输层上一层应用层要进行处理的程序
二. 典型协议
-
TCP - 面向连接,可靠的流协议
- 顺序控制
- 重发控制
- 流量控制
- 拥塞控制
- …(众多功能提高利用率,实现可靠传输)
用途 : 有必要实现可靠传输的情况
-
UDP - 不具备可靠性的数据报协议
- 可以控制发送的大小
- 不能确保数据到达
- 他 按照应用程序的开发用户行事
用途 : 实现高速传输和实时性有较高要求的通信或或广播
三. 传输层其他协议
-
UDP-Lite----轻量级用户数据报协议
- 功能几乎与UDP相同
- 计算校验和的范围可由应用自行决定
- 包 + 伪首部
- 首部 + 伪首部
- 首部 + 伪首部 + 某段数据
优点 : 可以只对不允许发生错误的地方校验和检查,其他错误可忽略不计
-
SCTP----流控制传输协议
- 以消息为单位收发
- 弥补了TCP接收端不知道发送端发了多少数据
- 支持多重宿主
- 多NIC的主机中,切换NIC不会导致重连
- 提高了故障应对能力
- 多数据流通信
- 定义消息的生存期限
- 到期后,未接收到的消息不在重发
主要用于应用之间小数据互发
较小的应用消息被称作数据块,多个数据块合成一个数据包
- 以消息为单位收发
-
DCCP----数据报拥塞控制协议
- 一个辅助UDP的传输协议
- 面向连接
- 根据网络情况进行拥堵控制
四. 通信处理
TCP
Server 提前启动 并对 Client 待要连接,绑定的端口号进行监听
Client 通过 SYN 数据包进行 "三次 握手"连接,成功后,进行通信
Client 发出想要断开连接的包 FIN 向 Server
双方进行 “四次挥手” ,结束通信
五. 通信识别
源 IP 地址 | 目标 IP 地址 | 协议号\ | 源端口号 | 目标端口号 |
---|
他们可以通过
netstat -n
显示
六. 端口号的确定
1. 标准既定端口号-静态
除知名端口,以及一些其他端口号被特定程序占用,其他端口号可使用.
2. 时序分配法-动态
Server 实时监听端口号,Client 不用特意设置端口号,交由Server 全权分配.
3. 端口号与协议
之间不冲突,无论什么协议,只要端口号一致,将分配同一种程序进行
< 名词解释 >
流协议
不间断的数据结构的协议
端口号-程序地址
应用程序地址,用来识别应用层对应的程序
MAC地址
数据链路层
识别同一链路下的不同计算机
IP地址
识别网络中互联的主机和路由器
套接字
使用 TCP/UDP 通信时,会广泛的运用Socket的API (应用程序的接口)
应用程序利用套接字,可以设置对端IP地址,端口号,并实现数据的收发
MSS-最大消息长度
IP 中不会被分片处理的最大数据长度