2

java网络编程(Java网络编程基本概念是什么?)

  ava网络编程基本概念——探索主机的网络层   嘿,大家好!我是一名资深的操作系统优化师,今天要和大家聊一聊Java网络编程的基本概念。当我们在编写Java程序时,有时候需要与其他计算机进行通信,这时

  ava网络编程基本概念——探索主机的网络层

  嘿,大家好!我是一名资深的操作系统优化师,今天要和大家聊一聊Java网络编程的基本概念。当我们在编写Java程序时,有时候需要与其他计算机进行通信,这时候就涉及到网络层的知识了。

  首先,让我们来了解一下主机的网络层是什么。网络层定义了特定网络接口(比如以太网或WiFi天线),通过物理连接将IP数据报发送到本地网络或世界其他地方。这一层中,连接不同计算机的硬件部分(比如电缆、光纤、无线电波或烟雾信号)有时被称为网络的物理层。但是,作为Java程序员,我们不需要太过担心这一层,除非出现了一些错误,比如计算机后面的插头脱落或者有人切断了您与外部世界之间的T-1线。对Java来说,这个物理层是完全隐藏的。

  接下来,让我们来看看网络层。网络层是主机网络层的下一层,也是Java程序员需要考虑的第一层。在这一层,因特网协议定义了数据位和字节如何组织成更大的组,称为包,并且也定义了不同计算机互相查找的寻址机制。其中,Internet Protocol (IP)是Java所了解的唯一Internet层协议,也是全球范围应用最广泛的网络协议。简单说来,IP协议有两种版本:IPv4使用32位地址,IPv6使用128位地址,并新增了一些技术特性来帮助路由。这两种协议是完全不同的,如果没有特殊的网关/隧道协议,它们甚至不能在同一网络上互通。但是不用担心,Java已经帮我们隐藏了几乎所有这些差异。此外,除了负责路由和寻址,因特网层的另一个作用是让不同类型的主机网络能够彼此对话。因特网路由器在WiFi和以太网、以太网和DSL、DSL和光纤之间进行交换,使得不同类型的网络能够互相连接起来。如果没有因特网层或类似的分层,每台计算机只能与同一类型网络上的其他计算机进行通信。所以可以说,因特网层在让异类网络相互连接方面起着重要的作用。

  继续往下,我们来看看传输层。传输层负责确保数据包的可靠传输和按照发送顺序接收。传输层解决了原始数据报的一些缺点,最明显的就是无法保证可靠的传输,即使传输过程中可能会出现损坏。头检查只能检测头中的损坏,而不能检测数据报的数据部分。另外,即使数据报没有损坏地到达了目的地,也可能不按照发送的顺序到达。为了解决这些问题,传输层向每个数据报添加了一个额外的头,其中包含了更多的信息。在这个级别上,有两个主要的协议可供选择。第一个是传输控制协议(TCP),它是一个比较保守的协议,可以确保丢失或损坏的数据按照发送顺序重新传输。而第二个协议是用户数据报协议(UDP),它允许接收方检测损坏的数据包,但并不保证它们按照正确的顺序发送(或者根本不发送)。不过,UDP通常比TCP快,所以如果单个数据包的丢失不会完全破坏数据,可以使用UDP来发送数据包而不需要TCP提供的保证。TCP被称为可靠协议,而UDP是不可靠的。

  接下来,我们来谈谈应用程序层。这一层是向用户交付数据的层,也是我们平常比较熟悉的层。应用层可以理解为由以下三个层组成,它们定义了如何将数据从一台计算机传输到另一台计算机。应用层决定了数据传输完成之后的操作。我们所熟悉的一些应用层协议有:HTTP(用于用户Web)、SMTP、POP、IMAP(用于用户电子邮件)、FSP、TFTP(用于文件传输)、NFS(用于文件访问)、Gnutella和BitTorrent(用于文件共享)、会话发起协议(SIP)和Skype(用于语音通信)。当然,如果需要,我们也可以自定义自己的应用程序级协议。

  最后,我们来说说IP地址和域名。在IPv4网络上,每台计算机都有一个4字节的数字ID,通常以四段格式写出,比如192.1.32.90,其中每个数字是一个0到255的无符号字节。每台计算机在IPv4网络上都有一个唯一的四段地址。当数据通过网络传输时,包的报头中包括要发送到的机器的地址(目的地址)和要发送的机器的地址(源地址)。而路由器则通过检查目的地址来选择发送包的最佳路径。同时,将源地址包含在报头中是为了让收件人知道可以回复给谁。尽管计算机可以很容易地处理数字地址,但是对于人类来说记住它们就比较困难了。所以,为了解决这个问题,域名系统(DNS)被开发出来,它能够将易于记忆的主机名(比如www.12345.com)转换成数字地址(比如208.201.243.99)。当我们在Java程序中访问网络时,我们需要同时处理数字地址和相应的主机名,而这些处理方法由java.net.InetAddress类提供。

本文来自网络,不代表本站立场。转载请注明出处: https://tj.jiuquan.cc/a-2546125/
1
上一篇桌面图标阴影怎么去掉(电脑桌面图标有阴影怎么去掉)
下一篇 发包服务器(外包app开发最简单的方法有哪些(软件外包的特点))

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: alzn66@foxmail.com

关注微信

微信扫一扫关注我们

返回顶部