一. OSI的七层参考模型
1. 应用层
通过人机交互来实现各种各样的服务
即是人与机器的沟通的窗口,将人类输入的语言通过某种介质传输至机器的内部,机器再将对人类语言的处理结果通过该窗口向人类展现出来。
2. 表示层
编码,解码,加密,解密
讲人类的语言转换为机器能识别出的语言,并对这些语言进行一个加密,再以电流的形式进行传输,最后将处理好后的结果进行一个转换,即解码和解密,转换为人类能看得懂的形式。
3. 会话层
发现,建立,维持,终止会话进程
识别到人类的语言,建立起一条通路用于将人类的语言进行传输并维护该通路,终止该语言的传输。
4. 传输层
建立,维护和取消一次端到端的数据传输过程,控制传输节奏的快慢,调整数据的排序等等。
将机器处理过的数据进行传输,实现两个端口之间的联系,并可控制传输数据的速率快慢和将分段的数据进行一个整合排序,在传输的过程中也对传输起着一个保护和维护的作用。
5. 网络层
定义逻辑地址,编址,寻址 ,IP协议,网际网络协议,实现数据从源到目的地的转发。
进行一个逻辑寻址,按照一定的规则进行一个查询和转发数据,实现数据从源端口到目的端口的一个线路的划分。
6. 数据链路层
LLC :逻辑链路控制子层 (为上层服务提供FCS校验 --封装与解封装)
MAC :媒介访问控制子层 (根据MAC地址来进行物理寻址)
进行一个机器数据的管控,有效的防止数据的丢失和资源浪费,将MAC地址进行一个记录。
7. 物理层
定义电气电压,光学特性,接口规范
通过各种的行业规范和准则,将各种的机器进行一个适配,从而使得各种不同厂商生产的机器都能得到相互的连接。
二. 端口号
端口号的存在意义
通过端口号来区分不同的服务
端口号分为静态端口号和动态端口号
端口号的范围:0-65535
(0为保留端口号,在网络编程中使用,用于代表所有的端口号)
静态端口号
一个端口对应一个服务,呈永久绑定关系
端口号范围:1-1023
动态端口号
一个端口号对应一个服务,呈暂时绑定关系
端口号服务:1024-65535
知名端口号:在所有的端口号中存在着较高的知名度,也是查询较为频繁的端口号。
三. TCP 和 UDP
TCP
1. TCP 的含义
传输控制协议,面向连接的可靠传输协议
2. TCP 的特性
传输速度——慢
面向连接(三次握手,四次挥手机制)
可靠(确认,重传,排序,流控)
SYN:同步序列号请求
ACK:确认
Seq + 1 = ack
TCP 的建立
三次握手机制
第一次握手:客户端向服务端申请进行连接
第二次握手:服务端向客户端进行反馈
第三次握手:客户端收到反馈并向服务端再发送一次连接,即可完成连接
TCP 的关闭
四次挥手机制
第一次挥手:申请断开连接,客户端并同时停止对数据的传输
第二次挥手:服务端收到断开连接的请求并进行回应
第三次挥手:服务端向客户端申请断开连接,并进入等待确认状态
第四次挥手:客户端得到反馈,并向服务端进行最后的确认,即断开连接
TCP 的封装
封装可以理解为各层将每一层的实现数据添加到内容数据之前,解封装是逆过程。
封装的工作的完成在于各个层次的协议。
一层一层进行封装,并在最后进行一个校验,防止错误的数据进行传输。
TCP 的解封装
UDP
UDP的含义
用户数据报文协议,非面向连接的不可靠传输协议
UDP的特性
传输速度——快
只负责传输