计算机网络知识

**整理目的:**计算机网络方面基础很差,缺乏明确学习目标(学到什么程度?哪些必须掌握?)
争取看懂之前面试题的记录。
非常破碎的记录

在DNS(Domain Name System)中,MX(Mail Exchange)记录用于指定邮件服务器的地址,以便将电子邮件发送到特定域名的收件人。NS(Name Server)记录用于指定域名的域名服务器,这些服务器负责解析特定域名的IP地址。MX记录和NS记录是DNS系统中重要的记录类型,用于指导电子邮件和域名解析流量的路由。

非常破碎的记录
学习方法:
找优秀文档整理归纳,在B站看教学视频

询问GPT,自己定几个目标点:

  1. OSI七层模型和TCP/IP四层模型:了解各层的功能和协议,以及它们之间的对应关系。
  2. IP地址和子网划分:包括IPv4和IPv6的地址表示、分类、私有地址、子网掩码等。
  3. TCP和UDP协议:了解它们的特点、区别、应用场景以及常见的端口号。
  4. HTTP和HTTPS协议:了解请求响应的过程、状态码、报文格式等。
  5. DNS解析:了解域名解析的过程、记录类型、DNS缓存等。
  6. 路由器和交换机:了解它们的功能、工作原理、区别以及常见的路由算法。
  7. 网络安全:了解常见的网络攻击类型、防范措施、加密算法等。
  8. 网络性能优化:了解延迟、带宽、吞吐量等概念,以及网络优化的方法。

1.OSI七层模型

通俗易懂解释OSI七层模型:
OSI七层协议通俗解读

各层总结:

OSI(Open Systems Interconnection)七层模型是人为划分的概念,目的是对网络请求这个过程的一系列协议进行一些分类,利于理解?OSI七层模型是常用的划分模型,也有其他模型。
分别为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

1.1物理层

物理层即网线,提供最基本的物理支持。即使是WiFi这种看起来无线的,也要路由器作为物理支持,我理解这就是物理层。
物理层传输的是1001011101这样的二进制流,所以物理层的单位为bit

Etherent

在物理层中,Ethernet定义了如何在传输介质(如双绞线、光纤)上发送和接收数据帧。它规定了电气特性、信号传输方式等细节,以确保数据能够可靠传输。

1.2数据链路层

数据链路层负责分帧,或者说分组,因为一堆电信号(二进制流)传过来,无法知道从哪里开始读到哪里结束。这里用到了以太网协议Ethernet(协议就是标准,标准就是协议)。

Ethernet(IEEE 802.3)

在数据链路层,Ethernet通常指的是IEEE 802.3标准定义的一种协议,用于在局域网(LAN)中实现数据链路层的功能。IEEE 802.3定义了以太网帧的格式、地址解析协议(ARP)、流控制等内容,以确保在局域网中的设备可以进行通信。

一组电信号叫一个“帧”。每一数据帧分为:报头head和数据data两部分。

head包含:(固定18字节)
- 发送者(源地址,6字节)
- 接受者(目标地址,6字节)
- 数据类型(6字节)
data包含:(最短46字节,最长1500字节)

这里的地址是mac地址,即物理地址。Ethernet协议要求所有接入Internet的设备必须具有网卡,每块网卡出厂时被烧录一个mac地址,全球唯一。由48位二进制数组成,由12位十六进制数表示
如果在局域网内通信,只需要mac地址就可以找到彼此了。局域网内通信采用广播的方式。但如果是两个局域网之间通信,就需要网关来联系两个局域网。就来到了网络层。

1.3网络层

网络层单位为数据包(Packet)

IP

网络层用IP协议来唯一确定每一个设备,属于逻辑地址。
IP地址通常由32位(IPv4)或128位(IPv6)二进制数字组成,用点分十进制表示。例如,IPv4地址格式为 xxx.xxx.xxx.xxx,其中每个 xxx 表示一个8位二进制数,范围为0-255。

IP数据包裹在数据链路层数据包的数据部分。
在这里插入图片描述

ARP

这里还用到了ARP协议。

ARP(Address Resolution Protocol)是一种用于将IP地址映射到MAC地址的协议,它在局域网中起着重要作用。ARP协议的主要原理如下:

  • ARP请求(ARP Request):当一台设备需要发送数据到另一台设备时,它会首先检查目标设备的IP地址是否在同一局域网中。如果是,它会发送一个ARP请求广播到局域网中,请求目标设备的MAC地址。

  • ARP应答(ARP Reply):目标设备接收到ARP请求后,会向发送ARP请求的设备发送ARP应答,包含自己的MAC地址。这样,发送设备就可以将目标设备的IP地址和MAC地址映射起来,以便进行数据传输。

  • ARP缓存(ARP Cache):设备在收到ARP应答后,会将IP地址和MAC地址的映射关系存储在ARP缓存中,以便后续的数据传输。这样可以避免每次通信都需要发送ARP请求。

总结来说,ARP协议的作用就是将IP地址和MAC地址进行映射,以便设备在局域网中进行数据通信。

MAC地址全球唯一的话,为什么还需要IP地址来标识呢?只使用MAC地址不就好了?

尽管MAC地址在全球范围内是唯一的,但它仅在局域网内起作用。以下是为什么我们需要同时使用IP地址和MAC地址的原因:

  1. 网络层和数据链路层的区别:MAC地址是在数据链路层使用的,它用于在同一局域网内唯一标识设备。而IP地址是在网络层使用的,它用于在全球范围内唯一标识设备,并且允许设备在不同网络之间通信。

  2. 路由器和子网划分:路由器在不同子网之间转发数据包时,需要知道目标设备的IP地址,而不是MAC地址。IP地址允许设备在不同子网之间通信,而MAC地址只能在同一子网内通信。

  3. 网络扩展和管理:使用IP地址可以更灵活地管理网络中的设备,并允许网络扩展到更大的规模。IP地址还可以按照层次结构进行分配和管理,而MAC地址没有这样的结构。

综上所述,尽管MAC地址在局域网内是唯一的,但使用IP地址可以更好地支持跨网络通信、网络管理和扩展。因此,在网络通信中,IP地址和MAC地址各自扮演着不同的角色,共同协作以实现设备间的通信。

1.4传输层

IP地址负责在不同局域网间通信,MAC地址负责在同一个局域网内通信。找到目标计算机后,计算机上有许多应用程序,就好像一栋楼的一个个房间,我们还需要知道要到哪个房间去。
每个应用程序有一个端口号,传输层就负责端口到端口的通信。端口号也称为程序地址。
端口范围0-65535,0-1023为系统占用端口

端口号

在计算机网络中,端口号是用来标识不同应用程序或服务的通信端口。端口号的范围是从0到65535,总共有65536个端口号可供使用。端口号可以分为以下几个范围:

  1. 系统端口(Well-known Ports):范围是0到1023,这些端口号通常被系统或标准服务占用,例如:

    • 80:HTTP服务
    • 443:HTTPS服务
    • 25:SMTP服务
    • 22:SSH服务
    • 等等
  2. 注册端口(Registered Ports):范围是1024到49151,这些端口号可以被用户或应用程序注册使用,但通常也有一些常见的服务占用,例如:

    • 3306:MySQL数据库服务
    • 5432:PostgreSQL数据库服务
    • 8080:HTTP代理服务
    • 等等
  3. 动态和/或私有端口(Dynamic and/or Private Ports):范围是49152到65535,这些端口号可以被动态分配给客户端应用程序使用,用于临时通信或私有通信。

在进行网络通信时,源端口和目标端口号一起构成了一个套接字(Socket),用于唯一标识通信的两端。端口号的合理分配和使用是保证网络通信正常运行的重要因素之一。

TCP、 UDP

TCP和UDP分别拥有自己的端口号,二者互不干扰,可以共存于同一台主机。也可以共用一个端口号。

TCP有序性:
TCP是一种面向连接的可靠传输协议,其保证数据的可靠性有序性。TCP通过序号来标识每个数据段的位置,接收方会按照序号的顺序重新组装数据,从而保证数据的有序性。如果接收方收到的数据不是按序号顺序的,会要求重新发送数据或者缓存数据,直至数据的顺序恢复正常。

UDP报文长度:
UDP是一种无连接的传输协议,它不具有TCP的拥塞控制和有序性,因此在传输效率上更高,但也更不可靠。UDP报文的长度通常有限制,由底层网络协议的最大传输单元(MTU)决定。在IPv4网络中,UDP报文的最大长度为65507字节(包括UDP头部和IP头部),超过这个长度会导致数据包被分片。在IPv6网络中,UDP报文的最大长度为65527字节。通常建议尽量控制UDP报文的大小,以避免出现分片重组等问题,提高网络传输效率。

TCP(Transmission Control Protocol)和UDP(User Datagram
Protocol)是两种常见的传输层协议,用于在网络中传输数据。它们在功能和特点上有所不同:

  1. TCP协议

    • 功能:TCP是一种面向连接的协议,提供可靠的数据传输。它确保数据按照顺序到达目的地,并处理丢失、重复、损坏的数据包。TCP还支持流量控制拥塞控制,以确保网络的稳定性和效率。
    • 数据格式:TCP数据包包括以下字段:
      • 源端口号(16位)
      • 目标端口号(16位)
      • 序列号(32位)
      • 确认号(32位)
      • 数据偏移、保留位、标志位等(32位)
      • 窗口大小(16位)
      • 校验和(16位)
      • 紧急指针(16位)
      • 选项(可变长度)
    • 特点:TCP是一种可靠开销较大的协议,适用于需要可靠数据传输和顺序传输的应用,如网页浏览、文件传输等。
  2. UDP协议

    • 功能:UDP是一种无连接的协议,提供了简单的数据传输服务。它不保证数据的可靠性和顺序性,也不提供流量控制和拥塞控制。UDP适用于实时性要求高、对数据丢失要求不严格的应用。
    • 数据格式:UDP数据包包括以下字段:
      • 源端口号(16位)
      • 目标端口号(16位)
      • 长度(16位)
      • 校验和(16位)
    • 特点:UDP是一种轻量级的协议,传输效率高,适用于实时音视频传输、在线游戏等对传输速度要求高、允许数据丢失的应用。

总的来说,TCP适用于需要可靠数据传输和顺序传输的场景,而UDP适用于对实时性要求高、允许数据丢失的场景。

1.5会话层

负责建立、管理和终止会话,处理会话层协议和同步。

1.6表示层

负责数据的格式转换、加密解密、压缩解压缩等,确保数据的格式统一。
将应用层的数据转换为适合在网络上传输的格式,并在接收方将数据恢复为应用层可识别的格式。常见的表示层协议包括ASCII、EBCDIC、JPEG、GIF等。

1.7应用层

规定应用程序的数据格式。
例:TCP协议可以为各种各样的程序传递数据,比如Email、WWW、FTP等等。那么,必须有不同协议规定电子邮件、网页、FTP数据的格式,这些应用程序协议就构成了”应用层”。

DNS

DNS(Domain Name System)是一种用于将域名(如example.com)转换为对应IP地址(如192.0.2.1)的分布式命名系统。通过DNS,用户可以使用便于记忆的域名来访问互联网资源,而无需记住复杂的IP地址。

DNS的主要功能包括以下几个方面:

  1. 域名解析:DNS将用户输入的域名解析为对应的IP地址,以便在互联网上定位和访问特定的服务器或网站。

  2. 递归查询:当本地DNS服务器无法直接解析域名时,会向其他DNS服务器发起递归查询,直到找到对应的IP地址。

  3. 缓存:DNS服务器会缓存已解析的域名和IP地址映射关系,以提高查询效率,并减轻对根域名服务器的负载。

  4. 负载均衡:DNS可以配置多个IP地址对应同一个域名,实现负载均衡,分散用户请求到不同的服务器上。

  5. 反向解析:DNS还支持反向解析,即根据IP地址查询对应的域名,用于确认服务器的真实身份。

HTTP

HTTP协议(Hypertext Transfer Protocol)/超文本传输协议:

  • 功能:HTTP是一种用于传输超文本数据(如HTML页面、图片、视频等)的应用层协议,它建立在TCP协议之上,用于在客户端和服务器之间传输数据。

  • 特点:HTTP是无状态协议,每个请求都是独立的,服务器不会保存客户端的状态信息。每个HTTP请求由请求方法(GET、POST等)、请求头部请求体组成,服务器响应包括状态码响应头部响应体

  • 工作流程:客户端发送HTTP请求到服务器,服务器接收请求并处理,然后返回HTTP响应给客户端。常见的HTTP方法包括GET(获取资源)、POST(提交数据)、PUT(更新资源)、DELETE(删除资源)等。

FTP

FTP协议(File Transfer Protocol):

  • 功能:FTP是一种用于在客户端和服务器之间传输文件的协议,它建立在TCP协议之上。FTP允许用户上传和下载文件到服务器,进行文件管理操作。

  • 特点:FTP使用两个连接进行通信:控制连接(用于发送命令和接收响应)和数据连接(用于传输文件数据)。FTP支持匿名登录和账户登录两种方式,具有一定的安全性。

  • 工作流程:客户端通过FTP客户端软件连接到FTP服务器,用户进行身份验证后可以上传、下载、删除文件等操作。FTP可以使用被动模式(PASV)或主动模式(PORT)来建立数据连接。

2.TCP/IP四层协议

网络接口层(数据链路层)网络层传输层应用层
使用最广泛,规模最大,覆盖全球的的协议

图解TCP/IP详解(史上最全)

TCP协议

在这里插入图片描述
TCP报文格式

SYN(Synchronize)标志:用于建立连接时,表示发起连接请求。
ACK(Acknowledgment)标志:用于确认收到数据或确认建立连接。
FIN(Finish)标志:用于关闭连接时,表示不再发送数据。

三次握手

a. 客户端发送一个带有SYN标志(SYN置1)的数据包给服务器,请求建立连接。这个数据包包含一个随机序列号X

b. 服务器收到数据包后,回复一个带有SYN和ACK标志的数据包给客户端,表示收到了请求,并同意建立连接。这个数据包包含一个随机序列号Y,同时确认序列号为X+1

c. 客户端再发送一个带有ACK标志的数据包给服务器,表示收到了确认,并同意建立连接。这个数据包的确认序列号为Y+1

  • 客户端发送的SYN数据包,序列号为X,确认序列号为空
  • 服务器回复的SYN+ACK数据包,序列号为Y,确认序列号为X+1
  • 客户端回复的ACK数据包,序列号为X+1,确认序列号为Y+1

为什么要三次握手?

为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。

  • 具体例子:
    “已失效的连接请求报文段”的产生在这样一种情况下:
    client发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达server。本来这是一个早已失效的报文段。但server收到此失效的连接请求报文段后,就误认为是client再次发出的一个新的连接请求。于是就向client发出确认报文段,同意建立连接。假设不采用“三次握手”,那么只要server发出确认,新的连接就建立了。由于现在client并没有发出建立连接的请求,因此不会理睬server的确认,也不会向server发送数据。但server却以为新的运输连接已经建立,并一直等待client发来数据。这样,server的很多资源就白白浪费掉了。采用“三次握手”的办法可以防止上述现象发生。例如刚才那种情况,client不会向server的确认发出确认。server由于收不到确认,就知道client并没有要求建立连接。”

四次挥手

a. 客户端发送一个带有FIN标志的数据包给服务器,请求关闭连接。
b. 服务器收到数据包后,回复一个带有ACK标志的数据包给客户端,表示收到了关闭请求。
c. 服务器再发送一个带有FIN标志的数据包给客户端,请求关闭连接。
d. 客户端收到数据包后,回复一个带有ACK标志的数据包给服务器,表示收到了关闭请求。此时连接关闭。

客户端和服务器端需要交互发送FIN和ACK报文段,以确保双方都能安全地关闭连接,并且在连接关闭后的一段时间内处于TIME_WAIT状态。

为什么要四次挥手?

TCP是全双工模式,这就意味着,当主机1发出FIN报文段时,只是表示主机1已经没有数据要发送了,主机1告诉主机2,它的数据已经全部发送完毕了;但是,这个时候主机1还是可以接受来自主机2的数据;当主机2返回ACK报文段时,表示它已经知道主机1没有数据发送了,但是主机2还是可以发送数据到主机1的;当主机2也发送了FIN报文段时,这个时候就表示主机2也没有数据要发送了,就会告诉主机1,我也没有数据要发送了,之后彼此就会愉快的中断这次TCP连接。

为什么要等待2MSL?
MSL(Maximum Segment Lifetime):报文在网络中的最长生存时间,一般为2分钟
TIME-WAIT状态:TIME_WAIT状态是指在TCP连接关闭后,等待一段时间(2MSL)才能关闭连接。为了确保后续不会因为网络中可能残留的数据报文而产生混乱,在TIME_WAIT状态期间,连接的双方不能再创建同样的连接。

如果主机1直接关闭连接,然后又再向主机2发起一个新连接。假设新连接和已经关闭的老连接端口号是一样的,如果前一次连接的某些数据仍然滞留在网络中,这些延迟数据在建立新连接之后才到达主机2,TCP协议就认为那个延迟的数据是属于新连接的,这样就和真正的新连接的数据包发生混淆了。等待2倍MSL,可以保证当次连接的所有数据都从网络中消失。

3.IP地址和子网划分

IP地址是计算机在网络中的唯一标识符。IPv4使用32位地址,通常以四个十进制数表示,如192.168.1.1。IPv6使用128位地址,通常以八组十六进制数表示,如2001:0db8:85a3:0000:0000:8a2e:0370:7334。

IPv4地址根据其分配和用途可以分为以下五类:A类地址、B类地址、C类地址、D类地址和E类地址。其中,A、B、C三类地址用于主机分配,D类地址用于多播,E类地址保留未分配。

这些类别根据地址的首位字节范围不同进行区分:

A类地址:首位字节范围为1-126,用于大型网络,网络地址占用1个字节,主机地址占用3个字节。
B类地址:首位字节范围为128-191,用于中型网络,网络地址占用2个字节,主机地址占用2个字节。
C类地址:首位字节范围为192-223,用于小型网络,网络地址占用3个字节,主机地址占用1个字节。
D类地址:首位字节范围为224-239,用于多播(广播)地址。
E类地址:首位字节范围为240-255,在实际中很少使用,用于实验和研究。
通过观察IPv4地址的首位字节范围,可以很容易地区分出5类IPv4地址。

IPv6的私有地址范围是以 fd 开头的地址段。

子网划分是将一个大的网络划分成若干个小的子网,以提高网络性能和安全性。子网掩码用来区分网络地址部分和主机地址部分。子网掩码通常是32位(IPv4)或128位(IPv6)的二进制数字,用来和IP地址进行逻辑与运算,以确定网络地址和主机地址的范围。

如果一个IPv4地址为 I P IP IP,子网掩码为 S u b n e t M a s k SubnetMask SubnetMask,则该地址的网络地址为 N e t w o r k A d d r e s s = I P & S u b n e t M a s k NetworkAddress = IP \& SubnetMask NetworkAddress=IP&SubnetMask,主机地址为 H o s t A d d r e s s = I P & ∼ S u b n e t M a s k HostAddress = IP \& \sim SubnetMask HostAddress=IP&SubnetMask

在IP地址中,网络地址和主机地址是根据子网掩码来划分的。

  • 网络地址(Network Address):网络地址是指一个网络中的所有主机共享的部分,用来标识一个网络。在IP地址中,网络地址是由IP地址和子网掩码进行逻辑与运算得到的部分。网络地址用于路由器在网络中寻找目标主机的路径。

  • 主机地址(Host Address):主机地址是指在一个网络中唯一标识一个主机的部分。在IP地址中,主机地址是由IP地址和子网掩码进行逻辑与非运算得到的部分。主机地址用于在一个网络中区分不同的主机。

子网掩码(Subnet Mask)是一个32位(IPv4)或128位(IPv6)的二进制数字,用于指示IP地址中哪些位是网络地址部分,哪些位是主机地址部分。子网掩码中的“1”表示对应位置是网络地址,而“0”表示对应位置是主机地址。

例如,对于IPv4地址192.168.1.1,假设子网掩码为255.255.255.0,对应的二进制表示分别为:

  • IP地址:11000000.10101000.00000001.00000001
  • 子网掩码:11111111.11111111.11111111.00000000

进行逻辑与运算,可以得到:

  • 网络地址:11000000.10101000.00000001.00000000(192.168.1.0)
  • 主机地址:00000000.00000000.00000000.00000001(1)

因此,192.168.1.1的网络地址是192.168.1.0,主机地址是1。这样,子网掩码帮助我们区分IP地址中的网络地址和主机地址,从而实现网络的划分和通信。

区分网络地址和主机地址的作用主要体现在网络通信和路由方面:

  1. 路由器转发数据包:路由器在转发数据包时,需要根据目标IP地址来确定下一跳的路径。通过识别IP地址中的网络地址,路由器可以将数据包发送到正确的目标网络,从而实现跨网络通信。

  2. 网络管理和安全:网络管理员可以根据网络地址来管理网络资源和配置网络策略。通过将不同的主机分配到不同的网络地址中,可以实现对不同主机的管理和控制,提高网络安全性。

  3. 子网划分:通过划分子网,可以将一个大的网络划分成若干个小的子网,提高网络性能和管理效率。网络地址和主机地址的划分可以帮助确定子网的范围和规模。

  4. 提高网络效率:识别网络地址和主机地址可以帮助网络设备快速定位目标主机所在的网络,避免广播风暴和提高数据传输效率。

总之,区分网络地址和主机地址是网络通信和管理中非常重要的一环,能够帮助实现数据包的正确路由和网络资源的有效管理,提高网络的效率和安全性。

4.HTTP和HTTPS协议

HTTP和HTTPS协议请求响应过程

  1. HTTP协议请求响应过程

    • 客户端发送HTTP请求到服务器,请求包括请求方法(GET、POST等)、URL、HTTP版本、请求头等信息。
    • 服务器接收到请求后,处理请求并返回HTTP响应,响应包括状态码、响应头、响应正文等信息。
    • 客户端接收到响应后,根据状态码和响应内容进行处理,展示页面或执行其他操作。
  2. HTTPS协议请求响应过程

    • HTTPS是在HTTP基础上加入了SSL/TLS加密协议,通过加密通信保护数据安全。
    • 客户端和服务器建立安全连接后,通信过程与HTTP类似,但数据在传输过程中是加密的。

状态码

  • 1xx(信息性状态码):表示请求已接收,继续处理。
  • 2xx(成功状态码):表示请求已成功被服务器接收、理解、接受。
  • 3xx(重定向状态码):表示需要进一步操作以完成请求。
  • 4xx(客户端错误状态码):表示客户端请求存在错误,服务器无法处理。
  • 5xx(服务器错误状态码):表示服务器在处理请求时发生错误。

报文格式

  • HTTP请求报文格式

    • 请求行:包括请求方法、URL和HTTP版本。
    • 请求头:包括请求相关的信息,如User-Agent、Host等。
    • 空行:用于分隔请求头和请求体。
    • 请求体:POST请求时包含请求参数等信息。
  • HTTP响应报文格式

    • 状态行:包括HTTP版本、状态码和状态消息。
    • 响应头:包括响应相关的信息,如Content-Type、Content-Length等。
    • 空行:用于分隔响应头和响应体。
    • 响应体:包含响应内容,如HTML页面、JSON数据等。
  • HTTPS报文格式

    • HTTPS在HTTP报文的基础上增加了SSL/TLS协议加密部分,保护数据在传输过程中的安全性。

以上是HTTP和HTTPS协议的请求响应过程、状态码和报文格式的简要介绍。这些知识对于理解Web通信和网络安全非常重要。

5.DNS解析

DNS解析过程

  1. 域名解析过程
    • 当用户在浏览器中输入一个域名时,首先会向本地DNS服务器发送域名解析请求。
    • 本地DNS服务器会查询自身的缓存,如果找到对应域名的解析结果,则直接返回给用户。
    • 如果本地DNS服务器缓存中没有对应记录,会向根域名服务器发送请求,获取顶级域名服务器的IP地址。
    • 依次向顶级域名服务器、权威域名服务器查询,最终获取到域名对应的IP地址。
    • 本地DNS服务器将获取到的IP地址存储在缓存中,并返回给用户。

URL格式

  • URL由三部分组成:资源类型、存放资源的主机域名、资源文件名。 也可认为由4部分组成:协议、主机、端口、路径
    URL的一般语法格式为:protocol : // hostname[:port] / path /
    [:parameters][?query]#fragment 其中带方括号的为可选项

query(查询)

  • 可选,用于给动态网页(如使用CGI、ISAPI、PHP/JSP/ASP/ASP.NET等技术制作的网页)传递参数,可有多个参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开。

fragment(信息片断)

  • 字符串,用于指定网络资源中的片段。例如一个网页中有多个名词解释,可使用fragment直接定位到某一名词解释。

域名

  • 域名是用于识别和定位计算机网络上资源的名称。域名由一系列以点分隔的标签组成,每个标签表示网络上的一个层级结构,并且从右向左组织。域名的常见格式包括:

    • 顶级域名(Top-Level Domain, TLD):顶级域名是域名中最高级别的部分,位于最右边。例如,“.com”、“.org”、“.net”、“.edu”、“.gov” 等是一些常见的顶级域名。

    • 二级域名(Second-Level Domain):二级域名是位于顶级域名之前的部分,通常表示特定的组织、公司、机构或者地理位置。例如,在域名"example.com"中,"example"就是二级域名。

    • 子域名(Subdomain):子域名是位于二级域名之前的部分,可以用来将域名进一步细分成不同的部分。例如,在域名"mail.example.com"中,"mail"就是一个子域名。

因此,一个完整的域名格式可能是这样的:子域名.二级域名.顶级域名。域名可以用来指代网站、电子邮件服务器、FTP服务器等各种网络资源。

域名和URL(统一资源定位符)是互联网中用于标识和定位资源的重要概念,它们之间有以下关系:

  • 域名是用来标识网络上的计算机或者服务的名称

  • URL是用来统一定位互联网资源的字符串,它包含了访问资源所需的协议、主机地址、路径等信息。

  • 在URL中,域名通常会包含在主机地址的部分,用来指示资源所在的主机。例如,一个完整的URL可能是"https://www.example.com/page.html",其中"www.example.com"就是域名部分,指示了该资源所在的主机地址。

因此,域名是URL中的一部分,用来标识一个网络上的计算机或者服务,而URL则是用来定位和访问资源的字符串,其中包含了域名作为主机地址的部分。

记录类型

  1. A记录:将域名解析为IPv4地址。
  2. AAAA记录:将域名解析为IPv6地址。
  3. CNAME记录:将域名解析为另一个域名。
  4. MX记录:指定邮件服务器的域名。
  5. NS记录:指定域名服务器的域名。
  6. PTR记录:将IP地址解析为域名。

DNS缓存

  1. 本地DNS缓存:本地DNS服务器会缓存最近查询过的域名解析结果,以提高解析速度。
  2. 域名服务器缓存:根域名服务器、顶级域名服务器、权威域名服务器等也会缓存域名解析结果,减少重复查询。
  3. 浏览器缓存:浏览器也会缓存域名解析结果,以加快页面加载速度。

总结

  • DNS解析是将域名转换为IP地址的过程,通过域名解析可以实现互联网上的域名访问。
  • 不同记录类型用于指定不同的解析结果,如将域名解析为IP地址、将域名解析为另一个域名等。
  • DNS缓存可以提高解析速度和减轻域名服务器的负担,对于网络性能和用户体验都非常重要。

以上是关于DNS解析的过程、记录类型和DNS缓存的介绍,希望能帮助您更好地理解域名解析的工作原理和重要性。

6.路由器和交换机

路由器
  1. 功能

    • 路由器用于在不同网络之间传输数据包,根据目标IP地址选择最佳路径进行转发。
    • 支持广域网(WAN)和局域网(LAN)之间的连接,实现不同网络之间的通信。
    • 提供网络地址转换(NAT)、防火墙等功能,增强网络安全性。
  2. 工作原理

    • 路由器通过查找路由表中的目标IP地址,决定数据包的下一跳地址。
    • 使用路由选择算法确定最佳路径,如最短路径优先(SPF)、距离矢量路由算法等。
    • 将数据包从一个接口接收,并根据目标IP地址转发到另一个接口。
交换机
  1. 功能

    • 交换机用于在局域网内传输数据帧,根据MAC地址进行转发。
    • 提供局域网内设备之间的快速数据交换,提高网络性能和带宽利用率。
    • 支持虚拟局域网(VLAN)划分、链路聚合等功能。
  2. 工作原理

    • 交换机通过学习MAC地址表,将数据帧转发到目标设备所在的端口。
    • 使用交换机芯片实现高速数据帧转发,避免网络拥塞和碰撞。
    • 支持全双工通信,同时进行发送和接收操作,提高网络效率。

区别

  1. 功能:路由器在不同网络之间传输数据包,而交换机在局域网内进行数据帧转发。
  2. 工作原理:路由器根据IP地址选择路由转发,交换机根据MAC地址进行端口转发。
  3. 应用场景:路由器适用于不同网络之间通信,交换机适用于局域网内设备通信。

常见的路由算法

STP(Spanning Tree Protocol ):生成树协议;透明网桥使整个连通网络不存在回路

RIP:路由信息协议;根据距离(通常是跳数)来确定最佳的路由

OSPF:一种基于链路状态的内部网关协议(IGP)。

SPF:最短路径优先算法,在OSPF等协议中被广泛使用。

内部网关协议IGP:RIP+OSPF

外部网关协议EGP:BGP-4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值