计算机网络体系结构
一、OSI模型
1.OSI创建背景
开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model,缩写为 OSI),简称为OSI模型(OSI model),一种概念模型,由国际标准化组织提出,一个试图使各种计算机在世界范围内互连为网络的标准框架。定义于ISO/IEC 7498-1。在制定计算机网络标准方面,起着重大作用的两大国际组织是:国际电信联盟电信标准化部门,与国际标准组织(ISO),虽然它们工作领域不同,但随着科学技术的发展,通信与信息处理之间的界限开始变得比较模糊,这也成了国际电信联盟电信标准化部门和ISO共同关心的领域。1984年,ISO发布了著名的ISO/IEC 7498标准,它定义了网络互联的7层框架,也就是开放式系统互联参考模型。
2.七层模型
OSI/RM协议是由ISO(国际标准化组织)制定的,它有三个基本的功能:提供给开发者一个必须的、通用的概念以便开发完善、可以用来解释连接不同系统的框架 OSI将计算机网络体系结构(architecture)划分七层(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层)
3.分层的作用
物理层: 将数据转换为可通过物理介质传送的电子信号 相当于邮局中的搬运工人。
数据链路层: 决定访问网络介质的方式。
在此层将数据分帧,并处理流控制。本层指定拓扑结构并提供硬件寻址,相当于邮局中的装拆箱工人。
网络层: 使用权数据路由经过大型网络 相当于邮局中的排序工人。
传输层: 提供终端到终端的可靠连接 相当于公司中跑邮局的送信职员。
会话层: 允许用户使用简单易记的名称建立连接 相当于公司中收寄信、写信封与拆信封的秘书。
表示层: 协商数据交换格式 相当公司中简报老板、替老板写信的助理。
应用层: 用户的应用程序和网络之间的接口。
二、TCP/IP参考模型
另外一个著名的模型是 TCP/IP 模型。TCP/IP 是传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol)的简称
1.五层模型
一、应用层(报文):支持各种网络应用
二、传输层(数据段):进程间数据传输
三、网络层(数据包):源和目的主机数据分组路由转发
四、数据链路层(数据帧):相邻网络元素(主机、交换机、路由器等)的数据传输:以太网、PPP等
五、物理层(比特流)
(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层)
2.PDU
PDU: Protocol Data Unit,协议数据单元是指对等层次之间传递的数据单位
- 物理层的 PDU是数据位 bit
- 数据链路层的 PDU是数据帧 frame
- 网络层的PDU是数据包 packet
- 传输层的 PDU是数据段 segment
- 其他更高层次的PDU是消息 message
应用层 首先将数据分片( 不可能将整个文件直接传输过去文件过大等因素) 数据
传输层: 接收上一层的分片数据,加入tcp头部地址 变成数据段,(传输层功能)
网络层:接收数据段加入 ip头部 变成 数据包
数据链路层: 接收数据包 加入 MAC 头部 变成 数据帧
物理层:接收数据帧,变成bit流
三、TCP/IP协议族
1.TCP/IP的组成
物理层:
- 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:用户数据报协议 不可靠协议(安全性不高,速度快)
应用层:
-
HTTP(超文本传输协议):是一个简单的请求-响应协议,现在主要的场景是web服务,就是网页的传输,默认使用tcp的80端口
-
HTTPs:是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性,默认使用tcp的443端口
-
FTP文件传输协议:FTP(file 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地址
2.数据封装
数据封装(Data Encapsulation),笼统地讲,就是把业务数据映射到某个封装协议的净荷中,然后填充对应协议的包头,形成封装协议的数据包,并完成速率适配。
解封装,就是封装的逆过程,拆解协议包,处理包头中的信息,取出净荷中的业务信息数据封装和解封装是一对逆过程。