网络面试题

个人博客,欢迎来撩 fangzengye.com

  • 数据访问速度:CPU、内存、硬盘、光驱
  • ISO/OSI 7层模型

应用层、表示层、会话层、网络层、传输层、数据链路层、物理层、

  • C/S:客户端/服务器模式 B/S基于浏览模式

C是client、S是server

  • Cache、Buffer是什么、区别是什么

cahe高速缓冲区,由硬件实现,起到设备间处理速度协调作用

buffer 缓冲区,在RAM实现,起到加快响应速度

共同点是在RAM实现,但实现的方式有点不一样。

  • 怎么检测TCP/IP正常运行

ping 127.0.0.1

  • 手动更新DHCP分配的IP地址

ipconfig/renew

  • 查看编辑本地策略命令:gpedit.msc
  • C类有256个IP地址
  • B类有65536个IP地址
  • 常用端口

ftp传输数据:20

ftp建立连接 :21

telnet远程管理:23

smtp邮件收发:25

DNS域名解析:53

http网页服务:80

pop邮局协议:110

  • 如果PC不能上网,怎么办
  1. 检查网卡
  2. 检查IP地址设置是否正确
  3. 检查本机是否能与本网络其他主机通讯
  4. 检查PC能否与网关通讯
  5. 检查能否与DNS通讯
  6. 检查能否ping通服务器
  7. 杀毒
  • IP协议:网络层协议,他实现自动路由功能,也是寻径的功能
  • TCP协议是传输层协议,他向下屏蔽了IP不可靠传输的特性,向上提供一个可靠的点到点的传输
  • UDP是传输层的协议,提供一个无连接的服务,主要考虑到很多应用不许哟啊可靠的连接,但需要快速的传输,如局域网中的计算机传输文件一般用UDP协议
  • 区别TCPUDP

    连接性

    可靠性可靠不可靠
    速度
    效率

     

  • TCP三次握手

第一次:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认

第二次:Server收到数据包后将SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发给Client以确认连接请求,Server进入SYN_RCVD状态。

第三次:Client收到确认后,检查ack是否为J+1,SYN是否1,如果正确,则将ACK置为1,ack=J+1,并将数据包发送给Server,Server检查ack是否为K+1,SYN为1,如果正确,则连接成功。

Client,Server进入established状态,随后Client和Server开始传输数据。

  • TCP四次挥手

第一次:Client发送一个FIN,用来关闭Client到Server的数据传输,Client进入FIN_WAIT-_1状态

第二次:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),Server进入CLOSE_WAIT状态。

第三次:Server发送一个FIN,用来关闭Server到Client的数据传送,Server进入LAST_ACK状态。

第四次:Client收到FIN后,Client进入TIME_WAIT 状态,接着发送一个ACK给Server,确认序号为收到序号+1

,Server进入CLOSED状态。完成第四次挥手

seq是Client和Server产生的临时随机值存放空间

  • VLAN:虚拟局域网,在网络层对局域网进行划分一个VLAN组成一个逻辑子网,即一个独立的广播域,
  • VLAN特点:安全
  • 两台笔记本电脑ping不通,原因如下
    • 无网络
    • TCP/IP协议安装不完整
    • ip配置又问题,不再一个网段
    • 有防火墙,把icmp端口屏蔽了(端口号:139)

http协议(超文本传输协议)

  • 定义:定义客户端与服务器端之间数据传输的格式规范
  • 请求三部分组成:
    • 请求行
    • 消息报头,
    • 请求正文
  • 请求方法
    • GET:一般用于传参
    • POST:一般用于提交信息,与GET相似,但一般推荐使用POST
    • PUT:传输文件,报文主体中包含文件内容,保存到对应的URI位置
    • HEAD:获得报文首部,与GET相似
    • DELETE:删除文件,与PUT相反,删除对应URL位置文件
    • OPTIONS:查询响应URL支持的HTTP方法
  • GET与POST区别
    • 数据传输方向区别:get重点在服务器获取资源,post主要向服务器发送资源
    • 请求位置区别:get通过URL(传参形式?、&整合成的URL)请求,POST是将字段封装在请求实体中
    • 数据量区别:GET传输数据量少,受URL长度限制,POST可以传输大量数据
    • 安全性区别:GET安全性低,因为URL可见。
    • 支持类型区别:get支持ASCII字符,不支持中文。POST支持
  • 请求报文包含三部分
    • 请求行:,(请求方法、URL、HTTP版本信息)
    • 请求首部字段
    • 请求内容实体
  • 响应报文三部分:
    • 状态行:HTTP版本信息,状态码、状态码原因
    • 响应首部字段
    • 响应内容实体
  • 常见状态码
    • 1xx:请求接收,需要继续处理
      •  
    • 2xx:表示成功接收、理解
      • 200正常处理
      • 204正常处理,但没有资源返回
      • 206客户端只请求到一部分资源
    • 3xx:重定向,需要进一步操作
      • 302:表示临时重定向,服务器返回头部信息包含location字段,这个就是重定向的URL
      • 301表示永久重定向
    • 4xx:客户端错误,语法错误,请求无法实现
      • 400报文错误,服务器无法识别
      • 401需要认证
      • 403禁止对资源访问
      • 404无资源
    • 5xx:服务器错误,未能实现合法请求
      • 500服务器内部错误
      • 503服务器忙
  • HTTP缺点
    • 通信使用明文,不安全
    • 不验证通信方身份,可能遭到伪装
    • 无法验证报文完整性,可能被篡改。
  • HTTPS:
    • 在HTTP上使用SSL安全通信加密处理+认证+完整性保护
  • HTTP优化:
    • 利用负载均衡优化和加速HTTP应用
    • 利用HTTP Cache来优化网站
  • IP地址=网络地址+主机地址
  • A类IP地址:第一段为网络标识
  • B类IP地址:第一二段为网络标识
  • C类IP地址:第一二三段为网络标识

 

 

 

 

 

 

 

posted @ 2020-12-10 12:52  开源的Boy  阅读(67)  评论(0)    收藏  举报