在Java编程中,网络知识是必不可少的,了解基础的网络知识,对于了解整个系统架构是非常有帮助的。我们都知道,传统的OSI七层网络模型由下往上分为
物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
http://zh.wikipedia.org/wiki/OSI%E6%A8%A1%E5%9E%8B
当然,这些也都有不同的分法,只是为了对于网络结构的理解方便而制定,都是可以对应起来的。每一层都有自己独特的作用,也规定了适用于本层的协议和标准,以便更好的解决本层的问题。
由以下对工作在每层的协议的描述,可以看到一个由上到下的依赖关系,例如“包”(Packet)是TCP/IP协议通信传输中的数据单位,一般也称“数据包”,由TCP/IP协议 定义了包的具体结构,源地址、数据、目的地址等。这个数据包里面包含了上次的内容,列入HTTP请求所发送的数据。而数据包到达数据链路层后,被增加了帧头和帧尾 继续传输,实际传输的过程是由物理层的电路实现的,电路的高电平和低电平表示了数据里的bit位1或0。如下图所示:
我们在开发中主要关注的是,网络层以上的协议。例如IP协议就位于网络层,它主要解决主机的寻址问题;TCP协议和UDP协议都是工作在传输层, 主要解决数据如何在网络中传输的问题,以下是对OSI七层网络模型对应的协议或者标准的概括:
物理层协议:是对硬件的规范,例如网线的连接使用RJ-45水晶头等等。
数据链路层:HDLC、PPP/MP、X.25、FR、POS和 ATM等,这些规定了最基本的二进制数据包的组成结构。
网络层协议:IP协议、ARP地址解析协议、RARP反向地址转换协议、DHCP动态主机配置协议ICMP,主要都与网络寻址相关。
传输层协议:TCP协议、UDP协议。
表示层协议:保证源端数据能够被目的端表示层理解和识别,对应用程序透明。表示层提供数据格式转换服务,数据加密、数据表示标准等服务。 表示层确定了数据传输时数据的组织方式。常见的表示层协议(也可以说是标准)有:
数据结构标准,EBCDIC(extended binary coded decimal interchange code)、
ASCII(Amercia Standard Code for Information Interchange);
图像标准:JPEG(Joint Photographic Experts Group)、TIFF(Tagged Image File Format)、GIF;
视频标准:MIDI(Musical Instrument Digital Interface)、MPEG(Motion Picture Experts Group)、QuickTime等。
会话层协议:RPC, 远程过程调用,RTCP, 实时传输控制协议,SCP, Secure Copy Protocol,SSH, Secure Shell http://zh.wikipedia.org/wiki/%E4%BC%9A%E8%AF%9D%E5%B1%82
应用层协议:FTP、Telnet、SMTP、HTTP、RIP、NFS、DNS等。与Java相关的还有RMI技术,基于JRMP(Java Remote Messaging Protocol)协议。而WebService 是一种技术,基于SOAP(Simple Object Access Protocol)协议,以http的形式封包,构建于tcp之上的应用层协议。是异构系统或异构语言应用程序之间通讯的首选。JMS(Java Message Service),是一种java 程序的API规范,原理上可以用任何协议通讯。常用的还是TCP。仅仅适用于java语言编写的应用程序之间通讯。同样的EJB也是一种技术,它主要还是基于RMI方式传递数据。
相关推荐
它不仅涵盖了网络编程的基础知识,也深入到高级特性和实践技巧,对于想要提升网络编程能力的Java程序员来说,是一本不可多得的参考书。通过阅读和实践书中的例子,读者不仅可以掌握理论知识,还能积累实际开发经验,...
Java网络编程是Java开发中的重要领域,它涵盖了网络通信的所有基本概念和技术,使得Java应用程序能够通过网络进行数据传输和交互。本视频教程旨在为学习者提供一个全面且深入的Java网络编程指南,无论你是初学者还是...
1. **TCP/IP协议基础**:讲解TCP/IP模型,包括网络分层(应用层、传输层、网络层和数据链路层)及其主要协议,如TCP和UDP。 2. **Java网络API**:介绍Java的Socket和ServerSocket类,用于创建TCP连接;...
Java网络编程是构建网络应用程序的重要部分,它允许程序与网络上的其他计算机进行数据交换和通信。...随着云计算、物联网等技术的发展,网络编程的应用场景越来越广泛,掌握这些基础知识变得尤为重要。
Java 基础知识 - 网络编程 ...本文档对 Java 语言中的网络编程基础知识进行了详细的介绍,包括软件架构、网络通信协议、协议分类、网络编程三要素等内容,为读者提供了一个较为全面的了解 Java 网络编程的机会。
- **通信协议分层思想**:熟悉OSI参考模型和TCP/IP模型是构建网络应用程序的关键。 - **TCP/IP协议**:掌握TCP/IP协议的具体细节有助于提高网络程序的性能和可靠性。 - **Java对网络编程的支持**:利用Java提供的...
- **网络分层模型**:详细讲解OSI七层模型与TCP/IP四层模型,包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层的具体功能及其相互关系。 - **协议详解**:重点介绍了互联网中最常见的协议——IP...
本文主要探讨了网络基础知识、计算机网络的分类、网络工作模式以及Internet的发展历程,同时还涉及了网络通信协议,特别是TCP/IP协议族及其与OSI模型的关系。 首先,网络基础讲述了计算机网络是如何连接分布在不同...
本篇文章将深入探讨Java网络编程的基础知识,包括OSI分层模型和TCP/IP分层模型、IP地址、端口号,以及TCP和UDP协议。 首先,了解网络通信的基本模型至关重要。OSI(开放系统互连)模型是一个理论框架,它将网络通信...
考虑到给定的信息,我们...本书作为“Java网编程原理与JSP.Web开发核心技术”的教学材料,将会系统地介绍上述知识点,并通过案例分析、练习题等方式,帮助读者深入理解并掌握Java网络编程和JSP技术在Web开发中的应用。
1.4.1 协议分层 1.4.2 服务类型 1.4.3 服务原语 1.5 ISO/OSI参考模型 1.5.1 参考模型 1.5.2 模型评价 1.6 本书的结构 第一部分 数据通信 第2章 数据通信基础知识 2.1 基本概念 2.1.1 信号与通信 2.1.2 ...
1. **网络基础知识**: - **IP地址**:IP地址是互联网上设备的唯一标识,分为IPv4和IPv6两种类型。 - **端口号**:用于区分同一台机器上的多个网络服务,范围是0到65535,其中0到1023是保留端口。 - **协议**:...
本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各方面的内容,书中章节涉及到TCP和UDP socket、服务器socket、URL和URI、组播以及特殊用途的API(如JavaMail)等等。本书展示了如何使用JSSE编写安全的...
本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各方面的内容,书中章节涉及到TCP和UDP socket、服务器socket、URL和URI、组播以及特殊用途的API(如JavaMail)等等。本书展示了如何使用JSSE编写安全的...
本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各方面的内容,书中章节涉及到TCP和UDP socket、服务器socket、URL和URI、组播以及特殊用途的API(如JavaMail)等等。本书展示了如何使用JSSE编写安全的...
### JAVA网络编程基础概念解析 #### 什么是计算机网络? 计算机网络是指通过通信线路将分布在不同地理位置的计算机和其他网络设备连接起来形成的系统。这些设备能够互相传递信息并共享资源(如硬件、软件和数据等)...
1. **TCP/IP协议基础**:理解TCP/IP模型,包括网络分层、数据包传输过程等。 2. **Java Socket编程**:创建Socket连接,发送和接收数据,异常处理,以及多线程在Socket通信中的应用。 3. **ServerSocket与...
本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各方面的内容,书中章节涉及到TCP和UDP socket、服务器socket、URL和URI、组播以及特殊用途的API(如JavaMail)等等。本书展示了如何使用JSSE编写安全的...
本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各方面的内容,书中章节涉及到TCP和UDP socket、服务器socket、URL和URI、组播以及特殊用途的API(如JavaMail)等等。本书展示了如何使用JSSE编写安全的...
本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各方面的内容,书中章节涉及到TCP和UDP socket、服务器socket、URL和URI、组播以及特殊用途的API(如JavaMail)等等。本书展示了如何使用JSSE编写安全的...