开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第1天,点击查看活动详情
前言
学习数通知识,考证书~ 考证书,记笔记,记笔记~
传输层
定义了主机与应用程序之间的连通性,传输层中最为常见的两个协议分别是传输控制协议TCP和用户数据包协议UDP,传输层提供了端到端的连接,网络层提供了点到点的连接。
端口号数量
共有65536个端口号,其中0-1023为知名端口号,1024-49151为注册端口号,49152-65535为私有或者动态端口号。
- 源端口随机分配,目标端口使用的是知名端口
- 应用客户端使用的端口号一般为系统中未使用的且大于1023
- 目的端口号为服务端开启的服务所监听的端口,如HTTP缺省使用80
上图是常见的熟识端口号
TCP协议
传输控制协议,可靠的,面向连接的协议,传输效率低,类似打电话。
UDP协议
不可靠的,无连接的服务,传输效率高,类似群聊。无需确认对端是否存在,直接发送数据
TCP和UDP的包头对比:
对于TCP来说:
- 源端口目的端口忽略
TCP三次握手
甲:你是小王? 乙:是的我是小王,你是老李? 甲:我是老李
- 发送SYN seq = 0 ctl = SYN
- 发送seq = 0 ack = 1 ctl = SYN,ACK
- 发送seq = 1 ack = 1 ctl = ACK
TCP会话的拥塞和流量控制
TCP的终止 四次挥手
关闭连接不一定能抓到4个包,建立连接肯定会有3个以上的包
UDP协议
-
UDP是一种面向无连接的传输层协议,传输可靠性没有保证
-
UDP不提供重传机制,占用资源小,处理效率高
-
一些时延敏感的流量,如语音、视频等,通常使用UDP作为传输层协议