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

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 网络分层、七层参考模型功能介绍、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已被广泛使用,成为网络互联事实上的标准

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1月前
|
负载均衡 网络协议 算法
|
16天前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
43 11
|
15天前
|
网络协议
网络通信的基石:TCP/IP协议栈的层次结构解析
在现代网络通信中,TCP/IP协议栈是构建互联网的基础。它定义了数据如何在网络中传输,以及如何确保数据的完整性和可靠性。本文将深入探讨TCP/IP协议栈的层次结构,揭示每一层的功能和重要性。
41 5
|
15天前
|
监控 网络协议 网络性能优化
网络通信的核心选择:TCP与UDP协议深度解析
在网络通信领域,TCP(传输控制协议)和UDP(用户数据报协议)是两种基础且截然不同的传输层协议。它们各自的特点和适用场景对于网络工程师和开发者来说至关重要。本文将深入探讨TCP和UDP的核心区别,并分析它们在实际应用中的选择依据。
37 3
|
25天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
69 3
|
25天前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
72 2
|
28天前
|
网络虚拟化
生成树协议(STP)及其演进版本RSTP和MSTP,旨在解决网络中的环路问题,提高网络的可靠性和稳定性
生成树协议(STP)及其演进版本RSTP和MSTP,旨在解决网络中的环路问题,提高网络的可靠性和稳定性。本文介绍了这三种协议的原理、特点及区别,并提供了思科和华为设备的命令示例,帮助读者更好地理解和应用这些协议。
41 4
|
1月前
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
49 13
|
28天前
|
运维 物联网 网络虚拟化
网络功能虚拟化(NFV):定义、原理及应用前景
网络功能虚拟化(NFV):定义、原理及应用前景
42 3
|
1月前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密