一、5层协议体系结构
1.各层作用
- 应用层
任务:通过应用进程间的交互来完成特定网络应用。
数据单元:报文。
协议:
http
、ftp
、域名系统DNS
协议等。
- 传输层
任务:负责向两台主机进程之间的通信提供通用的数据传输服务。
数据单元:报文段
协议:
TCP
,UDP
协议。
- 网络层
任务:在 计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点, 确保数据及时传送。
数据单元:
IP
数据报(数据报)。协议:
IP
协议。
- 数据链路层
任务:在两个相邻节点之间传送数据时,数据链路层将网络层交下来的 IP 数据报组装成帧,在两个相邻节点间的链路上传送帧。每一帧包括数据和必要的控制信息(如同步信息,地址信息,差错控制等)。
数据单元:帧。
- 物理层
任务:实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异, 使其上面的数据链路层不必考虑网络的具体传输介质是什么。
数据单元:比特。
2.数据封装与解封装
说明:
① 在主机上的数据DATA,应用层加上一些控制信息,DATA+控制信息形成报文。
②报文分成段之后存放到传输层中,加上传输层的控制协议形成报文段。
③报文段与网络层的控制信息一起形成数据报。(数据报过长时可以进行切分形成分组)
④数据报在头尾部分加上数据链路层的控制信息形成帧。
⑤帧在物理层中被转化为比特流的形式进行传输。
解封装是封装的逆过程。
二、TCP、UDP协议
1. TCP
1.1 主要特点
- 面向连接 。
- 虚连接,不是完整的物理连接。
- 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的。
- 不能使用广播或多播方式。
- 可靠有序,不丢不重。
- TCP提供可靠交付的服务,无差错,不丢失,不重复,按序到达。
- 提供全双工的通信。
- 发送缓存 准备发送的数据和已发送但尚未收到确认的数据
- 接收缓存 按序到达但尚未被接收应用读取的数据和不按序到达的数据
- 面向字节流。
- 把应用程序交下来的数据看成仅仅是一连串的无结构的字节流
1.2 TCP连接管理
1.2.1 TCP连接的三次握手
为了准确无误地把数据送达目标处,TCP协议采用了三次握手策略。