常见网络模型
OIS模型: 开放通信系统互联参考模型(Open System Interconnection), 是国际标准提出一个试图解决全世界计算机互联的标准框架
OSI模型按照不同的功能可以划分为七层
应用层 | 处理网络应用 | 第七层 |
---|---|---|
表示层 | 数据表示 | 第六层 |
会话层 | 主机间通信 | 第五层 |
传输层 | 端到端的连接 | 第四层 |
网络层 | 寻址和最短路径 | 第三层 |
数据链路层 | 介质访问(介入) | 第二层 |
物理层 | 二进制传输 | 第一层 |
在OSI模型中, 通信实体的对等层不允许通信, 各层之间严格单向依赖, 上层使用下层提供的服务, 下层向上提供服务
由于OIS的 模型过于复杂, 我们常用的网络模型为TCP/IP模型, 现在TCP/IP已经成为了Internet的工业标准, TCP/IP总共有四层
-
网络接口: 第一层, 针对不同物理网络的连接形式的协议, 如:Erthernet(局域网之间的通信协议)
对应OIS模型的 数据链路层 + 物理层
-
网络层: 第二层, 负责数据传输, 路径以及地址选择, 常用协议: IP ARP(地址解析协议)
对应OIS模型 网络层
- 补充IP ARP协议, 由于通信不能跨层, 而本机的MAC地址在第一层网络接口(物理层)中, 而IP地址在第二层网络层中, 所以要实现主机间 的通信必须通过IP ARP协议解析数据包包头的IP地址, 发送端(我们以发送端为自我)来对比本地的主机查看是否有与之对应的MAC地址, 如果没有就, 那么主机就会向网路发送一个ARP协议的广播包, 这个广播包里面待查询的IP地址(接收端), 如果收到广播包的某一个主机发现自己符合条件, 那么就准备好一个包含自己MAC地址的ARP包发送给发送端, 此时发送端就拿到了ARP包, 更新自己的ARP缓存, 发送端就会利用新的ARP包来让数据链路层发送数据.
-
传输层: 第三层, 确认数据传输的纠错常用的协议有: TCP/UDP
对应OIS模型 传输层
-
TCP协议
特点: 面向链接, 提供可靠传输, 内部提供差错校验机制和重传机制, 传输效率低, 通信过程和打电话相似
-
UDP协议
特点: 无连接, 传输不可靠, 尽力而为, 传输快内部没有差错校验机制和重传机制, 过程与发短信相似
-
-
应用层: 第四层, 各种应用服务以及应用程序通过该层利用网络, 常用协议: HTTP, FTP, SMTP
对应OIS模型 会话层 + 表示层 + 应用层
分割线总结:
对于TCP/IP模型传输过程的一些总结
-
以上表述了TCP/IP每个层次的作用, TCP/IP的通信过程就对应着一个入栈和出栈的过程,
入栈
的过程, 数据发送方每层不断的封装首部跟尾部, 添加一些传输的信息, 确认能够传输到目的地出栈
的过程, 数据接收方不断的拆除首部与尾部, 得到最终可以传输的数据以HTTP传输的过程为例子上述的传输过程如下图
-
数据链路层
物理层负责 0 1 比特与物理设备高低电平之间的互换, 数据链路层负责将01序列划分为数据帧, 从一个节点传输到另一个临近节点, 这些节点都是通过唯一的MAC地址来标识
封装成帧: 链路层的作用就是把网络层的数据报封装数据帧 , 帧中包括发送,接收方的MAC地址
透明传输: (封装的01)在传输的时候对数据的内容,格式编码没有限制, 也没有必要解释信息的意义,
可靠传输:
差错检验(CRC): 接收者检测错误, 如果发现差错, 丢弃帧.
-
网络层(没有端口)
建立在网络层以上才有安全性可言
-
IP协议
IP协议是TCP/IP的核心, TCP UDP数据都是以IP数据格式传输, 但是IP不是可靠的协议, IP并没有提供一种数据未传达以后处理机制, 这被认为是TCP/UDP要做的事情
-
IP地址
在数据链路层我们通过MAC地址来识别不同的节点, 在IP层类似有IP地址
分为三类
A类:IP地址: 0.0.0.0~127.255.255.255
B类:IP地址:128.0.0.0~191.255.255.255
C类:IP地址:192.0.0.0~239.255.255.255
-
ICMP(网络控制报文)协议
用于IP主机, 路由器之间传递控制消息(网络是否联通, 主机是否可达, 网络本身消息)
每台转发IP数据报的机器都要把IP报头中TTL减一, 当TTL为0, 一个ICMP超时消息就会被发送到数据报的发送者
保证数据送达, 其中的一个重要模块就是ICMP协议, ICMP不是高层协议, 也是属于网络层的协议, 他没有端口, 只有
类型
和代码
, 由于被封装在IP数据报中, 所以也是不可靠的当传送IP数据包发生错误, 比如主机不可达, 路由器不可达, ICMP协议会把错误信息封包, 然后传送回主机, 给主机一个处理错误的机会
-
ping
ping 可以说是ICMP最著名的应用, 是TCP/IP协议的一部分, 利用
ping
命令可以检查网络是否联通,原理是发送类型码为0的ICMP请求, 收到请求的主机则用类型码为8的ICMP来回应
-
tracert
用来检测主机到目标主机所有路由的重要工具
他的工作原理是收到目标IP的地址以后, 给目的主机发送一个TTL = 1 的UDP数据包, 而经过第一个路由器收到这个数据包以后就自动把TTL - 1, 而TTL变为0, ICMP就会认为这个不能到达所以返回报告给主机, 路由器就会抛弃这个包. 然后主机再发一个TTL = 2的UDP数据包给目标主机…以此反复,这样, tracret就拿到了所有的路由器IP .
-
-
TCP/UDP(安全)
TCP UDP 可靠性 可靠 不可靠 连接性 面向连接 无连接 报文 面向字节流 面向报文 效率 低 高 双工 全双工 一对一,一对多,多对多,多对一 拥赛控制 慢开始,拥赛避免,快重传,快恢复 无 传输速度 慢 快 场景 效率要求低, 准确性要求高 效率要求高, 准确性低 常用:
TCP: SMTP(电子邮件), TELNET(远端终端接入), HTTP(万维网),FTP(文件传输)
UDP: DNS(域名转换), TFTP(文件传输),SNMP(网络管理),NFS(远程文件服务器)
-