目录
一、网络基础
1.1 什么是网络
网络:计算机网络是一组计算机或网络设备通过有型或无型的形式连接起来,按照一定规则进行通信的集合
通信:是指人与人、人与物、物与物之间通过某种媒介和行为进行信息的传递与交互。
网络通信:是指终端设备之间通过计算机网络进行的通信。
1.2 网络的一些设备及其作用
交换机的作用(方形设备):提供更多的接口,让更多的网络设备加入到网络中来。
路由器的作用(方形设备):转发数据
1.3 网络的范围(规模)分类
局域网:小范围网络; 校园网、企业网
城域网:城市范围网络; 移动 联通 电信 南京 ------- 天津
广域网:全国、全球网络; internet 因特网
1.4 数据通信方式
单播 --- 一对一,私聊
组播 --- 一对多,群聊
广播 --- 一对所有
1.5 常见术语 网络相关术语
-
物理拓扑 ----- 体现了设备之间的连接关系
-
数据载荷(华为专属名词): 传递的实际信息 你要传输的信息
-
报文 (PDU--协议数据单元)
-
数据头部的作用: 区分应用程序、找到数据的接收者
-
数据尾部的作用: 确保数据是完整的
-
mac地址:设备全球唯一编号 网卡编号(相当于身份证号)
-
ip地址:设备目前所在的位置逻辑上的地址 类似于你的家庭住址
-
网关:转发不同网段的数据(离PC最近的三层交换机或者路由器)
二、OSI七层模型与TCP/IP协议
2.1 为什么分层
-
将复杂的问题简单化。
-
制定了统一的标准。硬件 软件,协议标准 (不统一就会导致不同厂商之间的设备无法通信 )
层次划分的方法
-
网络的每层应当具有相对独立的功能(便于排错)这个功能用不了 必然是你这层处理问题
-
梳理功能之间的关系,使上一个功能可以实现为另一个功能提供必要的服务,从而形成系统的层次结构, 环环相扣(紧密联系)
-
为提高系统的工作效率,相同或相近的功能仅在一个层次中实现,而且尽可能在较高的层次中实现
-
每一层只为相邻的上一层提供服务
层次划分的优点
-
各层之间相互独立,每一层只实现一种相对独立的功能,使问题复杂程度降低,利于针对解决问题
-
灵活性好,各层内部的操作不会影响其他层
-
结构上可分割开,各层之间都可以采用最合适的技术来实现
-
易于实现和维护,因为整个系统已被分解成相对独立的子系统
-
能促进标准化工作,因为每一层的功能及其提供的服务都有了精确的说明
2.2 OSI七层模型
国际标准化组织(IOS),1984年颁布了开放系统互连(OSI)参考模型,一个开放式体系结构,将网络分为七层
互联网的本质就是一系列的网络协议,这个协议就叫OSI协议(一系列协议),按照功能不同,分工不同,人为的分为七层。实际上这个七层是不存在的。没有这七层的概念,只是人为的划分而已。区分出来的目的只是让你明白哪一层是干什么用的。
七层划分为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
OSI模型 ----- 开放式系统互联参考模型(ISO)---提升了各个厂家的设备兼容性
每层标准设备:
物理层: 网卡
数据链路层: 交换机 mac地址
网络层: 路由器 IP地址
传输层: 防火墙 协议/端口号
应用层: 电脑
-
应用层:打开应用程序 编辑输入数据 (人类输入的高级语言 汉字 字母)
接口:软件 你和计算机交互的一个接口(比如微信,qq ,浏览器) 123 abc
指定各种的应用协议,人机交互窗口,把人的语言输入到计算机中(qq聊天输入字符)
-
表示层:将人类使用的高级语言翻译成电脑可以识别的语言。 压缩 加密
将接收到的数据翻译成二进制数据,并指定数据的存储格式、加密格式,解密 压缩 等等工作
-
会话层:建立专属通道,区别对话设备。管理不同操作系统之间的信息交流。
是否 允许 建立会话连接,建立了不同操作系统的之间的会话,通过一些协议去判断 符合 确定你的 两个 软件 之间是否可以进行通信(两个微信之间进行通信)
-
传输层:定义了如何传输数据,传给哪一个程序软件。 协议(如何传输数据)/端口号(传给哪一个程序软件)
(端口 0-65535 共65536)
可靠传输---传递数据前必须事先建立连接,可靠性高,传输效率低------打电话(tcp)
不可靠传输-----数据可以直接发送,传输效率高,可靠性低-----短信(udp)
确定程序软件
单机(本机):通过 pid 来分辨应用程序,只要你打开一个应用程序就会随机产生pid号
网络:通过 端口号 :在网络传输中确定应用程序。
-
网络层:寻找传输数据的最佳路径。
将上层数据加上源和目的方的逻辑(IP)地址封装成数据包,实现数据从源端到目的端的传输 (分拣员,分拣到底数据走哪条路更快)
-
数据链路层:确认信息传输到正确的地方,检查数据是否完整。
将上层数据加上源和目的方的物理(MAC)地址封装成数据帧,MAC地址是用来标识网卡的物理地址,建立数据链路;当发现数据错误时,可以重传数据帧。
-
物理层:将数据转换成 电信号 顺着网线到达对面。
报文头部和上层数据信息都是由二进制数组成的,物理层将这些二进制数字组成的比特流转换成电信号在网络中传输。
2.3 tips 数据的封装
网络层及以下的通信为点对点通信
传输层的通信为端到端通信
PDU: Protocol Data Unit,协议数据单元是指对等层次之间传递的数据单位
-
物理层的 PDU是数据位 bit
-
数据链路层的 PDU是数据帧 frame
-
网络层的PDU是数据包 packet
-
传输层的 PDU是数据段 segment
-
其他更高层次的PDU是消息 message
封装:
应用层: 真实数据
传输层:协议/端口号 + 真实数据 数据段
网络层:IP地址 + 协议/端口号 + 真实数据 数据包
数据链路层:mac地址 + IP地址 + 协议/端口号 + 真实数据 + 校验位(密码) 数据帧
物理层:转化成电流传出去。
解封装:
物理层:先把 A 的电流转换成 数据帧
数据链路层:mac地址 + IP地址 + 协议/端口号 + 真实数据 + 校验位
网络层:IP地址 + 协议/端口号 + 真实数据
传输层:协议/端口号 + 真实数据
应用层:真实数据
2.3.1 二、三、四、七层原理
二层原理? (数据链路层) 根据 mac 地址 判断 是否接受数据。
三层原理? (网络层) 根据 IP 地址 判断 是否接受数据。
四层原理? (传输层) 根据 协议/端口号 判断 是否接受数据。
七层原理? 真实数据(字符串)
2.4 七层总结
层次模型 | 作用 | 数据单元 | 主要设备 |
---|---|---|---|
物理层 | 建立、维护、断开物理连接 | 比特流 | 网卡 |
数据链路层 | 进行硬件地址寻址,差错校验等功能 | 数据帧 | 交换机 |
网络层 | 进行逻辑地址寻址,实现不同网络之间的路径选择 | 数据包 | 路由器 |
传输层 | 定义传输数据的协议端口号,以及流量和差错校验 | 数据段 | |
会话层 | 建立、管理、中止会话 | message | |
表示层 | 数据的表示、压缩、格式化、加密 | message | |
应用层 | 网络服务与最终用户的一个接口 | message |
应用层、表示层、会话层为高三层,是面向用户的
网络层、数据链路层、物理层为低三层,是面向硬件的
网络层及以下的通信为点到点通信(主机与主机)
传输层的通信为端到端(端口到端口)
2.5 TCP/IP 参考模型
另外一个著名的模型是 TCP/IP 模型。TCP/IP 是传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol)的简称
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。
-
TCP/IP 4层模型(思科)
-
TCP/IP 5层模型(华为)
OSI参考模型与TCP/IP模型都采用了分层体系结构,将庞大而复杂的问题转化为着干个较小且易于处理的子问题。不同的是OSl参考模型划分7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP参考模型最多划分了5个层次,分别是物理层,数据链路层、网络层、传输层和应用层,将OSI参考模型中的高三层合并为一层统称应用层。在层次结构上,两者都采用了分层体系结构,但是TCP/IP参考模型比OSI参考模型更简化。
OSI 参考模型没有考虑任何一组特定的协议,因此 OSI 更具有通用性。 而 TCP/IP 参考模型与 TCP/IP 协议簇吻合得很好,虽然该模型不适用于其他任何协议栈, 但如今的网络多以 TCP/IP 协议簇作为基础,这使得在分层设计上没有过多考虑协议的 OSI 分层理念,所以没有广泛地应用于实际工作中。相反,人们更多地应用 TCP/IP 分层模型在 实际工作中分析问题、解决问题。
2.6 TCP/IP协议族的组成
模型层 | 协议 |
---|---|
物理层 | IEEE802.3有线局域网(以太网) IEEE802.11无线局域网标准 |
数据链路层 | Point-to-Point Protocol |
物理层 | IP (ICMP IGMP ARP RARP) |
传输层 | TCP UDP |
应用层 | HTTP FTP TFTP SMTP SNMP DNS |
物理层:
-
IEEE802.3有线局域网(以太网 是局域网的 一种)
-
IEEE802.11无线局域网标准
数据链路层:
-
点对点协议(Point-to-Point Protocol) PPP协议是目前广域网上应用最广泛的协议之一,它的优点在于简单、具备用户验证能力、可以解决IP分配等。
网络层:
IP协议:(Internet Protocol,网际协议),而 IP 又由四个支撑协议 组成:
-
ARP(地址解析协议): 是将IP地址转换成物理mac地址 的协议
-
RARP(逆地址解析协议): 是根据物理mac地址转换成IP地址的协议
-
ICMP(网际控制报文协议):ping 网络连通性检测 检测网络连通性
-
IGMP(网际组管理协议):一个组播协议,该协议运行在主机和组播路由器之间
单播:1对1发消息 私聊
组播:只对一部分人发消息 全班中的某 一组
广播:对所有人发消息 全班
传输层:
-
TCP :传输控制协议 可靠协议 (安全性高,速度慢)
-
UDP:用户数据报协议 不可靠协议(安全性不高,速度快)
(端口 0-65535 共65536)
应用层:
-
HTTP(超文本传输协议):是一个简单的请求-响应协议,现在主要的场景是web服务,就是网页的传输,默认使用tcp的80端口 http
-
HTTPs:是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性,默认使用tcp的443端口 当当买书,
-
FTP文件传输协议:FTP( File Transfer Protocol)提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限,默认使用tcp的20,21端口
-
TFTP简单文件传输协议:是一个小而易于实现的文件传送协议,TFTP只支持文件传输,不支持交互,没有庞大的命令集。也没有目录列表功能,以及不能对用户进行身份鉴别,默认使用udp的69端口
-
SNMP简单网络管理协议:是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,默认使用udp的161端口
-
SMTP简单邮件传输协议:一组用于从源地址到目的地址传送邮件的规则,并且控制信件的中转方式,用于邮件的发送,默认使用tcp的25端口
-
POP3邮局协议版本3:用于邮件的接收,默认使用tcp的110端口
-
telnet远程登陆协议:一种字符模式的终端服务,可以使用户通过网络进入远程主机或网络设备,然后对远程主机或设备进行操作,默认使用tcp的23端口
-
ssh安全的远程登陆协议,默认使用tcp的22端口ssh
-
DNS 域名解析系统:将域名和IP地址相互映射,默认使用tcp和udp的53端口 www.baidu.com ip地址 dns udp tcp 程序 进程: 运行中的程序0-65535
-
DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码,默认使用udp的67和68端口。分配ip地址
单工,半双工和全双工有何区别和联系
-
单工数据传输只支持数据在一个方向上传输;在同一时间只有一方能接受或发送信息,不能实现双向通信,举例:电视,广播。
-
半双工数据传输允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;在同一时间只可以有一方接受或发送信息,可以实现双向通信。举例:对讲机。
-
全双工数据通信允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力;在同一时间可以同时接受和发送信息,实现双向通信,举例:电话通信。