IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 网络TCP/IP基础(OSI七层网络参考模型、协议及原理) -> 正文阅读

[网络协议]网络TCP/IP基础(OSI七层网络参考模型、协议及原理)

目录

一、网络分层

二、七层参考模型功能介绍

三、TCP/IP五层模型常见协议

四、网络层协议介绍

五、传输层协议介绍

六、应用层协议介绍

七、五层模型常见设备


一、网络分层

在网络中常用的分层模型有两种:
OSI参考模型
TCP/IP参考模型

为什么要对网络进行分层呢?因为这样可以将复杂的流程分解为几个功能相对单一的子过程,整个流程更加清晰,复杂问题简单化,更容易发现问题并针对性的解决问题

TCP/IP四层(思科) ? ? ? ? ? ? ? ? ? ? ? TCP/IP五层(华为) ? ? ? ? ? ? ? ? ? ? ? ? ? ?OSI七层(标准参考模型)
应用层? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 应用层? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 应用层
---? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ---? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 表示层
---? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ---? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 会话层
传输层? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 传输层? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 传输层
网络层? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 网络层? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 网络层
网络接口层? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?数据链路层? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?数据链路层
---? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?物理层? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??物理层

二、七层参考模型功能介绍


应用层(第七层):网络服务与最终用户的一个接口
表示层(第六层):数据的表示、安全、压缩
会话层(第五层):建立、管理、中止会话
传输层(第四层):定义传输数据的协议端口号,流量控制及差错校验
网络层(第三层):进行逻辑地址寻址,实现不同网络路径选择
数据链路层(第二层):建立逻辑地址连接,进行硬件地址寻址及差错校验
物理层(第一层):建立、维护、断开物理连接

在通信的过程中,端口到端口通信属于传输层,点到点通信属于网络层

三、TCP/IP五层模型常见协议


应用层 ? ? ? ? ? ? ? ? HTTP、FTP、TFTP、SMTP、SNMP、DNS
传输层 ? ? ? ? ? ? ? ? TCP、UDP
网络层 ? ? ? ? ? ? ? ? ICMP、IGMP、IP、ARP、RARP
----------------------------------------------------------------
数据链路层 ? ? ? ? ?
物理层 ? ? ? ? ? ? ? ? 由底层网络定义的协议

同IP不同协议与服务之间可以通过端口号来区分
协议端口号取值范围:1~65535

四、网络层协议介绍


ICMP(控制信息协议,所使用IP协议号为1):
? ? ?ping功能所使用的协议,进行连通性测试和结果的反馈。traceroute使用的也是icmp协议,相比较ping,traceroute能够追踪到到达目标所经过的沿途路由点,如下所示:
? ? ? ? ? ? ? C:\Users\1fengtianyunyue>tracert baidu.com

? ? ? ? ? ? ? 通过最多 30 个跃点跟踪
? ? ? ? ? ? ? 到 baidu.com [220.181.38.148] 的路由:

? ? ? ? ? ? ?1 ? ? 3 ms ? ? 5 ms ? ? 3 ms ?192.168.1.165
? ? ? ? ? ? ?2 ? ? * ? ? ? ?* ? ? ? ?* ? ? 请求超时
? ? ? ? ? ? ?3 ? ?45 ms ? ?26 ms ? ?19 ms?
? ? ? ? ? ? ?4 ? ?...........................................省略
IGMP(组播协议即组管理协议,IP协议号为2):
? ? ?互联网组管理协议是TCP/IP 协议族中负责IP组播成员管理的协议,用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。
IP(网络之间互连的协议):
? ? ?它可以向传输层提供各种协议的信息,例如TCP、UDP等;对下可将IP信息包放到链路层,通过以太网、令牌环网络等各种技术来传送。
ARP(正向地址解析协议):
? ? ?数据传输通讯地址:源IP、源MAC、目标IP、目标MAC
? ? ?使用场合:已知目标IP,未知目标MAC
? ? ?工作原理:PC1已知PC2的IP地址,未知PC2的MAC地址,PC1发送ARP广播给二层交换机,二层交换机进行广播泛洪,二层交换机下所有PC都会收到该广播消息,每个PC将自身IP与广播目标IP相比对,一致的话会接收并回数据包给PC1,PC1接收到返回的数据包后会记录下该PC的IP和MAC地址,记录到ARP缓存表中;不一致的则会直接丢弃?主机有ARP缓存表,记录IP地址和MAC地址对应的关系
? ? ?主机与主机数据通信时 会封装(源IP目标IP 源MAC 目标MAC)
? ? ?在当前主机没有在ARP缓存表中查找到目标主机对应的MAC地址信息时
? ? ?会发送Arp广播 请求报文
? ? ?非目标主机收到该广播时会丢弃 目标主机收到该广播时 会发送单拨的回应报文
? ? ?主机收到回应报文时 会将目标IP地址和MAC地址写入当前主机的ARP缓存表中
? ? ?路由器的工作原理:
? ? ?当数据进入路由器时
? ? ?拆二层数据 查看三层数据
? ? ?选路 :查看目标IP地址 找到相应的路由表 来进行数据转发
? ? ?转发 :通过ARP协议 请求对方接口的MAC地址信息 重新分装二层数据将 数据包转发
? ? ?特点 IP不变 MAC会变

RARP(反向地址解析协议):
? ? ?使用场合:已知目标MAC,未知目标IP时候用

五、传输层协议介绍


TCP(传输控制协议,ip协议号为6):
? ? ?通过三次握手四次挥手建立可靠连接,有重传机制,三次握手、四次断开、分段重传、滑动窗口机制保证了数据完整性,缺点是这些机制需要耗费大量时间,因此效率较低
? ? ?三次握手原理:客户端向服务器发送SYN连接请求,服务器收到SYN请求后,会针对客户端的SYN请求进行ACK响应的同时也会同步发送SYN连接请求,客户端收到服务器发送过来的SYN连接请求时,会回复ACK响应
? ? ?为什么要三次握手?
? ? ?因为TCP是可靠的传输层协议,它在传输数据前,会建立双向数据通信通道,当保证双向数据传输的通道没有问题时,才会发送数据,起到保护数据的作用
? ? ?四次断开原理:
? ? ?客户端向服务器发送FIN断开请求,服务器收到请求后,回复一个ACK确认。服务器向客户端发送FIN断开请求,客户端收到后,回复一个ACK确认
? ? ?握手是三次,为什么断开要四次?
? ? ?数据传输方向是双向的,一个方向的数据通道关闭需要一次请求和一次确认,因此需要断两次,共有两个数据方向,所以断四次
? ? ?什么是TCP半关闭状态?
? ? ?客户机向服务器发送了FIN请求,服务器也给了ACK响应,因为服务器向客户机还有数据要传输,因此服务器并没有向客户机立即发送FIN请求,成了TCP半关闭状态
UDP(用户数据报协议,ip协议号为17):
? ? ?面向无连接的不可靠的传输层协议,优点是虽没有机制保证数据传输的可靠性,但是效率很高,缺点是可靠性不高
? ? ?TCP和UDP在选择时要根据浏览大小和效率来选
? ? ?语音、视频等要耗费很多流量且要高效率选UDP
? ? ?应用服务对浏览带宽要求不高,可靠性要求较高,选TCP
? ? ?


六、应用层协议介绍


HTTP(超文本传输协议,端口号为TCP的80):
? ? ?HTTP是基于客户/服务器模式,且面向连接的,如web服务
FTP(文件传输协议,端口号为TCP的20和21)
? ? ?20端口为数据层面,主要用来传输数据,21端口为为控制层面,控制用户是否有权限登录及登陆后权限内容
TFTP(简单文件传输协议,端口号为UDP的69):
? ? ?主要用于上传和下载小文件,常用于路由器交换机iso系统升级或更新
SMTP(简单邮件传输协议,端口号为TCP的25):
? ? ?主要用于邮件的发送
SNMP(简单网络管理协议,端口号为UDP的161):
? ? ?主要用于监控网络设备
DNS(域名解析协议,端口号为UDP的53):
? ? ?主要用于将域名解析为IP地址,或将IP地址解析为域名

七、五层模型常见设备


应用层:计算机,服务器
传输层:防火墙
网络层:路由器
数据链路层:网桥,交换机
物理层:网卡、网线,集线器,中继器,调制解调器

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-09-26 10:33:32  更:2021-09-26 10:34:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 2:05:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码