计算机网络

面试笔记

Posted by 溜大虾 on July 25, 2017

计算机网络

计算机网络也有部分考点

OSI模型及每一层作用

OSI模型,按自顶向下可分为五层或七层,一下按五层来讲,分别是:

  • 应用层:
  • 传输层:端到端可靠报文传递和错误恢复
  • 网络层:数据包从源到宿的传递和网际互联
  • 链路层:将比特组装成帧 点到点传递
  • 物理层:通过物理媒介传输比特

IP地址作用及分类

IP地址是ip协议提供的一种统一的地址格式,为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异

ARP

ARP是地址解析协议。

原理:

每个主机都会在自己的ARP缓冲区建立一个ARP列表,以表示IP地址和MAC地址之间的对应关系。

当源主机要发送数据时,首先检查ARP列表中是否有对应的IP地址的目的主机的MAC地址,如果有则直接发送数据,如果没有就要向本网段的所有主机发送ARP数据包,该数据包包括的内容有:源主机IP地址、源主机MAC地址,目的主机IP地址。

当本网络的所有主机收到该ARP数据包时,首先会检查数据包中IP地址是否是自己的IP地址,如果不是,则忽略该数据包,如果是,则首先从数据包中取出源主机的IP地址和MAC地址写入到ARP列表中,如果已存在,则覆盖,然后将自己的MAC地址写入到ARP响应包中,告诉源主机自己是他想要找的MAC地址。

源主机收到ARP响应包后,将目的主机的IP地址和MAC地址写入到ARP列表中,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败

TCP三次握手四次挥手

三次握手:

​ 第一次:客户端向服务器发送syn,进入SYN_SEND状态

​ 第二次:服务器接收到syn,确认客户端的SYN,同时自己也发送一个SYN包,即SYN+ACK包,进入ESTABLISHED状态

​ 第三次:客户端接收到服务器的SYN_ACK包,向服务器发送确认包ACK,进入ESTABLISHED状态,完成三次握手。

四次挥手:

​ 第一次:主动方发送一个FIN,关闭主动方到被动方的数据传送

​ 第二次:被动方收到FIN后,发送一个ACK给对方

​ 第三次:被动方发送一个FIN,关闭被动方到主动方的数据传送

​ 第四次:主动方收到FIN,发送一个ACK给被动方

TCP UDP 区别

  • TCP建立长连接,是安全可靠的数据传输,而UDP不会建立连接,是不可靠的

  • TCP传输的单位是TCP报文段,UDP传输单位是用户数据报

  • TCP注重安全性,UDP传数据快,安全性一般

  • TCP对应的协议:FTP Telnet SMTP POP3 HTTP

    UDP对应的协议:DNS SNMP TFTP

浏览器中输入www.baidu.com后的执行过程

1.客户端通过DNS解析到域名对应的IP地址,通过这个IP地址找到客户端到服务器的路径,客户端浏览器通过发起一个HTTP会话,然后通过TCP进行封装数据包,输入到网络层

2.在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口号

3.客户端网络层通过查找路由表确定如何到达服务器

4.客户端在链路层将包发送到路由器,通过邻居协议查找到给定的IP地址的MAC地址,然后发送ARP请求查找到目的地址,如果得到回应的话就可以使用ARP的请求应答交换IP数据包现在就可以传输了