OSI七层模型与TCP/IP协议
一.为什么要分层
1.分层思想
2.分层的方法
3.分层的好处
二.七层模型
1.七层总结
三.TCP/IP参考模型
1.什么是TCP/IP
2.TCP/IP协议族的组成
3.各层常用协议
4.数据封装、解封装过程
今天梳理一下计算机网络模型的知识
一.为什么要分层
硬件之间、软件之间没有统一标准,单独一台计算机 ,只是一台普通的计算机,全球互联网之间需要通信不同厂商之间的设备无法形成统一的标准
1.分层思想
将复杂的流程分解为几个功能相对单一的子过程
整个流程更加清晰,复杂问题简单化
更容易发现问题并针对性的解决问题
2.分层的方法
每层的功能相对独立,便于排错
上一个功能实现为另一个功能提供必要的服务,形成层次结构
相同或相近的功能仅在一个层次中实现,提高工作效率
下层为上层提供服务
3.分层的好处
1、各层之间是独立的,每一层向上和向下通过层间接口提供服务,无需暴露内部实现
2、灵活性好
3、结构上可分割
4、易于实现和维护
5、能促进标准化工作
二.七层模型
1.七层总结
三.TCP/IP参考模型
1.什么是TCP/IP
TCP/IP(传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。
TCP/IP 4层模型(思科)
TCP/IP 5层模型(华为)
2.TCP/IP协议族的组成
模型层 | 协议 |
应用层 | HTTP、HTTPS、FTP、TFTP、SMTP、SNMP、DNS、SSH、POP3、Telnet、DHCP |
传输层 | TCP、UDP |
网络层 | IP(ICMP 、IGMP、 ARP 、RARP) |
数据链路层 | P2P |
物理层 | IEEE802.3有线局域网(以太网) IEEE802.11无线局域网标准 |
3.各层常用协议
应用层:
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端口
DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码,默认使用udp的67和68端口。分配ip地址
传输层:
TCP :传输控制协议 可靠协议 (安全性高,速度慢)
UDP:用户数据报协议 不可靠协议(安全性不高,速度快)
网络层:
IP协议:(Internet Protocol,网际协议),而 IP 又由四个支撑协议 组成:
ARP(地址解析协议): 是根据IP地址获取物理mac地址的协议
RARP(逆地址解析协议): 是根据物理mac地址获取IP地址的协议
ICMP(网际控制报文协议):ping 网络连通性检测
IGMP(网际组管理协议):一个组播协议,该协议运行在主机和组播路由器之间
单播:1对1发消息
组播:只对一部分人发消息
广播:对所有人发消息
数据链路层:
点对点协议(Point-to-Point Protocol) PPP协议是目前广域网上应用最广泛的协议之一,它的优点在于简单、具备用户验证能力、可以解决IP分配等。
物理层:
IEEE802.3有线局域网(以太网)
IEEE802.11无线局域网标准
协议 | 端口号 |
HTTP | 80 |
HTTPS | 443 |
FTP | 20,21 |
TFTP | 69 |
SNMP | 161 |
SMTP | 25 |
POP3 | 110 |
Telnet | 23 |
ssh | 22 |
DNS | 53 |
DHCP | 67,68 |
4.数据封装、解封装过程
假设pc1应用软件QQ要发送一个消息给pc2
封装
首先pc1的发送消息经过应用层封装,这时的数据称为协议数据单元PDU,应用层封装好的数据传递给传输层处理,传输层收到消息后添加到UDP报文头或者TCP报文头,指定源端口号和目的端口号,这时的数据称为数据段segment,传输层封装好的数据传递给网络层处理,网络层收到消息后添加IP报文头,指定源IP地址和目的IP,这时的数据称为数据包Packet,网络层封装好的数据传递给数据链路层处理,数据链路层收到消息后添加以太网数据帧报文头,指定源MAC地址和目的MAC地址,这时的数据称为数据帧Frame,数据链路层封装好的数据传递给物理层处理,最后帧被转为比特流,通过网络介质传输到pc2。
解封装
pc2收到pc1发送的数据后对报文自底向上逐层进行解封装,pc2通过传输介质收到pc1发到的比特流,首先将比特流转换为数据帧得到源MAC为pc1目的MAC地址为pc2的数据帧,由于目的MAC是自己,因此接收该数据帧并将以太数据帧解封装,传递给网络层处理,网络层收到源ip为pc1目的ip为pc2的数据包,由于目的ip是自己因此接收该数据包,并将ip报文头解封装传递给传输层处理,传输层收到源端口号为pc1目的端口号为pc2的数据段,由于目的端口是自己,因此接收数据段并将UDP报文头解封装,传递给应用层处理,应用层收到数据后解封装就可以得到pc1发来的具体QQ消息。
封装和解封装的概念可以使用寄快递取快递类比,中间的传输介质就是物流公司,寄快递的时候把物品包装起来,取快递的时候需要拆包裹,分别对应的就是数据的封装和解封装过程,源/目的端口号、源/目的MAC地址类比寄件人/收件人、寄件人地址/收件人地址。
单工,半双工和全双工有何区别和联系
单通道:同一时间单方向
半通道:双向不同时
双通道:双向同时