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

简介: 网络分层、七层参考模型功能介绍、TCP/IP五层模型常见协议、网络层协议介绍、ICMP、IGMP、IP、ARP、RARP、传输层协议介绍、TCP、建立TCP连接的三次握手原理、为什么要三次握手、四次断开原理、握手是三次,为什么断开要四次、什么是TCP半关闭状态、UDP、应用层协议介绍、HTTP、FTP、TFTP、SMTP、SNMP、DNS、五层模型常见设备

前言

      OSI(Open System Interconnect),即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。ISO为了使网络应用更好的普及,推出了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

1、网络层协议介绍


(1)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    ...........................................省略


(2)IGMP

     (组播协议即组管理协议,IP协议号为2)

     互联网组管理协议是TCP/IP协议族中负责IP组播成员管理的协议,用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系


(3)IP

     (网络之间互连的协议)

     它可以向传输层提供各种协议的信息,例如TCP、UDP等,对下可将IP信息包放到链路层,通过以太网、令牌环网络等各种技术来传送


(4)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地址的广播报文
     非目标主机收到该广播时会丢弃,目标主机收到该广播时,会发送单播的回应报文
     主机收到回应报文时,会将目标IP地址和MAC地址写入当前主机的ARP缓存表中
     路由器的工作原理:
     当数据进入路由器时
     拆二层数据,查看三层数据
     选路 :查看目标IP地址,找到相应的路由表,来进行数据转发
     转发 :通过ARP协议,请求对方接口的MAC地址信息,重新封装二层数据,将数据包转发
     特点:IP不变,MAC会变


(5)RARP

     (反向地址解析协议)

     使用场合:已知目标MAC,未知目标IP时候用

2、传输层协议介绍


(1)TCP

     (传输控制协议,ip协议号为6)

     TCP传输控制协议被称为面向连接的可靠传输协议,通过三次握手四次挥手建立可靠连接,有重传机制,三次握手、四次断开、分段重传、滑动窗口机制保证了数据完整性,缺点是这些机制需要耗费大量时间,因此效率较低


(2)建立TCP连接的三次握手原理
 

     客户端向服务器发送SYN连接请求,服务器收到SYN请求后,会针对客户端的SYN请求进行ACK响应的同时也会同步发送SYN连接请求,客户端收到服务器发送过来的SYN连接请求时,会回复ACK响应


(3)为什么要三次握手


     第一次握手是客户端发送SYN连接请求,服务端收到了,得出结论客户端的发送能力和服务端的接收能力正常,第二次握手服务端发ACK确认和SYN连接请求,客户端收到了SYN连接请求,得出结论:服务端的接收、发送能力和客户端的发送能力均正常,此时服务端还不能确定客户端的接收能力是否正常,第三次握手:客户端发ACK确认,服务端收到了,这时候服务端就得出结论,客户端的接收功能也正常,这样,就建立了可靠的连接,因此,需要三次握手才能确认双方的接收与发送能力是否正常,才能建立可靠的连接


(4)四次断开原理


     客户端向服务器发送FIN断开请求,服务器收到请求后,回复一个ACK确认,服务器向客户端发送FIN断开请求,客户端收到后,回复一个ACK确认


(5)握手是三次,为什么断开要四次


     那是因为握手的时候并没有数据传输,所以服务端的SYN连接请求和ACK确认报文可以一起发送,但是挥手的时候有数据在传输,所以ACK确认和FIN断开连接请求报文不能同时发送,需要分两步,所以会比握手多一步


(6)什么是TCP半关闭状态


     客户机向服务器发送了FIN请求,服务器也给了ACK响应,因为服务器向客户机还有数据要传输,因此服务器并没有向客户机立即发送FIN请求,成了TCP半关闭状态


(7)UDP

     (用户数据报协议,ip协议号为17)

     面向无连接的不可靠的传输层协议,优点是虽没有机制保证数据传输的可靠性,但是效率很高,缺点是可靠性不高
     TCP和UDP是根据浏览大小和效率来选择的
     语音、视频等要耗费很多流量且要高效率,用UDP
     应用服务对浏览带宽要求不高,可靠性要求较高,用TCP
     


3、应用层协议介绍


(1)HTTP

     (超文本传输协议,端口号为TCP的80)

     HTTP是基于客户/服务器模式,且面向连接的,如web服务


(2)FTP

     (文件传输协议,端口号为TCP的20和21)

     20端口为数据层面,主要用来传输数据,21端口为为控制层面,控制用户是否有权限登录及登陆后权限内容


(3)TFTP

     (简单文件传输协议,端口号为UDP的69)

     主要用于上传和下载小文件,常用于路由器交换机iso系统升级或更新


(4)SMTP

     (简单邮件传输协议,端口号为TCP的25)

     主要用于邮件的发送


(5)SNMP

     (简单网络管理协议,端口号为UDP的161、162)

     主要用于监控网络设备


(6)DNS

     (域名解析协议,端口号为UDP的53)

     主要用于将域名解析为IP地址,或将IP地址解析为域名

四、五层模型常见设备

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

结语

     OSI引入了服务、接口、协议、分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型,OSI先有模型,后有协议,先有标准,后进行实践,而TCP/IP则相反,先有协议和应用再提出了模型,且是参照的OSI模型,OSI是一种理论下的模型,而TCP/IP已被广泛使用,成为网络互联事实上的标准

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
6月前
|
数据采集 算法 数据挖掘
模块化控制协议(MCP)在网络中增强智能体执行效率的研究
随着Web3技术的迅速发展,去中心化应用和智能体在各种领域的应用逐渐增多。MCP(Modularized Control Protocol,模块化控制协议)作为一种增强智能体执行能力的关键技术,为Web3场景中的智能体提供了更强的灵活性和可扩展性。本文将探讨如何利用MCP技术提升智能体在Web3场景中的执行能力,并通过实例代码展示其实现路径。
543 22
|
3月前
|
监控 负载均衡 安全
WebSocket网络编程深度实践:从协议原理到生产级应用
蒋星熠Jaxonic,技术宇宙中的星际旅人,以代码为舟、算法为帆,探索实时通信的无限可能。本文深入解析WebSocket协议原理、工程实践与架构设计,涵盖握手机制、心跳保活、集群部署、安全防护等核心内容,结合代码示例与架构图,助你构建稳定高效的实时应用,在二进制星河中谱写极客诗篇。
WebSocket网络编程深度实践:从协议原理到生产级应用
|
8月前
|
域名解析 网络协议 安全
计算机网络TCP/IP四层模型
本文介绍了TCP/IP模型的四层结构及其与OSI模型的对比。网络接口层负责物理网络接口,处理MAC地址和帧传输;网络层管理IP地址和路由选择,确保数据包准确送达;传输层提供端到端通信,支持可靠(TCP)或不可靠(UDP)传输;应用层直接面向用户,提供如HTTP、FTP等服务。此外,还详细描述了数据封装与解封装过程,以及两模型在层次划分上的差异。
1943 13
|
8月前
|
网络协议 中间件 网络安全
计算机网络OSI七层模型
OSI模型分为七层,各层功能明确:物理层传输比特流,数据链路层负责帧传输,网络层处理数据包路由,传输层确保端到端可靠传输,会话层管理会话,表示层负责数据格式转换与加密,应用层提供网络服务。数据在传输中经过封装与解封装过程。OSI模型优点包括标准化、模块化和互操作性,但也存在复杂性高、效率较低及实用性不足的问题,在实际中TCP/IP模型更常用。
1143 10
|
4月前
|
运维 架构师 安全
二层协议透明传输:让跨域二层协议“无感穿越”多服务商网络
简介:本文详解二层协议透明传输技术,适用于企业网工、运营商及架构师,解决LLDP/LACP/BPDU跨运营商传输难题,实现端到端协议透传,提升网络韧性与运维效率。
|
8月前
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
242 18
|
9月前
|
安全 网络安全 定位技术
网络通讯技术:HTTP POST协议用于发送本地压缩数据到服务器的方案。
总的来说,无论你是一名网络开发者,还是普通的IT工作人员,理解并掌握POST方法的运用是非常有价值的。它就像一艘快速,稳定,安全的大船,始终为我们在网络海洋中的冒险提供了可靠的支持。
285 22
|
9月前
|
网络协议 数据安全/隐私保护 网络架构
|
10月前
|
缓存 网络协议 API
掌握网络通信协议和技术:开发者指南
本文探讨了常见的网络通信协议和技术,如HTTP、SSE、GraphQL、TCP、WebSocket和Socket.IO,分析了它们的功能、优劣势及适用场景。开发者需根据应用需求选择合适的协议,以构建高效、可扩展的应用程序。同时,测试与调试工具(如Apipost)能助力开发者在不同网络环境下优化性能,提升用户体验。掌握这些协议是现代软件开发者的必备技能,对项目成功至关重要。
|
11月前
|
人工智能 自然语言处理 决策智能
智能体竟能自行组建通信网络,还能自创协议提升通信效率
《一种适用于大型语言模型网络的可扩展通信协议》提出创新协议Agora,解决多智能体系统中的“通信三难困境”,即异构性、通用性和成本问题。Agora通过标准协议、结构化数据和自然语言三种通信格式,实现高效协作,支持复杂任务自动化。演示场景显示其在预订服务和天气预报等应用中的优越性能。论文地址:https://arxiv.org/pdf/2410.11905。
426 6

热门文章

最新文章