Java基础——网络编程(一)

本文主要记录网络编程的一些基础知识,学了前班部分,对专业术语有些蒙,但是,收货也是很多很多的。观察了自己计算机的进程,查找其他网络地址的IP,对互联网的层次关系有了更深一步的了解。下面多是概念的摘录,有时间我还要回来再看看,加深理解。

目录:
1.网络编程的基础知识
    1.1  网络协议
    1.2  tcp /ip
    1.3  IP地址
    1.4  Port(端口号)
2 UDP/Tcp
3 OSI参考模型

1 网络编程的基础知识

1.1  网络协议

规定了计算机之间连接的物理机械,电器等特性,及计算机间的相互寻址规则,以及数据发送冲突的解决办法,分段传输与解决大数据包的传输方式等等。

---机械特性,比如网线和网卡

---电器特性,比如电平3伏为1,一3为0

. HTTP1.1(Hypertext Transfer Protocol Vertion 1.1)超文本传输协议-版本1.1

. ARP(Address Resolution Protocol)地址解析协议

. SNMP(Simple Network Management Protocol)网络管理协议

. CMIP(Common Management Information Protocol)通用管理信息协议

. DHCP(Dynamic Host Configuration Protocol)动态主机配置协议

. FTP(File Transfer Protocol)文件传输协议

. IPv6(Internet Protocol Version 6)Internet协议-版本6

. IPX/SPX(Internetwork Packet Exchange/Sequential PacketExchange)互连网包交换/顺序包交换

. POP3(Post Office Protocol Version 3)邮局协议-版本3

. PPP(Point to Point Protocol)点对点协议

. SMTP(Simple Mail Transfer Protocol)简单邮件传送协议

. TELNET Protocol虚拟终端协议

. UDP(User Datagram Protocol)用户数据报协议

1.2  tcp /ip

网络协议也有多种 TCP /IP 只是一种

大多数网络程序,都是以这个协议为基础的。

TCP/IP协议族中包括上百个互为关联的协议有几个常用协议如下:

1、Telnet(Remote Login):提供远程登录功能,一台计算机用户可以登录到远程的另一台计算机上,如同在远程主机上直接操作一样。

2、FTP(File Transfer Protocol):远程文件传输协议,允许用户将远程主机上的文件拷贝到自己的计算机上。

3、SMTP(Simple Mail transfer Protocol):简单邮政传输协议,用于传输电子邮件。

4、NFS(Network File Server):网络文件服务器,可使多台计算机透明地访问彼此的目录。

5、UDP(User Datagram Protocol):用户数据包协议,它和TCP一样位于传输层,和IP协议配合使用,在传输数据时省去包头,但它不能提供数据包的重传,所以适合传输较短的文件。

1.3  IP地址(我查看了自己的IP和其他网站的IP)

每个internet上的 主机和路由器都由一个ip地址表示,它包扩网络号和主机号,所有ip地址, 都是32位的,按国际标准,分为a b c d e 五类

a   0+7位网络号 +主机号  1.0.0.0 到  127.255.255.255 之间

b   10+14位网络号 +主机号 127.0.0.0 到191.255.255.255之间

c   110+21位网络号 +主机号 192.0.0.0 到 223.255.255.255

d   1110+多点播送地址    224.0.0.0 到 239.255.255.255

e   11110+留做将来使用 240.0.0.0+ 247.255.255.255

==本地回路地址  127.0.0.1

计算机中正确安装TCP/IP协议后,计算机中都会有一个称做本地回路的地址 发往 127.0.0.1 的数据不经过网卡传递,而是指接被本地计算机中Tcp/ip协议栈中的几个上层协议接收,是一个用于本地计算机上使用的特殊地址,使用Ping就可以检查TCP/IP协议是否正确安装,    它没有和网卡绑定,    网卡没有正确连接或是没有网线的情况下,仍可使用该地址4 个字节表示的是 ipv4  16 个字节表示的IP 是ipv6。

java中 描述IP地址的对象是 InetAddress 直接已知子类: Inet4Address, Inet6Address

import java.net.InetAddress;
import java.net.UnknownHostException;

public class InetTest1 {
    public static void main(String[] args) throws UnknownHostException {
        ipDemo();
    }

    public static void ipDemo() throws UnknownHostException {

        InetAddress[] netAddr = InetAddress.getAllByName("www.youku.com");
        for (InetAddress s : netAddr) {
            System.out.println(s.getHostAddress());
        }
        System.out.println("=====分割线=====");

        InetAddress[] netAddr2 = InetAddress.getAllByName("www.baidu.com");
        for (InetAddress s : netAddr2) {
            System.out.println(s.getHostAddress());
        }
    }
}

1.4  Port(端口号)

因为一个计算机上同时可运行多个网络程序,而IP地址只能保证把数据送到某个计算机上,但不能保证把数据交给计算机上的每个程序,因此每个发送的网络数据包的头部,都包含有一个称为端口号的整数 即Port, 是一个占用两个字节的整数,用于表示这个数据包该交由哪个应用程序来处理,与数据包中的端口号相对应,必须为计算机上的网络程序也指定一个端口号,告诉网络程序应该接收哪个端口号的程序,一台计算机上不能有两个使用同一端口号的程序,范围是0-65535     0-1023之间的称为有名端口.用于一些知名的网络服务和应用。当计算机接收到一个网络程序发送的数据包后,驱动程序会根据数据包中指定的端口号,知道该交给哪个应用程序。 网络通迅,确切的说,不是两台计算机之间在收发数据,而是两个网络程序之间在收发数据

查看端口的命令 netstat -noa

====2 UDP/Tcp

---- TCP (Transmission Control Protocol )传输控制协议,是而向连接的通信协议,提供两台计算机之间的可靠和无差错的数据传输数据源和目标之间或建立一个虚拟的连接,建立后,计算机之间就会把数据,当作双向字节流进行交换。

---- UDP 用户数据报协议,(USER datagram Protocol) 是无连接的通信协议,不保证数据的可靠传输,能够向若干个目标发送和接收数据,数据包会有丢失\的时候。

---- TCP UDP 的数据包的帧格式 如下

协议类型  源IP 目标IP 源端口 目标端口 帧序号 帧数据

其中协议类型用于区分TCP UDP

====3 OSI参考模型(这里要重点理解!!)

OSI参考模型 (Open System Interconnect 开放式网络互联)     // TCP/IP参考模型

七层:

应用层 Application 一些终端应用

表示层 Presentation  对接收的数据进行解释,加密和解密(把计算机能识别的东西.转换成人能识别的东西)如图片声音等

会话层 Session 建立数据传输通路

传输层 Transport 定义了一些数据传输的协议和端口号 常把这一层的数据叫段 //网关

网络层  将从下层接收到的数据进行IP地址的封装和解装 在这一层工作的设备叫路由器, 常把这层的数据叫包

数据链路层 Data Link 将从物理层接收的数据进行MAC(网卡地址)的封装和解装,常把这一层的数据叫帧 在这一层工作的设备叫交换机,网卡,网桥

物理屋 Physical,这一层的数据叫比特 //光纤

TCP/IP分层模型(TCP/IP Layening Model)被称作因特网分层模型(Internet Layering Model)、因特网参考模型(Internet Reference Model)。

第四层,应用层 

第三层,传输层

第二层,网间层

第一层,网络接口

时间: 2024-10-11 17:13:35

Java基础——网络编程(一)的相关文章

Java基础——网络编程

一.网络编程概述 概述: Java是 Internet 上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序. Java提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在 Java 的本机安装系统里,由 JVM 进行控制.并且 Java 实现了一个跨平台的网络库,程序员面对的是一个统一的网络编程环境. 基础: 网络编程的目的: 网络编程的目的就是指直接或间接地通过网络协议与其它计算机进行通讯. 主要存在的问题: 如何准确地定位网络上一台或多台主机

黑马程序员——JAVA基础-网络编程-TCP

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- TCP传输 两个端点的建立连接后会有一个传输数据的通道,这通道称为流,而且是建立在网络基础上的流,称之为socket流.该流中既有读取,也有写入. tcp的两个端点:一个是客户端,一个是服务端. 客户端:对应的对象,Socket 服务端:对应的对象,ServerSocket TCP客户端: ①:建立tcp的socket服务,最好明确具体的地址和端口.这个对象在创建时,就已经可以对指定ip和端口

梦入IBM之java基础-网络编程

如今我们来谈谈最后的内容:网络编程: 1):TCP中是线程与线程进行通讯!内部的执行机制是这种:先有一个线程去监听某个port.然后假设有Socket连接上来了以后,server会生成一个Socket对象与其                进行通讯! 2):通过URL对象能够获得某个某个站点的输入流.(可是这个输入流也是相对于程序的!返回的是一个InputStream的子类!) URL url = new URL("http://www.baidu.com"); HttpURLConn

IT十八掌Java基础 网络编程

网络编程 计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统. 网络编程 就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换. A:有人说,20世纪最伟大的发明不是计算机,而是计算机网络. 还有人说,如果你买了计算机而没有联网,就等于买了电话机而没有接电话线一样. 网络模型 计算机网络之间以何种规则进行通信,就是网络模型研究问题. 网络模型一般是指 O

黑马程序员——java基础---网络编程

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.网络通讯 概念:网络间数据的传输.交互. 三要素:IP地址.端口号.传输协议. ——>IP地址 1.网络中设备的标识 2.单纯的IP地址不易记忆,可用主机名替代. 3.如果本机上没有配置任何IP地址的情况下,本机默认的IP地址为127.0.0.1 本地回环地址:127.0.0.1  主机名:localhost 用处:检验本机网卡是否运行正常等. ——>端口号 概念:用于标识进程的数字称为

java基础——网络编程基础TCP,URL

TCP部分 new socket对象 package ip; /* 1.通过IP地址和域名new InetAddress对象 2.本地回路地址:127.0.0.1 对应localhost,表示本地主机 3.IP地址和端口号接在一起组成一个socket,类似于网络节点 @author zsben @create 2020-01-07 15:34 */ import java.net.InetAddress; import java.net.UnknownHostException; public

Java基础-网络编程

package com.net; /** * 1.什么是网络?什么是计算机网络? * 把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大.功能强的网络系统, * 从而使众多的计算机可以方便地互相传递信息,共享硬件.软件.数据信息等资源 * 2.计算机网络的基本功能? * 资源共享 * 信息传输与集中处理 * 均衡负荷与分布处理 * 综合信息服务 * 3.计算机网络协议? * 计算机网络中实现通信必须有一些约定即通信协议,对速率.传输代码.代码结构.传 输控制步骤.出错控制等制

黑马程序员——Java基础——网络编程

第一讲 网络概述 1.网络通信三要素:电脑IP地址.软件本地端口号.网络间传输协议(国际通用的TIP/IP,还有很多其他的) 小知识:-ping 127.0.0.7可以测试网卡用 2.网络模型图列: 用户在运用层发出的数据,经过逐层打包后通过物理层传输到另一个模型中,然后逐层分解,找到端口,被另一个用户获得 IP地址:InetAddress• 网络中设备的标识• 不易记忆,可用主机名• 本地回环地址:127.0.0.1 主机名:localhost 使用java.net包中的InetAddress

黑马程序员----java基础--网络编程

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.  网络参考模型  1.OSI参考模型和 TCP/IP 参考模型 七层描述: (1). 物理层:主要定义物理设备标准,如网线的接口类型.光纤的接口类型.各种传输介质的传输速率等.它的主要作用是传输比特流. (2). 数据链路层:主要将从物理层接收的数据进行MAC地址(网卡的地址)的封装与解封装.这一层工作的设备是交换机,数据通过交换机来传输. (3). 网络层:主要将下层接收到的数据进行I