Java 网络编程(2021最新版)

网络概述

简单来说,网络就是连接在一起共享数据和资源的一组计算机。

按照地理覆盖范围,计算机网络可以划分为局域网、城域网和广域网。

局域网:类似交换机或路由器,如在同一个教室内的人可以使用。
城域网:类似有线电视,如佛山有线电视,只能在佛山地区使用。
广域网:国家到全球。


交换机:IP地址是自由获取的,不是交换机分配的
路由器:IP地址是路由器分配的
现在的路由器基本上都带有交换机,可以当作交换机使用。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

网络分层模型

技巧
你知道网络传输吗?
应该表达你会传输网络。
你会数学和物理吗?
我高中学过数学和物理。
应表会传网数物
在这里插入图片描述
网络分层模型如同一个公司的组织架构一样,网络上的信息传递,也是由不同的层级负责不同的工作任务。但的各个计算机厂商都采用私有的网络模型,这会给通信带来诸多麻烦,国际标准化组织( International Standard Organization ,ISO)于1984年颁布了开放系统互连( Open System Interconnection ,OSI)参考模型。OSI参考模型是一个开放式体系结构,它规定将网络分为七层,每一层在网络信息传递中都发挥不同的作用。
TCP/IP模式(传输控制协议/网络互联协议)

在这里插入图片描述

IP地址介绍(点这里看详情

网络如此之庞大,要将如此众多的计算机互连,使信息获得共享,那么如何在网络中找到目标计算机呢?下面以信件邮寄的过程为例来分析这个问题。 首先要知道对方的地址,然后在信封上写明收件人的地址,邮递员就能根据地址将信件正确送到对方手中。另外在邮件末尾写明发件人的地址,对方就可以根据地址回信。可见,地址是双方联系的关键因素。

类似地,要实现两台计算机之间的通信,双方都要具有地址。在网络中使用一种具有层次结构的逻辑地址来标识一台主机,这个地址称为IP地址。IP地址唯一标识网络中的每一台计算机。

IP地址有32位,由4个8位的二进制数组成,每8位之间用圆点隔开,如11000000.10101000.00000010.00010100。由于二进制不便记忆且可读性较差,所以通常都把二进制转换成十进制数表示如196.168.2.20 。因此,一个IP地址通常由用3个点分开的十进制数表示,称为点分十进制。

IP地址包含网络地址和主机地址两部分。其中,网络地址决定了可以分配的最大网络数,主机地址决定了一个网络中可以存在的计算机的最大数量。根据网络地址和主机地址位数的不同,IP地址又分为A、B、C、D、E五类。其中常用的是A、B、C三类。IP地址的网络地址由互联网数字分配机构( The Internet Assigned Numbers Authority ,IANA)统一分配,以保证IP地址的唯一性。

在这里插入图片描述
举例说明
IP地址:192.168.0.181
4组共32位,一组8位:0-255
C类:前3段为网络地址,最后一段为主机地址

特殊的IP地址:
0.0.0.0:表示本机;
127.0.0.1:表示本机的回环地址,通常利用在本机上ping此地址来检查TCP/IP协议是否安装正确;
localhost:本机地址;

网络相关的重要概念及作用

端口:
网络中的一台计算机通常可以使用多个进程同时提供网络服务。因此除了IP地址,每台主机还有若干个端口号,用于在收发数据时区分该数据发给哪个进程或者是从哪个进程发出的。端口是计算机与外界通信的入口和出口,它是一个16位的整数,范围是0~65535(216-1)。

  在同一台主机上,任何两个进程不能同时使用同一个端口。

注释:

1000以内的端口号:不建议使用,因为默认被系统占用了
常见端口:
数据库:3306
Tomcat:8080
My sql:1433
Oracle:1521
Http:80

域名与DNS域名解析:

    在刚才的内容中已经提到,IP地址唯一定位一台计算机,也就是说只有通过IP地址才能找到一个网中的主机。那么,
    为什么在上网的时候轻松地输入一个网址,我们就能够获得这个远程的Web服务器提供的资源呢?例如,
    为什么在浏览器的地址栏中输入 www.baidu.com 就能进入"百度"网站呢?难道它没有IP地址吗?答案当然是否定的。
    
   人们希望记忆名字而不是枯燥的数字,因此就需要一个系统将一个名称映射为它的IP地址。
   DNS(Domain Name System,域名系统) 被广泛使用,用于将域名映射成ip地址。

注释
域名解析简单说就是将网址(域名)转化为IP地址
DNS:可以自配域名解析服务器:114.114.114.114 或 10.10.10.10

DNS

DNS服务器如何解析域名的呢?下图所示,在浏览器中输入域名www.baidu.com,主机在向www.baidu.com发出请求之前要先知道它的IP地址。主机会调用域名解析程序,向设定的DNS服务器发送信息,请求获得www.baidu.com的IP地址,如果本地DNS服务器没有存储相应的信息,它会发送信息到根DNS服务器获得.com DNS 服务器的IP,然后向. com DNS 服务器发送查询请求获得www.baidu.com的IP地址,最终获得www.baidu.com的IP地址。
在这里插入图片描述
网络通信使用到的设备
物理硬件设备:计算机、网卡、交换机、路由器等
软件设备:协议、(网域协议地址)IP地址

网络通信协议

网络通信协议是为了在网络中不同的计算机之间进行通信而建立的规则、标准或约定的集合,
它规定了网络通信时,数据必须采用的格式以及这些格式的意义。就好像人们在交谈时约定都使用英语或都使用普通话一样。

在网络编程时,常用的网络协议有以下几种:

1.TCP/IP协议族了解更多

TCP/IP是Transmission Control Protocol /Internet Protocol的简称。

它是用于计算机网络通信的协议集,即协议族。该协议族是 Internet 最基本的协议,
它不依赖于任何特定的计算机硬件或操作系统,提供开放的协议标准。

目前,绝大多数的网络操作系统都提供对该协议族的支持,它已经成为 Internet的标准协议。

TCP/IP协议族包括诸如IP协议、TCP协议、UDP协议和ARP协议等诸多协议,其核心协议是IP协议和TCP协议,所以有时将TCP/IP协议族简称为TCP/IP协议。

2.TCP协议

(了解三次握手四次挥手的过程:点这里

TCP是Transmission Control Protocol 的简称,中文名称为传输控制协议。TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。

TCP要求通信双方必须建立连接之后才开始通信,通信双方都同时可以进行数据传输,它是全双工的,从而保证了数据的正确传送。

3.UDP协议

UDP是User Datagram Protocol的简称,中文名称之为用户数据报协议。

UDP协议是一个无连接协议,在数据传输之前,客户端和服务器并不建立和维护连接。UDP协议的主要作用是把网络通信的数据压缩为数据报的形式。UDP协议无可靠性和差错检查,但是速度快。

小结:
IP协议:IPv4
TCP协议:传输控制协议(有连接协议,可靠,速度慢)三次握手四次挥手
UDP协议:用户数据报协议(无连接协议,不可靠,速度快,如互联网游戏一般都使用UDP)

通信简图:
在这里插入图片描述

收工

感谢阅览~~~
看只是学习的一种输入途径而已,重要的是理解、实践和输出。输入和输出要保持好唷~~不然只有输入没有多上输出很快就会把学过的知识忘记了ヽ(*。>Д<)o゜

猜你喜欢

转载自blog.csdn.net/zhangzhanbin/article/details/112547816