计算机网络 复习
一、Http,Https
1.1 https定义
https是在应用层和传输层之间建立了安全套接字层(ssl/tls)
- ssl 安全套接字层
- tls 传输层安全协议
1.2 https作用
- 内容加密 建立一个信息安全通道,来保证数据传输的安全
- 身份认证 确定网站的真实性
- 数据完整性 防止数据被第三方冒充或者篡改
1.3 http特点
- 超文本传输协议,是一个应用层协议,负责把web服务器的文本数据传到本地浏览器
- 他的特点是客户端向服务端发送请求,需要服务端的响应,请求结束后,会主动释放连接,从建立连接到释放连接的过程称为“一次连接”。
- 基于tcp的协议
- 建立在请求,响应模式之上。
- 无状态的,他的每次请求都是独立的,之间不会产生联系,同一个客户端的多个请求他不会标识这些请求属于同一个客户端。对上个请求的数据不会关联到本次请求。
1.4 http和https的区别
-
http是无状态的,且通过http传输的数据都是明文状态,是不安全的,https采用基于密钥的加密算法会对传输的数据进行加密,所以是比较安全的。而https安全的原因是就是结合了 SSL/TLS 和 TCP 协议,SSL/TLS的核心是非对称加密。
-
https协议需要到CA申请证书。
-
http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
1.5 socket
- 为了实现通信而建立的通信管道,实际上是客户端和服务器端的一个通信进程,通信的规则由协议规定。
- 对tcp/ip进行封装,本身不是协议,而是一个调用接口。
- 应用层与tcp/ip簇之间进行通信的中间软件抽象层
1.6 Http1.0和http1.1的区别
Http1.0中,客户端,每发送一次请求就需要建立一次连接,因此一个包含html内容,页面的图片就需要建立多次短期的连接,而在http1.1中,可以建立持续性的连接,并且可以重复使用,这样就可以使用这条连接进行多次的请求和响应。
1.7 http概念</font。
http全称超文本传输协议,他是应用层方面的协议,他定义了客户端与网站服务端之间进行图片,文本,文字,视频,音频等超文本数据传输的约定和规范。比如他约定了一些状态码等。
1.8 http字段
- host:指定访问对象的域名,www.baidu.com,以及监听的端口号
- Content-Length:服务端数据返回时数据的长度
- Connection: Keep-Alive:保持长链接,该链接不会中断,直到客户端或者服务端主动断开连接。
- Content-Type:服务端告诉客户端返回数据的类型
- Accept: /:客户端告诉服务端可以接受的类型
- Content-Encoding:服务端告诉客户端数据的压缩方法
1.9 状态码
1xx,2xx,3xx,4xx,5xx
301:资源永久重定向,302:资源临时重定向
401:需要认证
403:拒绝请求
二、7层网络模型
2.1 get和post的区别
- 是否有副作用
- get方式,获取一个资源,反复读取数据而不会对数据产生副作用,所以就可以用来作为缓存。
- post方式:比如说form表单的sumbit键,点击提交,是会对数据产生负作用的,所以,不适合作为缓存,如果重新执行post请求,浏览器会给提示重新执行会产生副作用,
- 携带的数据格式(仅限于浏览器发送请求的场景)
- get请求如果要携带参数,需要一个url,因此他可以在地址栏输入参数,或者在<a>标签中携带参数。
- 浏览器的post请求都来自表单提交每次提交,表单的数据被浏览器编码到http请求的body中。
- Rest规范中
REST充分运用GET、POST、PUT和DELETE,约定了这4个接口分别获取、创建、替换和删除“资源”
-
安全性
get请求相对post请求来说稍微不安全,因为,get请求的参数在地址栏上,都不安全,是因为get和post数据通过http传输,http是明文协议,数据在网络中传播,本身就不安全。 -
编码
get参数支持ascll码,post参数支持任意编码,(在http中的url和body中来说)
- 发送
- GET产生一个TCP数据包,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
- POST产生两个TCP数据包,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据),header中是控制信息,data中才是数据
2.2 网络7层模型
参考:网络模型(7层网络模型)
- 物理层
将现实世界用0,1比特流表示 - 数据链路层
将收到的数据进行mac地址的封装与解封装
*网络层
将收到的数据进行ip地址的封装与解封装
-
传输层
将接受的数据进行分段和传输,到达目的地后进行重组。这一层的数据主要称为段 -
会话层
负责发起会话请求或者接收会话 -
表示层
对数据进行解释,加密与解密,压缩与解压缩 -
应用层
为一些终端应用提供服务,直接面向用户。
三、tcp,udp
3.1 tcp三次链接
- syn=1,seq=x,客户端变成syn_sent
- syn=1.seq=y,ack=x+1,服务端变成syn_recv,客户端变成established
- ack=y+1,服务端变成established
3.2 四次挥手
- fin=1,seq=x,客户端进入fin_wait1状态
- ack=1,ack=u+1,服务端进入close-wait,客户端进入fin_wait2
- fin=1,seq=y,客户端进入time_wait状态,服务端进入last_ack状态
- ack=y+1,客户端进行关闭
3.3 TCP和UDP的区别
UDP&TCP的区别
tcp和Udp是传输层的协议,tcp提供的是面向链接,可靠的传输服务,即tcp在传输前会通过三次握手建立链接,传输完成后通过4次挥手断开连接,它通过提供一系列措施保证传输的可靠性比如:序列检测,超时重发,重复检测,流量控制,拥塞控制等技术。UDP是无连接的,不可靠的传输协议,只负责把数据包传输出去,不保证数据报的丢失,重复等问题,由于不需要建立连接的过程,所以速度非常快。
3.3.1 相同点
- UDP协议和TCP协议都是传输层协议
- TCP(Transmission Control Protocol,传输控制协议)提供的是M面向连接,可靠的字节流服务。即客户和服务器交换数据前,必须现在双方之间建立一个TCP连接,之后才能传输数据。并且提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。
- UDP(User Data Protocol,用户数据报协议)是一个简单的面向数据报的运输层协议。它不提供可靠性,只是把应用程序传给IP层的数据报发送出去,但是不能保证它们能到达目的地。由于UDP在传输数据报前不用再客户和服务器之间建立一个连接,且没有超时重发等机制,所以传输速度很快。
3.3.2 syn
SYN:同步序列编号(Synchronize Sequence Numbers)。是TCP/IP建立连接时使用的握手信号。在客户机和服务器之间建立正常的TCP网络连接时,客户机首先发出一个SYN消息,服务器使用SYN+ACK应答表示接收到了这个消息,最后客户机再以ACK消息响应。这样在客户机和服务器之间才能建立起可靠的TCP连接,数据才可以在客户机和服务器之间传递。
1.4 ack
ACK (Acknowledge character)即是确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符。表示发来的数据已确认接收无误。
在TCP/IP协议中,如果接收方成功的接收到数据,那么会回复一个ACK数据。通常ACK信号有自己固定的格式,长度大小,由接收方回复给发送方。
四、VLAN
4.1、VLAN概念
VLAN(Virtual Local Area Network)的中文名为"虚拟局域网"。虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。
4.2 优点
VLAN是一种比较新的技术,工作在OSI参考模型的第2层和第3层,一个VLAN就是一个广播域,VLAN之间的通信是通过第3层的路由器来完成的。与传统的局域网技术相比较,VLAN技术更加灵活.
- 网络设备的移动、添加和修改的管理开销减少
- 可以控制广播活动;
- 可提高网络的安全性。在计算机网络中,一个二层网络可以被划分为多个不同的广播域,一个广播域对应了一个特定的用户组,默认情况下这些不同的广播域是相互隔离的。不同的广播域之间想要通信,需要通过一个或多个路由器。这样的一个广播域就称为VLAN。
五、DNS
5.1 DNS
应用层协议,将域名解析为IP地址
5.2 组成
- 根域名服务器:知道到com,.net一级域名的顶级域名服务器地址
- 顶级域名服务器:知道二级域名对应的权威域名服务器地址
- 权威域名服务器:存储DNS与IP
- 本地域名服务器:代理
5.3 DNS查询
- 本地浏览器缓存
- 路由器缓存
- DNS服务器缓存
六、ARP,NET(网络层)
6.1 ARP
IP转为MAC地址
6.2 NET
内部网的地址转为外部网的地址,路由器管理子网IP,子网中的主机对服务器发送请求,经过路由器,最终是路由器的IP与服务的IP进行请求交换,然后将结果,由路由器转发给子网的主机。路由器的net转换表存储着转换信息。
七、IP协议
7.1 概念
网际协议,主要作用是屏蔽物理层网络的杀意,为上层提供IP数据报。
7.2 特点
IP 协议提供无连接的、不可靠的、尽力的数据报投递服务。
- 发送端随时发送数据,接收端不知道发送端什么时候发送
- 不可靠:只进行传输,不保证数据的完整性
- IP负责原IP地址到目的IP地址的传输,数据链路层负责每一段区间数据帧的传输
7.3 IP地址分类
A-E5类,分类号,网络号,主机号,分类号分别是1-5位,网络号是7的倍数,7-28,主机号是8的倍数。总共32位。
- 再将主机号划分为主机号+子网号
7.3.1 子网掩码
子网掩码将某个IP地址划分为网络地址和主机地址。
A类的子网掩码:255.0.0.0
B…255.255.0.0