计算机的网络体系及协议模型介绍
目录
1、网络协议介绍
1.1、定义
1.2、基本作用
1.3、协议的主要内容
2、网络协议分层
2.1、协议分层原因
2.2、网络协议分层的缺点
2.3、OSI协议和TCP/IP协议的联系
3、TCP/IP 协议族
3.1、定义介绍
3.2、组成
1、应用层
2、运输层
3、网络层
3.3、底层流程
4、TCP连接
5、Http和Https
5.1、http的定义
5.2、区别和联系
5.3、常用HTTP状态码
前言
网络协议是网络上所有设备(网络服务器、计算机及交换机、路由器、防火墙等)之间通信规则的集合,它规定了通信时信息必须采用的格式和这些格式的意义。
大多数网络都采用分层的体系结构,每一层都建立在它的下层之上,向它的上一层提供一定的服务,而把如何实现这一服务的细节对上一层加以屏蔽。
如下图所示:
1、网络协议介绍
1.1、定义
在计算机网络要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则, 比如交换数据的格式、是否需要发送一个应答信息。这些规则被称为网络协议。
本质就是数据传输的规则和标准。
1.2、基本作用
- 规定通信双方如何建立连接、如何传递数据、如何确认数据是否收发成功、出错怎么处理等。
- 保证不同厂商、不同系统设备“说同一种话”,能互相交换数据。
1.3、协议的主要内容
1、语法(Syntax):
数据结构、编码方式、数据包的格式(比如一段包头有啥字段、每一段长)。
2、语义(Semantics):
每个字段、每一步的意义和作用,比如哪一位代表校验、哪一位代表控制命令。
3、同步(Synchronization):
通信双方何时发送/接受数据,通信顺序,时序等等。
2、网络协议分层
OSI 七层模型 是国际标准化组织提出的一个网络分层模型,其大体结构以及每一层提供的功能如下图所示:
2.1、协议分层原因
- 简化问题难度和复杂度。由于各层之间独立,我们可以分割大问题为小问题。
- 灵活性好。当其中一层的技术变化时,只要层间接口关系保持不变,其他层不受 影响。
- 易于实现和维护。
- 促进标准化工作。分开后,每层功能可以相对简单地被描述。
2.2、网络协议分层的缺点
功能可能出现在多个层里,产生了额外开销。 为了使不同体系结构的计算机网络都能互联,国际标准化组织 ISO 于1977年提 出了一个试图使各种计算机在世界范围内互联成网的标准框架,即著名的开放系统互联基本参考模型 OSI/RM,简称为OSI。
如下图所示:
OSI 的七层协议体系结构的概念清楚,理论也较完整,但它既复杂又不实用, TCP/IP 体系结构则不同,但它现在却得到了非常广泛的应用。TCP/IP 是一个四 层体系结构,它包含应用层,运输层,网际层和网络接口层(用网际层这个名字 是强调这一层是为了解决不同网络的互连问题),不过从实质上讲,TCP/IP 只 有上面的三层,因为下面的网络接口层并没有什么具体内容,因此在学习计 算机网络的原理时往往采用折中的办法,即综合 OSI 和 TCP/IP 的优点,采用 一种只有五层协议的体系结构,这样既简洁又能将概念阐述清楚,有时为了方 便,也可把底下两层称为网络接口层。
2.3、OSI协议和TCP/IP协议的联系
四层协议,五层协议和七层协议的关系如下:
1、TCP/IP是一个四层的体系结构
主要包括:应用层、运输层、网际层和网络接口层。
2、五层协议的体系结构
主要包括:应用层、运输层、网络层,数据链路层和物理层。
3、OSI七层协议模型
主要包括是:应用层(Application)、表示层 (Presentation)、会话层(Session)、运输层(Transport)、网络层 (Network)、数据链路层(Data Link)、物理层(Physical)。
如下图所示:
⚠️注意:五层协议的体系结构只是为了介绍网络原理而设计的,实际应用还是 TCP/IP 四层体系结构。
6.数据链路层
数据链路层(data link layer)通常简称为链路层。两台主机之间的数据传输,总 是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。
在两个相邻节点之间传送数据时,数据链路层将网络层交下来的 IP 数据报组装 成帧,在两个相邻节点间的链路上传送帧。每一帧包括数据和必要的控制信息 (如同步信息,地址信息,差错控制等)。
在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特 结束。
发送端在层与层之间传输数据时,每经过一层时会被打上一个该层所属的首部信 息。反之,接收端在层与层之间传输数据时,每经过一层时会把对应的首部信息 去除。
7.物理层
在物理层上所传送的数据单位是比特。 物理层(physical layer)的作用是实现相 邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的 差异。使其上面的数据链路层不必考虑网络的具体传输介质是什么。“透明传送 比特流”表示经实际电路传送后的比特流没有发生变化,对传送的比特流来说, 这个电路好像是看不见的。
3、TCP/IP 协议族
3.1、定义介绍
在互联网协议中比较著名的是TCP/IP 两个协议。现在提到的 TCP/IP 并不一定是单指 TCP 和 IP 这两个具体的协议,而往往是表 示互联网所使用的整个 TCP/IP 协议族。
互联网协议套件(Internet Protocol Suite,缩写IPS)是一个网络通讯模型, 以及一整个网络传输协议家族,为网际网络的基础通讯架构。
该协定家族的两个核心协定:TCP(传输控制协议)和IP(网际协议),为该家族中早 通过的标准。TCP(传输控制协议)和IP(网际协议) 是先定义的两个核心协议,所以才统称为TCP/IP协议族。
数据从网络中一个终端上的应用程序传送到另外一个终端的应用程序,中间需要经历很多过程,有多方参与对数据进行层层封装、转发。
TCP/IP协议可分为应用层、运输层、网际层、网络接口层。
3.2、组成
1、应用层
应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和 交互的规则。
对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多,如域名系统 DNS,支持万维网应用的 HTTP 协议,支持电子邮件的 SMTP 协议等 等。
2、运输层
运输层(transport layer)的主要任务就是负责向两台主机进程之间的通信提供通 用的数据传输服务。应用进程利用该服务传送应用层报文。
运输层主要使用一下两种协议:
1、传输控制协议-TCP:
提供面向连接的,可靠的数据传输服务。
2、用户数据协议-UDP:
提供无连接的,尽大努力的数据传输服务(不保证数据传输的可靠性)。
如下所示:
每一个应用层(TCP/IP参考模型的最高层)协议一般都会使用到两个传输层协 议之一:
运行在TCP协议上的协议:
1、HTTP(Hypertext Transfer Protocol,超文本传输协议):
80端口,主要用于普通浏 览。
2、HTTPS(HTTP over SSL,安全超文本传输协议):443端口,HTTP协议的安全版本。
3、FTP(File Transfer Protocol,文件传输协议):20和21端口,用于文件传输。
4、POP3(Post Office Protocol, version 3,邮局协议):110端口,收邮件用。
5、SMTP(Simple Mail Transfer Protocol,简单邮件传输协议):25端口,用来发送电子 邮件。
6、TELNET(Teletype over the Network,网络电传):通过一个终端 (terminal)登陆到网络。
7、SSH(Secure Shell,用于替代安全性差的TELNET):22端口,用于加密安全登陆用。 运行在UDP协议上的协议:
8、BOOTP(Boot Protocol,启动协议):应用于无盘设备。
9、NTP(Network Time Protocol,网络时间协议):用于网络同步。
10、DHCP(Dynamic Host Configuration Protocol,动态主机配置协议):67端口,动态 配置IP地址。 运行在TCP和UDP协议上:
11、DNS(Domain Name Service,域名服务):用于完成地址查找,邮件转发等 工作。
3、网络层
网络层的任务就是选择合适的网间路由和交换结点,确保计算机通信的数据及时传送。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组和 包进行传送。在 TCP/IP 体系结构中,由于网络层使用 IP 协议,因此分组也叫 IP 数据报 ,简称数据报。
互联网是由大量的异构(heterogeneous)网络通过路由器(router)相互连 接起来的。互联网使用的网络层协议是无连接的网际协议(Intert Prococol) 和许多路由选择协议,因此互联网的网络层也叫做网际层或 IP 层。
3.3、底层流程
TCP/UDP协议
网际层:解决在一个单一网络上传输数据包的问题。
IP协议
网络接口层:它是数据包从一个设备的网络层传输到另外一个设备的网络层遵循的规范。
比如以太网协议、Wi-Fi协议。
如下图所示:
4、TCP连接
持续更新
1、如果已经建立了连接,但是客户端突然出现故障了怎么办?
TCP设有一个保活计时器,客户端如果出现故障,服务器不能一直等下去,白白浪费资源。服务器每收到一次客户端的请求后都会重新复位这个计时器,时间通常是设置为2小时,若两小时还没有收到客户端的任何数据,服务器就会发送一个探测报文段,以后每隔75秒钟发送一次。若一连发送10个探测报文仍然没反应,服务器就认为客户端出了故障,接着就关闭连接。
2、在PC浏览器的地址栏输入URL,从发起请求到收到请求页面响应,发生了什么?
1、首先,在浏览器地址栏中输入url,先解析url,检测url地址是否合法
2、浏览器先查看浏览器缓存-系统缓存-路由器缓存-ISP缓存,如果缓存中有,会直接在屏幕中显示页面内容。若没有,则跳到第三步操作。
浏览器缓存:浏览器会记录DNS一段时间,因此,只是第一个地方解析DNS请求;
操作系统缓存:如果在浏览器缓存中不包含这个记录,则会使系统调用操作系统,获取操作系统的记录(保存最近的DNS查询缓存);
路由器缓存:如果上述两个步骤均不能成功获取DNS记录,继续搜索路由器缓存;
ISP缓存:若上述均失败,继续向ISP搜索。
3、在发送http请求前,需要域名解析(DNS解析),解析获取相应的IP地址。
4、浏览器向服务器发起tcp连接,与浏览器建立tcp三次握手。
5、握手成功后,浏览器向服务器发送http请求,请求数据包。
6、服务器处理收到的请求,将数据返回至浏览器
7、浏览器收到HTTP响应
8、浏览器解码响应,如果响应可以缓存,则存入缓存。
9、 浏览器发送请求获取嵌入在HTML中的资源(html,css,javascript,图片,音乐…),对于未知类型,会弹出对话框。
10、 浏览器发送异步请求。
11、页面全部渲染结束。
5、Http和Https
5.1、http的定义
HTTP 是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范。
5.2、区别和联系
如下图所示:
5.3、常用HTTP状态码
表示客户端HTTP请求的返回结果、标识服务器处理是否正常、表明请求出现的错误等。
状态码的类别:
参考文章:
1、计算机中网络协议三要素,网络协议的三要素是什么?各有什么含义?-CSDN博客文章浏览阅读1.9k次。网络协议定义为数据交换的规则集合,主要包括语法、语义及时序三个要素。语法规定信息格式,语义说明通信行为,时序定义通信顺序。TCP/IP协议是Internet广泛采用的标准,由ARPA在1977年至1979年间推出,现已成为网络通信的通用语言。理解网络协议对于网络通信至关重要。https://blog.csdn.net/weixin_30095015/article/details/117955261?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522d35aa3ebe0f31892ec94aad8f5fec282%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=d35aa3ebe0f31892ec94aad8f5fec282&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-7-117955261-null-null.142^v102^control&utm_term=%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C%E4%B8%AD%E7%9A%84%E5%8D%8F%E8%AE%AE&spm=1018.2226.3001.4187
2、网络协议精讲-CSDN博客文章浏览阅读2.9k次。计算机网路协议1、TCP/IP的四层模型应用层: http/smtp/dns/rtp…传输层:TCP/UDP网际层:IP网络接口层2、HTTP三次握手和四次挥手三次握手第一次握手:客户端发送第一个包,其中SYN标志位为1, ACK=0,发送顺序号seq=x(随机int)。客户端进入SYN发送状态,等待服务器确认。第二次握手:服务器收到这个包后发送第二个包,其中包SYN、ACK标志位为1,发送顺序号seq=Y(随机int),接收顺序号ack=x+1,此时服务器进入SYN接收状态。_什么是协议计算机网络https://blog.csdn.net/weixin_40307206/article/details/107764053?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522d35aa3ebe0f31892ec94aad8f5fec282%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=d35aa3ebe0f31892ec94aad8f5fec282&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-8-107764053-null-null.142^v102^control&utm_term=%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C%E4%B8%AD%E7%9A%84%E5%8D%8F%E8%AE%AE&spm=1018.2226.3001.4187