计算机网络

计算机网络的总结,结合常见问题

OSI七层模型

物理层、链路层、网络层、传输层、应用层、会话层、表示层

各层的作用

应用层:为应用程序提供数据传输服务

传输层:为进程提供数据传输服务

网络层:为主机提供数据传输服务

链路层:为同一链路主机提供数据传输服务

物理层:考虑怎样传输比特流

每一层有哪些协议,各自有什么作用

应用层:HTTP协议(请求响应协议)DNS协议(域名解析)

传输层:TCP/UDP协议(传输控制协议)

网络层:ARP协议(MAC地址解析)IP协议(网络之间通信)ICMP协议(传输控制报文)

链路层:PPP协议(点对点传输)

TCP/IP网络模型

网络接口层、IP层、TCP/UDP层、应用层

TCP/IP协议的特点

完全开发、独立于网络硬件系统、网络地址统一分配、高层协议标准化

什么是以太网,它有什么特点

以太网是一种星型拓扑结构的局域网

MAC帧的结构

目的地址、源地址、类型(上层协议)、数据(46-1500)、FCS(帧检验序列,CRC方法)

集线器、交换机、路由器的作用,已经它们工作在哪一层

集线器提供各种物理接口,工作在物理层

交换机提供数据交互功能,工作在链路层

路由器起寻找、导向作用,工作在网络层

IP数据报常见字段的作用

版本:4和6两种

首部长度

区分服务(一般不使用)

总长度:首部长度+数据长度

生存时间(TTL):防止绕圈子

协议:携带数据应该交给哪个协议

首部检验和

标识:相同数据不同分片拥有相同标识

片偏移:数据偏移量

ARP协议的作用

实现由IP地址得到MAC地址

维护ARP缓存的过程

从ARP高速缓存中查找IP,如果有,直接使用

如果没有,广播ARP请求分组

目的主机收到请求分组后向源主机发送IP到MAC的映射,同时储存源主机IP到MAC的映射

源主机收到响应分组后存储IP到MAC的映射

介绍一下ICMP协议

控制报文协议,用于在IP主机、路由器之间传递控制信息(主机是否可达,网络通不通)

ICMP报文种类及作用

差错报告报文(终点不可达3,超时11,参数问题12,改变路由5)询问报文(回送请求和回答Echo8/0,时间戳请求或回答Timestamp13/14)

ICMP数据报与IP数据报的关系

ICMP是为了更有效的转发IP数据报和提高交付成功的机会的协议,封装在IP数据报中,不属于高层协议

UDP的特点

无连接,尽最大可能交付(不可靠),没有拥塞控制,面向报文,提供一对一、一对多、多对一、多对多交互通信(半双工)

UDP的首部格式

伪首部(为了计算检验和临时添加)源端口、目的端口、长度、检验和

TCP的特点

面向连接,可靠传输,有流量控制,拥塞控制,全双工,面向字节流,只能一对一

TCP的首部格式

源端口,目的端口,序列号,确认号,数据偏移(首部长度),URG(紧急指针),PSH(推送),RST(重新连接),SYN(同步),FIN(终止),ACK(确认),窗口(设置窗口大小)

UDP与TCP的区别

UDP无连接,TCP面向连接

UDP不可靠,TCP可靠

UDP没有拥塞控制,TCP有拥塞控制

UDP面向报文,TCP面向字节流

UDP支持一对一,一对多,多对一,多对多,TCP只支持一对一

UDP开销小,TCP开销大

使用UDP和TCP的协议有哪些

UDP:DNS、RIP(动态路由选择协议)

TCP:SMTP、TELNET、HTTP、FTP

如何绑定TCP/UDP端口

使用bind函数

介绍一下host

host是指与internet以TCP/IP协议项链的任何计算机

介绍一下hosts

hosts是一个没有拓展名的系统文件,作用就是把常用的网址域名与对应的IP地址建立一个关联数据库

三次握手过程

SYN=1,seq=x

SYN=1,ACK=1,seq=y,ack=x+1

ACK=1,seq=x+1,ack=y+1

三次握手原因

第三次握手时为了防止失效的连接请求到达服务器,让服务器错误打开连接

四次挥手过程

FIN=1,seq=u

ACK=1,seq=v,ack=u+1

FIN=1=1,ACK=1,seq=w,ack=u+1

ACK=1,seq=u+1,ack=w+1

四次挥手原因

客户端发送FIN之后进入CLOSE-WAIT状态,为了让服务端发送未传送完毕的数据

TIME_WAIT的作用

客户端接收到服务端FIN后,没有立即结束,而是等待2MSL的时间,确保最后一个报文能够到达,让本连接发送的报文都从网络中消失

可靠传输原理

超时重传

设计可靠的UDP协议

等待一段时间之后如果没收到响应,就重新传输报文

TCP拥塞控制的原理

慢开始,拥塞避免,快重传,快恢复

DNS端口号,使用什么协议

53,通常使用UDP

DNS怎么减少传输时间

更换DNS提供商,修改DNS缓存是生存周期,使用CDN

DNS协议原理

ARP协议广播解析MAC地址

发送DNS查询报文,经网关后路由转发,到达DNS服务器后查询IP地址,并原路返回

什么是CDN

CDN是构建在现有网络上的智能虚拟网络,通过部署在各地的边缘服务器,使用户九讲获取资源,降低网络拥塞

介绍一下缓存

位于内存中,用于缓解服务器压力,降低客户端获取资源的延迟

什么是负载均衡

将一个任务分摊到多个操作单元上进行

GET与POST区别

GET用于获取资源,POST用于传输实体主体

GET参数传递在URL中,只支持ASCII码,POST在实体主体中

GET安全,POST不安全(改变服务器数据)

GET是幂等的,POST是不幂等的

GET可缓存,POST大多数情况下不可缓存

HTTP状态码

100目前很正常,200成功,204成功但响应不包含主体,206范围请求,301永久重定向,302临时重定向,400报文语法错误,401认证失败,403请求被拒绝,404页面丢失,500执行请求时发生错误,503无法处理请求

Cookie的作用

会话状态管理,个性化设置,浏览器行为跟踪

Cookie是怎样被设置到浏览器的

服务器发送响应报文包含Set-Cookie首部字段,客户端得到响应报文后将Cookie内容保存到浏览器

Cookie和Session的比较

Cookie存储在浏览器,Session存储在服务器

Cookie限制了数据量(4KB),Session不限量

Cookie不安全,Session安全

Cookie可以设置生存周期,Session不行

Cookie开销小,Session开销大

介绍一下缓存的Cache-Control字段

Expires和max-age区别

Expries:绝对时间,max-age:相对时间

长连接与短连接的原理及应用场景

短连接:一次HTTP通信建立一次TCP连接,应用于用户无需频繁操作,不需要一直获取服务端反馈情况

长连接:建立一次TCP连接,进行多次HTTP通信,应用于操作频繁,点对点通信,而且连接次数不能太多的情况

介绍一下流水线

在同一条长连接上连续发出请求,而不用等待响应返回

HTTP存在的安全问题

使用明文通信,可能被窃听

不验证身份,可能遭遇伪装

无法验证报文完整性,报文可能被篡改

介绍一下HTTPS

HTTP+SSL隧道技术,端口443

HTTPS特点

加密,认证,完整性保护

HTTPS加密过程

服务端发送公钥给客户端,客户端生成一个随机数,产生密钥,使用公钥进行加密,将加密后的密文传输给服务端,服务端使用私钥进行解密。客户端与服务端使用密钥进行通信

什么是数字签名,有什么作用

服务端运营人员向CA提出公钥申请,CA对公钥添加数字签名,作用时完成身份认证

HTTPS认证过程

服务端发送证书,客户端使用数字签名进行认证

介绍一下HTTPS的完整性保护

认证和加密机制保证了HTTPS的完整性保护的特点

HTTP1.x的缺陷

客户端需要使用多连接才能实现并发和减少延迟

不会压缩请求和响应首部

不支持有效的资源优先级

HTTP2的特点

二进制分帧层、服务端推送、首部压缩

HTTP1.1的新特性

默认长连接、支持流水线、支持多个TCP连接,新增状态码100,新增max-age

HTTP与FTP比较

HTTP访问网页,FTP传输文件

HTTP一个连接,FTP两个连接

HTTP端口80,FTP端口20/21(21控制)

HTTP传输文件小,FTP文件大

HTTP无法验证,FTP有验证

浏览器输入一个url后发生了哪些

ARP协议MAC地址解析,DNS域名解析,建立TCP连接,发送HTTP请求,响应,渲染

什么是XSS攻击

利用网页开发留下的漏洞,注入恶意指令到网页

输入一个url,如何改变成HTTPS,怎么确定用HTTP还是HTTPS

服务器监听HTTP80端口,如果服务端购买认证证书,由302重定向到HTTPS

  • © 2020 QSH
  • Powered by Hexo Theme Ayer
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信