一、局域网
局域网,网络种类,覆盖范围一般是方圆几千米之内,其具备的安装便捷、成本节约、扩展方便等特点使其在各类办公室内运用广泛。局域网可以实现文件管理、应用软件共享、打印机共享等功能,在使用过程当中,通过维护局域网网络安全,能够有效地保护资料安全,保证局域网网络能够正常稳定的运行
局域网,即 Local Area Network,简称LAN。
Local 即标识了局域网是本地,局部组建的一种私有网络。局域网内的主机之间能方便的进行网络通信,又称为内网; 局域网和局域网之间在没有连接的情况下, 是无法通信的。
-
基于网络直线
-
基于集线器组建
-
基于交换机组建
借助交换机,就组成了一个局域网、交换机上面的网口之间都是对等的。效果就是把插在上面的设备给组建成一个局域网,这个局域网内部的主机之间就可以相互进行访问。交换机是把若千个设备给组建到一个局域网中。 -
基于交换机和路由器组建
这种的话就是咱们日常中最常见的情况。
路由器这里有两类端口:
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
协议,网络协议的简称,网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须共同遵从的一组约定、规则。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。通常由三要素组成:
协议三要素:
- 语法:即数据与控制信息的结构或格式;
类似打电话时,双方要使用同样的语言:比如普通话 。 - 语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;
语义主要用来说明通信双方应当怎么做。用于协调与差错处理的控制信息。
类似打电话时,我跟我朋友说回来给我带个手抓饼,他说好的! - 时序,即事件实现顺序的详细说明。
时序定义了何时进行通信,先讲什么,后讲什么,讲话的速度等。比如是采用同步传输还是
异步传输。
协议(protocol)最终体现为在网络上传输的数据包的格式。
作用
为什么需要协议?
就好比见网友,彼此协商胸口插支玫瑰花见面,这就是一种提前的约定,也可以称之为协议。
计算机之间的传输媒介是光信号和电信号。通过 “频率” 和 “强弱” 来表示 0 和 1 这样的信息。要想传递各种不同的信息,就需要约定好双方的数据格式。
四、协议分层
好处:
- 每层协议不需要理解其他层协议的细节(更好的做到了封装)
类似打电话的人,不需要理解电话的工作原理,就能完成打电话的操作
制造电话的人,也不需要成为语言大师 - 把对应层的协议替换成其他协议(更好的解耦合)
打电话的人,可以不使用有线电话,可以使用无线电话
打电话的人,也可以使用英语,不使用汉语
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 数据报,交给应用层。文章来源:https://www.toymoban.com/news/detail-485674.html
应用层(QQ程序)
应用层就会调用 socket API 从内核中读取到这个应用层数据报。再按照应用层协议进行解析,
根据解析结果给显示到窗口中。文章来源地址https://www.toymoban.com/news/detail-485674.html
到了这里,关于JavaEE-初识网络的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!