IP,MAC与ARP笔记

1,什么是IP地址

  1. IP(Internet Protocol,网际协议)

    • 定义与功能:IP 是 TCP/IP 协议族中网络层的主要协议,用于在不同网络之间进行数据的传输和寻址。它为每个连接到网络的设备分配一个唯一的逻辑地址,这个地址在网络中用于标识设备,以便数据能够准确地从源设备传输到目标设备。

    • 版本:常见的 IP 版本有 IPv4 和 IPv6。IPv4 是目前广泛使用的版本,它使用 32 位地址,理论上可以提供约 43 亿个地址。由于互联网的迅速发展,IPv4 地址资源逐渐枯竭,IPv6 应运而生。IPv6 使用 128 位地址,能够提供几乎无限的地址空间。

    • 工作原理:当一台设备要向另一台设备发送数据时,它会将数据封装在 IP 数据包中,并在数据包的首部添加源 IP 地址和目标 IP 地址。然后,根据网络的路由规则,IP 数据包会通过路由器在网络中逐跳传输,直到到达目标设备所在的网络。


2,什么是端口

2.1端口是传输层协议(如 TCP 和 UDP)的一个重要概念,用于标识同一台计算机中进行通信的不同应用程序或进程。通过端口,计算机可以在同一时间内处理多个网络连接和数据传输,实现不同应用程序之间的并发通信。当网络中的数据到达计算机时,操作系统会根据端口号将数据分发到相应的应用程序进行处理。

工作原理:以 TCP 协议为例,当客户端程序想要与服务器端程序建立连接时,客户端会随机选择一个动态端口作为源端口,并指定服务器端的知名端口(如 80 端口)作为目标端口。然后,客户端向服务器发送一个 SYN 包,请求建立连接。服务器收到请求后,会使用自己的知名端口作为源端口,客户端的动态端口作为目标端口,向客户端发送一个 SYN-ACK 包,确认连接请求。最后,客户端再向服务器发送一个 ACK 包,完成连接的建立。

2.2常见的端口号有哪些?

  1. 知名端口(0-1023)
    • 20 和 21 端口:FTP(File Transfer Protocol,文件传输协议)端口。其中 20 端口用于数据传输,21 端口用于控制连接,主要用于文件的上传和下载。比如在企业内部,员工可能会通过 FTP 客户端连接到公司的 FTP 服务器(监听 20 和 21 端口)来获取工作相关的文件资料。
    • 22 端口:SSH(Secure Shell)端口,是一种安全的远程登录协议。常用于远程管理服务器,通过 SSH 协议,管理员可以在本地计算机上安全地登录到远程服务器进行配置、管理等操作。例如,系统管理员可以使用 SSH 客户端连接到云服务器的 22 端口,进行服务器的维护工作。
    • 23 端口:Telnet 端口,也是用于远程登录的协议。不过 Telnet 以明文形式传输数据,安全性较差,现在逐渐被 SSH 取代。在一些老旧的网络设备管理中,可能还会用到 Telnet 协议连接到设备的 23 端口进行配置。
    • 25 端口:SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)端口,主要用于发送邮件。当用户通过邮件客户端(如 Outlook、Foxmail 等)发送邮件时,邮件客户端会连接到邮件服务器的 25 端口,将邮件发送出去。
    • 53 端口:DNS(Domain Name System,域名系统)端口,用于域名解析服务。当用户在浏览器中输入一个域名时,计算机需要通过 DNS 服务器将域名解析为对应的 IP 地址,这个过程就会使用到 53 端口。
    • 80 端口:HTTP(Hypertext Transfer Protocol,超文本传输协议)端口,是用于在 Web 浏览器和网站服务器之间传输网页内容的协议。我们在浏览器中访问的绝大多数网站默认都是通过 80 端口提供服务的,比如当你访问百度网站时,浏览器默认会连接到百度服务器的 80 端口获取网页数据。
    • 443 端口:HTTPS(Hypertext Transfer Protocol Secure,超文本传输安全协议)端口,是 HTTP 的安全版本,用于加密传输网页数据,保证数据传输的安全性。现在很多网站为了保护用户信息,都采用了 HTTPS 协议,使用 443 端口进行通信。

2.3如何测试某台机器的特定端口是否通

  • Windows 系统

    • 使用 Telnet 命令

      • 原理:Telnet 是一种用于远程登录的协议,也可用于测试端口连通性。当使用 Telnet 尝试连接指定主机的特定端口时,如果能成功连接,说明该端口是开放的;若无法连接,则端口可能被关闭或存在网络问题。

      • 步骤

        • 首先要确保 Telnet 客户端已启用。打开 “控制面板”,选择 “程序和功能”,点击 “启用或关闭 Windows 功能”,在列表中找到 “Telnet 客户端” 并勾选,然后点击 “确定” 进行安装。

        • 打开命令提示符(按下 Win + R 组合键,输入 cmd 并回车)。

        • 输入命令 telnet [目标主机 IP 地址] [端口号],例如 telnet 192.168.1.100 80。如果端口开放,命令提示符窗口会变黑,没有任何提示信息;若端口关闭,会显示类似 “无法打开到主机的连接,在端口 [端口号]: 连接失败” 的错误信息。


    3,什么是MAC地址

    MAC 地址(Media Access Control Address),也叫物理地址、硬件地址,是由网络设备制造商生产时烧录在网卡(NIC)里的识别码。

    3.1地址格式:MAC 地址长度为 48 位二进制数,通常用 12 位十六进制数表示,每两位十六进制数之间用冒号或连字符分隔。例如:00:11:22:33:44:55 或 00-11-22-33-44-55。前 24 位(即前 6 位十六进制数)由 IEEE(电气和电子工程师协会)统一分配给不同的网卡制造商,代表了网卡的生产厂商,也称为组织唯一标识符(OUI);后 24 位(即后 6 位十六进制数)由各厂商自行分配给每一块网卡,是该厂商生产的网卡的唯一编号。

    3.2作用:在数据链路层,MAC 地址用于标识网络设备,数据帧的传输是基于 MAC 地址进行的。当一台设备要向另一台设备发送数据时,它会在数据帧的首部添加源 MAC 地址和目标 MAC 地址。然后,数据帧会在局域网中传输,所有设备都会接收到这个数据帧,但只有目标 MAC 地址与自己相符的设备才会处理该数据帧。此外,MAC 地址还在网络管理、安全控制等方面有重要应用,例如在一些企业网络中,可以通过 MAC 地址过滤来限制某些设备的网络访问。

    3.3如何查看机器的MAC

    IP,MAC与ARP笔记_第1张图片

    1首先鼠标右键windows菜单图标,选择运行打开运行窗口,或者也可以通过win+r快捷键来打开,然后在运行窗口中输入cmd,回车运行;

    IP,MAC与ARP笔记_第2张图片

    2,接着在命令窗口里输入ipconfig /all的指令,再按下回车以查看网络配置

    IP,MAC与ARP笔记_第3张图片

    3,最后就能够在网络配置里看到我们系统网卡的mac地址了。


    4,如何将数据包发给下一个节点

    1. 确定目标地址:发送方明确数据包的目标 IP 地址,这是网络层的逻辑地址,标识了最终要到达的设备。
    2. 查找路由表:发送方的网络设备(如路由器)会查找自己的路由表,根据目标 IP 地址来确定下一跳的 IP 地址,即数据包需要转发到的下一个节点的 IP 地址。
    3. 解析 MAC 地址:通过 ARP(地址解析协议),发送方将下一跳的 IP 地址解析为对应的 MAC 地址(数据链路层的物理地址)。这是因为在数据链路层,数据的传输是基于 MAC 地址进行的。
    4. 封装数据帧:发送方将数据包封装在数据帧中,在数据帧的首部添加源 MAC 地址(发送方自己的 MAC 地址)和目标 MAC 地址(下一跳的 MAC 地址)。
    5. 发送数据帧:将封装好的数据帧通过物理链路(如网线、无线)发送出去,数据帧会在网络中传输,到达下一跳的节点。下一跳节点接收到数据帧后,会重复上述过程,直到数据包最终到达目标设备。

    4.2ARP(Address Resolution Protocol)即地址解析协议,是 TCP/IP 协议族中的一个重要协议。其作用是将网络层使用的 IP 地址解析为数据链路层使用的 MAC 地址。当一台设备要向另一台设备发送数据时,已知目标设备的 IP 地址,需通过 ARP 协议获取目标设备的 MAC 地址,以保证数据在局域网中准确传输。工作时,源设备发送 ARP 请求广播包,询问目标 IP 地址对应的 MAC 地址,拥有该 IP 地址的设备会返回 ARP 响应单播包告知自己的 MAC 地址。

    4.3ARP流程

    1. ARP的基本功能是将32位的IP地址转换为48位的MAC地址,从而在物理网络中进行数据传输。
    2. 在通信过程中,当主机需要与同一局域网中的其他主机通信时,它会发送一个ARP请求,这个请求包含目标主机的IP地址并广播给网络上所有主机
    3. 收到请求的主机检查IP地址,如果IP地址与自己匹配,就回复一个ARP应答,告知请求方自己的MAC地址
    4. ARP缓存是每个主机维护的一个表,用于存储近期获得的IP和MAC地址映射关系。当主机需要向已知IP地址发送数据时,会先检查ARP缓存,如果找到对应的MAC地址则直接使用,否则再发起ARP请求。

    你可能感兴趣的:(IP,MAC与ARP笔记)