面试计算机网络原理及网络协议

计算机网络原理及网络协议

网络是什么

网络就是把分布在不同位置上的主机,通过传输介质(网线,卫星)等连接起来,通过网络协议实现主机之间数据传输和共享的目的

常见的状态码有哪些

1,信息状态码
2,响应成功
3,重定向
4,客户端错误
5,服务端错误
200 OK //客户端请求成功
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,eg:输入了错误的 URL
500 Internal Server Error //服务器发生不可预期的错误

URI 和 URL 的区别

URI,统一资源标识 符,用来唯一的标识一个资源。
URL 可以用来标识一个资源,而且还指明了如何定位这个资 源。

什么是 SSL

https 是如何保证数据传输的安全(SSL 是怎么工作保证安全的)
SSL 代表安全套接字层。它是一种用于加密和验证应用程序(如浏览器)和 Web 服务器之间
发送的数据的协议。 身份验证 , 加密 Https 的加密机制是一种共享密钥加密和公开密钥
加密并用的混合加密机制。SSL/TLS 协议作用:认证用户和服务,加密数据,维护数据的完
整性的应用层协议加密和解密需要两个不同的密钥,故被称为非对称加密;加密和解密都使用同一个密钥的 对称加密。 优点在于加密、解密效率通常比较高 HTTPS 是基于非对称加
密的, 公钥是公开的,
(1)客户端向服务器端发起 SSL 连接请求;
(2) 服务器把公钥发送给客户端,并且服务器端保存着唯一的私钥
(3)客户端用公钥对双方通信的对称秘钥进行加密,并发送给服务器端
(4)服务器利用自己唯一的私钥对客户端发来的对称秘钥进行解密,
(5)进行数据传输,服务器和客户端双方用公有的相同的对称秘钥对数据进行加密解密,
可以保证在数据收发过程中的安全,即是第三方获得数据包,也无法对其进行加密,解密和
篡改。
因为数字签名、摘要是证书防伪非常关键的武器。 “摘要”就是对传输的内容,通过 hash
算法计算出一段固定长度的串。然后,在通过 CA 的私钥对这段摘要进行加密,加密后得到
的结果就是“数字签名”

开放式系统互联模型OSI(七层)

第一层:物理层

-机械、电子、定时接口通信信道上的原始比特流
RJ45\RJ11
IEEE 802.2
Ethernet

第二层:数据链路层

-物理寻址 同时将原始比特流转化为逻辑传输线路
ARP协议:地址解析协议
CDP协议:思科发现协议
VPN

第三层:网络层

-控制子网的运行,逻辑地址(IP地址)分组传输,路由选择
OSPF协议:开放最短路径优化协议
VRRP协议:虚拟路由器冗余协议
IGRP协议:内部网关路由协议
IP/IPv6协议:互联网协议
ICMP协议:互联网控制信息协议
NHRP协议:下一跳解析协议

第四层:传输层

-接受上一层的数据,在需要的时候分割数据并将这些数据传输给网络层
NetBIOS协议:
Mobile IP协议:移动IP协议
RUDP协议:可靠的数据报协议
XOT协议:基于TCP协议之上的X.25协议
TCP/UDP协议

第五层:会话层

-不同的主机用户之间建立以及管理会话
SSL协议:安全套接字协议,Url前的小标图
TLS协议:传输层安全协议
DAP协议:目录访问协议
LDAP协议:轻量级的目录访问协议
RPC协议:远程过程调用协议

第六层:表示层

-信息的语法、语义、以及格式,比如压缩的、解密的、格式转换

第七层:应用层

-各种应用程序协议
HTTP协议
FTP协议
SMTP协议
SSH协议
IMAP协议
TELNET协议
LOGIN协议
DHCP协议
NTP协议

常见端口

21:FTP

211:下载

22:ssh

25: SMTP,发邮件的端口

53:DNS默认端口

139:SMB共享

465:SMTPS,SSL安全协议

109:pop2,收件协议

110:pop3,收件协议

995: pop3S,SSL安全协议

143:IMAP协议,邮件协议

993: IMAP协议S,SSL安全协议

23:Telnet端口检测

80: HTTP

443:HTTPS —SSL安全协议(256AES 1024AES 2048AES)

3306::MySQL

6379:Redis缓存服务器

3389:远程桌面

8080:代理服务器或Tomcat

1433:MS*SQL SEVER数据库

1521:oracle数据库

5000:DB2

27017:MongoDB

11211:Mamcached

7001:webLogic

什么是 RARP

概括: 反向地址转换协议,网络层协议,RARP 与 ARP 工作方式相反。 RARP 使只知道自己
硬件地址的主机能够知道其 IP 地址。
RARP 发出要反向解释的物理地址并希望返回其 IP地址,
应答包括能够提供所需信息的 RARP 服务器发出的 IP 地址。

RARP工作原理

(1)网络上的每台设备都会有一个独一无二的硬件地址,通常是由设备厂商分配的 MAC 地址。主机从网卡上读取 MAC 地址,然后在网络上发送一个 RARP 请求的广播数据包,请求 RARP
服务器回复该主机的 IP 地址。
(2)RARP 服务器收到了 RARP 请求数据包,为其分配 IP 地址,并将 RARP 回应发送给主机。
(3)PC1 收到 RARP 回应后,就使用得到的 IP 地址进行通讯。

什么是ARP协议

地址解析协议,即 ARP(Address Resolution Protocol),是根据 IP 地址获取物理地址的一个 TCP/IP 协议。
1.发送 ARP 请求的以太网数据帧 广播 到以太网上的每个主机,ARP 请求帧中包含了目的主
机的 IP 地址。
2.目的主机收到了该 ARP 请求之后,会发送一个 ARP 应答,里面包含了目的主机的 MAC 地
址。

ARP协议工作原理

协议规定,每台计算机都需要一个arp表,用来保存IP地址和物理地址的映射关系
访问IP地址的时候就会去查arp表,从而找到对应的物理地址
ARP 协议工作原理:
每个主机都会在自己的 ARP 缓冲区中建立一个 ARP 列表,以表示 IP 地址和 MAC 地址之间的对应关系。
主机(网络接口)新加入网络时(也可能只是 mac 地址发生变化,接口重启等), 会发送免费 ARP 报文把自己 IP 地址与 Mac 地址的映射关系广播给其他主机。
网络上的主机接收到免费 ARP 报文时,会更新自己的 ARP 缓冲区。将新的映射关系更新到自己的 ARP 表中。
某个主机需要发送报文时,首先检查 ARP 列表中是否有对应 IP 地址的目的主机的 MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送 ARP 数据包,该数据包包括的内容有:源主机 IP 地址,源主机 MAC 地址,目的主机的 IP 地址等。当本网络的所有主机收到该 ARP 数据包时:
(A)首先检查数据包中的 IP 地址是否是自己的 IP 地址,如果不是,则忽略该数据包。
(B)如果是,则首先从数据包中取出源主机的 IP 和 MAC 地址写入到 ARP 列表中,如果已经存在,则覆盖。
(C) 然后将自己的 MAC 地址写入 ARP 响应包中,告诉源主机自己是它想要找的 MAC地址。
源主机收到 ARP 响应包后。将目的主机的 IP 和 MAC 地址写入 ARP 列表,并利用此信息发送数据。如果源主机一直没有收到 ARP 响应数据包,表示 ARP 查询失败。ARP 高速缓存(即 ARP 表)是 ARP 地址解析协议能够高效运行的关键

ARP协议的作用

网络中的数据传输所以来的是物理地址,ARP负责把IP地址转换为物理地址
arp协议的主要工作就是建立,查询,更新,删除arp表项
无需人为干涉,一直在进行轮询和应答

rip 协议是什么

RIP 动态路由选择协议(网络层协议)
RIP 是一种基于距离矢量(Distance-Vector)算法的协议,它使用跳数(Hop Count)作为度量来衡量到达目的网络的路由距离。RIP 通过 UDP 报文进行路由信息的交换,使用的端口号
为 520。

rip 的工作原理

RIP 路由协议用“更新(UNPDATES)”和“请求(REQUESTS)”这两种分组来传输信息的。
每个具有 RIP 协议功能的路由器每隔 30 秒用 UDP520 端口给与之直接相连的机器广播更新
信息。并且在( 用“路程段数”(即“跳数”)作为网络距离的尺度。每个路由器在)给相邻路由器发出路由信息时,都会给每个路径加上内部距离。
路由器的收敛机制:
任何距离向量路由选择协议(如 RIP)都有一个问题,路由器不知道网络的全局情况,路由器必须依靠相邻路由器来获取网络的可达信息。由于路由选择更新信息在网络上传播慢,距离向量路由选择算法有一个慢收敛问题,这个问题将导致不一致性产生。

RIP 较少路由收敛机制带来的问题

1)记数到无穷大机制: RIP 协议允许最大跳数为 15。大于 15 的目的地被认为是不可达。 当
路径的跳数超过 15,这条路径才从路由表中删除。
2) 水平分割法: 路由器不向路径到来的方向回传此路径。当打开路由器接口后,路由器
记录路径是从哪个接口来的,并且不向此接口回传此路径。
3) 破坏逆转的水平分割法: 忽略在更新过程中从一个路由器获取的路径又传回该路由器
4)保持定时器法: 防止路由器在路径从路由表中删除后一定的时间内(通常为 180 秒)接
受新的路由信息。 保证每个路由器都收到了路径不可达信息
5) 触发更新法: 当某个路径的跳数改变了,路由器立即发出更新信息,不管路由器是否
到达常规信息更新时间都发出更新信息。

RIP 的缺点

1、由于 15 跳为最大值,RIP 只能应用于小规模网络;
2、收敛速度慢;
3、根据跳数选择的路由,不一定是最优路由。

什么是OSPF 协议

OSPF(Open Shortest Pass First,开放最短路径优先协议),是一个最常用的内部网管协议,是一个链路状态协议。(网络层协议,)

OSPF 的工作原理

OSPF 组播的方式在所有开启 OSPF 的接口发送 Hello 包,用来确定是否有 OSPF 邻居,若发现了,则建立 OSPF 邻居关系,形成邻居表,之后互相发送 LSA(链路状态通告)相互通告路由,形成 LSDB(链路状态数据库)。再通过 SPF 算法,计算最佳路径(cost 最小)后放入路由表。

TCP 与 UDP 区别总结

1.TCP 面向连接(如打电话要先拨号建立连接)提供可靠的服务;UDP 是无连接的,即发送数 据之前不需要建立连接,;UDP 尽最大努力交付,即不保证可靠交付。(由于 UDP 无需建立 连接,因此 UDP 不会引入建立连接的时延,TCP 需要在端系统中维护连接状态,比如接受和 发送缓存,拥塞控制,序号与确认号的参数等,故 TCP 会比 UDP 慢)
2.UDP 具有较好的实时性,工作效率比 TCP 高,适用于对高速传输和实时性有较高的通信或 广播通信。
3.每一条 TCP 连接只能是一对一的;UDP 支持一对一,一对多,多对一和多对多的交互通信
4.UDP 分组首部开销小,TCP 首部开销 20 字节;UDP 的首部开销小,只有 8 个字节。
5.TCP 面向字节流,实际上是 TCP 把数据看成一连串无结构的字节流;UDP 是面向报文的(一 次交付一个完整的报文,报文不可分割,报文是 UDP 数据报处理的最小单位)。
6.UDP 适合一次性传输较小数据的网络应用,如 DNS,SNMP 等

HTTPS 和 HTTP 的区别

1.HTTP 协议传输的数据都是未加密的,也就是明文的,因此使用 HTTP 协议传输隐私信息非 常不安全, HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议, 要比 http 协议安全。
2.https 协议需要到 ca 申请证书,一般免费证书较少,因而需要一定费用。
3.http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。
Https 的作用 
内容加密建立一个信息安全通道,来保证数据传输的安全;身份认证确认网站的真实性;数据完整性防止内容被第三方冒充或者篡改

IP协议

是该模型中最重要的协议,为TCP UDP ICMP提供数据传输的通道。提供了子网的互联,形成了一个比较大的网络。是不同子网里的主机能够传输数据
主要的作用:
数据传送:将数据从一个主机传送到另一个主机
寻址:根据子网划分和IP地址,发现正确的目标主机的主机地址
路由选择:选择数据在互联网上的传送的路径
数据报文的分段:当传送的数据大于MTU值,将数据进行分段发送和接受,并重新组装
IP数据包里含源地址和目标地址和数据部分

ICMP网络控制报文协议

用于传递差错信息,时间,回显,网络信息等网络控制信息的报文

TCP/IP协议建立连接的过程

TCP协议面向单播协议
单播:是一对一的服务,在数据的发送和接收前,通信双发必须在彼此之间简历一条连接.
采用三次握手建立一个连接
第一次:客户端向服务端发送请求 SYN码 想告诉服务器主机和端口号(ISN码)TCP(SYN+Seq) SN码(seq=0)
第二次:服务端收到SYN码以后,客户端发送一个SYN+ACK的码,ACK表示确认连接 TCP(SYN+ACK+Seq) ISN(seq=0) ACK(ACK=seq(第一次的Seq)+1)
第三次:客户端收到ACK码,再次向服务端发送ACK码确认连接,服务端收到ACK后两台主机建立连接 ACK(ACK=seq+1)
Seq(seq(第一次的Seq)+1) ACK(ACK=Seq(第二次的seq)+1)
在这里插入图片描述

TCP/IP协议断开连接的过程

采用四次挥手断开连接
在这里插入图片描述

dns 是什么

将主机域名转换为 ip 地址,属于应用层协议,使用 UDP 传输。(DNS 应用层协议。
总结: 浏览器缓存,系统缓存,路由器缓存,IPS 服务器缓存,根域名服务器缓存,顶级域
名服务器缓存,主域名服务器缓存。

dns 的工作原理

一、主机向本地域名服务器的查询一般都是采用递归查询。
二、本地域名服务器向根域名服务器的查询的迭代查询。
1)当用户输入域名时,浏览器先检查自己的缓存中是否 这个域名映射的 ip 地址,有解析结束。
2)若没命中,则检查操作系统缓存(如 Windows 的 hosts)中有没有解析过的结果,有解析结束。
3)若无命中,则请求本地域名服务器解析( LDNS)。
4)若 LDNS 没有命中就直接跳到根域名服务器请求解析。根域名服务器返回给 LDNS 一个 主域名服务器地址。
5) 此时 LDNS 再发送请求给上一步返回的 gTLD( 通用顶级域), 接受请求的 gTLD 查找并返回这个域名对应的 Name Server 的地址
6) Name Server 根据映射关系表找到目标 ip,返回给 LDNS
7) LDNS 缓存这个域名和对应的 ip, 把解析的结果返回给用户,用户根据 TTL 值缓存到本
地系统缓存中,域名解析过程至此结束

客户访问浏览器的过程

  1. 通过URL访问,浏览器请求DNS服务器,通过DNS获取域名相对应的IP,通过IP地址找到对应的服务器,建立TCP连接
  2. 浏览器发送HTTP Request请求包,服务器收到请求包开始调用自身服务,返回HTTP Response响应包
  3. 浏览器接收到来自服务器的响应后渲染Resopnse包
  4. 等收到全部内容后断开与服务器之间的TCP连接

GET 和 POST 的区别

get 是获取数据,post 是修改数据
get 把请求的数据放在 url 上, 以?分割 URL 和传输数据,参数之间以&相连,所以 get 不太 安全。而 post 把数据放在 HTTP 的包体内(requrest body)
get 提交的数据最大是 2k( 限制实际上取决于浏览器), post 理论上没有限制。
GET 产生一个 TCP 数据包,浏览器会把 http header 和 data 一并发送出去,服务器响应 200(返回数据); POST 产生两个 TCP 数据包,浏览器先发header,服务器响应 100 continue,浏览器再发送 data,服务器响应 200 ok(返回数据)。
GET 请求会被浏览器主动缓存,而 POST 不会,除非手动设置。

Cookies 和 session 区别

Cookie 和 Session 都是客户端与服务器之间保持状态的解决方案
1,存储的位置不同,cookie:存放在客户端,session:存放在服务端。Session 存储的数据 比较安全
2,存储的数据类型不同 两者都是 key-value 的结构,但针对 value 的类型是有差异的 cookie:value 只能是字符串类型,session:value 是 Object 类型
3,存储的数据大小限制不同
cookie:大小受浏览器的限制,很多是是 4K 的大小, session:理论上受当前内存的限制,4,生命周期的控制 cookie 的生命周期当浏览器关闭的时候,就消亡了
(1)cookie 的生命周期是累计的,从创建时,就开始计时,20 分钟后,cookie 生命周期结束,
(2)session 的生命周期是间隔的,从创建时,开始计时如在 20 分钟,没有访问 session,那么 session 生命周期被销毁

session 的工作原理

session 的工作原理是客户端登录完成之后,服务器会创建对应的 session,session 创建完 之后,会把 session 的 id 发送给客户端,客户端再存储到浏览器中。这样客户端每次访问 服务器时,都会带着 sessionid,服务器拿到 sessionid 之后,在内存找到与之对应的 session
这样就可以正常工作了

什么是同源策略

为了防止不同域在用户浏览器中彼此干扰,浏览器对从不同来源(域)收到的内 容进行隔离。 浏览器不允许任何旧有脚本访问一个站点的 cookie,否则,会话容易被劫持。 只有发布 cookie 的站点能够访问这些 cookie,只有通过该站点返回的页面所包 含或加载的 JavaScript 才能访问 cookie。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值