OSI参考模型---开放式系统互联模型---OSI/RM ISO--->国际标准化组织;特点:先有模型,在又协议。 OSI七层参考模型:应用层 --- 提供网络服务;自然语言-->编码表示层 --- 对数据的处理;格式化,加解密,压缩解压缩等等会话层 --- 建立、维护、管理会话连接。点到点的通讯传输层 --- 建立、维护、管理端到端的连接。网络层 --- 逻辑寻址和路由选择数据链路层 --- 物理寻址以及控制物理层通讯物理层 --- 比特流的传输 TCP/IP:先有协议,后建立模型。 ARP协议 作用:通过某一个地址,来获取另一个地址。正向ARP --- 通过IP获取MAC 反向ARP --- 通过MAC获取IP 免费ARP --- 利用正向ARP的原理,请求自己的IP地址。1.地址冲突检测;2.自我介绍。 ARP缓存表--->1.包含的是IP和MAC的对应关系;2.每一个ARP表项的老化时间为180S。 TCP/IP模型 即使通信线路被破坏,也能够通过其他线路进行通信的技术。---分组网络--->ARPANET网络开放性实用性跨层封装协议 --- 去除某个或某几个层面的封装,减少设备资源消耗。 TCP/IP五层协议体系详解 物理层 物理层:传输比特流,而不是具体的传输媒介。任务:定义标准。机械特性 --- 接口形状,数目。电气特性 --- 传输二进制的位数,电压范围等信息。功能特性 --- 指定某一个电平表示的含义。数据 --- 传输信息的实体;1.串行传输;2.并行传输。信号 --- 是数据的电气或电磁表示形式。码元 --- 用一个固定时长的信号波表示一位K进制数字,是数字信号的计量单位。 1 0 1 0 1 ,0可以是一个码元,1也可以是一个码元--->2进制码元 10 01 11 00--->00/01/10/11都是一个码元,四进制码元速率 --- 数据传输速率 --- 单位时间内,传输的数据量。一般用码元传输速率和信息传输速率表示。数据传输速率码元传输速率 --- 波特率 --- 单位时间内传输的码元个数。信息传输速率 --- 比特率 --- 单位时间内传输的二进制码元个数。比特/秒(b/s) 带宽 --- 表示数据传输的能力,单位比特率。通信交换技术 电路交换 在传输数据之前,两个节点之间必须先建立一条专用(双方独占)的物理通信路径。建立连接、数据传输、连接释放。报文交换 主体:是报文。方式:存储-转发方式。分组交换 通信双方以分组为单位,使用存储-转发机制实现数据交互的通信方式。该方式一般被称为包交换。数据链路层 数据链路层--->两个节点之间的逻辑通道,将传输数据的物理硬件和软件结合,构成数据链路。作用:负责通过一条链路从一个节点向另一个直接相邻的接口发送数据报文。数据帧的构成 = 数据包+首部(源目MAC+类型)+尾部(校验和) 帧定界:在数据帧的头部和尾部,添加上一段控制信息,来标识数据帧的长度。帧同步:最大传输单元(MTU) --- MTU规定了数据包的大小,或者说是数据帧的长度上限。 --- 在以太网中为 1500字节。---也就是说,一个数据帧在以太网环境中,默认最大为1518字节。为了能够使得接收方正确的检查并传输数据帧,发送发会依照一定的规则把网络层递交的分组封装成帧。规则有零比特填充的首位标志法和违规编码法。零比特 --- 使用01111110字符来标识数据帧的开始和结束。一般是在HDLC协议中使用。违规编码法 --- 利用不会用到的编码方式作为数据帧的开始和结束。局域网IEEE802标准使用该方法。曼彻斯特编码 --- 高-低:1;低-高:0;违规编码 --- 出现高-高或低-低的一种编码格式。 MAC子层 --- 介质访问控制 LLC子层 --- 逻辑链路控制介质访问控制 共享介质型 --- 多个设备共享一个通信介质的网络模式。设备之间使用同一个载波信道进行数据的发送和接收。特点:1.半双工通信;2.访问控制。缺陷:容易发生拥塞(网络拥堵)。访问控制: 1.争用方式;---争夺数据传输的权利,即CSMA机制(载波侦听多路访问)。截断二进制指数算法 --- 定义延迟传输时间 2.令牌传递方式。---通过令牌环来传输“令牌”,从而决定谁能够发送信息。非共享介质型网络层 每个站点直连交换机,由交换机负责转发数据帧的网络模式。---以太网主流特点:1.全双工通信功能:仅仅保证的是数据无连接的、尽最大可能的数据报文交付。即所传输的分组信息,可能出现出错、丢失、重复、失序、超时等各类问题。路由器 --- 网络互联+路由选择。控制层面 --- 路由信息数据层面 --- 数据信息传输层 提供数据检验机制。源目MAC、源目IP、源目端口以太网中一定存在的是源目MAC和源目IP MAC---48bit 前24bit为厂商ID,也被称为OUI;后24bit,被称为产品ID。第一字节的第八比特位,分为单播TCP --- 传输控制协议 是一种面向连接的可靠传输协议。 --- 面向连接-->数据传输之前,收发双方需要预先建立一条逻辑通路。 TCP目的:在不可靠的IP层之上,实现可靠的数据传输协议。主要解决数据的有序传输、无丢失、不重复问题。特点: TCP是面向连接的协议提供可靠交付每一条TCP连接,只能存在两个端点;端点的标识--->套接字(IP+端口号);TCP的连接是点对点的。 TCP是全双工通信。通信双方均具备发送缓存和接收缓存。发送缓存 TCP准备发送的数据 TCP已经发送,但是还没有收到确认的数据接收缓存按序到达,但是未被应用程序即使处理的数据乱序到达,需要等待排序的数据 TCP是面向字节流的传输。以字节为单位进行数据传输。 --- TCP把应用程序交付下来的数据,仅仅看做是一连串无结构的字节信息。 TCP报文段 序列号:就是建立在字节流之上的。每发送一个字节,序列号+1;而不是每发送一个报文,序列号 +1。确认序列号:TCP可靠性机制的核心。1.告知发送方,自己收到了那些数据(确认序列号之前的数据都收到了);2.告知发送方,本地期望收到的下一个报文的序列号(下一个报文中数据的起始编号)。逐包确认 --- 没接收到一个报文,都要回复一次确认累积确认 --- 可以通过一个确认报文,回复多个信息。因为TCP是全双工通信,所以在ACK确认报文中,是可以携带数据信息的 --- 即三次握手之后的所有传输的报文都必须代表确认机制。只有当接收方将数据从接受缓存中提取给应用程序时,才会回复确认报文。窗口大小 --- 发送本报文段的一方的,接受窗口大小,即现在允许对方发送的数据量。紧急指针 --- 标识紧急数据在该分组中的位置。控制位 --- 标记位紧急位URG --- 当该标记位置位,则代表该报文携带的数据中,存在高优先级的数据,应该尽快传送,不用再缓存中排队等待处理;配合紧急指针使用。确认为ACK --- 1.该标记位置位,则确认序列号有意义;2.在连接建立之后,所有传输的报文段,都必须将ACK置位为1。推送位PSH --- 当该标记位置位,接收方应尽快交付给应用程序,不再等待缓存填满再向上交付。复位RST --- TCP重新建立连接同步位SYN --- 表明该报文是一个连接请求报文。终止位FIN --- 表明该报文是一个连接终止报文,并且此时本端数据发送完毕。 TCP可靠性 确认机制、重传机制、排序机制、流量控制机制排序机制 IP分片,TCP分段。--->将过大的数据包,拆分成一个个小的数据段分别发送。基于MTU或者MSS进行分片或分段操作。MTU--->最大传输单元;MSS--->最大段长度; MTU是设备接口的参数信息,由设备接口进行维护。MSS = MTU - IP头 - TCP头 MSS数值需要在TCP三次握手的前两次报文中,即SYN标记位=1的报文中进行协商。---选择较小的 MSS作为之后的传输分段标准。 Path MTU --- 路径MTU 接收方,依靠序列号来进行排序操作。序列号从小到大进行排序。确认机制 --- 是TCP可靠性的核心 TCP协议保证对方能够收到本端发送的数据段的方法,就是让对方回复一个确认报文段。确认报文特点:TCP头部中的ACK标记位=1;确认的数据是由确认序列号来决定的。逐包确认 --- 累积确认 --- 选择确认选择确认 --- SACK --- 在确认报文中,增加一个变量。该变量携带的是自己已经收到的数据信息。并且将这个变量发送给发送端,这样,发送端可以依据该变量来判断需要重传的报文。设备之间,想要使用选择确认机制,也需要提前协商。在三次握手的前两次SYN报文中进行协商,使用可选项字段携带。重传机制 超时重传 --- 当超过一定时间限制,则发送端主动重传相关报文。 RTT --- 往返时间 --- 发出端发送数据后,到收到对端的反馈的确认报文的这一段时间。 RTO --- 超时重传时间 --- 根据RTT计算得到,比RTT时间略大。当设备超过RTO时间未收到回复,则认为数据包丢失,需要进行重传操作。并且,RTO时间是动态变化的。超时间隔加倍 --- 当发送端多次重传相同报文时,则每一次会将RTO时间*2,直到接收到对端的确认报文,则重新计算RTT和RTO。快速重传机制 --- 当发送方连续收到三次冗余ACK时,则认为这三个ACK报文所标识的信息丢失,需要进行快速重传机制。快速重传机制解释 1、当发送者根据接收方的窗口大小,连续多次发送报文时,可能存在其中某个报文丢失,而不自知的情况 2、如果依靠超时重传,需要等待RTO时间超时,才会重传相关报文 3、但是为了加快TCP数据传输速率,提出快速重传机制,当接收者连续多次收到的报文不是自己想要收到的报文时,会多次通过确认报文进行请求(请求发送端发送某一个固定的报文段)。 4、当发送端收到连续三次相同ACK报文后,则触发重传机制。超时重传 --