美文网首页
面试备战-网络篇

面试备战-网络篇

作者: 周末年安 | 来源:发表于2020-12-09 23:31 被阅读0次

    计算机网络是如何分层的

    网络有两种分层模型:
    一种是ISO(国际标准化组织)制定的OSI(Open System Interconnect)七层模型。
    OSI是一种学术上的国际标准,理想概念,TCP/IP是事实上的国际标准,被广泛应用于现实生活中。

    一种是TCP/IP的四层网络模型。
    不同之前的OSI分层,现在主流的分层都是偏向于TCP/IP的四层分层,OSI参考模型的抽象能力高,概念划分清楚,但是过于复杂,不好理解。即由四层协议的层次来组成计算机网络(应用层、传输层、网络层、网络接口层)。

    也有说五层模型的,它跟四层模型的区别就是:在五层模型中将网络接口层分数据链路层物理层

    两者的关系可以看这个图:


    image.png

    网络分层的功能作用

    • 物理层:中继器和集线器;网卡(概括为了两器一卡)
    • 数据链路层:为网络层提供可靠的数据传输,基本数据为帧;
    • 网络层:对子网间的数据包进行路由选择,还可以实现拥塞控制,网络互连等功能
    • 传输层:将上层数据分段并提供端到端的、可靠的或不可靠的传输以及端到端的差错控制和流量控制问题。主要用到的是TCP协议、UDP协议;网关是重要设备
    • 应用层: 为操作系统或网络应用程序提供访问网络服务的接口。

    各个分层的含义以及它们之间的关系用这张图表示:


    image.png

    应用层

    常见协议如下:

    1. SMTP:对邮件收发的一个协议,控制信件的中转方式。
    2. HTTPS:具有安全性的文本传输控制协议。
    3. HTTP:超文本传输协议,规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送数据的协议。
    4. FTP:文件传输协议,因特网中使用最广泛的文件传输协议。

    传输层

    对于应用层就是TCP和UDP协议-用来建立端到端的链接,这一层的数据单位是数据报

    TCP三次握手:可靠连接,先建立连接(大数据包,数据要求安全)
    a. 发送请求,seq = x ,同步信号SYN
    b. 回请求,ack = x + 1; 双向连接,同步请求SYN seq = y
    c. 最后回建立请求,ack = y +1;

    为什么握手不是两次的原因

    两次会造成资源浪费,当失效的请求再次到达,server以为是有效的,就建立了连接,就会造成浪费,使用三次主要是为了防止server端一直等待。

    四次挥手,全双工的连接,
    a. 发送FIN请求断开
    b. 接受FIN ,发送ack,表示已经接受到了
    c. 再次发送FIN 请求断开连接
    d. 最后发送ACK,最终断开连接

    为什么要四次挥手?

    确保数据能够完成传输,收到FIN的时候,仅仅是代表对方没有数据发给你,你自己还没整理完数据发送给对方,所以这里还是需要你要确保自己整理好收拾好行李再发过去
    UDP:不可靠连接,不需建立连接(数据不安全,小数据包)

    网络层

    路由的主要工作区域,用到的协议如下:

    1. ARP协议-地址解析协议
      • 已知对方IP去获取对方的MAC地址,用于同一子网内的寻址
      • 应用在局域网内
    2. RARP-反向地址解析协议
      • 已知对端的MAC地址,获取其IP地址 。
    3. ICMP协议
      • 检查网络通路

    对于网络层就是Ip\ICMP\ARP\RARP协议-用来寻址和路由选择的。这一层的数据单位是数据包。

    网络接口层

    包括了物理层和数据链路层

    • 物理层:规定了通信设备的机械、电气的、功能的和过程的特性,用来简历和拆除物理链路连接。在一层的数据单位是比特。

    • 数据链路层:在物理层之上,建立相邻接点之间的数据链路,通过差错控制提供数据帧在信道上无差错的传输。这一层的数据单位是帧。

    相关文章

      网友评论

          本文标题:面试备战-网络篇

          本文链接:https://www.haomeiwen.com/subject/akgkgktx.html