网络通信三要素:IP、端口和协议

2024-04-09 01:52

本文主要是介绍网络通信三要素:IP、端口和协议,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

IP:设备在网络中的地址,是唯一的标识

  • IP:全程”互联网协议地址“,是分配给上网设备的唯一标志

  • IP地址有两种形式:

    • IPv4:32位

    • IPv6:共128位。分成8段表示,每取四位编码成一个16进制位表示,数之间用:隔开

  • IP域名

  • 公网IP:是可以连接互联网的IP地址;

  • 内网IP:也叫局域网IP,只能组织机构内部使用。192.168是常见的局域网地址,范围为192.168.0.0--192.168.255.255

  • IP常用命令

    • ipconfig:查看本机IP地址

    • ping IP地址(域名):检查网络是否连通

  • InetAddress:代表IP地址

    • getByName(String host):通过主机名或IP地址字符串获取InetAddress对象。

      InetAddress address = InetAddress.getByName("www.example.com");
      
    • getLocalHost():获取本地主机的InetAddress对象。

      InetAddress localHost = InetAddress.getLocalHost();
      
    • getHostName():获取主机名。

      String hostname = address.getHostName();
      
    • getHostAddress():获取IP地址字符串

      String ipAddress = address.getHostAddress();
      
    • getCanonicalHostName():获取主机的规范化名称。

      String canonicalHostName = address.getCanonicalHostName();
      
    • isReachable(int timeout):检查主机是否可达,可以指定超时时间(以毫秒为单位)。

      boolean isReachable = address.isReachable(5000); // 5秒超时
    • getAllByName(String host):获取指定主机名的所有InetAddress对象数组。

      InetAddress[] addresses = InetAddress.getAllByName("www.example.com");
      

端口:应用程序在设备中唯一的标识标记正在计算机设备上运行的应用程序,被规定为一个16位的二进制,范围是0~65535

  • 周知端口:0~1023,被预先定义的知名应用占用(如:HTTP用80)

  • 注册端口:1024~49151,分配给用户进程或某些应用程序

  • 动态端口:49152~65535,之所以称为动态端口,是因为它一般不固定分配某种进程,而是动态分配

注端口号不能重复。

协议:连接和数据在网络中传输的规则

先来了解网络模型

  • OSI网络参考模型:全球网络互联标准

  • OSI网络参考模型:全球网络互联标准

传输层两个通信协议

  • UDP:用户数据报协议

    • 特点: 无连接、不可靠通信

    • 不事先建立连接,数据按照包发,一包数据包含:自己的IP、程序端口、目的地IP、程序端口和数据(限制在64KB内)

    • 发送方不管对方是否在线,数据在中间丢失也不管,如果接收方收到数据也不返回确认,故不可靠

  •  TCP:传输控制协

    • 特点:面向连接、可靠通信

    • TCP的最终目的:要保证在不可靠的信道上实现可靠的传输

    • TCP主要有三个步骤实现可靠传输:三次握手建立连接,传输数据进行确认,四次挥手断开连接

 在接下来的博客中我们将具体介绍UDP和TCP。

这篇关于网络通信三要素:IP、端口和协议的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/886911

相关文章

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

nginx中端口无权限的问题解决

《nginx中端口无权限的问题解决》当Nginx日志报错bind()to80failed(13:Permissiondenied)时,这通常是由于权限不足导致Nginx无法绑定到80端口,下面就来... 目录一、问题原因分析二、解决方案1. 以 root 权限运行 Nginx(不推荐)2. 为 Nginx

zookeeper端口说明及介绍

《zookeeper端口说明及介绍》:本文主要介绍zookeeper端口说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、zookeeper有三个端口(可以修改)aVNMqvZ二、3个端口的作用三、部署时注意总China编程结一、zookeeper有三个端口(可以

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

Java根据IP地址实现归属地获取

《Java根据IP地址实现归属地获取》Ip2region是一个离线IP地址定位库和IP定位数据管理框架,这篇文章主要为大家详细介绍了Java如何使用Ip2region实现根据IP地址获取归属地,感兴趣... 目录一、使用Ip2region离线获取1、Ip2region简介2、导包3、下编程载xdb文件4、J