常见面试题-计算机网络

一、简述TCP/UDP的区别

TCP和UDP是OSI模型中的运输层中的协议。TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输。
两者的区别大致如下

  • TCP面向连接,UDP面向非连接即发送数据前不需要建立链接
  • TCP提供可靠的服务(数据传输),UDP无法保证
  • TCP面向字节流,UDP面向报文
  • TCP数据传输慢,UDP数据传输快

二、请简单说一下你了解的端口及对应的服务?

端口服务
21FTP(文件传输协议
22SSH
23Telnet远程登录
25SMTP简单邮件传输协议
53DNS域名服务器
80HTTP超文本传输协议
110POP3邮件协议3
443HTTPS
1080Sockets
1521Oracle数据库默认端口
3306MySQL服务

三、TCP的三次握手

在TCP/IP协议中,TCP协议提供可靠的连接服务,连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换 TCP窗口大小信息。

 

TCP流程.jpg

  1. 第一次握手:建立连接,客户端发送连接请求报文段,将SYN位置为1,Sequence Number为x,然后客户端进入SYN——SEND状态,等待服务器确认
  2. 第二次握手:服务器收到客户端的SYN报文段,需要对这个SYN报文段进行确认,设置Acknowledgment Number为x+1(sequence number + 1);同时,自己还要发送SYN请求信息,将SYN位置为1,Sequence Number为y;服务器端将上述所有信息放到一个报文段(SYN+ACK报文段)中,一并发送给客户端,此时服务器进入SYN_RECV状态
  3. 第三次握手:客户端接收到SYN_ACK报文段。然后将ACK number设为y+1,向服务器发送ACK报文段,这个报文段发送完毕之后,客户端和服务端都进入ESTABLISHED状态,完成TCP三次握手。

四、有哪些私有(保留)地址?

  • A类:10.0.0.0 - 10.255.255.255
  • B类:172.16.0.0 - 172.31.255.255
  • C类:C类:192.168.0.0 - 192.168.255.255

五、IP地址分类

IP地址分类.jpg

 

IPv6采用128位,首部固定为40字节

六、在浏览器中输入网址之后执行会发生什么?

  • 查找域名对应的IP地址。这一步会依次查找浏览器缓存,系统缓存,路由器缓存,ISPNDS缓存,根域名服务器
  • 浏览器向IP对应的web服务器发送一个HTTP请求
  • 服务器响应请求,发回网页内容
  • 浏览器解析网页内容

更加详细的说法,以百度为例,来自牛客网

  1. 客户端浏览器通过DNS解析到www.baidu.com的IP地址220.181.27.48,通过这个IP地址找到客户端到服务器的路径。客户端浏览器发起一个HTTP会话到220.161.27.48,然后通过TCP进行封装数据包,输入到网络层。
  2. 在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。然后使用IP层的IP地址查找目的端。
  3. 客户端的网络层不用关系应用层或者传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,我不作过多的描述,无非就是通过查找路由表决定通过那个路径到达服务器。
  4. 客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP数据包到达服务器的地址。

如果你想要更加深入的了解这个过程,点击阅读:从输入网址到显示网页的全过程分析

七、简单解释一些ARP协议的工作过程

  1. 首先,每个主机都会在自己的 ARP 缓冲区中建立一个 ARP 列表,以表示 IP 地址和 MAC 地址之间的对应关系。
  2. 当源主机要发送数据时,首先检查 ARP 列表中是否有对应 IP 地址的目的主机的 MAC 地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送 ARP 数据包,该数据包包括的内容有:源主机 IP 地址,源主机 MAC 地址,目的主机的 IP 地址
  3. 当本网络的所有主机收到该 ARP 数据包时,首先检查数据包中的 IP 地址是否是自己的 IP 地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的 IP 和 MAC 地址写入到 ARP 列表中,如果已经存在,则覆盖,然后将自己的 MAC 地址写入 ARP 响应包中,告诉源主机自己是它想要找的 MAC 地址。
  4. 源主机收到 ARP 响应包后。将目的主机的 IP 和 MAC 地址写入 ARP 列表,并利用此信息发送数据。如果源主机一直没有收到 ARP 响应数据包,表示 ARP 查询失败。

八、OSI七层模型

OSI七层模型详解

OSI七层模型.gif

 

九、TCP/IP四层模型

参考http://www.cnblogs.com/BlueTzar/articles/811160.html

十、HTTP 协议包括哪些请求?

  • GET:对服务器资源的简单请求
  • POST:用于发送包含用户提交数据的请求
  • HEAD:类似于GET请求,不过返回的响应中没有具体内容,用于获取报头
  • PUT:请求文档的一个版本
  • DELETE:发出一个删除指定文档的请求
  • TRACE:发送一个请求副本,以跟踪器处理进程
  • OPTIONS:返回所有可用的方法,检查服务器支持哪些方法
  • CONNECT:用于SSL隧道的基于代理的请求

十一、简述HTTP中GET和POST的区别

从原理看:

  • GET用于信息获取,应该是安全和幂等的
  • POST请求表示可能修改服务器上资源的请求

从表面上看:

  • GET请求的数据会附在URL后面,POST的数据放在HTTP包体
  • POST安全性比GET安全性高



作者:leon4ever
链接:https://www.jianshu.com/p/1c0eb9e67941
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值