【Java成王之路】EE初阶第七篇:(网络编程) 1

网络初识

局域网

如果机器多了,再这样两两相连,就非常麻烦了。就需要消耗很多的网线和网口.

所以就出现了交换机

如果主机更多了,一台交换机都连不下了,接下来就需要把更多的交换机,给进行相连.

 在一个具体的区域之内构建出来的网络就叫做局域网.

交换机

路由器

站在现代的角度,交换机和路由器之间已经没有明显的区分了.

现在咱们平时买的都是路由器,很少会专门买个只有交换功能的交换机.

如果把一个城市或者一个国家甚至全世界的网络都互相连接起来.....

就构成了一个"广域网"

广域网,其实就是一个很大的局域网. 

IP地址

MySQL是一个客户端服务器这样的程序.

客户端和服务器之间通过网络进行数据传输.

客户端得能找到服务器在哪.

IP地址,就是标识一个主机在网络上的位置的信息.

在计算机中使用一个32位的整数,来表示这个IP地址

由于这个32位的整数往往比较大,肉眼看起来不太方便

为了更好的进行标识,更方便人进行看和记

引入了另外一种表示方法:点分十进制,使用三个 . 把这个32位的整数分成四个部分,每个部分都是一个一个字节的整数.每个部分的取值范围就是0~255.

一般我们希望网络上的每个主机IP地址都不一样.

但是,实际上事与愿违,还是会有很多情况下,多个主机共用一个IP的.(IP地址不太够用) 

端口号:

用来区分一个主机上的应用程序.

通过IP地址,只能确定一台主机.

但是这个主机还有很多程序,例如:qq.微信.网易音乐......都在使用网络.

当这个主机收到一个一个具体的数据的时候,要把这个数据交给哪个程序来处理?

就是通过端口号来区分.

每个访问网络的程序,都需要一个不同的端口号

端口号也是一个整数(2个字节,取值范围0~65535)

一台主机上,不能用两个进程尝试关联同一个端口号.

如果第一个进程绑定了端口号n,第二个进程也尝试绑定这个端口号n的时候,就会失败.

客户端:

主动发起请求的一方.

由于服务器无法确定客户端啥时候发送请求过来,所以服务器能做的事情就是"随时待命"

服务器:

被动接受请求的一方.

客户端给服务器发送的数据 => 叫做请求(Request)

服务器给客户端返回的数据 => 叫做响应 (Response)

客户端和服务器的交互方式,有很多种:

1.一问一答,客户端发送一个请求,服务器给一个响应.(最常见也最经典的情况)

2.一问多答,客户端发一个请求,服务器返回多个响应.

3.多问一答,客户端发送多给请求,服务器返回一个响应.

4.多问多答,客户端发送多个请求,服务器返回多个响应.

协议:

一种约定.协议概念本身并不复杂,但是由于网络通信这件事,涉及到方方面面的细节,因此真实的网络通信协议,往往也并不简单.

网络通信中的五元组:

两台主机之间的通信,往往是通过一个五元组来描述这一次通信的.

五元组就包含了:源IP,源端口,目的IP,目的端口,协议类型.

1

当前的网络中涉及到的协议,是有很多的.

主要就是因为网络里面比较复杂,然后无法通过一个协议,来把所有的功能都涵盖进去.就需要拆分出多个协议.为了更好的来组织这么多协议,就按照这些协议定位,再进行分类,于是就有了"协议分层".说白就是一个场景里面问题太复杂,没法通过一个协议全部搞定.

这个事就类似于写Java代码,如果问题比较复杂,光通过一个类来完成所有的功能,这可能就比较困难了.为了更好的解决这个问题,就需要进行拆分,把这个代码拆成多个类.

如果类太多了,又需要创建出一些包,把一些功能定位类似的类放到一个包里.

 

 2.TCP/IP五层网络模型

物理层:最底层,硬件设备,网络通信的基础设施.

数据链路层:实现了两个相邻设备之间的数据通信.

网络层:针对网络上的任意两台主机,完成一个通信路径的规划,以及具体传输.

传输层:只关注起点和终点,不关注具体的通信细节.

应用层:在最上面一层:具体的应用程序

下层协议给上层协议提供了一些功能支撑.

上层协议要依赖下层协议.

上述两条统称为协议栈

TCP:传输层的协议

IP:网络层的协议

这俩协议就是整个TCP/IP中最重要的协议

这段话是为了应付笔试,有这样的结论

但是真实的情况不是这样的!!

路由器和交换机,现在的概念已经比较模糊了

像一些好的路由器交换机,也往往会实现一些传输层以及应用层的内容...... 

封装和分用

封装的过程: 

 当我们把这个数据通过这些物理介质传输过去之后,在接收端这边又是怎么处理的呢?

这个过程就和刚才封装的过程正好相反,也就称为分用.

发送方层层的构造数据,称为封装.

接收方层层解析数据就是在进行分用. 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

K稳重

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值