学习笔记——网络参考模型——TCP/IP模型(物理层)

一、TCP/IP模型-物理层

1、数据传输(交换)的形式

(1)电路交换

特点:通信双方独占通信链路。

优点:数据传输时延小,适用于实时通信;数据按序发送,不存在失序问题;适合模拟信号和数字信号传输。

缺点:连接建立时间长;独占信道,信道利用率低;不同类型、不同速率的终端难以直接通信;难以进行差错控制。

(2)报文交换

特点:报文整个地发送,一次一跳,是分组交换的前身。

优点:不用预先建立连接,没有建立连接时延,可以随时发送报文;按照存储–转发机制,对数据包进行错误检测,并且能支持不同速度、规格的输入/输出端口间的交换;有路径选择,当某条线路发生故障时,可以选择其他线路,提高传输可靠性;一个报文可以同时发送到多个目的地址;提高信道利用率。

缺点:进入交换节点之后要经历存储–转发过程,时延大,当网络通信量增大时,时延加剧,不适合实时业务数据传输;只能传输数字信号;报文长度无限制,每个中间节点都要完整接收报文,当线路较忙时,中间节点可能需要存储其他报文,要求每个节点具有较大的缓存区。

(3)分组交换

特点:分组交换和报文交换的思想类似,不同的是分组交换将数据切成一个个小片分开传送。分组交换可以分为数据报分组交换和虚电路分组交换。

虚电路分组交换:不同于电路交换(有物理链路),而是建立一条逻辑链路。在信息交换之前,需要在发送端和接收端之间先建立一个逻辑连接,然后才开始传送分组,所有分组沿相同的路径进行交换转发,通信结束后再拆除该逻辑连接。分组能按序到达。

数据报分组交换:

特点:数据包的传输彼此独立,互不影响,可以按照不同的路由机制到达目的地,并重新组合。

优点:相比报文交换,所需缓存区更小;减少了出错几率,提高了传输可靠性。

缺点:相比报文交换,需要在每个分组都加上源目地址、分组编号等信息,传输信息量增大;有失序问题(数据报交换)。使用数据报分组交换时,采用TCP控制数据可靠传输,运输层采用TCP协议后,用三次握手建立连接,四次挥手此时释放连接,同时将失序数据分组存储在缓存区中,确保数据按序到达,此时也就相当于虚电路交换。

电路交换是面向连接的,分组交换是无连接的。

2、报文层次

(1)报文的每个层次之间有联系的

例如:数据链路层为三层的网络层服务。

二层: 类型(type)            ARP:0x0806      IP:0x0800

三层: 协议号(protocol)   TCP:6    UDP:17

四层:端口(port)      HTTP:80     FTP:21      telnet:23

抓取QQ 包:参考封装协议oicq

node节点:3层以上设备的一个接口

3、数据通信过程

(1)发送方数据封装

假设你正在通过网页浏览器访问华为官网,当你输入完网址,敲下回车后,计算机内部会发生下列事情∶

1.IE浏览器(应用程序)调用HTTP(应用层协议),完成应用层数据的封装(图中DATA还应包括HTTP头部,此处省略)。

2.HTTP依靠传输层的TCP进行数据的可靠性传输,将封装好的数据传递到TCP模块。

3.TCP模块给应用层传递下来的Data添加上相应的TCP头部信息(源端口、目的端口等)。此时的PDU被称作Segment(段)。

4.在IPv4网络中,TCP模块会将封装好的Segment(段)传递给网络层的IPv4模块(若在IPv6环境,会交给IPv6模块进行处理)。

5.IPv4模块在收到TCP模块传递来的Segment(段)之后,完成IPv4头部的封装,此时的PDU被称为Packet(包)。

6.由于使用了Ethernet作为数据链路层协议,故在IPv4模块完成封装之后,会将Packet(包)交由数据链路层的Ethernet模块(例如以太网卡)处理。

7.Ethernet模块在收到IPv4模块传递来的Packet(段)之后,添加上相应的Ethernet头部信息和FCS帧尾,此时的PDU被称为Frame(帧)。

8.在Ethernet模块封装完毕之后,会将数据传递到物理层。

9.根据物理介质的不同,物理层负责将数字信号转换成电信号,光信号,电磁波(无线)信号等。

10、转换完成的信号在网络中开始传递。

(2)中间网络数据传输

封装好的完整数据,将会在网络中被传递。

一般情况下∶

网络中的二层设备(如以太网交换机)只会解封装数据的二层头部,根据二层头部的信息进行相应的"交换"操作。

网络中的三层设备(如路由器)只会解封装到三层头部,并且根据三层头部的信息进行相应的"路由"操作。

(3)接收方数据解封装

经过中间网络传递之后,数据最终到达目的服务器。根据不同的协议头部的信息,数据将被一层层的解封装并做相应的处理和传递,最终交由WEB服务器上的应用程序进行处理。

4、网络介质

两个终端,用一条能承载数据传输的物理介质(也称为传输介质)连接起来,就组成了一个最简单的网络。

数据传输三要素:网卡(数据处理)、网线(承载)、协议栈(沟通语言)

(2)传输介质分类

传输介质的作用:1、实现设备的连接 2、实现数据的传输

双绞线∶当今以太网最常见的传输介质,按照抗电磁干扰能力还可以分为∶STP-屏蔽双绞线、UTP-非屏蔽双绞线。传输距离为100米,速率1000兆。

光纤传输,按照功能部件可分为∶

光纤∶光传输介质,简单就是一根玻璃纤维,用于约束光传输的通道。传输距离为2000米

光模块∶将电信号与光信号互转的器件,产生光信号。

串口电缆在WAN(Wide Area Network,广域网)中大规模使用,根据WAN线路类型不同,串口电缆在设备上连接的接口类型也不同∶异/同步串口、ATM接口、POS接口、CE1/PRI 接口等。

无线信号的传输可以通过电磁波进行,例如∶无线路由器将数据通过调制以电磁波发送出去,移动终端的无线网卡将电磁波解调,得到数据,完成从无线路由器到移动终端的数据传输。

5、冲突域

术语

备注

冲突

Collision多个设备如果同时连接在一个传送信道上,发生的冲撞会导致信号破坏

冲突域

Collision Domain 能产生冲突的设备的集合(区域)。

数据产生碰撞的范围 HUB所有的接口 处于同一个冲突域中 CSMA/CD =效率

冲突域:是指连接在同一共享介质上的所有节点的集合,冲突域内所有节点竞争同一带宽,一个节点发出的报文(无论是单播、组播、广播),其余节点都可以收到。

在共享网络,以太网络使用CSMA/CD技术,避免冲突问题。

CSMA/CD的基本工作过程如下∶

终端设备不停的检测共享线路的状态,如果线路空闲则发送数据,如果线路不空闲则一直等待。

如果有另外一个设备同时发送数据,两个设备发送的数据必然产生冲突,导致线路上的信号不稳定。终端设备检测到这种不稳定之后,马上停止发送自己的数据。

终端设备发送一连串干扰脉冲,然后等待一段时间之后再进行发送数据。

发送干扰脉冲的目的是为了通知其他设备,特别是跟自己在同一个时刻发送数据的设备,线路上已经产生了冲突。

CSMA/CD的工作原理可简单总结为∶先听后发,边发边听,冲突停发,随机延迟后重发。

6、广播域

术语

备注

广播

Broadcast 发磅给所有目标

广播域

Broadcast Domain 能收到广播的设备的集合(区域)

广播报文所能到达的整个访问范围称为二层广播域,简称广播域,同一广播域内的主机都能收到广播报文。

全1MAC地址FF-FF-FF-FF-FF-FF为广播地址,所有节点都会处理目的地址为广播地址的数据帧,该数据帧所能到达的整个访问范围称为二层广播域,简称广播域。

  此例中,RTA和RTB把整个网络分成了三个不同的局域网,每个局域网为一个广播域。LAN1内部的主机直接可以通过交换机实现相互通信,LAN2内部的主机之间也是如此。但是,LAN1内部的主机与LAN2内部的主机之间则必须要通过路由器才能实现相互通信。


整个华为数通学习笔记系列中,本人是以网络视频与网络文章的方式自学的,并按自己理解的方式总结了学习笔记,某些笔记段落中可能有部分文字或图片与网络中有雷同,并非抄袭。完处于学习态度,觉得这段文字更通俗易懂,融入了自己的学习笔记中。如有相关文字涉及到某个人的版权利益,可以直接联系我,我会把相关文字删除。【VX:czlingyun    暗号:CSDN】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/20620.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【前缀和】42. 接雨水

本文涉及知识点 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 LeetCode42. 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入&am…

IDEA+MyBatisX根据mapper方法自动添加注解和生成xml方法结构

前提:确保IDEA已安装并启用了MyBatisX插件 在service层写dao或mapper的方法结构,反向生成dao层方法声明,如下: void updateStock(Long skuId, Long wareId, Integer skuNum); 由于该方法传递多个参数,为了让MyBatis识…

心链6----开发主页以及后端数据插入(多线程并发)定时任务

心链 — 伙伴匹配系统 开发主页 信息搜索页修改 主页开发&#xff08;直接list用户&#xff09; 在后端controller层编写接口去实现显示推荐页面的功能 /*** 推荐页面* param request* return*/GetMapping("/recommend")public BaseResponse<List<User>&…

Go-知识并发控制WaitGroup

Go-知识并发控制WaitGroup 1. 认识 WaitGroup2. 基本原理2.1 信号量2.2 数据结构2.3 Add2.4 Wait2.5 Done 3. 小例子3.1 主协程等待子协程执行完成3.2 子协程等待主协程信号3.3 GetFirst 4. 总结 gitio: https://a18792721831.github.io/ 1. 认识 WaitGroup WaitGroup 是Go 应…

公网IP地址如何查询?

公网IP地址是指在互联网中可以被全球范围内的设备访问的IP地址。在网络通信中&#xff0c;公网IP地址扮演着重要的角色&#xff0c;它可以标识设备在互联网中的位置。查询公网IP地址是一种常见的网络管理需求&#xff0c;因为它能够提供网络设备的准确位置信息&#xff0c;方便…

AI 绘画爆火背后:扩散模型原理及实现

节前&#xff0c;我们星球组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、参加社招和校招面试的同学。 针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 合集&#x…

Java进阶学习笔记34——Arrays类

Arrays&#xff1a; 用来操作数组的工具类。 解释说明&#xff1a; 只要知道代码这么写就可以了。 package cn.ensource.d5_arrays;import java.util.Arrays; import java.util.function.IntToDoubleFunction;public class ArraysTest1 {public static void main(String[] arg…

LTspice仿真中设置电阻随时间变化的方法

背景&#xff1a; 笔者找了很多资料都没有看到如何设置电阻、电容等参数随时间变化。但在实际模拟中&#xff0c;总会遇到需要模拟这些量的变化。故撰写此文&#xff0c;供大家参考。 除了模拟随时间变化外&#xff0c;同样的思路也可以模拟随其他变量变化 效果展示 设置电…

32【Aseprite 作图】石头——拆解

1 石头先画轮廓&#xff0c;还是2 4 1 1 2 2 2&#xff0c;这样画一个圆的轮廓 或者2 1 1 3 5 1 1 1 1 2 4 &#xff0c; 2 最暗一层的黑色&#xff0c;做阴影部分&#xff0c;就是7 4 3 2 做最深的部分 各个地方画一些浅色的&#xff0c;做高光部分&#xff0c;上面的高光偏圆…

015、列表_应用场景

1.消息队列 如图所示,Redis的lpush+brpop命令组合即可实现阻塞队列,生产者客户端使用lrpush从列表左侧插入元素,多个消费者客户端使用brpop命令阻塞式的“抢”列表尾部的元素,多个客户端保证了消费的负载均衡和高可用性。 2.文章列表 每个用户有属于自己的文章列表,现…

收银系统源码-千呼新零售2.0【智慧供应链】

千呼新零售2.0系统是零售行业连锁店一体化收银系统&#xff0c;包括线下收银线上商城连锁店管理ERP管理商品管理供应商管理会员营销等功能为一体&#xff0c;线上线下数据全部打通。 适用于商超、便利店、水果、生鲜、母婴、服装、零食、百货等连锁店使用。 详细介绍请查看下…

FinalShell 配置SSH密钥登陆

转载请标明出处&#xff1a;http://blog.csdn.net/donkor_/article/details/139355489 文章目录 前言生成密钥服务器配置公钥本地配置私钥存储私钥FinalShell配置 总结 前言 本机FinalShell 配置SSH密钥登陆服务器&#xff0c;这样就不再需要使用密码进行登陆了。由于FinalSh…

【StableDiffusion秋叶包反斜杠问题】Failed to find xxx\sd-webui-aki-v4.8\...\xxx.pth

一、问题发生 1.在我额外安装预处理器时报错 意思是没办法找到有这么一个包&#xff08;但我已经把这个包扔进去了&#xff09; 完整报错&#xff1a; Failed to find S:\app_AI\stableDiffusion-webui-aki\sd-webui-aki-v4.8\extensions\sd-webui-controlnet\annotator\dow…

电机测试方法的介绍与功能实现(T测试方法)

目录 概述 1 理论介绍 2 实现原理 2.1 旋转式编码器原理 2.2 系统实现框图 2.3 测速原理 2.4 计算速度值 3 STM32Cube配置项目 3.1 软件版本信息 3.2 配置项目 4 代码实现 4.1 电机速度控制 4.2 速度计算函数 4.3 功能实现 5 测试 概述 本文主要介绍测试电机速…

Vue项目运行页面禁止缩放【移动端和PC端都禁止缩放】解决方案

Vue项目运行页面禁止缩放【移动端和PC端都禁止缩放】解决方案&#xff0c;有的人手很J,总喜欢放大缩小&#xff0c;从而会导致页面错乱&#xff0c;以下是解决方案&#xff0c;简单有效 效果图PC&#xff1a;滚轮缩放和其他缩放都会禁止 移动端效果图&#xff1a;各种手机平板…

SSL发送邮件时如何配置客户端确保安全性?

怎么使用SSL安全协议通过AokSend发送加密的电子邮件&#xff1f; SSL是一种常用的加密通信协议&#xff0c;用于确保数据在客户端和服务器之间的安全传输。AokSend将讨论如何通过配置客户端确保SSL发送邮件的安全性&#xff0c;并介绍如何使用SSL安全协议通过AokSend发送加密的…

zibll-V7.7最新版2024完美破解授权可用(含授权教程)

最近这个正版安装包流出来了,试了一下用以前的绕过授权方法&#xff0c;一样可以授权。 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/89379057 更多资源下载&#xff1a;关注我。

力扣200. 岛屿数量(BFS)

Problem: 200. 岛屿数量 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 1.定义方向数组&#xff1a;定义一个方向数组 DIRECTIONS&#xff0c;表示上、下、左、右四个方向的移动。 2.获取网格的行数和列数同时初始化一个计数器 numIslands 用于记录岛屿的数量。 …

什么是 Redis 缓存?它解决了什么问题?怎么使用它?

前言 写在前面&#xff0c;让我们从 3 个问题开始今天的文章&#xff1a;什么是 Redis 缓存&#xff1f;它解决了什么问题&#xff1f;怎么使用它&#xff1f; 在笔者近 3 年的 Java 一线开发经历中&#xff0c;尤其是一些移动端、用户量大的互联网项目&#xff0c;经常会使用…

数学建模 —— 数学规划模型(5)

目录 一、数学规划 1.1 数学规划问题一般形式 二、常见规划模型 2.1 线性规划&#xff08;Linear Programming&#xff09; 2.1.1 定义 2.1.2 一般形式 2.1.3 标准形式 2.1.4 求解 2.2 整数规划&#xff08;Integer Programming&#xff09; 2.2.1 单目标规划 2.…