复习阶段-计算机网络基础

OSI(七层)与TCP/IP(四层)各层的结构与功能、

物理层:

在物理层是所传数据的单位是比特。 物理层(physical layer)的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。

数据链路层:

以太网协议

一套协议,能够实现将物理层的01信号进行分组等处理,规定电信号的含义是什么。数据链路层通常简称为链路层。我们知道,两台主机之间的数据传输,总是在一段一段的链路上传送的, 这就需要使用专门的链路层的协议。在两个相邻结点之间传送数据时,数据链路层量网络层交下来的IP数据报封装成帧(frameing),在两个相邻节点间的链路上传送帧, 每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错信息等)。

网络层:

IP协议

网络层负责为分组交换网上的不同主机提供通信服务。在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点, 确保数据及时传送。 在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组和包进行传送。在 TCP/IP 体系结构中,由于网络层使用 IP 协议,因此分组也叫 IP 数据报 ,简称 数据报。也就是不同网络下,两台电脑之间链接

运输层

TCP UDP协议

运输层(transport layer)的主要任务就是负责向两台主机进程之间的通信提供通用的数据传输服务。

应用层

HTTP DNS

应用层(application-layer)的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。

在这里插入图片描述

为什么三次握手

三次握手目的是建立可靠的通信信道,说到通讯,简单的来说就是数据的发送与接受,而三次握手最主要的目的就是双方确定自己与对方的发送与接受是正常的。

第一次握手:Client什么都不能确认;Service确认了对方发送正常,自己接受正常

第二次握手:Client确认了:自己发送、接受正常,对方发送、接收正常;Service确认了:对方发送正常,自己接收正常。

第三次握手:Client确认了:自己发送、接收正常,对方发送、接受正常;Service确认了:自己发送正常、接收正常,对方发送、接收正常。

所以三次握手就能确定双发收发功能都正常,缺一不可。

为什么不能改成两次握手?

有人会困惑为什么要进行三次握手呢(两次确认)?这主要是为了防止已失效的请求连接报文忽然又传送到了,从而产生错误。
假定A向B发送一个连接请求,由于一些原因,导致A发出的连接请求在一个网络节点逗留了比较多的时间。此时A会将此连接请求作为无效处理 又重新向B发起了一次新的连接请求,B正常收到此连接请求后建立了连接,数据传输完成后释放了连接。如果此时A发出的第一次请求又到达了B,B会以为A又发起了一次连接请求,如果是两次握手:此时连接就建立了,B会一直等待A发送数据,从而白白浪费B的资源。 如果是三次握手:由于A没有发起连接请求,也就不会理会B的连接响应,B没有收到A的确认连接,就会关闭掉本次连接。

TCP四次挥手

断开TCP连接则需要“四次挥手”:

客户端 - 发送一个FIN,用来关闭客户端到服务器的数据传送。
服务器 - 收到这个FIN,它发挥一个ACK,确认序号为收到的序号加1.和SYN一样,一个FIN将占用一个序号
服务器 - 关闭与客户端的连接,发送FIN给客户端
客户端 - 发挥ACK报文确认,并将确认序号设置为收到序号加1

HTTP 1.0和HTTP 1.1的主要区别是什么?

HTTP1.0最早在网页中使用是在1996年,那个时候只是使用一些较为简单的网页上和网络请求上,而HTTP1.1则在1999年才开始广泛应用于现在的各大浏览器网络请求中,同时HTTP1.1也是当前使用最为广泛的HTTP协议。 主要区别主要体现在:

1、长连接 : 在HTTP/1.0中,默认使用的是短连接,也就是说每次请求都要重新建立一次连接。HTTP是基于TCP/IP协议的,每一次建立或者断开连接都需要三次握手四次挥手的开销,如果每次请求都要这样的话,开销会比较大。因此最好能维持一个长连接,可以用个长连接来发多个请求。HTTP1.1起,默认使用长连接 ,默认开启Connection: keep-alive。 HTTP/1.1的持续连接有非流水线方式和流水线方式 。流水线方式是客户在收到HTTP的响应报文之前就能接着发送新的请求报文。与之相对应的非流水线方式是客户在收到前一个响应后才能发送下一个请求。
2、错误状态响应码
在HTTP1.1中新增了24个错误状态响应码,如409(Conflict)表示请求的资源与资源的当前状态发生冲突;410(Gone)表示服务器上的某个资源被永久性的删除。

http2.0变化巨大。

1 http支持多路复用,同一个连接可以并发处理多个请求,方法是把http数据包拆为多个帧,并发有序的发送,根据序号在另一端进行重组,而不需要一个个http请求顺序到达。

2 http2.0支持服务端推送,就是服务端在http请求到达后,除了返回数据之外,还推送了额外的内容给客户端。

3HTTP2.0压缩了请求头,同时基本单位是二进制帧流,这样的数据占用空间更少。

4http2.0只适用于https场景,因为其在http和tcp中间加了一层ssl层。

HTTP 和 HTTPS 的区别?

1、端口 :HTTP的URL由“http://”起始且默认使用端口80,而HTTPS的URL由“https://”起始且默认使用端口443。

2、安全性和资源消耗:

HTTP协议运行在TCP之上,所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份。HTTPS是运行在SSL/TLS之上的HTTP协议,SSL/TLS 运行在TCP之上。所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥用服务器方的证书进行了非对称加密。所以说,HTTP 安全性没有 HTTPS高,但是 HTTPS 比HTTP耗费更多服务器资源。

对称加密:密钥只有一个,加密解密为同一个密码,且加解密速度快,典型的对称加密算法有DES、AES等;
非对称加密:密钥成对出现(且根据公钥无法推知私钥,根据私钥也无法推知公钥),加密解密使用不同密钥(公钥加密需要私钥解密,私钥加密需要公钥解密),相对对称加密速度较慢,典型的非对称加密算法有RSA、DSA等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值