计网知识点汇总

本篇博客参考自:https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/计算机网络.md
最近一直在看计网,虽然基础知识过了一遍,但是仍然感觉掌握不牢,可能过一段时间就忘记了,等有时间了找个关于网络的项目做一下,把这些基础再巩固巩固。

一,概述

网络的网络

网络把主机连接起来,而互联网是把多种不同的网络连接起来,因此互联网是网络的网络。
在这里插入图片描述

ISP

互联网服务提供商 ISP 可以从互联网管理机构获得许多 IP 地址,同时拥有通信线路以及路由器等联网设备,个人或机构向 ISP 缴纳一定的费用就可以接入互联网。
在这里插入图片描述
目前的互联网是一种多层次 ISP 结构,ISP 根据覆盖面积的大小分为第一层 ISP、区域 ISP 和接入 ISP。互联网交换点 IXP 允许两个 ISP 直接相连而不用经过第三个 ISP。
在这里插入图片描述

主机之间的通信方式

  • 客户-服务器(C/S):客户是服务的请求方,服务器是服务的提供方。
  • 对等(P2P):不区分客户和服务器。
    在这里插入图片描述

电路交换与分组交换

1.电路交换

电路交换用于电话通信系统,两个用户要通信之前需要建立一条专用的物理链路,并且在整个通信过程中始终占用该链路。由于通信的过程中不可能一直在使用传输线路,因此电路交换对线路的利用率很低,往往不到10%

2.分组交换

分组交换采用存储转发技术。通常我们把要发送的整块数据称为一个报文。在每一个数据段前面,加上一些必要的控制信息组成的**首部(header)**后,就构成了一个分组(packet),
每个分组都有首部和尾部,包含了源地址和目的地址等控制信息,在同一个传输线路上同时传输多个分组互相不会影响,因此在同一条传输线路上允许同时传输多个分组,也就是说分组交换不需要占用传输线路。

时延

总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延
在这里插入图片描述

1.发送时延

主机或路由器发送数据帧所需要的时间
d e l a y = l ( b i t ) v ( b i t / s ) d e l a y = l ( b i t ) v ( b i t / s ) d e l a y = l ( b i t ) v ( b i t / s ) delay=l(bit)v(bit/s)delay=l(bit)v(bit/s) delay=\frac{l(bit)}{v(bit/s)} M3
在这种情况下,只是丢失个别报文段,而不是网络拥塞。因此执行快恢复,令 ssthresh = cwnd/2,cwnd=ssthresh,注意到此时直接进入拥塞避免。
慢开始和快恢复的快慢指的是 cwnd 的设定值,而不是 cwnd 的增长速率。慢开始 cwnd 设定为1.而快恢复 cwnd设定为 ssthresh。
在这里插入图片描述

六,应用层

域名系统

DNS 是一个分布式数据库,提供了主机名和 IP 地址之间相互转换的服务。这里的分布式数据库是指,每个站点只保留它自己的那部分数据。

域名具有层次结构,从上到下依次是:根域名,顶级域名,二级域名。
在这里插入图片描述
DNS 可以使用 UDP 或 TCP 进行传输,使用的端口号都为 53.大多数情况下 DNS 使用UDP 进行传输,这就要求域名解析器和域名服务器都必须自己处理超时和重传来保证可靠性。在两种情况下会使用 TCP 进行传输:

  • 如果返回的响应超过512字节(UDP最大只能支持 512 字节的数据)。
  • 区域传送(区域传送是主域名服务器向辅助域名服务器传送变化的那部分数据)。

文件传送协议

FTP 使用 TCP 进行连接,它需要两个连接来传送一个文件:

  • 控制连接:服务器打开端口号 21 等待客户端的连接,客户端主动建立连接后,使用这个连接将客户端的命令传送给服务器,并传回服务器的应答。
  • 数据连接:用来传送一个文件数据。

根据数据连接是否是服务器端主动建立,FTP 有主动和被动两种模式:

  • 主动模式:服务器端主动建立数据连接,其中服务器端的端口号为20,客户端的端口号随机,但是必须大于1024,因为 0~1023 是熟知端口号。
    在这里插入图片描述
  • 被动模式:客户端主动建立数据连接,其中客户端的端口号由客户端自己指定,服务器端的端口号随机。
    在这里插入图片描述
    主动模式要求客户端开放端口号给服务器端,需要去配置客户端的防火墙。被动模式只需要服务器端开放端口号即可,无需客户端配置防火墙。但是被动模式会导致服务器端的安全性减弱,因为开放了过多的端口号。

动态主机配置协议

DHCP(Dynamic Host Configuration Protocol)提供了即插即用的联网方式,用户不再需要去手动配置 IP 地址等信息。

DHCP 配置的内容不仅是 IP 地址,还包括子网掩码,网关 IP 地址。

DHCP 工作过程如下:

  1. 客户端发送 Discover 报文,该报文的目的地址为 255.255.255.255:67,源地址为0.0.0.0:68,被放入UDP中,该报文被广播到同一个子网的所有主机上。如果客户端和 DHCP 服务器不在同一个子网,就需要使用中继代理。
  2. DHCP 服务器收到 Discover 报文之后,发送 Offer 报文给客户端,该报文包含了客户端所需要的信息。因为客户端可能收到多个 DHCP 服务器提供的信息,因此客户端需要进行选择。
  3. 如果客户端选择了某个 DHCP 服务器提供的信息,那么就发送 Request 报文给该 DHCP 服务器。
  4. DHCP 服务器发送 Ack 报文,表示客户端此时可以使用提供给它的信息。
    在这里插入图片描述

远程登陆协议

TELNET 用于登陆到远程主机上,并且远程主机上的输出也会返回。
TELNET 可以适应许多计算机和操作系统的差异,例如不同操作系统的换行符定义。

电子邮件协议

一个电子邮件系统由三部分组成:用户代理,邮件服务器以及邮件协议。
邮件协议包含发送协议和读取协议,发送协议常用 SMTP ,读取协议常用 POP3 和 IMAP.
在这里插入图片描述

1.SMTP

SMTP 只能发送 ASCII 码,而互联网邮件扩充 MIME 可以发送二进制文件。 MIME 并没有改动或取代 SMTP,而是增加邮件主体的结构,定义了非 ASCII 码的编码规则。
在这里插入图片描述

2.POP3

POP3 的特点是只要用户从服务器上读取了邮件,就把该邮件删除。

3.IMAP

IMAP 协议中客户端和服务器上的邮件保持同步,如果不手动删除邮件,那么服务器上的邮件也不会被删除。
IMAP 这种做法可以让用户随时随地去访问服务器上的邮件。

常用端口

应用 应用层协议 端口号 传输层协议 备注
域名解析 DNS 53 UDP/TCP 长度超过512字节时使用TCP
动态主机配置协议 DHCP 67/68 UDP
简单网络管理协议 SNMP 161/162 UDP
文件传送协议 FTP 20/21 TCP 控制连接21,数据连接20
远程终端协议 TELNET 23 TCP
超文本传送协议 HTTP 80 TCP
简单邮件传送协议 SMTP 25 TCP
邮件读取协议 POP3 110 TCP
网际报文存取协议 IMAP 143 TCP

Web页面请求过程

1. DHCP 配置主机信息

  • 假设主机最开始没有 IP 地址以及其他信息,那么就需要先使用 DHCP 来获取。
  • 主机生成一个 DHCP 请求报文,并将这个报文放入具有目的端口 67 和源端口 68 的 UDP 报文段中。
  • 该报文段则被放入在一个具有广播 IP 目的地址(255.255.255.255)和源 IP 地址(0.0.0.0) 的 IP 数据报中。
  • 该数据报则被放置在 MAC 帧中,将广播到与交换机连接的所有设备。
  • 连接在交换机的 DHCP 服务器收到广播帧之后,不断地向上分解得到 IP 数据报,UDP 报文段,DHCP 请求报文,之后生成 DHCP ACK 报文,该报文包含以下信息: IP 地址,DNS 服务器 的 IP 地址,默认网管路由器的 IP 地址和子网掩码。该报文被放入 UDP 报文段中,UDP报文段有被放入 IP 数据报中,最后放入 MAC 帧中。
  • 该帧的目的地址是请求主机的 MAC 地址,因为交换机具有自学习能力,之前主机发送了广播帧之后就记录了 MAC 地址到期转发接口的交换表项,因此现在交换机就可以直接直到应该向那个接口发送该帧。
  • 主机收到该帧后,不断分解得到 DHCP 报文。之后就配置它的 IP 地址,子网掩码和 DNS 服务器的 IP 地址,并在其 IP 转发表中安装默认网关。

2. ARP解析 MAC 地址

  • 主机通过浏览器生成一个 TCP 套接字,套接字向 HTTP 服务器发送 HTTP 请求。为了生成该套接字,主机需要直到网站域名对应的 IP 地址。
  • 主机生成一个 DNS 查询报文,该报文具有 53 号端口,因为 DNS 服务器的端口号是53.
  • 该DNS 查询报文被放入目的地址为 DNS 服务器 IP 地址的 IP 数据报中。
  • 该 IP 数据报被放入一个以太网帧中,该帧将发送到网关路由器。
  • DNCP 过程只知道网管路由器的 IP 地址,为了获取网管路由器的 MAC 地址,需要使用 ARP 协议。
  • 主机生成一个包含目的地址为网管路由器 IP 地址的 ARP 查询报文,将该 ARP 查询报文放入一个具有广播目的地址的以太网帧中,并向交换机发送该以太网帧,交换机将该帧转发给所有的连接设备,包括网关路由器。
  • 网关路由器接收到该帧后,不断向上分解得到 ARP 报文,发现其中的IP 地址与其接口的 IP 地址匹配,因此就发送一个 ARP 回答报文,包含了它的 MAC 地址,发回给主机。

3. DNS 解析域名

  • 知道了网管路由器的 MAC 地址之后,就可以继续 DNS 的解析过程了。
  • 网关路由器接收到包含 DNS 查询报文的以太网帧后,抽取出 IP 数据报,并根据转发表决定该 IP 数据报应该转发的路由器。
  • 因为路由器具有内部网关协议(RIP,OSPF)和外部网关协议(BGP)这两种路由选择协议,因此路由表中已经配置了网管路由器到达 DNS 服务器的路由表项。
  • 到达 DNS 服务器之后,DNS 服务器抽取出 DNS 查询报文,并在 DNS 数据库中查找待解析的域名。
  • 找到 DNS 记录之后,发送 DNS 回答报文,将该回答报文放入 UDP 报文段中,然后放入 IP 数据报中,通过路由器反向转发回网关路由器,并经过以太网交换机到达主机。

4. HTTP 请求页面

  • 有了 HTTP 服务器的 IP 地址之后,主机就能够生成 TCP 套接字,该套接字将用于向 Web 服务器发送 HTTP GET 报文。
  • 在生成 TCP 套接字之前,必须先与 HTTP 服务器进行三次握手来建立连接。生成一个具有目的端口 80 的 TCP SYN 报文段,并向 HTTP 服务器发送该报文段。
  • HTTP 服务器收到该报文段之后,生成 TCP SYN ACK 报文段,发回给主机。
  • 连接建立之后,浏览器生成 HTTP GET 报文,并交付给 HTTP 服务器。
  • HTTP 服务器从 TCP 套接字读取 HTTP GET 报文,生成一个 HTTP 响应报文,将 Web 页面内容放入报文主体中,发回给主机。
  • 浏览器收到 HTTP 响应报文后,抽取出 Web 页面内容,之后进行渲染,显示 Web 页面。

猜你喜欢

转载自blog.csdn.net/weixin_42187898/article/details/92668820