计算机网络技术面试总结

一、OSI模型

  1. OSI模型是即Open System Interconnect模型,开放系统互联模型是一个七层的计算机网络模型,由下至上依次是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

二、TCP和UDP

  1. TCP和UDP是OSI模型中的运输层中的协议。TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输。
  2. TCP:面向连接、传输可靠(保证数据正确性,保证数据顺序)、用于传输大量数据(流模式)、速度慢,建立连接需要开销较多(时间,系统资源)
  3. UDP:面向非连接、传输不可靠、用于传输少量数据(数据包模式)、速度快
  4. TCP对应的协议:FTP、Telnet、SMTP、POP3、HTTP
  5. UDP对应的协议:DNS、SNMP、TFTP
  6. 常见使用TCP协议的应用如:浏览器,用的HTTP;FlashFXP,用的FTP;Outlook,用的POP、SMTP;Putty,用的Telnet、SSH;QQ文件传输
  7. UDP:当强调传输性能而不是传输的完整性时, 要求网络通讯速度能尽量的快。如:QQ语音 QQ视频等。
  8. TCP是数据流模式,是指TCP发送端发送几次数据和接收端接收几次数据是没有必然联系的
    9.UDP是数据报模式,是指UDP发送端调用了几次 write,接收端必须用相同次数的 read 读完

三、HTTP协议

1.HTTP 超文本传输协议,是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。

四、ARP和RARP协议

  1. ARP是地址解析协议,根据IP地址获取物理地址的一个TCP/IP协议
  2. RARP是逆地址解析协议,局域网中某个主机的物理地址转换为IP地址

五、DNS

  1. DNS是域名解析系统,以将域名和IP地址相互映射的一个分布式数据库

六、IP地址

  1. 地址分类
  • A类地址:以0开头, 第一个字节范围:0~127(1.0.0.0 - 126.255.255.255)
  • B类地址:以10开头, 第一个字节范围:128~191(128.0.0.0 - 191.255.255.255)
  • C类地址:以110开头, 第一个字节范围:192~223(192.0.0.0 - 223.255.255.255);
    10.0.0.0—10.255.255.255, 172.16.0.0—172.31.255.255, 192.168.0.0—192.168.255.255。(Internet上保留地址用于内部)
    2.组播地址
  • A类地址以0开头,第一个字节作为网络号,地址范围为:0.0.0.0~127.255.255.255;(modified @2016.05.31)
  • B类地址以10开头,前两个字节作为网络号,地址范围是:128.0.0.0~191.255.255.255;
  • C类地址以110开头,前三个字节作为网络号,地址范围是:192.0.0.0~223.255.255.255。
  • D类地址以1110开头,地址范围是224.0.0.0~239.255.255.255,D类地址作为组播地址(一对多的通信);
  • E类地址以1111开头,地址范围是240.0.0.0~255.255.255.255,E类地址为保留地址,供以后使用。
      注:只有A,B,C有网络号和主机号之分,D类地址和E类地址没有划分网络号和主机号。
  1. A-E类地址
  • A类地址:以0开头,第一个字节范围:0~127;
  • B类地址:以10开头,第一个字节范围:128~191;
  • C类地址:以110开头,第一个字节范围:192~223;
  • D类地址:以1110开头,第一个字节范围为224~239;
  • E类地址:以1111开头,保留地址

七、HTTP和HTTPS的区别

  1. https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
  2. http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
  3. http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
  4. 端口不同:Http与Http使用不同的连接方式,用的端口也不一样,前者是80,后者是443。
  5. 资源消耗:和HTTP通信相比,Https通信会由于加减密处理消耗更多的CPU和内存资源。

八、cookie和session的区别

相同点:跟踪浏览器用户身份的会话方式
不同点

  1. session是保存在服务端,而cookie是保存在客户端
  2. session的实现是依赖于cookie,cookie是会传递sessionId
  3. cookie会存在安全隐患,不安全,而session是相对安全
  4. cookie的存储有大小限制,而session是没有大小限制的
  5. Session会在一定时间内保存在服务器上,当访问增多,会占用服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用cookie
  6. 登陆信息等重要信息存放为session。其他信息如果需要保留,可以放在cookie中

九、TCP的三次握手过程以及四次挥手是什么?两次握手可不可以?

  1. 三次握手
    假设主机 A 为客户端,主机 B 为服务器端
    TCP 的三次握手过程:主机 A 向 B 发送连接请求;主机 B 对收到的主机 A 的报文段进行确认;主机 A 再次对主机 B 的确认进行确认。
  2. 四次挥手
    第一次挥手:Client发送一个FIN,用来关闭Client到Server的数据传送
    第二次挥手:Server收到FIN后,发送一个ACK给Client,确认
    第三次挥手:Server发送一个FIN,用来关闭Server到Client的数据传送
    第四次挥手:Client收到FIN后,确认
  3. 两次握手并不可以,为了防止 已失效的链接请求报文突然又传送到了服务端,因而产生错误。
    核心思想:让双方都证实对方能发收。知道对方能收是因为收到对方的因为收到信息之后发的回应(ACK)。

十、Get和Post的区别是什么?

  1. Get是从服务器上获取的资源,Post是更新服务器上的资源
  2. GET请求可以被添加到书签中,也可保存在浏览器历史记录中,POST不能
  3. GET请求可以被浏览器缓存,POST不能
  4. GET请求收到URL长度限制,所以数据长度也受限制,POST不会,请求是没有大小限制
  5. GET请求只能传输ASCII字符,而POST不受此限制,还可以传输二进制数据
  6. Get请求是明文的,不安全的,而Post是相比于Get更加安全
  7. GET产生一个TCP数据包;POST产生两个TCP数据包。
  8. 对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)

你可能感兴趣的:(HTML5+CSS3,计算机网络技术,面试总结)