计算机网络 复习

2021/2/8

 

1. OSI七层模型,TCP/IP四层模型,五层模型

OSI:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层

TCP/IP:网络接口层,网际层,传输层,应用层

五层:物理层,数据链路层,网络层,传输层,应用层

 

2. 三次握手(TCP建立连接)

第一次握手:

客户端发送SYN=1,seq=x(随机)的报文到服务端,并进入SYN-SENT(同步已发送状态)。(这里SYN是同步位,SYN=1表示连接请求或连接接受报文,这种报文不能携带数据);

第二次握手:

服务端向客户端发送报文SYN=1,ACK=1,seq=y(随机),ack=x+1(虽然x是瞎说的,但是我要x+1表示确认),并进入SYN-RCVD(同步已确认接收)。(ACK是确认位,建立连接后的所有ACK都应为1);

第三次握手:

客户端收到服务端的报文后,再发送报文ACK=1,seq=x+1(其实这个报文段可以携带数据了,但如果不携带,则不消耗序列号,所以下一个号仍是x+1),ack=y+1(对服务端y的确认),并进入连接已建立状态。随后服务器收到该报文后也会进入连接已建立状态。

 为什么是三次:防止已过期的请求报文突然传到服务器,产生错误的连接,服务器资源浪费。

 

3. 四次挥手(TCP连接释放)

四次:客,服,服,客

第一次挥手:FIN为终止位,表示释放连接请求,FIN=1的报文段无数据但也消耗一个序列号,seq=u是上一次传输的序列号+1,ack=v是上一次服务器发来的+1;

第二次挥手:由服务器发,所以v就是服务器之前发的+1,ack=u+1就是确认上一报文;

第三次挥手:第二次到第三次之间,客户端不给服务器发了,但是服务器仍可以给客户端发,seq=w就是表面这段时间可能又发了一些,w是最新上一个序列号+1;

第四次挥手:发送确认,服务器收到后彻底关闭,客户端等2个MSL(最长报文段寿命)后关闭。

为什么是四次:因为客户端停止给服务器发了,服务器可能还有给客户端没发完的。

 

4. 以太网MAC帧结构

1500字节就是在传输过程中的最大传输单元,也称为MTU,是指在传输数据过程中允许报文的最大长度。 

 

5. 点对点协议PPP帧

注:ppp(点对点)属于广域网范畴,MAC是局域网范畴;点对点链路属于广域网了,不再是以太网(局域网)所以不用ARP协议。

 

6. MAC地址,IP地址,ARP协议

(1)MAC地址:也称物理地址,硬件地址,只在局域网内标识一个网络接口

(2)IP地址:网络号+主机号,在互联网中标识一个网络节点

(3)ARP协议:知道IP地址寻找MAC地址,先ARP高速缓存表,再广播,收到的响应是单播;类似的有RARP,是MAC找IP。

 

7. IPv4地址

(1)分类编址

注意:A类网络号中0和127也不能用,所以再-2;B,C不用-2

(2)子网划分

直接分配一个B类网络有65534个主机,如果用不完会浪费,所以可以取出一部分主机号位,用于子网划分;

子网掩码 & IP地址 = 网络号;

默认子网掩码:A类网8个1,B类网16个1,C类网24个1

(3)无分类编址的IPv4

(4)划分ABC类是为了适应不同的网络规模,A类适用于大型网络,C类适用于小型网络 

 

8. IP数据报首部格式

 

 

9. 网际控制报文协议ICMP(IP层)

为了提高交付成功的机会,网际层使用ICMP协议;主机或路由器使用ICMP来发送差错报告报文和询问报文。

差错报告报文有:终点不可达,源点抑制,时间超过,参数问题,改变路由

询问报文有:回送请求和回答,时间戳请求和回答

 

10. 如何理解IP的不可靠和无连接

不可靠:指的是不能保证数据报能成功地到达目的地。发生错误时候,丢弃该数据包,发送 ICMP 消息给信源端。

无连接:IP 不维护关于后续数据报的状态信息。可能发过去到达顺序不一样。
 

11. TCP拥塞控制

第一组:慢开始+拥塞避免

第二组:快重传(要求接收方不是等到发送数据时捎带确认,而是收到后立即发送确认报文;发送方一旦收到三个累计确认报文段,就对该报文立即重传,而不是等超时)

+快恢复(门限值设置为当前窗口的一半,而不是降到1)

 

 

12. TCP可靠传输

滑动窗口+累计确认

 

13. TCP首部格式

TCP在发送数据时,是从缓存中取出一部分或全部字节并给其添加一个首部来使其成为TCP报文段后进行发送。

TCP首部如下:

 序号与确认号即seq,ack

 

14. 应用层协议

(1)HTTP超文本传输协议:用于客户端与服务器之间通信的万维网协议

                        

(2)DNS域名系统:将具有特定含义的主机名(域名)转为便于机器处理的IP地址

DNS报文主要使用运输层的UDP协议封装,端口号53;

域名查询方式有递归查询,迭代查询

(3)FTP文件传输协议

FTP客户与服务器之间建立两个并行的TCP连接;

21端口用于控制连接,传输FTP相关命令;

20端口用于数据连接,文件传输时才建立,传输结束就关闭,如果非主动模式则不一定是20端口。

(4)SMTP简单邮件传送协议

基于TCP连接,端口号25;只能传送ASCll码文本。

 

15. NAT网络地址转换协议

所有使用本地地址(私网IP地址)的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。

 

16. 输入网址到网页显示的整个流程

(1)输入www.baidu.com之后,通过DNS域名系统将域名解析成IP地址

 先递归查询本地域名服务器,在迭代查询根、顶级、权限域名服务器

(2)基于http协议发送http请求报文

HTTP请求最开始处于应用层,然后逐层向下传输。具体来说,HTTP请求的传输过程如下:

  1. 应用层:HTTP请求最开始处于应用层,由客户端发起,请求客户端与服务器之间进行通信。

  2. 传输层:HTTP请求通过传输层的协议(如TCP或UDP)进行传输。如果使用TCP协议,需要在客户端和服务器之间建立TCP连接。TCP协议提供可靠的数据传输,并确保数据的顺序和完整性。

  3. 网络层:HTTP请求通过网络层的IP协议进行传输。IP协议负责将数据包从一个网络节点传输到另一个网络节点,同时提供寻址和路由功能。如果客户端和服务器不在同一个网络中,则需要通过路由器进行传输。

  4. 数据链路层:HTTP请求通过数据链路层的协议(如以太网协议)进行传输。数据链路层负责将数据包从一个物理节点传输到另一个物理节点,同时提供错误检测和纠正功能。

  5. 物理层:HTTP请求最终通过物理层的传输介质(如网线、光纤等)进行传输。

(3)浏览器接收响应报文,在浏览器渲染成页面

 

17. TCP一方断开

如果TCP连接中,一方异常断开,则发送方发送数据后收不到确认包,会尝试重传几次,几次失败后会发送一个RST包,会收到对方状态为CLOSED或LISTEN。

 

2023/1/6

 

18. 计算机网络设备

(1)网卡:即网络适配器,具有独一无二的mac地址,将数据封装成以太网帧交给上层,是主机和网络数据传输的桥梁。是数据链路层的设备。

(MAC地址又叫物理地址,理论上是没法修改的,因为其是固化在网卡的ROM中,是全世界唯一的;但是在电脑上的MAC地址由于是使用了软MAC技术,即系统读取MAC地址后放在一个表中)

(2)交换机:是一个扩大网络的器材,通过建立MAC地址和端口的映射关系,能为子网络中提供更多的连接端口,这样一个网络就可以连接更多的计算机。是数据链路层的设备。

(3)DHCP服务器:即动态主机配置协议服务器,当电脑连网时,DHCP服务器从ip池中临时分配一个ip给我,每次上网时的ip可能不一样,下线后ip可能分配给之后上线的其他电脑

(4)NAT(网络地址转换,在路由器上):即公有IP(世界公开的)和私有IP(DHCP分配的)相互转换,NAT解决了IP不足的问题也有效避免外部网络入侵。属于网络层。

(5)路由器:计算机通过网卡(网络接口)连接到路由器以访问物联网,路由器给计算机分配局域网上的一个私有ip,并通过NAT协议转化一个公有ip给计算机,还通过路由算法将数据包转发到网络的下一地址。路由器下游是调制解调器,将数字信号转成模拟信号在物理介质上进行传输。是网络层的设备。

 

19. 计算机网络性能指标

(1)速率

数字信道上传输比特的速率,也称比特率数据率(b/s)

速率中的k是1000,存储容量中的k是1024

(2)带宽

表示一段通信线路传输数据的能力,即最高数据率(b/s)

(3)吞吐量

表示在单位时间内通过某个网络的数据量(b/s)

吞吐量受网络的带宽或网络的额定速率的限制,1Gb/s的带宽实际吞吐量可能只有700Mb/s

吞吐量和速率是一个概念,即实际值,带宽相当于最大值

(4)时延

发送时延(取决于网卡发送速率,信道带宽,和接口速率)

传播时延=信道长度/电磁波传播速率

处理时延

(5)时延带宽积

传播时延 * 带宽

(6)往返时间

(7)利用率

信道利用率:用来表示某条信道有百分之几有数据通过;不是越高越好,利用率高于50%时时延会急剧增加

网络利用率:全网络信道的加权平均

(8)丢包率

丢失的分组和总分组的比率(普通用户意识不到丢包)

 

2023/3/23

20. 公网ip和内网ip

(1)公网ip:公网IP地址是指计算机在公共互联网中的唯一标识,可以被任何一个网络访问到。如果需要查看计算机的公网IP地址,需要使用特殊的工具或服务来查询,例如网站 https://www.whatismyip.com 可以查询计算机的公网IP地址。或使用命令

curl ipconfig.me

(2)内网ip:内网IP是由本地网络管理员分配的IP地址,用于在局域网或内部网络中标识设备。

ipconfig

 

21. VPN的原理

(1)网卡:网卡(即网络适配器)是决定计算机请求发向哪里的设备。

在计算机中,每个网卡都有一个唯一的MAC地址(Media Access Control Address),它用于标识该网卡在网络中的唯一性。当计算机向网络中发送数据包时,它会将数据包发送到目标MAC地址。如果目标MAC地址与接收方计算机中任何一个网卡的MAC地址匹配,则该数据包将被该网卡接收并进行处理;否则,该数据包将被丢弃。

(2)网关:网关是一个网络的“出口”,当一个设备需要将数据包发送到另一个网络时,它会将数据包发送到网关的IP地址,然后,网关将数据包转发到目标网络。网关通常对应一个IP地址,该IP地址用于在不同网络之间进行数据包转发。

(3)VPN软件就是在计算机中创建了一个虚拟网络接口(VPN虚拟网卡),这个接口的默认网关设置为VPN服务器的ip地址,因此所有的请求都会先通过VPN加密隧道发送给VPN服务器,再由VPN服务器转发到目标服务器,VPN服务器接收了目标服务器的返回后转发回VPN客户端。

注:真实传输时,操作系统还是会先把虚拟网络接口路由到物理接口,然后通过本地路由器传输到网络,然后传输到VPN服务器。在本地到VPN服务器过程中,数据包IP是真实IP;但到了VPN服务器后,数据包IP被替换为VPN服务器分配的虚拟IP,然后传输到目标服务器。

默认网关:当计算机或网络设备发送数据包时,如果目标IP地址不在本地网络中,则该数据包将被发送到默认网关,并由默认网关负责将数据包路由到正确的目标网络或主机。默认网关通常是本地网络。

(4)使用VPN后公网ip和内网ip都会变化

公网ip变成VPN服务器的地址;

内网ip变成VPN为计算机分配的一个虚拟内网ip,这个ip通常位于VPN服务器所在网络中

 

22. 一个 HTTP 网络请求,从浏览器输入地址开始,到最终接收返回的页面,经历的完整流程

  1. 用户在浏览器中输入网址,浏览器会首先查找本地缓存来获取网址对应的 IP 地址。如果缓存中没有对应的 IP 地址,则浏览器会向 DNS 服务器发送一个 DNS 查询请求,以获取对应网址的 IP 地址。

  2. 浏览器根据 IP 地址与服务器建立 TCP 连接。TCP 是一种可靠的协议,它可以保证数据传输的可靠性。在建立连接之前,浏览器会通过三次握手的方式与服务器进行通信,确认连接的可靠性。

  3. 通过建立的 TCP 连接,浏览器向服务器发送 HTTP 请求报文。HTTP 请求报文包含了请求行、请求头、请求体等信息,用来描述客户端需要的资源和服务。例如,请求行包括了请求方法(GET、POST等)、请求的资源路径、HTTP 协议版本等。

  4. 服务器接收到 HTTP 请求报文后,根据请求报文中的资源路径等信息,从服务器中获取相应的资源,生成 HTTP 响应报文,并通过建立的 TCP 连接发送回客户端。HTTP 响应报文包括了状态行、响应头、响应体等信息,用来描述服务器提供的资源和服务。例如,状态行包括了响应状态码(200、404等)、HTTP 协议版本等。

  5. 浏览器接收到 HTTP 响应报文后,解析报文中的内容,根据响应状态码等信息进行处理。如果状态码为 200,表示请求成功,浏览器会将响应体中的内容显示在页面上;否则,表示请求失败,浏览器会显示相应的错误信息。

  6. 在浏览器接收到 HTTP 响应报文之后,如果响应头中包含了缓存信息,浏览器会将响应内容缓存起来,以便下次访问相同资源时可以直接从本地缓存中获取,提高访问速度。

 

23.

posted @ 2021-02-09 00:11  Kinghao0319  阅读(106)  评论(0编辑  收藏  举报