跳转至

计算机网络基础

约 7466 个字 3 行代码 9 张图片 预计阅读时间 25 分钟

alt text

Info

本章主要基于TCP/IP网络模型介绍计算机网络的大致组成架构

Wireshark

Wireshark是目前主流的抓包工具之一,本节将结合Wireshark抓包来讲解计算机网络模型。在我们提供的虚拟机上已经配置好了Wireshark软件,只需在终端输入wireshark即可启动。

在启动界面选择对应网卡启动抓包。 alt text

访问 http://180.76.151.202/home/index.mooc ,wireshark便能抓取对应的http流量。在过滤器中输入http.host == 180.76.151.202可以找到对应网络包数据。

alt text

右键点击网络包,选择追踪其TCP流。

alt text

对应的TCP流网络数据包如图所示。我们将以此为例进行后续的讲解。

alt text

网络接口层

该层对应于OSI模型的物理层与数据链路层。物理层为光纤等传输设备,本部分主要介绍数据链路层的相关部分

Example

选择第一个包,其ethernet帧信息如图所示。(实际数据会根据本机网络信息不同而不同,此处仅供参考)

alt text

  • Ethernet(以太网)在TCP/IP协议层中属于网络接口层,在OSI参考模型中对应数据链路层。Ethernet II 标准是最常用的以太网帧格式,用于承载 IP 等上层协议。
  • Destination 和 Source 分别指向目标设备与源设备的名字以及MAC地址。如图中VMWare_e8:32:0e和VMWare_f0:dd:5b都是VMWare虚拟网络设备,而00:0c:29:e8:32:0e是此虚拟机的MAC地址,00:50:56:f0:dd:59是VMWare虚拟网关的MAC地址,两者的MAC地址都是唯一标识的。
  • "Type:IPv4"表明其上层(网络层)使用的协议为IPv4。

MAC地址(物理地址)

MAC地址(Media Access Control Address,媒体访问控制地址)是网络设备的一个唯一标识符,用于数据链路层。在局域网(LAN)中,MAC地址用于识别网络设备,以便数据帧能够准确地在网络上进行传输。以下是关于MAC地址的详细介绍:

基本概念

  • 唯一性:MAC地址是全球唯一的,每个网络接口卡(NIC)或网络适配器出厂时都被赋予一个独特的MAC地址。
  • 长度与格式:MAC地址通常是48位(6字节)长,通常用十二个十六进制字符表示,例如:08:00:27:13:69:77 或 08-00-27-13-69-77。
  • 分配:前24位由IEEE分配给网络设备制造商,称为组织唯一标识符(OUI),后24位由制造商自行分配。

结构与组成

  • OUI(组织唯一标识符):用于标识设备制造商,前24位(3字节)。
  • 设备标识符:用于标识特定设备,后24位(3字节)。
  • 局部管理位:第7位可用于标记地址为全局唯一(0)或本地管理(1)。

功能与用途

  • 设备识别:在局域网中,MAC地址用于识别和定位网络节点,便于交换机和其他设备在数据链路层管理数据传输。
  • 数据帧传输:网络设备使用MAC地址进行帧传输,通过ARP(地址解析协议)将IP地址解析为MAC地址,从而在以太网上传输数据。
  • 网络访问控制:通过MAC地址过滤,网络管理员可以设置哪些设备可以连接到网络。

交换机

交换机(Switch)是网络通信中一种重要的设备,负责在网络设备之间转发数据包。它在局域网(LAN)中常被用于连接计算机、服务器、打印机和其他网络设备。

其基本功能有:

  1. 数据包交换
    • 交换机通过接收、处理并转发数据包来连接网络设备。
    • 它根据目标地址将数据包转发到正确的输出端口,从而提高网络效率。
  2. MAC地址学习
    • 交换机通过学习连接设备的MAC地址,维护一张MAC地址表。
    • 根据这张表,交换机能够准确地将数据包发送到目标设备,避免不必要的流量。
  3. 数据帧转发
    • 使用全双工通信模式,交换机可以同时发送和接收数据帧,减少碰撞和数据传输延时。

网络层

Example

同样使用第一个网络包,得到它的IP帧具体信息。

alt text

  • Internet Protocol Version 4即IPv4网络层协议。
  • Src 和 Dst 标识源IP地址和目标IP地址,其中源IP地址192.168.109.138是局域网地址即私有IP,目标IP地址180.76.151.202是公网IP。
  • Time to Live即TTL,用于防止数据包在网络中无限循环。每经过一个路由器TTL减1,减到0时路由器丢弃包并返回ICMP超时。
  • "Protocol: TCP"表明其上层(传输层)使用的协议为TCP。

IP地址

公网IP(Public IP Address)是用于在互联网(Internet)中识别和通信的唯一IP地址。每个连接到互联网的设备都需要一个公网IP地址,以便能够与全球其他设备进行通信。公网IP地址由互联网服务提供商(ISP)分配,并且是全球唯一的,不能重复。

公网IP与私有IP

Summary

  • 公网IP
    • 用于互联网通信,全球唯一。
    • 由ISP分配,通常需要支付额外费用。
    • 直接暴露在互联网上,容易成为攻击目标,需要特别注意安全防护。
  • 私有IP
    • 用于局域网(LAN)内的通信,不在互联网中使用。
    • 可以在不同的局域网中重复使用。
    • 由路由器或网关设备通过网络地址转换(NAT Network Address Translation)映射到公网IP地址,实现互联网访问。

私有IP地址

根据互联网编号分配机构(IANA)的规定,私有 IP 地址分为三个范围,分别适用于不同规模的局域网:

  • A 类私有地址:10.0.0.0 - 10.255.255.255
  • B 类私有地址:172.16.0.0 - 172.31.255.255
  • C 类私有地址:192.168.0.0 - 192.168.255.255

IPv4与IPv6

IPv4 IPv4地址是一个32位的二进制数。 通常采用点分十进制表示,将32位划分为4组,每组写成一个十进制数(因此十进制数取值为0-255),用点 . 分隔。 示例: 192.168.1.1

Info

由于IPv4使用32bit作为记录,其最多只有约40亿种组合形式,因此随着互联网的发展,IPv4出现了地址不足的问题,因此使用128bit的IPv6地址应运而生

IPv6 IPv4地址是一个128位的二进制数。 采用冒号十六进制表示,由8组4个十六进制数组成,用冒号 : 分隔。
示例: 2001:0db8:85a3:0000:0000:8a2e:0370:7334

支持地址压缩,可以省略每组数字前面的 0。例如 0db8 可以写成 db8。 可以用双冒号 :: 替代地址中连续出现的全是 0 的组,但每个地址中只能使用一次。

压缩后示例: 2001:db8:85a3::8a2e:370:7334

本地回环地址

本地回环地址一般用于计算机本地的网络通信与测试。在IPv4中规定127.0.0.0/8的地址均用于本地回环测试,一般我们使用127.0.0.1作为本地回环地址。 IPv6也提供了本地回环地址0:0:0:0:0:0:0:1,一般简写为::1

localhost

通常我们还使用localhost来代表本地回环地址。localhost本质上是一个域名,需要通过DNS协议转换为IP地址。操作系统内通常有主机文件定义localhost的解析,将其解析为127.0.0.1(IPv4)和::1(IPv6)

子网

子网是将一个大型 IP 网络(如局域网或广域网)通过技术手段分割成的多个小型逻辑网络。它并非物理上的独立网络,而是通过 IP 地址和子网掩码的组合,在逻辑上划分出的子区域。一个子网可由该子网内的任一IP地址和子网掩码确定

子网掩码是一个 32 位的二进制数(与 IPv4 地址长度一致),其必须由一组连续的1和一组连续的0组成,和用于区分 IP 地址中的 网络位主机位,从而确定该 IP 地址属于哪个子网。子网内的任一IP与子网掩码按位与得到的结果必须一致,我们称这个结果为子网的网络地址。子网掩码通常使用点分十进制表示。由于子网掩码实际上可以使用前缀1的长度唯一确定,因此也可以使用子网掩码的长度来表示子网掩码。

传统的子网划分方式使用A/B/C类地址划分,仅有3种子网大小可供选择。为简化子网划分,CIDR(Classless Inter-Domain Routing)用前缀长度(如/24)代替传统的 A/B/C 类地址划分,更灵活地分配网络位和主机位。通常我们使用CIDR表示法表示一个子网,写作<子网网络地址>/<子网掩码的长度>

子网的特殊IP地址

在子网中,网络地址广播地址是两个特殊的 IP 地址,它们不分配给具体设备使用,而是用于标识子网本身和子网内的广播通信。

  • 网络地址是一个子网的 “标识符号”,用于唯一标识该子网本身,它是子网内所有 IP 地址的 “公共前缀”。
  • 广播地址是子网内用于 “广播通信” 的特殊地址,向该地址发送的数据会被子网内所有设备接收。

子网示例

  • CIDR表示法:192.168.1.0/24
  • 网络地址:192.168.1.0
  • 广播地址:192.168.1.255
  • 子网掩码:255.255.255.0
  • 子网IP范围:192.168.1.0 - 192.168.1.255
  • 子网可用IP范围:192.168.1.1 - 192.168.1.254

子网可用IP的个数

尝试计算一个子网掩码长度为\(n\)的子网可用IP数量。

网关 (Gateway)

网关是计算机网络中的一个重要组件,其主要作用是连接不同网络,并在这些网络之间进行数据的流动和转换。由于不同网络可能使用不同的协议或数据格式,网关在网络间充当协议转换器、数据格式转换器和路由器的角色。以下是对网关的详细介绍:

网关的主要功能:

  1. 协议转换: 网关负责在使用不同通信协议的网络之间进行协议翻译。例如,在一个使用TCP/IP协议的网络和一个使用X.25协议的网络之间,网关可以转换数据格式和通信协议,以确保两个网络可以互相通信。
  2. 数据格式转换: 不同网络可能使用不同的数据格式,网关能够对数据进行格式转换,使数据在传输到目的网络时符合该网络的格式要求。
  3. 路由和数据转发: 网关可以根据目的地址选择合适的路径,将数据包从一个网络传递到另一个网络。它可以作为路由器的一种形式,管理数据包的流动。
  4. 网络连接和隔离: 网关可以提供网络连接和隔离,确保内部网络与外部网络(如互联网)之间的安全通信。它可以应用于企业网络中,实现不同子网或部门之间的安全隔离与连接。

一个子网的设备如果需要访问子网外的IP需要将数据包发送给网关,由网关负责转发(通常这个网关设备就是我们所说的路由器)。在手动配置子网信息时需要填写一个网关,其即为用于转发数据包到外部网络的设备的IP地址。

查看当前设备的网关信息

在Linux中可使用下述命令查看当前设备的路由信息:

route -n 

可以看到一项默认路由(网络地址为0.0.0.0,子网掩码为0.0.0.0,即匹配任意IP地址),该项路由的网关的内容即为网关的IP地址。 也可以使用

arp -n

查看此IP地址对应的MAC地址(即为网关的MAC地址)。

NAT

而如果想用私有地址与Internet连接来访问公网,那该怎么做?这就需要将私有IP地址转换成公网IP地址,与外部连接。通常我们使用 NAT(网络地址转换 Network Address Translation) 技术实现。

NAT技术最核心的功能是实现地址转换:它可以将一个子网内所有设备的地址,统一转换为运行 NAT 软件的网关(如路由器)自身的地址,再通过这个网关地址与外部网络进行通信。这里的子网地址和网关地址并不局限于特定类型,既可以是私有地址,也可以是公有地址,关键是通过网关的地址作为中间桥梁,实现子网与外部网络的连接。​

基于这种地址转换能力,我们可以让一个公有地址为多个私有地址提供通信支持。当子网内的多个私有地址设备需要与外部公网通信时,NAT 会将这些私有地址对应的通信请求,全部转换为网关的公有地址发出。外部网络的响应也会先发送到这个公有地址,再由网关通过 NAT 转换,准确转发给对应的私有地址设备。同时NAT可以进行嵌套,从而可以在一个公网IP下进行嵌套自由的组建子网。这样一来,即便只有一个可用的公有地址,也能满足多个子网内多个私有地址设备访问公网的需求,既提高了公有地址的利用率,也实现了子网与公网的有效通信。

所有子网的网关都需要运行NAT吗?

传输层

Example

观察此TCP流,在最开始由客户端发送带有SYN标志的数据包到服务器,随后由服务器发送有SYN-ACK标志的数据包,然后客户端发送带有ACK标志的数据包。这就是TCP的三次握手,在握手成功后建立TCP连接,双方开始传输数据。

点击第一个包,得到其TCP帧信息。

alt text

  • Transmission Control Protocol 即TCP传输层协议。
  • Src Port 即客户端端口,Dst Port即服务器端口。49256 是本地客户端用来通信的随机端口;80是HTTP协议默认端口。

端口

在计算机网络中,端口是一个逻辑概念,用于标识通信会话的特定端点。每个端口号与IP地址结合起来,用于区分不同的网络服务和应用程序。

  1. 端口号
    • 端口号是16位的整数,取值范围从0到65535。
    • 每个端口号对应一种特定的网络服务或应用程序。
  2. 作用
    • 端口号用于在同一个IP地址下区分不同的网络服务。例如,HTTP协议通常使用端口80,而HTTPS使用端口443。
    • 端口使得一台计算机可以同时运行多个网络服务。
  3. 端口的分类
    • 知名端口(Well-known Ports):0到1023,分配给常见的协议和服务,如FTP(21)、SSH(22)、HTTP(80)、HTTPS(443)。
    • 注册端口(Registered Ports):1024到49151,分配给用户注册的服务和应用程序。
    • 动态/私有端口(Dynamic/Private Ports):49152到65535,通常为临时端口,用于客户端和短期通信。

操作系统的实际实现

上述端口的分类是由IANA规定的,但是不同的操作系统通常有自己的实现。例如在linux系统中可以使用下述命令查看动态端口的范围:

cat /proc/sys/net/ipv4/ip_local_port_range

你也可以自己修改动态端口的范围。

端口的使用

  • 服务器端端口:服务器通常监听一个特定端口,以便接收来自客户端的连接。例如,Web服务器监听80端口以接收HTTP请求。
  • 客户端端口:客户端通常在动态/私有端口范围内随机选择一个端口,用于发送请求和接收响应。

端口在数据传输中的角色

  • 数据通过TCP或UDP协议从一个设备传输到另一个设备时,源端口和目的端口在数据包的头部被标记。

端口管理

  • 防火墙:通过防火墙规则可以管理端口的访问权限,确保只有授权的流量可以通过。
  • 端口扫描:用于检测开放的端口,以识别可能的安全漏洞。

TCP

TCP(传输控制协议,Transmission Control Protocol)是互联网协议套件中最关键的传输层协议之一。它与 UDP(用户数据报协议)相对,以其提供的可靠性、流量控制以及顺序保障而著称.

TCP 的基本特性

  1. 面向连接 TCP 是一种面向连接的协议,这意味着在发送数据之前,必须先在通信双方之间建立连接。这通过一个称为“三次握手”(Three-Way Handshake)的过程完成。
  2. 可靠性 TCP 提供了可靠的数据传输,确保数据在网络中按顺序到达目的地。如果数据包丢失或出现错误,TCP 会自动重新传输这些数据。TCP 使用序列号和确认应答(ACK)机制来跟踪和确认数据传输的状态。
  3. 顺序保证 TCP 确保数据包以正确的顺序到达接收方。即使数据包是随机顺序到达,TCP 也会在接收端重新排序。
  4. 流量控制 TCP 使用流量控制机制,允许接收方告诉发送方在任何给定时间内可以接收多少数据。这是通过窗口机制实现的,防止网络拥塞和接收方溢出。
  5. 拥塞控制

TCP 内置多种拥塞控制机制,以避免在网络拥塞时继续发送数据。常见的拥塞控制算法包括快速重传(Fast Retransmit)、慢启动(Slow Start)、拥塞避免(Congestion Avoidance)和快恢复(Fast Recovery)。

TCP 的工作原理——三次握手(Connection Establishment)

在建立连接之前,TCP 会进行三次握手,以确保双方都准备好进行数据传输。具体过程如下:

  1. SYN:客户端发送一个带 SYN 标志的数据包到服务器,请求建立连接。此数据包中包含一个初始序列号(ISN)。
  2. SYN-ACK:服务器接收到 SYN 数据包后,回复一个 SYN-ACK 数据包,确认客户端的 SYN 请求,并发送自己的 SYN 请求给客户端。
  3. ACK:客户端收到 SYN-ACK 后,发送一个 ACK 数据包给服务器,确认收到 SYN-ACK。从此,TCP 连接成功建立,双方可以开始数据传输。这个过程的示意图如下:

数据传输

一旦连接建立,数据通过 TCP 连接进行传输。每个 TCP 段(Segement)都包含一个序列号,发送方会根据该序列号跟踪每个数据字节。接收方会向发送方确认它接收到的字节(ACK),同时会发送下一个期望接收的字节的序列号。在这个过程中,流量控制和拥塞控制机制会动态调整数据的发送速率。

TCP 的优缺点

优点:

  • 可靠性:通过序列号、确认应答和重传机制,确保数据完整性。
  • 流量控制:动态适应网络条件,避免数据丢失和网络拥塞。
  • 顺序性:确保数据按顺序到达。
  • 广泛应用:是许多关键应用协议的基础(如 HTTP、FTP、SMTP)。

缺点:

  • 开销较大:因为额外的控制信息和机制,TCP 的头部较大,且通信延迟增加。
  • 速度较慢:由于需要建立连接、确认传输和流量控制,TCP 的数据传输速度通常慢于 UDP。

TCP 的应用场景

  • 网页浏览:HTTP/HTTPS 使用 TCP 确保网页资源的可靠性和正确顺序。
  • 文件传输:FTP 协议使用 TCP 协议可靠地传输文件。
  • 电子邮件:SMTP、POP3 和 IMAP 协议利用 TCP 进行电子邮件的发送和接收。
  • 远程登录:SSH 和 Telnet 协议使用 TCP 提供安全远程访问。

UDP

UDP(用户数据报协议,User Datagram Protocol)是一个简单、无连接的传输层协议,它是TCP/IP协议族的一部分。UDP用于需要快速传输且对丢包不太敏感的应用场景。以下是对UDP的详细介绍:

UDP 的特点

  1. 无连接
    • UDP是无连接协议,通信双方在发送数据之前不需要建立连接。这减少了通信开销和延迟,使得数据可以更快地传输。
  2. 不可靠传输
    • UDP不保证数据包的可靠性。数据包可能会丢失、重复或乱序到达。应用程序需要自行处理这些问题。
  3. 简单的报文结构
    • UDP的报文结构简单,只有8字节的头部,包括源端口、目的端口、长度和校验和等字段。这种简单性使得UDP数据包的处理速度更快。
  4. 无拥塞控制
    • UDP没有内置的拥塞控制机制,适用于对延迟敏感但不需要可靠传输的应用,如实时视频流和在线游戏。
  5. 面向报文
    • UDP是面向报文的协议,每个UDP数据包独立处理,不合并或拆分数据包。

UDP 的应用场景

  1. 实时应用
    • 流媒体传输:如音乐和视频流媒体(如YouTube、Netflix),需要低延迟而不是完整的可靠性。
    • 在线游戏:需要快速响应而不总是需要保证所有数据都被完整接收。
  2. 简单查询和响应
    • DNS查询:DNS使用UDP进行快速查询和响应。
    • DHCP:用于网络设备的地址分配。
  3. 物联网(IoT)
    • 轻量级应用场景中,物联网设备使用UDP来减少通信的开销和复杂性。

UDP与TCP的比较

  • 可靠性
    • TCP提供可靠的传输,确保数据包按序到达且无丢失,而UDP不保证可靠性。
  • 连接性
    • TCP是面向连接的协议,需要建立连接,而UDP是无连接的。
  • 流量控制和拥塞控制
    • TCP有流量控制和拥塞控制机制,UDP则没有。
  • 效率
    • UDP头部开销小,适用于需要高效传输的场景。

应用层

Example

选择第四个包,获得的具体HTTP帧信息如图所示。

alt text

  • Hypertext Transfer Protocol即HTTP协议,位于应用层。该网络包数据是客户端向服务器发起的HTTP请求报文。
  • 请求方法是GET,请求的资源地址是/home/index.mooc,HTTP/1.1是协议版本。
  • 后续内容是HTTP请求头字段的内容,请求头通过键值对传递客户端信息、请求偏好等,如Host指定服务器的域名或IP,User-Agent标识客户端类型(浏览器、系统版本、内核等),Accept向服务器通知客户端能接受的响应内容类型。

HTTP

HTTP(Hyper Text Transfer Protocol 超文本传输协议)是用于在Web浏览器和Web服务器之间传输数据的协议。它是互联网中最常见的应用层协议之一,支持万维网的基础通信。以下是对HTTP的详细介绍:

HTTP 的基本特点

  1. 无状态协议: HTTP本质上是无状态的,这意味着每个请求都是独立的,与之前的请求没有直接关系。服务器不会自动保留以前的请求信息。
  2. 请求-响应模式: HTTP基于请求-响应模型,客户端发起请求,服务器返回响应。这包括请求行、请求头、请求体、响应行、响应头和响应体。
  3. 灵活性和可扩展性: HTTP可以通过头部字段扩展新的功能,而不影响协议的基本框架。
  4. 无连接: HTTP最初的设计是无连接的,每次连接只处理一个请求/响应对,然后关闭连接。然而,为了提高效率,现代HTTP(如HTTP/1.1)支持持久连接。

HTTP 的方法

  • GET:请求从服务器获取资源。通常用于获取页面内容。
  • POST:向服务器提交数据,比如表单数据。常用于数据提交和处理。
  • PUT:上传文件到指定位置。
  • DELETE:删除指定资源。
  • HEAD:与GET类似,但只请求响应头。
  • OPTIONS:返回服务器支持的HTTP请求方法。
  • PATCH:对资源进行部分修改。

HTTP 的使用场景

HTTP广泛用于Web浏览,包括访问网站、下载文件、提交表单等。随着互联网的发展,HTTP不仅用于浏览网页,还被用于API通信、物联网等各种网络应用。

HTTP服务基于TCP协议,其默认端口为80

DNS

DNS(域名系统 Domain Name System)可以理解为互联网的“电话簿”。它的主要作用是将人类易于记忆的域名(比如 xflops.sjtu.edu.cn)转换为计算机使用的 IP 地址(比如 202.120.35.241)。这个过程就像你打电话时需要拨打的电话号码一样。通常我们需要向网络中的一台主机询问指定域名对应的IP地址,这台主机则被称为DNS服务器。如果DNS服务器不工作或给出错误的IP应答将导致我们无法正常访问对应域名的网站。

DNS服务基于UDP协议,其默认端口为53

DHCP

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种网络协议,用于自动分配 IP 地址和其他网络配置信息(如网关、子网掩码、DNS 服务器等)给网络设备,使其能够快速加入网络并正常通信。 DHCP 的主要功能

  1. 动态分配 IP 地址:自动为设备分配可用的 IP 地址,避免手动配置的繁琐。
  2. 提供网络配置信息
    • 子网掩码(Subnet Mask)
    • 默认网关(Default Gateway)
    • DNS 服务器地址
    • 时间服务器(NTP Server)等
  3. IP 地址管理
    • 防止 IP 地址冲突。
    • 提供 IP 地址租期管理(Lease Time),当设备不再需要时可以回收并重新分配

现代系统一般默认使用 DHCP 协议获取网络信息,在设备加入一个新的网络时,将通过以下流程自动完成 IP 地址等网络信息的配置:

  1. 客户端(新接入设备)发送DHCP Discover信息。
  2. DHCP 服务器回复DHCP Offer信息,告知客户端应该使用的网络信息。
  3. 客户端收到回复并发送DHCP Request信息请求使用此 IP 地址。
  4. DHCP 服务器回复DHCP Ack确认此 IP 地址的分配。

如果 DHCP 获取网络信息失败(一般是客户端未收到任何 DHCP 服务器回复),此时系统将设置自己的 IP 地址为链路本地地址169.254.0.0/16以保证仍能在当前子网通信。 路由器默认启动了 DHCP 服务器,在新设备接入路由器

DHCP服务基于UDP协议,其服务器默认端口为67,客户端默认端口为68

练习题

查看你的网络信息

运行下述命令查看你的计算机的网络信息:

ifconfig # linux/macos
ipconfig # windows

运行下述命令查看你的计算机的端口开放信息:

netstat -tulnp # linux/macos
netstat -ano # windows
  1. 你的计算机有几个网络接口,它们的IP地址,所在子网和MAC地址分别是什么?
  2. 你的计算机有哪些端口开放了服务?
  3. 访问上海交通大学网络信息中心网站首页,查看页面底的IP地址信息,是否和你查询到的IP地址一致,如果不一致,请解释为什么不一致?

子网与网关

尝试使用wireshark抓包访问https://xflops.sjtu.edu.cn(超算队官网)的数据包,查看发送数据包的目标MAC地址和目标IP地址,对比之前实验抓包的MAC地址和IP地址。并回答:

  • 这两个数据包的目标MAC地址是否相同?为什么?
  • 查看当前设备的网关的MAC地址,该MAC地址是否和上述的MAC地址相同,为什么?
  • 这两个数据包的目标IP地址是否相同?为什么?

DNS解析

在wireshark抓包访问https://xflops.sjtu.edu.cn(超算队官网)的数据包的记录中搜索DNS协议的数据包。确定当前主机使用的DNS服务的IP地址,并比较DNS服务器的回复的IP地址和访问网站的数据包的目标IP地址是否一致。

HTTPS协议

HTTP协议以明文传输数据包,这将导致的你访问信息被中间人截获/篡改。HTTPS协议通过添加了加密来保护信息安全。 在wireshark抓包访问https://xflops.sjtu.edu.cn(超算队官网)的数据包的记录中查看通信记录,观察两者如何建立加密连接。并观察建立连接后应用层传输的数据内容是否还可读(可以与HTTP抓包实验的应用层内容进行对比)。

(选做)使用搜索引擎与AI,了解HTTPS的工作原理与证书的作用。并查看超算队官网所使用的证书及其颁发者。

InfiniBand网络

在高性能计算中,高带宽低延迟的通信至关重要。尝试搜索资料了解InfiniBand网络,并回答该网络的数据链路层和网络层是如何工作的。