OSI七层模型和TCPIP四层网络模型

article/2025/9/19 11:19:51

OSI七层模型和TCP/IP四层网络模型

写在文前,本篇文章是在学习过程抄录的笔记,需要更详细的内容可以在微信搜索javaguide公众号获取。

1、OSI划分

  1. 七层划分:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
  2. 五层划分:应用层、传输层、网络层、数据链路层、物理层
  3. 四层划分:应用层、传输层、网络层、网络接口层

1.1 OSI七层模型

在这里插入图片描述
在这里插入图片描述

1.2 设备

物理层:网卡、网线、集线器、中继器、调制解调器

数据链路层:网桥、交换机

网络层:路由器

2、各层结构与功能简述

2.1 物理层

  1. 物理层所传送的数据单位是比特。

  2. 物理层的作用是实现相邻计算机结点之间的比特流透明传送,尽可能屏蔽具有传输介质和物理设备的差异,使数据链路层不必考虑网络传输的介质是什么。

2.2 数据链路层

  1. 两个相邻结点传送数据时,数据链路层将网络层交下来的IP数据报组装成帧,在两个相邻结点的链路上传送帧。
  2. 每一帧包括数据和必要的控制信息【同步信息、地址信息、差错控制等】

2.3 网络层

  1. 网络层的任务是选择合适的网间路由和交换结点,确保数据及时传送。
  2. 网络层使用IP协议,因此分组也叫IP数据报。

2.4 运输层

  1. 运输层的主要任务是负责向两台主机进程之间的通信提供通用的数据传输服务。
  2. 传输控制协议TCP和用户数据协议UDP。

2.5 应用层

  1. 应用层的任务是通过应用进程间的交互来完成特定网络应用。
  2. 域名系统DNS、超文本传输协议HTTP、简单邮件传输协议SMTP。

3、面试题

3.1 三次握手:SYN(建立联机)、seq(序列号)、ack(确认号)

在这里插入图片描述

为什么三次握手

三次握手的目的是建立可靠的通信信道,确认自己与对方的发送接收正常

  1. 第一次握手:客户端-服务端
    • Service确认对方发送正常,自己接收正常
  2. 第二次握手:服务端-客户端
    • Client确认自己发送、接收正常,对方发送接收正常;Service确认对方发送正常,自己接收正常
  3. 第三次握手:客户端-服务端
    • Client确认自己发送、接收正常,对方发送、接收正常;Service确认自己发送、接收正常,对方发送、接收正常,

第二次握手的ack与syn

  1. 发送ack是为了告诉客户端我接受到的就是你发送的信号
  2. 发送syn是为了建立并确认服务端到客户端的通信

最后一次客户端发送确认

主要为了防止失效的连接请求突然重新传送到服务器,从而产生错误

3.2 四次挥手

在这里插入图片描述

断开TCP连接

  1. 第一次挥手:客户端-服务端
    • 客户端发送fin,用来关闭客户端到服务端的数据传送
  2. 第二次挥手:服务端-客户端
    • 服务端收到fin,并发送ACK给客户端,确认号为收到序列号+1
  3. 第三次挥手:服务端-客户端
    • 服务器关闭与客户端的连接,并发送fin给客户端
  4. 第四次挥手:客户端-服务端
    • 客户端发送ACK确认,确认号为收到序列号+1

为什么客户端最后还要等待2MSL

  1. 保证客户端最后一次发送的ACK报文能够到达服务器,因为这个ACK报文可能会丢失
    • 服务器角度,发送FIN+ACK,可能是客户端没收到,就会重新发送一次。
  2. 防止类似于三次握手中已失效的连接请求报文段出现在本连接

为什么握手三次,挥手四次

  1. 因为握手的时候回复是发送ACK和SYN,而挥手第二次发送FIN仅表示对方不再发数据了,自己未必全部数据都发送给对方了。

3.3 TCP协议与UDP协议的区别

  1. TCP协议
    • TCP是面向连接的服务,传送数据之前需要建立连接,数据传送结束后需要释放连接
    • TCP提供可靠的传输服务,体现在三次握手建立连接,数据传送有确认、窗口、重传、拥塞控制机制,数据传送结束后需要释放连接
    • 一系列操作协议数据单元的首部增大,占用许多处理机资源
    • 用于文件传输、发送和接收邮件、远程登录等场景
  2. UDP协议
    • UDP在传送数据之前不需要建立连接,远地主机收到UDP报文后不需要给出确认
    • UDP不提供可靠交付,某些情况下确实最有效的,如QQ语音、QQ视频、直播等

3.4 TCP协议如何保证可靠传输

  1. 应用数据被分割成TCP认为最合适的数据块
  2. TCP把每一个包进行编号,排序好传送给应用层
  3. 校验和
    • TCP将保持它的首部和数据的检验和
    • 目的是检验数据传输过程中的变化,收到的数据检验和有错误,将丢弃报文段不确认收到报文段。
  4. 接收端丢弃重复数据
  5. 流量控制
    • TCP的接收端只允许发送端发送缓冲区能接纳的数据
    • 接收方来不及处理数据,提示发送方降低发送速率,避免包丢失
    • TCP使用的流量控制协议是可变大小的滑动窗口实现流量控制
  6. 拥塞控制
    • 当网络拥塞时,减少数据的发送
  7. ARQ协议(自动重传请求)
    • 目的是实现可靠传输
    • 基本原理是每发送完一组就停止发送,等待对方确认,收到确认后再发送下一组
  8. 超时重传
    • 当TCP发出一个段后,会启动一个定时器,等待目的端收到这个报文段。
    • 如果不能及时确认,就会重新发送这个报文段。

3.5 ARQ协议(自动重传请求)

  1. 是OSI模型中数据链路层和传输层的错误纠正协议之一

  2. 通过使用确认和超时的机制,在不可靠的服务上实现可靠的信息传输

  3. 如果不能及时确认,就会重新发送这个报文段。

  4. 停止等待ARQ协议

    1. 优缺点
      • 优点:简单
      • 缺点:信道利用率低,等待时间长
    2. 情况
      1. 无差错情况:规定时间内收到并确认
      2. 超时重传
        • 不但要重传还有重复收,重复确认
      3. 确认丢失和确认迟到
        • 确认消息在传输过程丢失
        • 确认消息在传输过程迟到
  5. 连续ARQ协议

    • 目的是实现可靠传输
    • 基本原理是每发送完一组就停止发送,等待对方确认,收到确认后再发送下一组
    1. 优点和缺点
      • 优点:信道利用率高,容易实现,丢失也不用重传
      • 缺点:不能向发送方反映已经收到所有分组的信息

3.6 滑动窗口和流量控制

  1. TCP使用滑动窗口实现流量控制
  2. 流量控制是为了控制发送方的发送速率,保证接收方来得及接收
  3. 接收方的确认报文段的窗口字段可以控制发送窗口大小,影响发送端的发送速率
  4. 窗口字段设置为0,则不能发送数据

3.7 拥塞控制

拥塞控制防止过多的数据注入到网络中导致路由器或链路过载

  1. 为进行拥塞控制,TCP发送方要维持一个拥塞窗口(cwnd)的状态变量
  2. 拥塞控制窗口的大小取决于网络的拥塞程度,并动态变化
  3. TCP的拥塞控制采用了四种算法
    • 慢开始
      • 由小到大逐渐增大拥塞窗口数值
      • cwnd初始值1,每经过一轮传播轮次cwnd加倍
    • 拥塞避免
      • 拥塞窗口cwnd缓慢增大,每经过往返时间RTT就把发送的cwnd加1。
    • 快重传和快恢复FRR
      • 能快速恢复丢失的数据包

3.8 浏览器访问URL

在这里插入图片描述

  1. DNS解析
    • 首先在本地域名服务器中查询IP地址,如果没有找,本地域名服务器向根域名服务器发送请求
    • 根域名服务器也不存在该域名时,会向com顶级域名发送请求,以此类推
    • 本地域名服务器得到IP地址,并缓存到本地,供下一次查询使用
  2. TCP连接
    • 通过ip寻址和ARP,找到服务器,利用三次握手建立TCP连接
  3. 发送HTTP请求
    • 构建HTTP请求报文并通过TCP协议发送到服务器指定端口
  4. 服务器处理请求并返回HTTP报文
    • 对TCP连接进行处理,对HTTP协议进行解析,按照报文格式封装Request对象返回给浏览器
  5. 浏览器解析渲染页面
    • 浏览器解析HTML、CSS、JS文件
  6. 连接结束

3.9 HTTP长连接,短连接

  1. HTTP1.0中默认使用短连接

    • 每次客户端和服务器进行HTTP操作都要建立连接,结束后释放连接。
  2. HTTP1.1起默认使用长连接

    • 使用长连接,会在响应头加入代码:

      Connection:keep-alive
      
    • 使用长连接,当一个网页打开后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,客户端再次访问会使用这个已建立好的连接。

    • kepp-alive不会永久保持连接,可以根据不同服务器设定

    • 实现长连接需要客户端和服务器都支持长连接

3.10 HTTP不是保存状态协议,如何保存用户状态

  1. Session的主要作用就是通过服务端记录用户的状态
  2. 使用内存和数据库保存Session
  3. 通过Cookie中附加一个Session ID来实现Session追踪
  4. Cookie被禁用
    • 利用URL重写把Session ID直接附加到URL路径后面

3.11 Cookie的作用,与Session的区别

Cookie和Session都是用来追踪浏览器用户身份的会话方式,但使用场景不同。

  1. Cookie
    • 数据保存在客户端
    • Cookie一般用来保存用户信息
    • 存放Token到Cookie中,不用重新登录
    • 登录一个网站后,访问网站其他页面不用重新登陆
  2. Session
    • 数据保存在服务器端
    • Session一般用来记录用户状态
    • 安全性更高

3.12 HTTP1.0和HTTP1.1的主要区别

  1. HTTP1.0
    • 默认使用短连接
    • 缓存处理
      • header的If-Modified-Since等作为缓存标准判断
  2. HTTP1.1
    • 默认使用长连接
    • 新增24个错误状态响应码
      • 409请求的资源与当前资源的状态发生冲突
      • 410服务器上的某个资源被永久删除
    • 缓存处理
      • 引入Entity tag,If-Unmodified-Since等缓存头来控制缓存策略
  3. 带宽优化及网络连接的使用
    • HTTP1.0存在浪费带宽的现象
    • HTTP1.1引入range头域,允许只请求资源的某部分,以便充分利用带宽和连接

3.13 URI和URL的区别

  1. URI(Uniform Resource Identify)
    • 统一资源标识符,可以唯一标识一个资源
    • 【身份证】
  2. URL(Uniform Resource Locator)
    • 统一资源定位符,可以提供该资源的路径
    • 不仅唯一标识资源,还提供定位该资源的信息
    • 【家庭住址】

3.14 HTTP和HTTPS的区别

  1. 端口
    • HTTP的URL默认端口80
    • HTTP的URL默认端口443
  2. 安全性和资源消耗
    • HTTP协议运行在TCP之上,传输的内容是明文
    • HTTPS是运行在SSL/TLS之上的HTTP协议,SSL/TLS运行在TCP之上
    • HTTPS传输内容经过对称加密,使用服务器的证书对密钥进行非对称加密
    • HTTP安全性没HTTPS高,HTTPS服务器资源消耗比HTTP高。
  3. 对称加密
    • 密钥只有一个,加密解密同一个密码,解密速度快
    • 加密算法有DES、AES
  4. 非对称加密
    • 密钥成对出现,加密解密使用不同密钥,相对对称加密解密速度较慢
    • 加密算法有RSA、DSA

4、计算机网络基础知识点

4.1 基本术语

  1. 结点(node)

    • 可以是计算机、交换机、集线器、路由器
  2. 链路(link)

    • 一个结点到另一个结点的一段物理线路,中间没有任何交点
  3. 主机(host)

    • 连接在因特网上的计算机
  4. ISP(Internet Service Provider)

    • 因特网服务提供商
  5. IXP(Internet eXchange Point)互联网交换点

    • 主要作用是允许两个网络直接相连并交换分组,且不需要通过第三个网络来转发分组
  6. RFC(Request For Comments)请求评议

    • 包含了关于Internet的几乎所有重要文字资料
  7. 广域网WAN

    • 任务是长距离运送主机发送的数据
  8. 城域网MAN

    • 用来将多个局域网相连
  9. 局域网LAN

    • 计算机和其他设备通过网络连接起来,学校或企业大多拥有多个互联的局域网
  10. 个人区域网PAN

    • 在个人工作的地方把属于个人使用的电子设备用无线技术连接起来的网络
  11. 分组(packet)

    • 因特网中传送数据的单元。
    • 由首部header和数据段组成
    • 又称为包
  12. 存储转发(store and forward)

    • 路由器收到分组,检查分组是否正确,过滤冲突包错误
    • 确认包后,取出目的地址,查找表发送输出端口地址,发送包
  13. 带宽(bandwidth)

    • 表示单位时间从网络中的一个点到另一个点能通过的“最高数据率”
    • 单位比特每秒:b/s
  14. 吞吐量(throughput)

    • 表示单位时间内通过某个网络的数据量

4.2 重要知识点

  1. 路由器

    • 路由器是实现分组交换的关键构件,其任务是转发收到的分组
    • 分组交换采用存储转发技术,把一个报文分为几个分组后再进行传送
    • 分组是互联网数据传送的数据单元,分组头部包含地址和源地址等重要控制信息
  2. 计算机同信

    • 计算机中进程通信,采用客户-服务器方式(C/S)和对等连接方式(P2P)
  3. 计算机网络常用性能指标

    • 速率、带宽、吞吐量、时延、时延带宽积、往返时间、信道利用率
  4. 五层体系结构

    • 物理层
    • 数据链路层
    • 网络层
      • IP协议
    • 运输层
      • TCP和UDP协议
    • 应用层

    几种常用的信道复用技术

    1. 频分复用
      • 所有用户在同样时间占用不同的带宽资源
    2. 时分复用
      • 所有用户在不同时间占用同样的频带宽度
    3. 统计时分复用
      • 改进的时分复用,提高信道利用率
    4. 码分复用
      • 用户使用不同的码型,用户之间不会造成干扰
    5. 波分复用
      • 光的频分复用

重要知识点

  1. 物理层的主要任务是确定与传输媒体接口有关的一些特性

    • 机械特性
    • 功能特性
    • 电气特性
    • 过程特性
  2. 数据通信系统

    • 源系统
      • 源点和发送器
    • 传输系统
    • 目的系统
  3. 信号分为模拟信号和数字信号

  4. 传输媒体两大类

    • 导引型传输媒体
      • 双绞线
      • 同轴光缆
      • 光纤
    • 非导引型传输媒体
      • 无线
      • 红外

文末,欢迎来讨论与指出问题。本文图片来自网络,如有侵权请联系。转发请标明出处。


http://chatgpt.dhexx.cn/article/55U0rtrW.shtml

相关文章

读懂TCP IP四层模型与OSI七层模型

目录 一、OSI七层模型 二、TCP/IP四层模型 三、OSI模型的七层解读 3.1 OSI七层模型小结 3.2 TCP/IP模型与OSI模型的对应关系 四、常见的网络相关协议 五、TCP和UDP协议 5.1 TCP三次握手 5.2 TCP四次挥手 5.3 UDP协议 5.4 TCP和UDP的区别 六、TCP/IP四层模型与OSI七…

Linux网络_从系统到网络(网络协议栈分层与功能,认识协议,OSI七层模型与TCPIP四层模型,网络通信流程(局域网,跨网络),MAC地址,IP地址)

文章目录 1.网络在体系结构的位置与网络协议栈的层状结构2.协议栈各层的功能3.协议4.OSI七层模型与TcpIp四层模型5.网络通信的流程局域网通信流程(以太网)MAC地址跨网络通信IP地址 1.网络在体系结构的位置与网络协议栈的层状结构 2.协议栈各层的功能 协议栈分层设计达到了解耦目…

TCP/IP五层(或四层)模型

图解TCP/IP协议 基本概念 1、TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。 建立起一个TCP连接需要经过“三…

matlab怎么画两个自变量的图_tcpip四层模型怎么画?画模型图的好用软件推荐

tcpip四层模型就是一个将osi参考模型的会话层和表示层合并到应用层,数据链路层和物理层合并为链路层后的结果。tcpip四层模型包含应用层、运输层、网络层和链路层。tcpip四层模型的协议功能包括数据的发送、与硬件的交互、消息路由规则、格式定义、错误验证。 tcpip…

TCP/IP四层模型与OSI七层参考模型(网络协议)

TCP/IP四层模型与OSI七层参考模型 一. OSI七层参考模型①. 物理层②. 数据链路层③. 网络层④. 传输层⑤. 会话层⑥. 表示层⑦. 应用层 二. TCP/IP模型①. 物理层②. 数据链路层---网络协议③. 网络层---网络协议④. 传输层---网络协议⑤. 应用层---网络协议 三 .TCP/IP四层模型…

网络分层(OSI7层模型和TCP/IP四层模型)

1 OSI七层模型 1.1 物理层 主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的数模…

TCPIP四层模型和OSI七层模型对应表

转载于:https://www.cnblogs.com/Pual623548198/p/7084421.html

计算机网络--TCP/IP四层模型

TCP/IP四层模型 在了解TCP/IP四层模型前,我们先来了解一下OSI七层结构。 OSI七层模型 虽然OSI七层模型划分的很完美,但是在实际应用当中有一些层的工作是重复的,所以出现了更贴近实际的TCP/IP四层模型。TCP/IP四层模型其实也就是将一些出现重复工作的层进行合并。比如将数…

计算机网络-OSI七层协议模型、TCPIP四层模型和五层协议体系结构之间的关系各层的作用

文章目录 一、结构二、对应的协议三、各层的作用1、物理层2、数据链路层3、网络层4、运输层5、会话层6、表示层7、应用层 一、结构 二、对应的协议 三、各层的作用 1、物理层 主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。…

TCPIP四层协议

TCP/IP四层协议 在说TCP/IP四层协议之前,就不得不说OSI七层模型 OSI七层模型:自底向上依次是物理层,数据链路层,网络层,传输层,会话层,表示层,应用层 TCP/IP体系结构的优点&#x…

TCP/IP协议四层模型

TCP(传输控制协议)/IP(网际协议) 简介 TCP/IP协议是一系列网络协议的总和;包括:TCP,IP,UDP,ARP等,这些被称为子协议。在这些协议中,最重要、最著名…

深入理解网络通信协议一之TCPIP四层模型

快速理解网络通信协议 5.1五层模型 物理层:把主机连接起来的物理手段,作用是负责传送01电信号 链路层:确定物理层上01信号的分组方式;一组电信号称为帧,一个帧分成两部分:标头(head&#xff0…

什么是TCP/IP?-四张图解释TCP/IP四层协议模型

什么是四层模型 第一层:应用层,主要有负责web浏览器的HTTP协议, 文件传输的FTP协议,负责电子邮件的SMTP协议,负责域名系统的DNS等。 第二层:传输层,主要是有可靠传输的TCP协议,特别高效的UDP协议。主要负责传输应用层的数据包。 第三层:网络层,主要是IP协议。主要…

TCP/IP四层模型

TCP/IP网络模型适用于不同设备上进程间的通信,共分为四层分,从上到下分别是应用层、传输层、网络层、网络接口层 应用层(Application Layer) 应用层是最上层的,我们能直接接触到的层,我们日常所使用的软件…

互联网基石:TCP/IP 四层模型,由浅入深直击原理!

前言 TCP/IP 是迄今为止最常用的网络互联协议套件,在全球互联网运营方面发挥了巨大作用,可以这样说 TCP/IP 在互联网世界无处不在! TCP/IP 最初由 DARPA(美国国防高级研究计划局)的两位科学家于 1970 年代开发&#x…

「网络基础」TCP/IP协议4层模型,一分钟了解下

一、TCP/IP四层模型 1、网络接口层 2、互联网层 3、传输层 4、应用层 TCP/IP和OSI七层对应关系: OSI&TCP IP 应用层协议对应关系: 【了解】Dynamic Host Configuration Protocol (DHCP)/BootP(Bootstrap Protocol)动态主机配置协议(DHCP)服务器…

maven快速打包

maven快速打包 你是否打个包需要很长时间。如:15-20分钟。那可能是你的操作方式有问题。 慢速的打包方式: 每次都clean一下后,再重新打包。 我之前也是这样做的,每次打包都需要10分钟。 正确的快速打包方式: 不clea…

maven打包指定jdk的版本

文章目录 问题 问题 今天遇到个问题,项目中新写了一个接口,其中用到了lambda表达式,本地跑是没问题的,但提交到gitLab上,自动打包部署时却报错了(这是其他同事配置的),报错信息如下: 可以看出…

IDEA使用maven进行打包详细记录

前言 IDEA打包有两种方式&#xff1a; 1.build打包 2.maven打包 一开始用第一种方式build打包后运行报错&#xff0c;然后用第二种打包后运行成功。 特此记录一下&#xff0c;用maven进行打包&#xff01; 一、配置pom.xml文件 <build><plugins><plugin>…

MAVEN工具篇——maven打包跳过测试

使用Maven打包的时候&#xff0c;可能会因为单元测试打包失败&#xff0c;这时候就需要跳过单元测试。 Maven跳过单元测试主要可以分为三种方法。 一、命令行方式跳过测试 我们可以用两种命令来跳过测试 mvn clean install -DskipTestsmvn clean install -Dmaven.test.skiptr…