计算机网络——IP地址

IP地址

1、IP地址的类型

2、IP地址的作用

3、如何查询和定位IP地址

IP地址是什么

IP地址(Internet Protocol Address)是互联网协议地址,是网络上每个设备的唯一标识符,用于设备间的数据传输和通信‌。IP地址由互联网协议(IP协议)提供,是一种统一的地址格式,能够屏蔽物理地址的差异,确保数据能够准确送达目标设备

IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数

1、IP地址的类型

IP地址主要分为两大类:IPv4IPv6

  • IPv4‌:目前最广泛使用的IP地址类型,采用32位地址长度,通常表示为四组数字(0-255),如192.168.1.1
  • IPv6‌:随着互联网的发展,IPv4地址资源逐渐枯竭,IPv6应运而生。它采用128位地址长度,表示方式更为复杂,如2001:0db8:85a3:0000:0000:8a2e:0370:7334

2、IP地址的作用

  1. 标识设备‌:IP地址作为设备的网络标识,类似于家庭住址,确保数据能准确送达目标设备
  2. 路由选择‌:IP地址帮助数据包在网络中找到最佳路径,从源设备传送到目标设备

3、IP地址的查询和定位

IP地址的查询可以通过专门的IP查询工具进行,例如IP66.net。这些工具可以提供IP地址的地理位置、运营商等信息。然而,IP地址本身并不直接定位到具体的物理位置,而是通过网络设备进行数据传输和通信

  1. 命令行工具

    • WindowsWin + R → 输入 cmd → 执行 ipconfig

      • 查找 IPv4 Address 或 IPv6 Address

    • Linux/macOS:终端输入 ifconfig 或 ip a

### 计算机网络课程设计示例 #### 获取网卡列表并捕获数据包 对于局域网内的数据包捕获和统计工作,核心在于访问计算机的网卡设备。由于所有的包发送与接收均需通过网卡来执行,在开始捕获之前,首要任务是枚举当前机器上可用的网卡接口,并允许用户选择特定的一个用于监听流量[^1]。 ```java import jnetpcap.Pcap; import jnetpcap.PcapIf; public class NetworkInterfaceExample { public static void main(String[] args) { StringBuilder errbuf = new StringBuilder(); Pcap.findAllDevs(new ArrayList<PcapIf>(), errbuf); for (PcapIf device : devices) { System.out.println("Name.......... " + device.getName()); System.out.println("Description... " + device.getDescription()); } } } ``` 此段代码展示了如何使用`jnetpcap`库中的API函数查找所有本地网络适配器,并打印它们的名字及其描述信息给终端用户查看。 #### Socket编程实现基本文本通信 当涉及到两台不同物理主机间的简单消息传递时,可以通过套接字(Socket)机制建立可靠的TCP连接通道。在此基础上构建的应用层协议能够满足A向B端发送字符串形式的信息流的需求[^2]。 ```cpp #include <sys/socket.h> #include <netinet/in.h> int create_tcp_server(int port){ int sockfd = socket(AF_INET, SOCK_STREAM, 0); struct sockaddr_in server_addr; bzero(&server_addr,sizeof(server_addr)); server_addr.sin_family=AF_INET; server_addr.sin_port=htons(port); server_addr.sin_addr.s_addr=htonl(INADDR_ANY); bind(sockfd,(struct sockaddr*)&server_addr,sizeof(server_addr)); listen(sockfd,5); return sockfd; } // Client side would use connect() to establish a connection with the above created server. ``` 上述C++片段定义了一个创建TCP服务器的方法,它绑定指定端口等待客户端发起请求连接,之后便能处理来自远端的数据读取操作。 #### IPv4 NAT静态映射设置 在网络地址转换(NAT)环境中,内部私有IP地址空间里的资源如果想要对外提供服务,则需要配置相应的NAT规则以便公网侧可以正常访问这些资产。例如,将内网中某Web服务器(假设其位于192.168.10.2且运行于标准HTTP端口80之上)暴露至互联网,可通过如下CLI指令完成: ```bash ip nat inside source static tcp 192.168.10.2 80 209.165.200.223 8080 ``` 这条命令的作用是在路由器上设定一条永久性的外部到内部的服务转发路径,使得外界可以通过公共IP `209.165.200.223` 的8080端口访问该内部web站点[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值