目录
TCP/IP四层模型?每层作用?
- 应用层,提供两个终端设备上的用用程序之间信息交换的服务,定义了信息交换的格式。常见协议有http/ftp/DNS等
- 传输层:负责向两台终端设备进程之间的通信提供通用的数据传输服务。TCP、UDP协议
- 网络层:选择合适的路由,使运输层传下来的分组能够通过路由器找到目的主机。IP、ARP
- 网络接口层:将网络层交下来的IP数据报组装成帧,实现两个设备之间比特流的透明传输。
GET和POST区别
- get通常用语获取或查询资源,POST用于创建或修改资源。
- get幂等,多次执行不会改变资源状态,POST会。
- get请求通常放在URL中。POST请求放在请求体中。
- get可以放在缓存中、POST不行
- get比POST更加不安全。
DNS作用
解决域名和IP地址之间映射问题。
DNS服务器有哪些?跟服务器有多少个?
跟服务器(13组)、顶级域DNS服务器、权威DNS服务器、本地DNS服务器
DNS解析过程:迭代和递归两种模式
主机到本地DNS服务器查询,本地DNS检查自己的缓存,如果缓存中y有就返回IP,如果没有本地DNS服务器就向跟服务器请求,跟服务器告诉本地DNS可以到哪里去找。。。
DNS劫持
是一种网络攻击,修改DNS服务器解析结果,是用户访问呢错误的IP地址。DNS劫持也被称为DNS重定向、DNS欺骗或DNS污染
TCP与UDP的区别
- 是否面向连接,TCP需要链接、UDP不需要。
- 是否是可靠传输:远地主机收到UDP报文后不需要给出任何恢复,且不保证数据不丢失、不保证是否顺序到达。TCP提供可靠的传输服务,在传输数据之前,进行三次握手建立连接,且在数据传输时、有确认、窗口、重传、拥塞控制机制、通过TCP传输的数据无差错。不丢失、不重复、有序到达。
- 是否有状态:TCP有,
- 传输效率:
- 传输形式:TCP面向字节流、UDP面向报文
- 首部开销:TCP首部开销大
- 是否提供广播或多对多服务。TCP只支持点对点服务。
TCP三次握手
ACK:为1时,确认应答字段有效。
RST:为1时,表示TCP连接中出现异常,要断开连接
SYN:为1时,表示希望建立连接,并在其“序号列”字段初始化序号值。
FIN:为1时,表示今后不在有数据发送,希望断开连接。
首先,客户端和服务端都处于close状态,服务端监听端口。之后客户端初始化序列号、并将SYN请求连接字段置为1,该报文不含数据段。然后,客户端收到SYN报文后,将SYN报文中的序号填入报文序号中,并将应答字段ACK置为1,此时SYN和ACK都为1。客户端收到报文后,还要再向服务端发送一个应答报文,ACK置为1,确认应答号为序号+1,这次可以携带数据。
TCP四次挥手
客户端想服务端发送一个Fin=1的连接断开报文,进入fin-wait状态、服务端收到报文后,返回一个ACK确认应答报文,进入close-wait状态,客户端收到ACK后进入fin-wait2状态,等待服务端处理剩下的请求,服务端处理完之后向客户端发送一个FIn=1的报文请求断开连接,并进入Fin-wait状态,客户端回一个ACK报文,然后进入ctime-wait状态,服务端收到ack报文后,close,客户端一段时间后自动close。