当前位置: 首页 > news >正文

网络编程 JAVA

一.网络编程

1. 什么是网络编程?

        网络编程是指利用计算机网络实现程序之间通信的一种编程方式。在网络编程中,程序需要通过网络协议(如 TCP/IP)来进行通信,以实现不同计算机之间的数据传输和共享。

2.  三个基本要素
        ①IP 地址:定位网络中某台计算机
                IP 地址用于唯一标识网络中的每一台计算机。在 Internet 上,使用 IPv4 或 IPv6 地址来表示 IP 地址
        ②端口号port:定位计算机上的某个进程(某个应用)
        ③通信协议:通过IP地址和端口号定位后,如何保证数据可靠高效的传输,这就需要依靠通信协议了。

用 IP 找对设备,用端口找对程序,用协议管好数据传输

二. IPv4 与 IPv6 地址长度笔记

三. 网络通信协议

    在计算机网络中,连接和通信的规则被称为网络通信协议,它对数据的传输格式、传输速率、传输步骤等做了统一规定,通信双方必须同时遵守才能完成数据交换。

1.TCP

TCP 是 传输控制协议(Transmission Control Protocol) 的缩写,是互联网中最核心的协议之一,属于 TCP/IP 协议族的重要组成部分。

        它的主要作用是在网络中两台设备之间建立可靠的、面向连接的数据传输通道,确保数据能完整、有序地送达。

TCP 的核心特点:

  • 面向连接:通信前必须通过 “三次握手” 建立连接,通信结束后通过 “四次挥手” 断开连接,类似打电话前先拨号确认对方接听。
  • 可靠传输:如果数据传输中丢失或出错,TCP 会自动重传,并按顺序重组数据,保证接收方收到完整、正确的信息。
  • 流量控制:根据接收方的处理能力调整发送速度,避免对方因数据过多而处理不过来。

        我们日常使用的很多服务(如浏览网页的 HTTP/HTTPS、发送邮件、文件传输等)都依赖 TCP 协议来保证数据传输的可靠性。

2.UDP 

        UDP 是 用户数据报协议(User Datagram Protocol) 的缩写,也是 TCP/IP 协议族中重要的传输层协议,与 TCP 并列但特点截然不同。

UDP 的核心特点:

  • 无连接:通信前不需要建立连接(比如 “三次握手”),直接发送数据,类似写信时直接投递,不需要提前确认对方是否准备好。
  • 不可靠传输:不保证数据一定送达,也不保证接收顺序,若数据丢失或出错,不会自动重传。
  • 传输速度快:由于省去了连接建立、确认、重传等流程,开销小,延迟低。

3.FTP

        FTP 是 文件传输协议(File Transfer Protocol) 的缩写,是专门用于在网络中实现文件传输的标准协议。

        它的核心功能是让客户端(本地设备)与服务器(远程设备)之间进行文件的上传(从本地传到服务器)、下载(从服务器传到本地),以及对服务器上的文件 / 目录进行查看、创建、删除、重命名等管理操作。

        不过,FTP 的一大局限是 默认采用明文传输(包括用户名、密码和文件内容),安全性较低,容易被第三方窃听。因此,现在更多使用基于加密的替代方案,比如 SFTP(SSH 文件传输协议)或 FTPS(基于 SSL/TLS 的 FTP),来提升文件传输的安全性。

        常见用途包括网站管理员上传网页文件到服务器、从特定资源服务器下载软件或资料等。

四 . OSI模型

通信子网的核心功能

通信子网是计算机网络中负责数据传输、交换和路由的部分(由路由器、交换机、通信链路等硬件组成),其核心任务是:

  • 在源主机和目标主机之间建立数据传输路径;
  • 确保数据准确、高效地从一端传递到另一端;
  • 应对网络拥堵、故障等问题,维持传输的稳定性。

物理层、 利用传输介质数据链路层提供物理连接,负责处理数据传输并监控数据出错率,以便数据流的透明传输。   比特流

数据链路层、数据链路层在物理层提供的服务基础上,在通信的实体间建立数据链路连接,传输以“帧”为单位的数据包,并采用差错控制与流量控制方法,使 有差错的物理线路 变成 无差错的数据链路。

网络层、为数据在节点之间传输创建逻辑链路,通过路由选择算法分组通过通信子网选择最适当的路径,以及实现拥塞控制、网络互连等功能。

传输层、根据通信子网的特性最佳的利用网络资源,并以可靠和经济的方式,为两个端系统(源站 和 目的站)的会话层之间,提供建立、维护和取消传输连接的功能,负责可靠地传输数据。它是计算机通信体系结构中关键的一层。在这一层,信息的传送单位是报文。   

  

会话层、负责维扩两个结点之间的传输连接,以便确保点到点传输不中断,以及管理数据交换等功能

表示层  处理在两个通信系统中交换信息的表示方法,主要包括数据格式变换、数据加密与解密、数据压缩与恢复等功能。

应用层  确定进程之间通信的性质以满足用户需要以及提供网络与用户应用软件之间的接口服务

http://www.dtcms.com/a/277461.html

相关文章:

  • 视觉语言导航与目标导航
  • 【银行测试】基金项目测试详细,测试点+面试(一)
  • ​​LangChain专家养成:工具扩展/Agent决策/记忆控制三维进阶
  • 250707脑电分析课题进展——EEGLAB的使用
  • 前端工程化-构建打包
  • 大模型-量化技术
  • 前端构建工具 Webpack 5 的优化策略与高级配置
  • [2025CVPR]DenoiseCP-Net:恶劣天气下基于LiDAR的高效集体感知模型
  • 神经网络的层与块
  • 掌握系统设计的精髓:12个核心设计模式的通俗解读
  • 【编程实践】利用open3d生成物体的最长边方向并可视化
  • 面向对象设计模式详解
  • CD49.【C++ Dev】容器适配器模式
  • 深入解析5G核心网容灾:UDM 故障场景下 SMF 容灾机制深度解析
  • C++ 单例模式实现
  • 【读书笔记】《C++ Software Design》第五章:The Strategy and Command Design Patterns
  • Java学习------设计模式(1)
  • ZKmall开源商城技术攻略:轻松掌握规则引擎与Spring Boot3接口的开发技巧
  • Linux V4L2应用编程常用结构体介绍
  • STEP 7-Micro/WIN SMART 编程软件:从入门到精通的使用指南
  • 面试150 从前序与中序遍历构造二叉树
  • STM32-第五节-TIM定时器-1(定时器中断)
  • Clojure和Golang中的Channel有什么异同(TBC)
  • 构建应用内智能:衡石嵌入式BI如何打造“指标中台”驱动的场景化分析
  • Python文件路径操作全面指南:从基础到高级应用
  • 深入理解数据库连接池:原理、实现与Druid实战
  • MCU中的系统控制器(System Controller)是什么?
  • Spring Boot + MyBatis 实现用户登录功能详解(基础)
  • PaperPel
  • Oracle SQL - 使用行转列PIVOT减少表重复扫描(实例)