• 计算机网络常见面试题


    计算机网络常见面试题总结

    // 参考博客 https://www.cnblogs.com/midiyu/p/7897086.html

    强烈推荐去看这篇帖子,超鸡好哦!!

    https://www.nowcoder.com/discuss/1937

     1:简述TCP/UDP的区别

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

    两者的区别大致如下:

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

    具体数据:https://www.cnblogs.com/xiaokang01/p/10032129.html

    2:请简单说说常用端口和对应服务

    3:说说TCP三次握手

    在TCP/IP协议中,TCP协议提供可靠的连接服务,连接是通过三次握手进行初始化的。

    三次握手的目的是同步连接双方的序列号和确认号并交换 TCP窗口大小信息。

    详细信息请看:TCP/三次握手和四次挥手

    TCP如何保证可靠传输

    4:有哪些私有(保留地址)

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

    5:IP地址分为哪几类,简单说一下分类

     IPv6 -- 采用128bit,首部固定部分为40字节。

    6:在浏览器中输入网址后执行的什么

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

    牛客评论区解答:

    作者:奔跑吧牛客
    链接:https://www.nowcoder.com/discuss/1937
    来源:牛客网

    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数据包到达服务器的地址。

    7:简单说说ARP协议的工作过程

    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查询失败。

    广播发送ARP请求,单播发送ARP响应

    8:说说OSI七层模型和说说TCP/IP四层模型

     

    9:HTTP协议有哪些请求

    • GET:对服务器资源的简单请求
    • POST:用于发送包含用户提交数据的请求

    110:简述HTTP中GET和POST的区别

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

    从表面上看:

    • GET请求的数据会附在URL后面,POST的数据放在HTTP包体
    • POST安全性比GET安全性高
  • 相关阅读:
    真正的Java学习从入门到精通
    Java学习从入门到精通(1) [转载]
    Java Learning Path(三)过程篇
    Java Learning Path(五)资源篇
    Java Learning Path(四) 方法篇
    浅析Java语言中两种异常的差别
    JDK,JRE,JVM区别与联系
    JAVA敏捷开发环境搭建
    谈谈WEB开发中的苦大难字符集问题
    java读取clob字段的几种方法
  • 原文地址:https://www.cnblogs.com/xiaokang01/p/12490991.html
Copyright © 2020-2023  润新知