<JavaEE> 理解IP协议的两个功能 -- 地址管理和路由选择

目录

地址管理

什么是IP地址?

IP地址中的网络号和主机号分别有什么作用?

什么是"IP地址枯竭的问题"?

如何解决IP地址枯竭的问题?

什么是NAT/NAPT技术?

NAT技术的优点和缺点?

了解特殊的IP地址

什么是子网掩码?

路由选择

什么是路由选择?

路由选择具体是怎么选择的?


地址管理

什么是IP地址?

  • IP地址分为网络号和主机号两个部分,用于标识网络中不同设备的地址

  • 通常以点分十进制表示,如192.168.0.1。


IP地址中的网络号和主机号分别有什么作用?

  • 网络号用于保证相互连接的两个网段具有不同标识;主机号用于在同一网段内,标识不同主机

  • 网络号相同的主机组成同一子网,子网内的主机号不能相同,通常由路由器使用DHCP技术自动分配。


什么是"IP地址枯竭的问题"?

  • IP地址的数量是有限的。在IPv4协议下,IP地址有2^32个

  • 每一个网卡都需要有一个IP地址,在IPv4协议下,IP地址数量不能满足现代网络设备暴增的需求,这个问题被称为"IP地址枯竭的问题"。


如何解决IP地址枯竭的问题?

  • 动态分配IP,接入网络时才分配IP。

  • 使用NAT机制,划分网段

  • 使用IPv6协议 ,IPv6使用16个字节来表示IP地址,地址数量多达2^128个,数量巨大。


什么是NAT/NAPT技术?

NAT/NAPT机制应该通过 "公网IP和私网IP"的作用 和 "IP号和端口号"的作用 两部分去理解。
公网IP和私网IP的作用

  1. NAT技术基于网段划分,也称网络地址转换,使用一个IP地址,指代一批设备 ,是目前解决IP地址枯竭的主要手段,也是路由器的重要功能

  2. NAT将IP地址分为私有IP和公网IP,通过将私有IP和公网IP相互转换,完成通信。

  3. 在同一个局域网内部,内网IP之间不能重复;在不同局域网中,内网IP可以重复。外网IP必须唯一

  4. 私有IP和公网IP的相互转换,通过路由器完成,当数据通过路由器WAN口到达LAN口时,会将公网IP替换为子网IP;数据由LAN口到达WAN口时,则将子网IP替换为公网IP。

IP号和端口号的作用

  • IP号和端口号依靠NAPT技术,使用IP+port端口号 来建立关联,用于在局域网内识别不同主机端口号可以用于区分同一主机的不同进程,也可以区分不同主机的不同进程

  • 如果不同主机之间端口号冲突,路由器会自动替换冲突的端口号,并记录端口号的映射关系,这个记录被称为转换表


NAT技术的优点和缺点?

  • 优点:NAT是纯软件方案,不需要更换硬件设备

  • 缺点:NAT依赖转换表,无法从NAT外部向内部服务器建立连接;转换表的生成和销毁有额外开销;通信中,如果NAT设备异常,转换表无法访问,TCP连接也将断开。


了解特殊的IP地址

  • 主机号为0的IP地址,称为局域网的网络号,代表整个局域网。如:192.168.100.0。

  • 主机地址全部为1的IP地址,称为广播地址,用于给同一链路中互相连接的所有主机发送数据包。如:192.168.100.255。

  • 127开头的IP地址,称为环回地址,用于本机环回,表示设备自身。如:127.0.0.1。


什么是子网掩码?

  • 子网掩码需要配合IP地址使用,用于区分IP地址中的网络号和主机号,在同一网络号下可以用于划分子网

  • 子网掩码是一个以二进制表示的32位正整数,如:1111 1111 1111 1111 1111 1111 0000 0000(以点分十进制表示,就是 255.255.255.0)。

  • 将IP地址和子网掩码进行"按位与"操作,就可以得到网络号


路由选择

什么是路由选择?

  • 路由选择是指在网络中,找到源地址通向目标地址的路径

  • 路由的过程是逐点跳跃(Hop by Hop)的 ,即在数据链路层(以太网)中,一节点一节点的**"探索式"传输**。


路由选择具体是怎么选择的?

  1. IP数据报到达路由器,路由器会查看数据报的目的IP

  2. 路由器查询自身维护的路由表,根据路由表判断数据报传输的下一地址(可能是目标主机,也可能是下一更靠近主机的路由器)。

  3. 循环以上行为,直到到达目标IP地址


相关推荐
入门到跑路2 小时前
【君正T31开发记录】8.了解rtsp协议及设计模式
网络协议·设计模式
岁岁岁平安8 小时前
Web基础(HTTP协议)
网络协议·http·web
傻啦嘿哟8 小时前
代理IP:苹果Siri与ChatGPT Plus融合的关键助力
网络协议·tcp/ip·chatgpt
可涵不会debug9 小时前
【Linux | 计网】TCP协议详解:从定义到连接管理机制
linux·服务器·网络·tcp/ip
earthzhang20219 小时前
《深入浅出HTTPS》读书笔记(10):流密码算法
网络·网络协议·http·https·1024程序员节
写代码的猫_53110 小时前
IP转发流程
网络·tcp/ip·智能路由器
今朝无言17 小时前
Tri Mode Ethernet MAC IP核详解
网络·网络协议·tcp/ip·fpga开发
C++忠实粉丝18 小时前
计算机网络socket编程(5)_TCP网络编程实现echo_server
网络·c++·网络协议·tcp/ip·计算机网络·算法
丁总学Java1 天前
netstat -tuln | grep 27017(显示所有监听状态的 TCP 和 UDP 端口,并且以数字形式显示地址和端口号)
网络协议·tcp/ip·udp
钰爱&1 天前
【操作系统】Linux之网络编程(TCP)(头歌作业)
linux·网络·tcp/ip