网络基础概述

计算机与网络设备要相互通信,双方就必须基于相同的方式。比如,如何探测到通信目标、由哪一边先发起通信、使用哪种语言进行通信、怎样结束通信等规则都需要事先确定。不同的硬件、操作系统之间的通信,所有的这一切都需要一种规则。而我们就把这种规则称为协议

我们通常使用的网络(包括互联网)是在 TCP/IP 协议族的基础上运作,或者说 TCP/IP 协议族是一个包含了一系列构成互联网基础的相关网络协议的集合。简单的说,TCP/IP 是在 IP 协议的通信过程中,使用到的协议的统称

TCP/IP 分层模型

TCP/IP 协议族里重要的知识点之一就是 TCP/IP 分层模型。 把 TCP/IP 层次化是有好处的。比如,如果互联网只由一个协议统筹,某个地方需要改变设计时,就必须把所有部分整体替换掉。而分层之后只需把变动的层替换掉即可。把各层之间的接口部分规划好之后,每个层次内部的设计就能够自由改动了

层次化之后,设计也变得相对简单了。处于应用层上的应用可以只考虑分派给自己的任务,而不需要弄清对方在地球上哪个地方、对方的传输路线是怎样的、是否能确保传输送达等问题

分层模型显示协议如何在每个层上工作,以及层如何与它们上方或下方的层交互。因此,这对于后来学习的人来说,能够更好地理解各种协议以及它们如何相互协作

在现代计算机网络中,常备使用的分层模型是两个

  • OSI 模型(开放式通信系统互联参考模型),是国际标准化组织(ISO)提出的一个试图使各种计算机在世界范围内互连为网络的标准框架,简称 OSIOSI 是制定的适用于全世界计算机网络的统一标准,是一种理想状态,因此它的结构复杂,层次间存在严格的调用关系,一共有七层模型
  • TCP/IP 模型(传输控制协议/互联网协议),它使用更少的四层模型,是目前应用最广泛的协议,已成为事实上的国际标准

TCP/IP 四层模型和 OSI 七层模型有比较明确对应的关系

TCP/IP 协议族各层的作用如下

应用层

  • 预存了各类通用的应用服务,保证用户(应用程序)能够正常运行。不同的的应用程序会根据自己的需要来使用应用层的不同协议
  • 文件传输可以使用 FTP 文件传输协议;万维网请求-响应传输超文本可以使用 HTTP超文本传输协议,平时浏览网页时都是用这个协议;远程登录服务可以使用 TELNET 协议,用户可在本地计算机上控制远程主机(Web 服务器);用户发送电子邮件可以使用SMTP 简单邮件传输协议;从服务器接收电子邮件可以使用 POP3 邮局协议;用户想要通过域名方便的访问服务器则可以使用 DNS 域名系统服务

传输层

  • 传输层主要对上层应用层的应用程序提供处于网络连接中的两台计算机之间的数据传输
  • 在传输层主要包括两个性质不同的协议:TCP 传输控制协议和 UDP 用户数据报协议

网络层

  • 该层主要负责通过 IP 寻找地址和路由选择。或者说,与对方计算机之间通过多台计算机或网络设备进行传输时,网络层所起的作用就是在众多的选项内选择一条传输路线。比如路由器就工作在网络层
  • 包括 IP 协议,即互联网协议,以及它的子协议 ICMPInternet 控制报文协议

数据链路层

包括了数据链路层和物理层。负责物理层面上的互联的、节点间的通信传输,包括查找物理(MAC)地址,数据成帧,规定了电平、速度和电缆针脚,最终通过物理介质传输比特流

分层信息传输

利用 TCP/IP 协议族进行网络通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接收端则从数据链路层往上走

HTTP 举例来说明,首先作为发送端的客户端在应用层 (HTTP 协议)发出一个想看某个 Web 页面的 HTTP 请求。接着为了传输方便,在传输层(TCP 协议)把从应用层处收到的数据(HTTP 请求报文)进行分割,并在各个报文上打上标记序号及端口号后转发给网络层。在网络层(IP 协议),增加作为通信目的地的 MAC 地址后转发给链路层。这样一来,发往网络的通信请求就准备齐全了。接收端的服务器在链路层接收到数据,按序往上层发送,一直到应用层。当传输到应用层,才能算真正接收到由客户端发送过来的 HTTP请求

数据的封装和分用

实际上,当应用程序用 TCP 传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络,其中每一层对收到的数据都要增加一些首部信息(以太网包括尾部),这个过程称作封装

  • 每一层数据是由上一层数据+本层首部信息组成的,其中每一层的数据,称为本层的协议数据单元,即 PDU
  • 应用层:用户数据在应用层中会被加密、编码传输
  • 传输层:在传输层中,经过 TCP 协议封装的数据将会加上 TCP 首部,此时的 PDU被称为 TCP 报文段或简称为 TCP 段。经过 UDP 协议封装的数据将会加上 UDP 首部,此时的 PDU 被称为 UDP 数据报。该层的数据单元也可以统称为断。TCP/UDP 首部主要包含源进程端口号和目的进程端口号
  • 网络层:经过 IP 协议封装的 PDU 被称为 IP 数据报,也被称为包。IP 首部主要包含源 IP 地址和目的 IP 地址,以及上层传输层协议的类型
  • 链路层:链路层中 PDU 被进一步封装为帧,传输媒介不同,帧的类型也不同,比如通过以太网传输的就是以太网帧,而令牌环网上传输的则是令牌环帧。以太网帧首部主要包含源 MAC 地址和目的 MAC 地址,以及帧类型(用于确定上层协议类型)。最终,帧被以比特流的形式通过物理传输介质进行传输给目的主机,此时数据传输的单位就是比特

当目的主机收到一个以太网数据帧时,并且通过匹配帧中的 MAC 地址发现目的地就是本机,那么数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。这个过程称作分用


参考:https://blog.csdn.net/weixin_43767015/article/details/112095658

TCP/IP协议分层模型以及数据的封装和分用相关推荐

  1. (chap2 TCP/IP基础知识) TCP/IP协议分层模型

    1. TCP ( Transmission Control Protocol)和IP( lnternet Proto-col )通信协议群 1.1 Internet互联网 互联网中的每个网络都是由骨干 ...

  2. TCP/IP协议分层模型详解

    文章目录 不同分类模型对应关系 不同人员关注的模型不一样 每层的简述 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 数据包传输过程 数据包传输调用关系 数据包发送 数据包接收 各层协议 ...

  3. (chap2 TCP/IP基础知识) TCP/IP协议分层模型-应用层

    应用层--会话层以上的分层 1. C/S模型 2. WWW (World Wide Web) WWW 中的HTTP是OSI应用层的协议,HTML属于表示层的协议. 3. 电子邮件 SMTP (Simp ...

  4. TCP/IP协议四层模型知识

    OSI七层和TCP/IP四层的关系 OSI七层模型是理论上的分层方式,而四层模型是实践过程中的分层模型. OSI七层模型ISO(国际标准化组织)提出的一套理论性的网络标准化协议,可以把它看成一本教科书 ...

  5. TCP/IP协议分层

    TCP/IP协议分层 应用层协议 FTP文件传送协议 TFTP简单文件传送协议 TELNET远程终端协议 SMTP简单邮件传送协议 传输层协议 端口号 源端口号和目的端口号 TCP传输控制协议 协议段 ...

  6. TCP/IP协议分层图 2021-04-02

    1. TCP/IP协议分层 https://www.bilibili.com/video/BV1gV411h7r7?p=16&spm_id_from=pageDriver 1.1 报文-> ...

  7. TCP/IP协议 | 四层模型

    目录 TCP/IP四层模型 TCP/IP格式 IP包格式 TCP报文 UDP数据段 SYN攻击 HTTP协议 ICMP协议 子网掩码 长连接与短连接的区别 TCP Fast Open TCP报文如何传 ...

  8. TCP/IP 网络分层模型

    一.TCP/IP 四层模型 TCP/IP四层模型可以说是OSI七层模型的简化版,主要有以下四层模型 应用层 传输层 网络层 网络接口层 1.应用层(Application layer) 应用层是在之传 ...

  9. TCP/IP协议四层模型

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

  10. OSI七层模型和TCP/IP协议四层模型

    1 OSI 七层模型 OSI (open System Interconnect  开放系统互联)七层网络模型 称为开放式系统互连参考模型,是一个逻辑上的定义,一个规范,他把网络从逻辑上分为7层.每一 ...

最新文章

  1. 数论题目入门 基础积攒
  2. 与《管理幸福》一书作者Jurgen Appelo的访谈
  3. android java 指针,opencv android:向我的代码中添加cascade分类器后出现空指针异常
  4. php 电压 异常,tv断线警告是什么原因
  5. Quick-cocos2d-x luabinding
  6. ofo给还在路上垂死挣扎的战友们留下什么启示?
  7. HCIE Cloud
  8. ABBYY软件的OCR文字识别工具有什么用
  9. Scratch(三十三):打砖游戏
  10. csrf令牌_是否需要CSRF令牌?
  11. 【Caffe学习01】在Caffe中trian MNIST
  12. Typora-PicGo-SMMS图床(Mac电脑和windows电脑)
  13. JumpServer邮件设置
  14. xmp预设怎么导入pr_【教程】如何使用xmp格式的预设,看完这篇就懂了
  15. 丑数(Ugly Number)的判别和证明
  16. 39、基于51单片机小车红外循迹、避障、遥控控制系统设计
  17. 【Matlab人脸识别】形态学教室人数统计(带面板)【含GUI源码 1703期】
  18. charles抓手机端的包(android手机)
  19. 如何高效阅读一本纸质书
  20. OPENCV中图像数据结构及其转化

热门文章

  1. 阿里云云计算 29 AS的原理
  2. 算法:回溯一 电话拨号数字里面的字母组合 letter-combinations-of-a-phone-number
  3. 计算虚继承中对象占用的空间
  4. Spark 0.9.1 MLLib 机器学习库简介
  5. Python集合set与frozenset的区别
  6. OSG实时纹理提取 离屏渲染 输出到OpenCV 反向渲染 OSG摄像头反转 OSG动态模型 摄像机实时渲染
  7. 基于离线策略的强化学习(PPO)
  8. 随机变量的特征函数的定义
  9. html按钮的ui,button按钮 - 基础 - H-ui前端框架官方网站
  10. 扩展linux swap分区大小,扩展Linux系统swap分区的大小