在茫茫的互联网海洋中,要找到一台计算机非常不容易,有三个要素必须具备,它们分别是 IP 地址、MAC 地址和端口号。

IP地址

IP地址是 Internet Protocol Address 的缩写,译为“网际协议地址”。

目前大部分软件使用 IPv4 地址,但 IPv6 也正在被人们接受,尤其是在教育网中,已经大量使用。

一台计算机可以拥有一个独立的 IP 地址,一个局域网也可以拥有一个独立的 IP 地址(对外就好像只有一台计算机)。对于目前广泛使用 IPv4 地址,它的资源是非常有限的,一台计算机一个 IP 地址是不现实的,往往是一个局域网才拥有一个 IP 地址。

在因特网上进行通信时,必须要知道对方的 IP 地址。实际上数据包中已经附带了 IP 地址,把数据包发送给路由器以后,路由器会根据 IP 地址找到对方的地里位置,完成一次数据的传递。路由器有非常高效和智能的算法,很快就会找到目标计算机。

MAC地址

现实的情况是,一个局域网往往才能拥有一个独立的 IP;换句话说,IP 地址只能定位到一个局域网,无法定位到具体的一台计算机。这可怎么办呀?这样也没法通信啊。

其实,真正能唯一标识一台计算机的是 MAC 地址,每个网卡的 MAC 地址在全世界都是独一无二的。计算机出厂时,MAC 地址已经被写死到网卡里面了(当然通过某些“奇巧淫技”也是可以修改的)。局域网中的路由器/交换机会记录每台计算机的 MAC 地址。

MAC 地址是 Media Access Control Address 的缩写,直译为“媒体访问控制地址”,也称为局域网地址(LAN Address),以太网地址(Ethernet Address)或物理地址(Physical Address)。

数据包中除了会附带对方的 IP 地址,还会附带对方的 MAC 地址,当数据包达到局域网以后,路由器/交换机会根据数据包中的 MAC 地址找到对应的计算机,然后把数据包转交给它,这样就完成了数据的传递。

端口号

有了 IP 地址和 MAC 地址,虽然可以找到目标计算机,但仍然不能进行通信。一台计算机可以同时提供多种网络服务,例如 Web 服务(网站)、FTP 服务(文件传输服务)、SMTP 服务(邮箱服务)等,仅有 IP 地址和 MAC 地址,计算机虽然可以正确接收到数据包,但是却不知道要将数据包交给哪个网络程序来处理,所以通信失败。

为了区分不同的网络程序,计算机会为每个网络程序分配一个独一无二的端口号(Port Number),例如,Web 服务的端口号是 80,FTP 服务的端口号是 21,SMTP 服务的端口号是 25。

端口(Port)是一个虚拟的、逻辑上的概念。可以将端口理解为一道门,数据通过这道门流入流出,每道门有不同的编号,就是端口号。如下图所示:

IP、MAC和端口号——网络通信中确认身份信息的三要素相关推荐

  1. 关于绑定IP地址与端口号的见解

    "端口",通俗地讲就是一个通信通道的"门",各种计算机服务和通信都是通过特定的端口与外部计算机进行通信,像常见的WWW.FTP.Telnet服务一样. 随着计算 ...

  2. 22.1 网络编程:软件结构、网络通信协议、UDP与TCP协议、(网络编程三要素:协议、ip地址、端口号)、查看ip地址、检测网络是否连通、判断ip是否可用

    目录 网络编程 软件结构 网络通信协议 TCP/IP协议 协议分类 UDP TCP 网络编程三要素 协议 IP地址 列:查看本机ip地址 检查网络是否连通.判断ip是否可用 端口号 网络编程 软件结构 ...

  3. 如何查看本机端口_怎样查看Mac的端口号以及占用情况

    在启动项目,发现地址已经被使用,错误提示信息"Failure: Address already in use "那么如何查看端口占用情况呢?小编介绍几种查看端口占用并释放的方法. ...

  4. 网络编程-IP地址、端口号、网络字节序

    IP地址.端口号.网络字节序 本文中部分名词可见: 协议.TCP/IP模型.数据包封装与分用 一.IP地址 1. 简单认识 IP协议有两个版本:IPv4和IPv6. (1)IP地址在IP协议中,用来标 ...

  5. TCP IP地址和端口号设置

    1.大小端模式 1. 大端模式:低地址存储高字节     小端模式:低地址存储低字节 2.网络传输统一使用大端模式作为网络字节序,而计算机大多数为小端模式 3.大小端转化函 (1)头文件     #i ...

  6. odbc找不到服务器ip,[转载]不需ODBC可由IP地址与端口号建立与SQLSERVER的连接

    不需ODBC可由IP地址与端口号建立与SQLSERVER的连接 package jsp; import java.sql.*; // JDBC package public class sql_dat ...

  7. ipv6 端口号_计算机网络之IP、MAC、端口号、子网掩码、默认网关、DNS

    IP地址 IP地址是 Internet Protocol Address 的缩写,译为"网际协议地址". 目前大部分软件使用 IPv4 地址,但 IPv6 也正在被人们接受,尤其是 ...

  8. IP地址、端口号、网络字节序

    本文中部分名词可见: 协议.TCP/IP模型.数据包封装与分用 一.IP地址 1. 简单认识 IP协议有两个版本:IPv4和IPv6. (1)IP地址在IP协议中,用来标识网络中不同主机的地址. (2 ...

  9. 【网络初识】IP地址,端口号的概念;TCP/IP五层模型;封装和分用

    文章目录 1. 局域网LAN 2. 广域网WAN 3. 网络通信基础 3.1 IP地址 3.2 端口号 4. 认识协议 5. 五元组 6. 协议分层 6.1 OSI七层模型 6.2 TCP/IP五层模 ...

最新文章

  1. 超越ImageNet?李飞飞力赞高徒的视频描述研究入选计算机视觉最前沿的十大论文
  2. byte[]数组和int之间的转换
  3. docker安装并运行elasticsearch
  4. python程序代码_python基础二
  5. SqlServer2000中作业无法删除的原因和解决办法
  6. CABasicAnimation 使用
  7. 为什么html中li浮动,相对定位下的绝对定位下的li为什么不能浮动??
  8. 回到顶部 jquery
  9. 常用的Java虚拟机参数
  10. 怎样才能从Java初级程序员成长为一名合格的架构师?
  11. java-for循环9的倍数(基础)
  12. HTML短信验证码框,vue实现短信验证码输入框
  13. 气象数据免费下载(超级好用)
  14. 计算机视觉(角点检测)- 2 - Shi-Tomasi 角点检测
  15. 余弦相似度:通过计算两个向量的夹角余弦值来评估他们的相似度
  16. 数据的经济价值与个人信息安全保护,该如何平衡?
  17. (保姆级)利用ffmpeg将flv批量转mp4
  18. javaee学习之路(十五)JSP编程总结
  19. UML类图中方法(操作)的表示格式
  20. 地府数据库是什么样一个数据库?

热门文章

  1. android studio标题怎么改,如何在Android Studio中将应用标题更改为徽标
  2. android设置通知在屏幕横幅显示,Android推送通知横幅未显示在某些设备中
  3. 负数比较大小_【教研活动】整体把握负数脉络 深度解读教材意图——鲤城区实验小学数学组单元整体教学系列研讨活动...
  4. mysql集群数据引擎_MySQL数据引擎
  5. 20211018 一些特殊矩阵
  6. 部分常用算法分析总结
  7. 企业项目开发--企业中的项目架构以及多环境分配(2)
  8. Jmeter 断言使用
  9. [黑马程序员二]:C#面向对象基础
  10. linux 系统中的文件权限