首页 > 其他分享 >转:网络详解

转:网络详解

时间:2023-06-01 22:33:08浏览次数:45  
标签:协议 HTTP IP 网络 TCP OSI 详解

转自:https://juejin.cn/post/7123028423827521543

1. 概述

1.1 协议

计算机之间通信是依靠互联网,互联网的核心是一系列协议。
协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。它最终体现为在网络上传输的数据包的格式。

1.2 分层体系结构

协议往往分成几个层次进行定义,分层定义是为了层与层之间解耦,互不影响,职责清晰,提高兼容性,方便技术创新。

1.2.1 TCP/IP 网络分层模型(4层)

IP 协议是“Internet Protocol”的缩写,主要目的是解决寻址和路由问题,以及如何在两 点间传送数据包。IP 协议使用“IP 地址”的概念来定位互联网上的每一台计算机。
TCP 协议是“Transmission Control Protocol”的缩写,意思是“传输控制协议”,它位 于 IP 协议之上,基于 IP 协议提供可靠的、字节流形式的通信,是 HTTP 协议得以实现的基础。
TCP/IP 协议总共有四层,就像搭积木一样,每一层需要下层的支撑,同时又支撑着上层,任何一层被抽掉都可能会导致整个协议栈坍塌。
image

第一层叫“链接层”(link layer),负责在以太网、WiFi 这样的底层网络上发送原始数据包,工作在网卡这个层次,使用 MAC 地址来标记网络上的设备,所以有时候也叫 MAC层。MAC 层的传输单位是帧(frame)。

第二层叫“网际层”或者“网络互连层”(internet layer),IP 协议就处在这一层。因为IP 协议定义了“IP 地址”的概念,所以就可以在“链接层”的基础上,用 IP 地址取代MAC 地址,把许许多多的局域网、广域网连接成一个虚拟的巨大网络。IP 层的传输单位是包(packet)。

第三层叫“传输层”(transport layer),这个层次协议的职责是保证数据在 IP 地址标记的两点之间“可靠”地传输,是 TCP 协议工作的层次,另外还有它的一个“小伙伴”UDP。TCP 层的传输单位是段(segment)。TCP 是一个有状态的协议,需要先与对方建立连接然后才能发送数据,而且保证数据不丢失不重复。而 UDP 则比较简单,它无状态,不用事先建立连接就可以任意发送数据,但不保证数据一定会发到对方。两个协议的另一个重要区别在于数据的形式。TCP 的数据是连续的“字节流”,有先后顺序,而 UDP 则是分散的小数据包,是顺序发,乱序收。

第四层叫“应用层”(application layer),由于下面的三层把基础打得非常好,所以在这一层就“百花齐放”了,有各种面向具体应用的协议。例如 Telnet、SSH、FTP、SMTP 等等,当然还有我们的 HTTP。HTTP 的传输单位则是消息或报文message)。

1.2.2 OSI网络分层模型(7层)

OSI,全称是“开放式系统互联通信参考模型”(Open System Interconnection Reference Model)。

TCP/IP 发明于 1970 年代,当时除了它还有很多其他的网络协议,整个网络世界比较混乱。这个时候国际标准组织(ISO)注意到了这种现象,于是设计出了一个新的网络分层模型,想用这个新框架来统一既存的各种网络协议。

OSI 模型分成了七层,部分层次与 TCP/IP 很像,从下到上分别是:

image

第一层:物理层,网络的物理形式,例如电缆、光纤、网卡、集线器等等;
第二层:数据链路层,它基本相当于 TCP/IP 的链接层;
第三层:网络层,相当于 TCP/IP 里的网际层;
第四层:传输层,相当于 TCP/IP 里的传输层;
第五层:会话层,维护网络中的连接状态,即保持会话和同步;
第六层:表示层,把数据转换为合适、可理解的语法和语义;
第七层:应用层,面向具体的应用传输数据。

TCP/IP 等协议已经在许多网络上实际运行,再推翻重来是不可能的。所以,OSI 分层模型在发布的时候就明确地表明是一个“参考”,不是强制标准。

但 OSI 模型也是有优点的。对比一下就可以看出,TCP/IP 是一个纯软件的栈,没有网络应有的最根基的电缆、网卡等物理设备的位置。而 OSI 则补足了这个缺失,在理论层面上描述网络更加完整。

还有一个重要的形式上的优点:OSI 为每一层标记了明确了编号,最底层是一层,最上层是七层,而 TCP/IP 的层次从来只有名字而没有编号。显然,在交流的时候说“七层”要比“应用层”更简单快捷,特别是英文,对比一下“Layer seven”与“application layer”。

1.2.3 两个分层模型的映射关系

image

第一层:物理层,TCP/IP 里无对应;
第二层:数据链路层,对应 TCP/IP 的链接层;
第三层:网络层,对应 TCP/IP 的网际层;
第四层:传输层,对应 TCP/IP 的传输层;
第五、六、七层:统一对应到 TCP/IP 的应用层。

OSI 的分层模型在四层以上分的太细,而 TCP/IP 实际应用时的会话管理、编码转换、压缩等和具体应用经常联系的很紧密,很难分开。例如,HTTP 协议就同时包含了连接管理和数据格式定义。

所谓的“四层负载均衡”就是指工作在传输层上,基于 TCP/IP 协议的特性,例如 IP 地址、端口号等实现对后端服务器的负载均衡。

所谓的“七层负载均衡”就是指工作在应用层上,看到的是 HTTP 协议,解析 HTTP 报文里的 URI、主机名、资源类型等数据,再用适当的策略转发给后端服务器。

1.2.4 TCP/IP协议栈的工作方式

HTTP 协议的传输过程就是这样通过协议栈逐层向下,每一层都添加本层的专有数据,层层打包,然后通过下层发送出去。

接收数据是则是相反的操作,从下往上穿过协议栈,逐层拆包,每层去掉本层的专有头,上层就会拿到自己的数据。

下层的传输过程对于上层是完全“透明”的,上层也不需要关心下层的具体实现细节,所以就 HTTP 层次来看,它不管下层是不是 TCP/IP 协议,看到的只是一个可靠的传输链路,只要把数据加上自己的头,对方就能原样收到。
image

标签:协议,HTTP,IP,网络,TCP,OSI,详解
From: https://www.cnblogs.com/Ceri/p/17450448.html

相关文章

  • 【二十四】Python中super()详解及应用场景举例(1)
    【二十四】Python中super()详解及应用场景举例(1)【1】作用super也是一个类,是的。他不是一个方法也不是一个内置的关键字。classA:passprint(type(super(A)))#<class'super'>直接通过查看super的源码也可以看出它是一个类classsuper(object):"""......
  • 网络安全风险评估
    网络安全风险评估项目作业任务书目录一、项目背景二、项目目标三、范畴确定概述评估范围和对象目标组建适当的评估管理与实施团队信息系统基本情况四、评估准备工作过程风险分级风险评估工具五、风险识别资产识别威胁识别脆弱性识别安全......
  • 连网技术与网络管理2023-05-27 静态路由
    UsageofrouterRoutersarenetworkdevicesthatoperateatthenetworklayer(Layer3)oftheOSImodel.Theyareusedtoconnectmultiplenetworkstogetherandfacilitatetheexchangeofdatabetweenthesenetworks.Routersperformthefollowingimporta......
  • 计算机网络(四)数据链路层
    计算机网络(四)数据链路层1数据链路层概述2点对点通信数据链路层最基本、最重要的三个问题2.1封装成帧封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧帧头和帧尾含有重要的控制信息​ 如以太网V2的MAC帧:​ PPP的帧格式:数据链路层将......
  • mysql5.7配置文件详解
    8核心32G独立mysql服务器的配置文件如下:[client]port=3306socket=/data/mysql/mysql.sock[mysql]prompt="mysql[\d]>"no-auto-rehash[mysqldump]quick[mysqld]user=mysqlport=3306basedir=/usr/local/mysqldatadir=/data/mysqlsocket=/......
  • 补充 : 函数之装饰器详解
    函数之装饰器详解装饰器的用途就是为了在不改变原来代码的前提下,将新的功能和函数加入进去【一】简单版本的装饰器#-*-coding:Utf-8-*-#@File:装饰器详解.py#author:Chimengmeng#blog_url:https://www.cnblogs.com/dream-ze/#Time:2023/5/20importtime......
  • linphone-sdk-android网络检测分析
    原文 linphone-sdk-android网络检测分析-掘金(juejin.cn)前言好久没写linphone-sdk-android相关的文章了,上一篇文章还是一个月之前,经过上次修改linphone-sdk-android后最近没有啥问题发生,本文记录下之前遇到的linphone网络问题的坑。注:笔者的App作为Launcher......
  • 考古笔记10:网络地址转换NAT(1)-基础
    NAT的概念相关1、概念   NAT:网络地址转换实现将内网私有IP地址转换为公网IP地址 解决公网IP地址数目不足的问题 可保护内网IP地址的私密性,起到一定的安全性 还可实现企业内多个私有IP网段重叠问题2、NAT分类静态NAT:唯一的私有IP------映射------唯一的公网IP(映射关系确......
  • Mybatis的五种分页方式详解
     第一种:LIMIT关键字1,mapper代码select*fromtb_userlimit#{pageNo},#{pageSize}2,业务层直接调用publicListfindByPageInfo(PageInfoinfo){returnuserMapper.selectByPageInfo(info);}3,优点灵活性高,可优化空间大mysql分页语句优化4,缺点实现复杂。 第......
  • UnaBiz与纵行科技签署战略合作协议,为海量物联共建“融合的LPWAN全球网络”
    新加坡、法国、中国,2023年5月30日,UnaBiz和纵行科技签署了战略合作协议,致力于促进“融合的LPWAN全球网络”的发展以实现全球大规模物联网。根据协议,UnaBiz和纵行科技将充分利用各自的网络资源,其中ZETA网络覆盖中国,而UnaBiz的全球0G网络涵盖全球70多个国家,以便为客户提供在全球范围内......