HCIP复习
DHCP协议---动态主机配置协议,c/s架构
客户端 服务端
广播包 discover报文--->源IP:0.0.0.0;目的IP:255.255.255.255;源端口:68;目的端口:67;UDP;目的MAC:F
单播包 offer报文(携带服务器即将分配给PC的IP动作、掩码、网关、DNS等信息)--->源IP:服务器;目的IP:即将分配给PC的IP地址;源MAC:服务器;目的MAC:pc
广播包 request报文(正式请求offer报文中包含的IP地址)---源IP:0.0.0.0;目的IP:255.255.255.255;目的MAC:F
单播包 ACK报文
交换机工作原理
1.自学习:基于受到的数据帧中的源MAC地址以及该接口编号,动态生成MAC地址表项,并记录在MAC地址表中。老化时间300s
2.查表:基于数据帧中的目的MAC地址,在MAC地址表中查找对应记录关系,若存在记录关系,则直接单播转发;若不存在,则进行洪泛操作(交换机将数据从除了进入的接口外的所以接口发送一遍数据)
交换机的洪泛情况:
1.遇到未知单播数据帧
2.遇到广播帧或组播帧时--->01-00-5e-xx-xx-xx
DNS服务---域名解析服务
目的:通过域名获取到相应IP地址
基于UDP/TCP的53号端口传输数据。UDP一般用于客户端和服务器之间的查询与响应过程。TCP用于主从服务器之间的数据传输过程
UDP协议应用层数据最大为512字节,但UDP响应速度快
DNS查询过程----递归查询、迭代查询
TCP---传输控制协议
是一种面向连接的可靠传输协议。可靠、有序、无丢弃和不重复。
特点:
- TCP是面向连接(虚连接)的传输层协议
- 每一条TCP连接有且只能有两个端点
- 可靠、有序、无丢弃和不重复
- TCP协议提供全双工通讯。
- 发送缓存
- 存放发送方TCP准备发送的数据
- TCP已发送但是没有收到确认的数据
- 接受缓存
- 按照顺序到达的数据,但并未被应用程序读取
- 存放发送端发送来的不按照顺序到达的数据
- 发送缓存
- TCP是面向字节流的 。TCP将应用层数据仅看作是一串无结构的字节流。
TCP连接的四元组(源IP、源端口、目的IP、目的端口)--->唯一标识一条TCP连接
套接字--->IP:port
确认序列号:接收方期望收到发送方发送的下一个字节的序号。1.接收方希望接收到的报文序号;2.该序号之前的数据已全部接收。-----累积确认机制。
选项字段:长度可变。MSS数值、窗口扩大因子、时间戳、选择确认机制。
确认位ACK:当ACK=1时,确认号有意义。在连接建立以后,所有传输的报文段都必须将该标志位 置为1。
同步位SYN:SYN=1时,代表该数据段是一个连接请求报文。
终止位FIN:当FIN=1时,表面此报文段发送方数据已发送完毕,要求释放连接。
复位RST:表明TCP连接出现严重错误,需要释放连接并重新建立连接。
紧急位URG:代表该报文中存在高优先级的数据,应尽快处理,需要配合紧急指针使用。
推送位PSH:接收方应尽快将接收到的数据交付给对应应用程序。
TCP的可靠性
确认、重传、排序、流控。
MTU:最大传输单元---->以太网环境下1500字节---->数据包大小。
MSS:最大数据段长度
RTT--->往返时间(指发出端将数据发送后,到本端接收到对端反馈的确认报文的时间总和)
RTO--->超时重传时间
RTO取值略大于RTT值。
快速重传机制--->根据接收方的反馈信息进行数据重传。客户端需要连续接收三次确认序列号相同的ACK报文,则认为数据丢失,需要进行数据重传。
快速重传机制会导致部分数据重复传输,降低数据传输效率。
解决思路:使用选择确认机制。---->在TCP首部的选项字段在,添加上未接收到的数据信息。发送方接收到该确认报文后,会根据选项字段内容,重新传输缺少的数据部分。
选择确认机制是否可以执行是需要通讯双方进行协商的。--->在三次握手的前两次SYN报文中进行协商。
RTO数值是动态变化的数值。超时间隔加倍。
窗口:窗口的大小是可以指定的,窗口大小指的是无需等待确认报文,而可以直接发送的数据包的最大值。
rwnd(接收窗口)---最开始等于整个缓冲区的大小,浮动变化。
TCP要求发送方依据rwnd发送数据量。发送方的发送窗口大小是依据接收方的反馈信息在的接收窗帘大小而设定的。
TCP连接的建立
TCP建立连接需要解决的问题:
1、知晓对端的套接字信息
2、允许双方进行参数的协商(窗口值、选择确认机制、是否使用窗口扩大因子)
3、对设备进行资源分配
当TCP连接建立成功,但是客户端突发故障。
此时服务器会等到2小时时间,若2小时时间内没有收到任何客户端的数据,则服务端发送一个探测报文,以后每隔75秒发送一个。若一连发送10次仍没有回复,则服务器认为客户端出现故障,关闭连接。
TCP连接的释放
1.TCP连接的释放实际上是在释放本地分配给TCP连接的资源
2.本地没有新的数据需要发送