博客
关于我
Java 网络编程(一) 网络基础知识
阅读量:445 次
发布时间:2019-03-06

本文共 1245 字,大约阅读时间需要 4 分钟。

网络编程基础

网络编程的核心目标

网络编程的核心目标是通过网络协议与其他计算机进行信息交换。网络编程需要解决两个关键问题:如何准确地定位网络上的主机,以及如何在主机之间可靠、高效地进行数据传输。

常见的网络编程模型

目前主流的网络编程模型是客户端/服务器(C/S)结构。在这个模型中,通信双方一方作为服务器,等待另一方(客户端)提出请求并提供相应服务。服务器通常运行在固定的位置,持续监听特定的网络端口。一旦接收到客户端的请求,服务器会启动一个服务线程来响应客户端的需求,同时继续监听,确保后续客户端请求也能得到及时处理。

IP地址的作用

IP地址是网络中每台主机的唯一标识符,属于逻辑地址。互联网中的IP地址具有全球唯一性。IP地址由四个字节组成,共计32位,通常用点分十进制格式表示。例如:192.168.0.200。

协议的定义

协议是网络中数据交换的规则和标准,用于确保数据在不同主机之间能够正确传输。网络中的协议分为不同的层次,例如:

  • 应用层:负责数据的具体应用需求,如HTTP、FTP、DNS等。
  • 传输层:提供端到端的通信服务,如TCP和UDP协议。
  • 网络层:负责数据的路由和寻址,如IP协议。
  • 数据链路层:负责数据在物理介质上的传输,如以太网协议。
  • 物理层:负责二进制数据的传输。

OSI参考模型将这些功能分为七个层次,并强调各层之间的严格依赖关系。通信实体之间通过对等层间接通信,实际的数据传输依然发生在物理层。

OSI七层模型详解

OSI参考模型将网络功能划分为七个层次:

  • 应用层:处理具体的网络应用需求,如文件传输、网络查找等。
  • 表示层:定义数据的表示方式。
  • 会话层:管理主机间的通信会话。
  • 传输层:提供端到端的通信服务,如TCP和UDP协议。
  • 网络层:负责数据的寻址和路由选择。
  • 数据链路层:负责数据在物理介质上的传输。
  • 物理层:实现二进制数据的传输。
  • 通信实体之间通过对等层进行交互,实际的数据传输依然发生在物理层。这种分层架构使得网络互联问题得以有效解决。

    端口号的作用

    在网络传输中,数据不仅需要目标主机的IP地址,还需要目标应用程序的端口号。端口号是一个16位的数字(0~65535),用于标识应用程序。

    端口号的作用是:

  • 在网络中区分同一主机上的多个应用程序。
  • 指定数据的具体处理程序。
  • TCP和UDP协议各自维护独立的端口号空间。例如,HTTP协议通常使用80端口,FTP协议使用21端口。

    数据封装

    在网络通信中,数据需要经过封装的过程。封装是指在数据前面添加特定的协议头部。例如,OSI参考模型中,数据在不同的层面会被多次封装,形成多层“信封”。

    封装的过程包括:

  • 数据打包:将数据按照特定格式进行整理。
  • 头部添加:在数据前面添加协议头部,包含控制信息。
  • 传输:通过物理介质进行数据传输。
  • 拆封:在目标主机中逐层拆除协议头部,提取原始数据。
  • 这种多层封装机制确保了数据在复杂网络环境中的准确传输。

    参考资料

    • 《圣思园张龙老师Java SE系列视频教程》

    转载地址:http://xyqyz.baihongyu.com/

    你可能感兴趣的文章
    PL/SQL 存储函数和过程
    查看>>
    query简单入门到精通细节 - (六)Jquery效果之“淡入与淡出”
    查看>>
    PL/SQL提示“ORA-01722:无效数字,将无效数字查找出来
    查看>>
    PL/sql语法单元
    查看>>
    PL/SQL连接远程服务器数据库,出现ORA-12154: TNS: 无法解析指定的连接标识符。
    查看>>
    pl/sql锁
    查看>>
    PL2303 Windows 10 驱动项目常见问题解决方案
    查看>>
    QueryPerformanceCounter与QueryPerformanceFrequency
    查看>>
    Plaid.com的监控系统如何实现与9600多家金融机构的集成
    查看>>
    Plain Stock Prediction:基于RNN的股票价格预测工具
    查看>>
    platform_driver与file_operations两种方法开发led驱动
    查看>>
    PlatON共识方案详解:应用CBFT共识协议,提高共识效率
    查看>>
    QueryDict和模型表知识补充
    查看>>
    Querybase 使用与安装教程
    查看>>
    Playwright与Selenium的对比:谁是更适合你的自动化测试工具?
    查看>>
    quarz设置定时器任务的有效时间段_定时器?你知道有几种实现方式吗?
    查看>>
    PLC、DCS、SCADA的选型
    查看>>
    PLC中的电子凸轮的简单介绍
    查看>>
    PLC发展详解-ChatGPT4o作答+匹尔西
    查看>>
    PLC探针有什么用
    查看>>