>CCNA学习指南(第七版) [美] Todd Lammle 著
#####OSI参考模型
OSI规范最大的作用之一是帮助在不同的注意之间传输数据, 模型包括7层, 分为上下两组
* 应用层 文件, 打印, 消息, 数据库, 应用程序服务
* 表示层 数据加密, 压缩和转换
* 会话层 对话控制
* **传输层** 端到端连接
* **网络层** 路由选择
* **数据链路层** 成帧
* **物理层** 物理拓扑
接下来探索层的功能
#####应用层
应用层是用户与计算机交流的场所, 实际上应用层让应用程序能够将信息沿协议栈向下传输,从而充当了应用程序和下层之间的接口对接, 换句话说IE并不位于应用层中, 而是在需要处理远程资源时与应用层协议交互
*牢记应用层实际是应用程序之间的**接口**,例如Chrome并不位于应用层中,而是与应用层协议交互(FTP属于应用层中程序)*
#####表示层
本质上说表示层是一个转换器,提供编码和转换功能, 例如将数据转换为标准格式再进行传输
#####传输层
传输层将数据分段, 重组为数据流, 熟悉的TCP和UDP就运行在传输层
传输层可以使无连接的或面向连接的, 考试重点是传输层的面向连接部分
下面介绍面向连接的传输层协议
######流量控制协议
流量控制用于避免发送方数据流量过大到时接收方主机缓冲区溢出(这可能导致数据丢失)
实现目标
* 收到数据段后, 向发送方进行确认;
* 重传所有未得到确认的数据段;
* 数据段达到目的地后,按正确的顺序排列它们;
* 确保数据流量不超过处理能力, 以避免拥塞, 过载和数据丢失
######面向连接的通信
如果服务具有如下特征,它就是面向连接的
* 通过“三次握手“建立虚电路
* 使用排序技术
* 使用确认
* 使用流量控制
三次握手
请求发送方 >>>> SYN(建立联机) >>>> 接收方<br>
请求发送方 <<<< ACK(确认)/SYN(建立联机) <<<< 接收方<br>
请求发送方 >>>> ACK(确认) >>>> 接收方<br>
<—–数据传输—–>
>在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 <br>
> 下文摘自:[TCP通信的三次握手和四次撒手的详细流程 (顿悟)](https://www.cnblogs.com/cy568searchx/p/3711670.html) – 星语海蓝博客 写的很棒
* 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
* 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
* 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据.
实例:
IP 192.168.1.116.3337 > 192.168.1.123.7788: S 3626544836:3626544836
IP 192.168.1.123.7788 > 192.168.1.116.3337: S 1739326486:1739326486 ack 3626544837
IP 192.168.1.116.3337 > 192.168.1.123.7788: ack 1739326487,ack 1
######窗口技术 待编辑
######确认 待编辑