网络通信三要素: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。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/601844.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 5.10 Pstore 功能测试

目录 简介环境配置内核配置参考备注 简介 Pstore(Persistent store support)是用于系统发生oops或panic时,自动保存内核log buffer中的日志。随着功能不断完善,Duo S使用Linux 5.10已经支持保存console日志、ftrace消息和用户空间日志的收集&#xff0c…

Python学习从0开始——007输入与输出

Python学习从0开始——007输入与输出 一、简单输出二、复杂输出2.1引用变量2.2format()函数2.3手动格式化 三、读写文件3.1open()3.2操作文件对象3.3使用 json 保存结构化数据 一、简单输出 str() 函数返回供人阅读的值,repr() 则生成适于解释器读取的值&#xff0…

德兰梅尔:耐高温热销的膜元件亮相2024上海国际生物发酵展

德兰梅尔:耐高温热销的膜元件盛装亮相2024上海国际生物发酵展,8月7-9号上海新国际博览中心与您不见不散! 据了解,从成立至今,德兰梅尔一直专注膜技术、膜产品的开发生产。在中国市场上,德兰梅尔刚步入中国…

峥嵘九载,逐云而上:青果乔迁新址,乘风破浪再起新篇

4月1日,近百名员工和诸多合作伙伴齐聚,共同见证了青果九周年庆典暨乔迁仪式这一里程碑式的时刻。 新起点,新征程,再启航! 以新为序,共赴新征程 在典礼上,青果创始人和高管分别发表了致辞&#…

Python技能树学习-函数

题目一:递归调用 函数的参数: def dump(index, default0, *args, **kw): print(打印函数参数) print(---) print(index:, index) print(default:, default) for i, arg in enumerate(args): print(farg[{i}]:, arg) for…

力姆泰克医疗电动推杆

力姆泰克医疗电动推杆,宛如医疗领域的精巧舞者,以其卓越的性能和稳定的表现,为众多医疗应用献上了精彩的演绎。它犹如一位敬业的演员,始终保持着高度的灵敏度和精确度,无论是微调还是大幅移动,都能准确无误…

wireshark抓包新手使用教程

Wireshark是非常流行的网络封包分析软件,可以截取各种网络数据包,并显示数据包详细信息。常用于开发测试过程各种问题定位。本文主要内容包括: 1、Wireshark软件下载和安装以及Wireshark主界面介绍。 2、WireShark简单抓包示例。通过该例子学…

好用的AI智能工具:AI写作、AI绘画、AI翻译全都有

在科技不断进步的今天,人工智能(AI)已经成为我们日常生活中不可或缺的一部分。它不仅在各个领域都有应用,还为我们提供了许多方便快捷的工具。对此,小编今天推荐7款人工智能软件,AI写作、AI绘画、AI翻译全都…

测试开发面经(Flask,轻量级Web框架)

1. Flask的核心特点 a. 轻量级:核心简洁,只提供了基本的功能,其他高级功能可以通过插件或扩展来添加。 b. 灵活性:允许开发者选择适合自己项目的组件和工具,没有强制的项目结构和设计模式。 c. 易于扩展:提…

别再抱怨学鸿蒙没方向了! 这鸿蒙全栈(南北双向)开发学习路线收藏好!

在互联网技术不断发展的现在,鸿蒙操作系统的出现标志着是能技术领域的一次重大突破,鸿蒙作为华为推出的一代操作系统,鸿蒙不仅达代表了自主创新的力量,还因为独特的分布式架构和全场景适配能力而备受关注。随着鸿蒙生态的不断完善…

HarmonyOS 应用开发-边缓存边播放案例

介绍 OhosVideoCache是一个支持边播放边缓存的库,只需要将音视频的url传递给OhosVideoCache处理之后再设置给播放器, OhosVideoCache就可以一边下载音视频数据并保存在本地,一边读取本地缓存返回给播放器,使用者无需进行其他操作…

OneFlow深度学习框架:技术优势与功能特点

文章目录 一、概要二、核心技术优势2.1、分布式训练2.2、极致性能2.3、端到端的智能数据平台2.4、开放灵活的算法支持2.5、跨平台支持 三、功能特点四、OneFlow与TensorFlow对比四、安装OneFlow五、总结 一、概要 OneFlow是一款基于Python的开源深度学习框架,旨在实…