文章目录
1. 网络发展
-
独立不联网的主机: 互相不能共享数据
-
网络互联: 基于一种网络设备(Hub集线器连接)把主机连接起来,主机之间就可以传输数据
-
局域网LAN: 计算机数量更多了,通过交换机和路由器连接在一起。(基于一种网络设备把主机连接起来)
- 组网的方式有很多种:
(1)交换机
(2)路由器(有很多种类型的,第一种类型:只能组建局域网,后面的端口连接主机,第二种类型:只能组件局域网,后面的端口只能连接交换机),都可以连接广域网。
(3)交换机+路由器
- 组网的方式有很多种:
-
组网的图:
-
网络互联和局域网不同的地方:只是传输数据底层实现上有部分不同。
-
广域网(WAN):将远隔千里的计算机连接在一起(处于公网上的电脑,都在广域网),国际上,所有国家的计算机都遵循的网络 规范组件的大家都能互相访问的网络。
-
对于我们的一个主机,没有连接到这个网络图的上的时候,就是无法上网。
-
所谓的广域网和局域网只是一个相对的概念,比如我们有”天朝特色“的广域网,也可以看做是一个较大的局域网。
2. 认识协议
- 协议: 网络协议的简称,网络协议是通信计算机双方共同遵从的一组约定。如怎么样建立连接、怎样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。它的三要素是:语法、语义、时序。
- 为了使数据在网络上从源到达目的,网络通信的参与方必须遵循相同的规则,这套规则称为协议,它最终体现的使网络上传输数据包的格式。
- 协议往往分成几个层次进行定义,分层定义是为了使某一层协议的改变不影响其他层次的协议。
- 网络数据传输,在网络经过的网络结点,都要遵循的原则和规则,最终体现为网络传输数据的格式(数据存放的格式代表:变量和值存放在哪个地方)。
- 我是如何存放,对方就要能够以同样的方式获取到。
3. 网络协议初始
3.1 网络分层
- jdbc使用也是有分层的设计在里面。
- 网络分层也是类似的作用,是基于封装的角度,可以更好的扩展和维护。
3.2 OSI七层模型
- OSI七层模型把网络从逻辑上分为了七层,每一层都有相关的、相对应的物理设备,比如路由器,交换机等。
- OSI七层模型是一种框架性的设计方法,其最主要的功能使得帮助不同类型的主机实现数据传输,网络设计的分层,但是没有落地,最终是按照TCP/IP五层或四层来落地。
- 他的最大的优点是服务、接口和协议这三个概念明确的区分开来的。通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。
- 落地就是实际定义网络协议(网络数据传输)有没有按照这个规范来设计来实现。
分层 | 名称 | 软硬件 | 说明 |
---|---|---|---|
7 | 应用层 | 应用程序在这一层 | 应用程序要有一个应用层的协议,来传输数据 |
6 | 表现层 | 没落地 | 表示传输数据的类型:文字,图片,视频,等等 |
5 | 会话层 | 没落地 | 用来标识一次会话(长连接就是建立连接后一直没有断开,都是一个会话) |
4 | 传输层 | 用来保证数据传输的可靠性(安全性)双方要知道,是否对方已经收到了我发送的数据 | |
3 | 网络层 | 包含网络地址(ip地址标识我们的主机地址)和路由选择 | |
2 | 数据链路层 | 包阔网络设备互相识别数据帧(网络地址的识别)(硬件使用mac地址) | |
1 | 物理层 | 0/1光电效应 |
3.2 TCP/IP五层四层模型
- 作用和OSI七层模型中的作用一样
- 路由算法:计算下一个网络设备离目的主机更近,最短路径算法
分层 | 名称 | 代表性软硬件/技术 | 代表协议 |
---|---|---|---|
5 | 应用层 | 应用程序(进程) | HTTP,DNS,NAT,NATP,SMTP(邮件协议) |
4 | 传输层 | 操作系统 | TCP,UDP协议 |
3 | 网络层 | 路由器(路由技术:路由算法实现的) | IP协议 |
2 | 数据链路层 | 交换机 | ARP协议、以太网协议 |
1 | 物理层 | 网线,光纤,电磁波 | 0/1这种二进制数据 |
- 不要物理层,就是TCP/IP的四层模型。
- 对于一台主机,他的操作系统内核实现了从传输层到物理层的内容
- 对于一台路由器来说,它实现了从网络层到物理层
- 对于一台交换机来说,它实现了从数据链路层到物理层
- 对于集线器来说,它实现了物理层
4. 网络中的地址管理
4.1认识IP地址
- IP协议有两个版本,IPv4和IPv6.一般,凡是提到IP协议,没有特殊书名,默认的都是IPv4.
- IP地址是在IP协议中,用来标识网络中不同主机的地址;
- 对于IPv4来说,IP地址是一个4字节,32位的整数;
- 我们通常也使用"点分十进制"的字符串标识表示IP地址,例如192.168.0.1;用来分割的每一个数字表示一个字节,范围是0-255;
- IP地址是给人用的网络设备的逻辑地址。
4.2 认识MAC地址
- MAC地址用来识别数据链路层中相连的节点;
- 长度为48位,即6个字节,一般用16进制的数字加上冒号的形式来表示(例如:08:00:27:03:fb:19)
- 在网卡出厂时就确定了,不能修改,mac地址通常是唯一的(虚拟机中的mac直至不是真实的mac地址,可能会冲突;也有些网卡支持用户配置的mac地址)。
- mac地址用来标识网卡硬件的物理地址。
5.网络传输流程
5.1网络传输流程图
- 源主机和目的主机,基于TCP/IP四层模型中的每一层,都要使用同样的协议;
5.2 数据包的封装和分用
-
不同的协议层对数据包有不同的称谓,在传输层叫做段,在网络层叫做数据报,在链路层叫做帧。
-
应用层数据通过协议栈发送到网络上,每层协议都要加上一个数据首部,称为封装。
-
首部信息中包含了一些类似于首部有多长,载荷有多长,上层协议是什么等信息。
-
数据封装成帧后发送到传输介质上,到达目的主机后每层协议再剥离相应的首部,根据首部中的"上层协议字段"将数据交给对应的上层协议处理。
-
发送数据时的封装
-
一台主机发送数据时:
- 从上到下封装数据,每一层,基于该层的协议,在数据外包裹一个头(首部信息)
- 从上到下封装数据,每一层,基于该层的协议,在数据外包裹一个头(首部信息)
-
接受数据时的分用:
-
一台主机接收数据,从下到上分用的过程。