JavaEE-初识网络

一、局域网

局域网,网络种类,覆盖范围一般是方圆几千米之内,其具备的安装便捷、成本节约、扩展方便等特点使其在各类办公室内运用广泛。局域网可以实现文件管理、应用软件共享、打印机共享等功能,在使用过程当中,通过维护局域网网络安全,能够有效地保护资料安全,保证局域网网络能够正常稳定的运行

局域网,即 Local Area Network,简称LAN。

Local 即标识了局域网是本地,局部组建的一种私有网络。局域网内的主机之间能方便的进行网络通信,又称为内网; 局域网和局域网之间在没有连接的情况下, 是无法通信的。

  1. 基于网络直线
    在这里插入图片描述

  2. 基于集线器组建
    在这里插入图片描述

  3. 基于交换机组建
    在这里插入图片描述
    借助交换机,就组成了一个局域网、交换机上面的网口之间都是对等的。效果就是把插在上面的设备给组建成一个局域网,这个局域网内部的主机之间就可以相互进行访问。交换机是把若千个设备给组建到一个局域网中。

  4. 基于交换机和路由器组建

在这里插入图片描述
这种的话就是咱们日常中最常见的情况。
路由器这里有两类端口:
WAN口。
LAN口。
其中插在lan口上的设备,在一个局域网里通过wan口连接到另外一个局域网。
路由器则是连接了两个局域网,LAN 口是一个,WAN 又连了一个。

实际上交换机和路由器之间的界限已经很模糊了,因为二者的功能基本是相通的。

二、广域网

广域网,即 Wide Area Network,简称WAN。
通过路由器,将多个局域网连接起来,在物理上组成很大范围的网络,就形成了广域网。广域网内部的局域网都属于其子网。
在这里插入图片描述

三、网络通信基础

网络互连的目的是进行网络通信,也即是网络数据传输,更具体一点,是网络主机中的不同进程间,基于网络传输数据。
那么,在组建的网络中,如何判断到底是从哪台主机,将数据传输到那台主机呢?这就需要使用IP地址来标识。

3.1 IP地址

概念
IP地址主要用于标识网络主机、其他网络设备(如路由器)的网络地址。简单说,IP地址用于定位主机的网络地址。
就像我们发送快递一样,需要知道对方的收货地址,快递员才能将包裹送到目的地。
格式
IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节),如:
01100100.00000100.00000101.00000110。
通常用“点分十进制”的方式来表示,即 a.b.c.d 的形式(a,b,c,d都是0~255之间的十进制整数)。如:100.4.5.6。

3.2 端口号

概念
在网络通信中,IP地址用于标识主机网络地址,端口号可以标识主机中发送数据、接收数据的进程。简单说:端口号用于定位主机中的进程。
类似发送快递时,不光需要指定收货地址(IP地址),还需要指定收货人(端口号)。
格式
端口号是0~65535范围的数字,在网络通信中,进程可以通过绑定一个端口号,来发送及接收网络数据。
注意:
两个不同的进程,不能绑定同一个端口号,但一个进程可以绑定多个端口号。

3.3 协议

网络通信的时候,本质上,传输的是光信号和电信号
通过光信号的频率(高频率/低频率)电信号(高电平/低电平)来表示0和1

协议,网络协议的简称,网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须共同遵从的一组约定、规则。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。通常由三要素组成:
协议三要素:

  1. 语法:即数据与控制信息的结构或格式;
    类似打电话时,双方要使用同样的语言:比如普通话 。
  2. 语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;
    语义主要用来说明通信双方应当怎么做。用于协调与差错处理的控制信息。
    类似打电话时,我跟我朋友说回来给我带个手抓饼,他说好的!
  3. 时序,即事件实现顺序的详细说明。
    时序定义了何时进行通信,先讲什么,后讲什么,讲话的速度等。比如是采用同步传输还是
    异步传输。
    协议(protocol)最终体现为在网络上传输的数据包的格式。
    作用
    为什么需要协议?
    就好比见网友,彼此协商胸口插支玫瑰花见面,这就是一种提前的约定,也可以称之为协议。
    在这里插入图片描述
    计算机之间的传输媒介是光信号和电信号。通过 “频率” 和 “强弱” 来表示 0 和 1 这样的信息。要想传递各种不同的信息,就需要约定好双方的数据格式。

四、协议分层

在这里插入图片描述
在这里插入图片描述
好处:

  1. 每层协议不需要理解其他层协议的细节(更好的做到了封装)
    类似打电话的人,不需要理解电话的工作原理,就能完成打电话的操作
    制造电话的人,也不需要成为语言大师
  2. 把对应层的协议替换成其他协议(更好的解耦合)
    打电话的人,可以不使用有线电话,可以使用无线电话
    打电话的人,也可以使用英语,不使用汉语

OSI 七层模型
在这里插入图片描述
在这里插入图片描述
OSI 七层模型既复杂又不实用:所以 OSI 七层模型没有落地、实现。
实际组建网络时,只是以 OSI 七层模型设计中的部分分层,也即是以下 TCP/IP 五层(或四层)模型来实现。

TCP/IP五层(或四层)模型
TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。

TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。
在这里插入图片描述
应用层 : 负责应用程序间沟通,如简单电子邮件传输( SMTP )、文件传输协议( FTP )、网络远程访问协议( Telnet )等。我们的网络编程主要就是针对应用层。
传输层 : 负责两台主机之间的数据传输。如传输控制协议 (TCP) ,能够确保数据可靠的从源主机发送到目标主机。
网络层 : 负责地址管理和路由选择。例如在 IP 协议中,通过 IP 地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由)。路由器( Router )工作在网路层。
数据链路层 : 负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步 ( 就是说从网线上检测到什么信号算作新帧的开始 ) 、冲突检测 ( 如果检测到冲突就自动重发 ) 、数据差错校验等工作。
有以太网、令牌环网,无线 LAN 等标准。交换机( Switch )工作在数据链路层。
物理层 : 负责光 / 电信号的传递方式。比如现在以太网通用的网线 ( 双绞 线 ) 、早期以太网采用的的同轴电缆 ( 现在主要用于有线电视 ) 、光纤,现在的 wifi 无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器( Hub )工作在物理层。
在这里插入图片描述
1、一台主机,其实就对应了物理层到应用层 五层(把这五层都给实现了)。
2、一台路由器,主要就是物理层到网络层 (主要是实现了物理层,数据链路层,网络层)。
3、一台交换机,主要就是物理层到数据链路层(主要是实现了物理层,数据链路层)。

五、封装和分用

在这里插入图片描述
例如,使用QQ给同学发消息,用户A在键盘上,输入一个”Hello“,按下发送键

应用层(QQ应用程序)
根据用户输入的内容,把数据构造成一个应用层的协议报文

QQ的代码中就会根据程序猿所设计的应用层协议,来构造出一格应用层的数据报文
在这里插入图片描述
在这里插入图片描述

应用层协议就调用操作系统提供的API,把应用层的数据交给传输层,即进入操作系统内核了。
传输层:(操作系统内核)
根据刚才传过来的数据,基于当前使用的传输层协议来构造储一个传输层的协议报文,其中最典型的协议比如UDP,TCP,这里以TCP为例。
在这里插入图片描述
这个构造TCP报文的过程可以看做是一个字符串拼接,其中TCP的报头中有很多信息,最重要的就是“源端口”和“目的端口”,可以理解为发件人和收件人的电话。接下来会把这个传输层的数据报交给网络层。

网络层:(操作系统内核)

拿到了完整的传输层数据报 就会再根据当前使用的网络层协议(例如 P),再次进行封装。 把 TCP 数据报构造成 IP 数据报,即还是添加上一个协议报头。
在这里插入图片描述
紧接着当前的网络层协议,就会把这个IP数据报交给数据链路层。

数据链路层(驱动程序)

在刚才的 IP 数据报基础上,根据当前使用的数据链路层的协议,给构造成一个 数据链路层的数据报典型的数据链路层的协议,叫做“以太网”,就会构造成一个“以太网数据帧"。

在这里插入图片描述
帧头里面存储的信息是接下来要传给硬件设备的地址是啥。IP协议里面写的地址是我出发的起点和到达的终点。
紧接着,数据链路层又会把这个数据交给物理层。

物理层(硬件设备)

物理层干的事情就是根据刚才的以太网数据帧把这里的0/1变成高低电平,通过网线传输出去,或者变成高频/低频电磁波,通过光纤/无线传播出去。

这样数据就离开了当前主机,前往下一个设备。

物理层(硬件设备)

主机 B 的网卡感知到了一组高低电平,然后就会把这些电平翻译成 0 1 的一串数据。然后这一串 0 1 就是一个完整的以太网数据帧。然后物理层就把这个数据交给了 数据链路层。

数据链路层(驱动)
在这里插入图片描述
数据链路层负责对这个数据进行解析,去掉帧头和帧尾,取出里面的 IP 数据报然后交给 网络层协议。

网络层(操作系统)
在这里插入图片描述
网络层协议(IP 协议) 又会对这个数据进行解析, 去掉协议报头,取出里面的 TCP 数据报再交给传输层。

传输层(操作系统内核)
在这里插入图片描述
传输层协议(TCP 协议)又会对这个数据进行解析,去 TCP 报头,取出里面的 TCP 数据报,交给应用层。

应用层(QQ程序)
在这里插入图片描述
应用层就会调用 socket API 从内核中读取到这个应用层数据报。再按照应用层协议进行解析,
根据解析结果给显示到窗口中。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

摸鱼王胖嘟嘟

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

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

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

打赏作者

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

抵扣说明:

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

余额充值