Java程序员面试题(网络篇)(一)

1、http请求方式

  • HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。
  • HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

2、GET 和 POST 区别

3、OSI的7层体系结构

OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

4、TCP/IP的体系结构

TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。

5、五层协议的体系结构

五层协议 (5层):物理层、数据链路层、网络层、运输层、 应用层。

6、各层协议和作用

  • 物理层:RJ45、CLOCK、IEEE802.3 (中继器,集线器,网关)
  • 数据链路:PPP、FR、HDLC、VLAN、MAC (网桥,交换机)
  • 网络层:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、 (路由器)
  • 传输层:TCP、UDP、SPX
  • 会话层:NFS、SQL、NETBIOS、RPC
  • 表示层:JPEG、MPEG、ASII
  • 应用层:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS

每一层的作用如下:

  • 物理层:通过媒介传输比特,确定机械及电气规范(比特Bit) 数据
  • 链路层:将比特组装成帧和点到点的传递(帧Frame)
  • 网络层:负责数据包从源到宿的传递和网际互连(包PackeT)
  • 传输层:提供端到端的可靠报文传递和错误恢复(段Segment)
  • 会话层:建立、管理和终止会话(会话协议数据单元SPDU)
  • 表示层:对数据进行翻译、加密和压缩(表示协议数据单元PPDU)
  • 应用层:允许访问OSI环境的手段(应用协议数据单元APDU)

7、TCP三次握手全过程

  • 客户端发送SYN请求,进入SYN_SEND状态
  • 服务端收到SYN请求,并返回一个ACK应答,并发送一个SYN其请求,服务器进入SYN_RECV状态
  • 客户端收到服务端的SYN请求和ACK应答,发送ACK应答,客户端进入ESTABLISH状态,服务端收到应答后进入ESTABLISH。如果没有收到应答,数据包都会根据TCP的重传机制进行重传。

8、TCP 四次挥手的全过程

  • 客户端发送FIN包,请求断开连接,客户端进入FIN_WAIT1状态
  • 服务端收到FIN包后返回应答,进入CLOSE_WAIT状态
  • 客户端收到FIN的应答后进入FIN_WAIT2状态
  • 服务端发送FIN请求包,进入LAST_ACK状态
  • 客户端收到FIN请求包后,发送应答进入TIME_WAIT状态
  • 服务器收到ACK应答后,进入close状态。

9、IP地址的分类

  • A类地址(1~126):网络号占前8位,以0开头,主机号占后24位。
  • B类地址(128~191):网络号占前16位,以10开头,主机号占后16位。
  • C类地址(192~223):网络号占前24位,以110开头,主机号占后8位。
  • D类地址(224~239):以1110开头,保留位多播地址。
  • E类地址(240~255):以1111开头,保留位今后使用。

注意

(1) 网络号剩余字段全为0的IP地址是保留地址,表示本网络,如00000000+24位主机号

(2) 主机号全为0表示本网络本身,例如202.98.174.0;主机号全为1表示本网络的广播地址,例如202.98.174.255。

(3) 127.X.X.X网络保留做为环路自检地址,该地址表示任意主机本身,目的地址为环路自检地址的IP数据报永远不会出现在任何网络上。

(4) 32位全为1,即255.255.255.255表示整个TCP/IP网络的广播地址;32位全为0,即0.0.0.0表示本网络上的本主机。

(5) 各类地址中,私有IP地址网段:此时,IP地址与子网掩码相与得到网络号

A类:1个A类网段,即10.0.0.0~10.255.255.255

B类:16个B类网段,即172.16.0.0~172.31.255.255

C类:256个C类网段,即192.168.0.0~192.168.255.25

10、说说http和https协议

11、tcp,udp区别

发表评论