网络基础之网络传输基本流程

这篇具有很好参考价值的文章主要介绍了网络基础之网络传输基本流程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

网络基础

此小节介绍网络基础概念

首先要明确的是 网络是层状结构!分层->OP->解耦

网络发展:最早的时候,每台计算机之间是相互独立的。后续发展到网络互联,就是将多台计算机连接在一起,完成数据共享。

协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎样建立连接、怎样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。它的三要素是:语法、语义、时序。

网络协议–协议分层

在实际生活中,有很多不同的计算机生产厂商,不同的计算机操作系统,不同的计算机网络硬件设备,想让这些不同厂商之间生产的计算机能够相互顺畅地通信的方法==>遵守相同的网络协议。网络协议是软件协议。

操作系统要对协议进行管理,同样的道理,也得先描述再组织。

网络协议本质是软件,而软件是可以被分层的(面向对象的思想,每一层看作是一个对象)。

划分为层状结构的原因:a.网络通信场景复杂(比如距离越远通信越复杂);b.功能解耦(每一层解决不同的问题,便于维护)。通信复杂是协议栈要解决的问题。

在网络中,为了完成通信,必须使用多层上的多种协议,这些协议按照层次顺序组合在一起,构成了协议栈(Protocol Stack),也称为协议族(Protocol Suite)。

从TCP/IP协议(传输层协议TCP+网络层协议IP)的角度来看以下应用场景

  • 应用范畴存在的问题:0.如何处理数据(应用层)

  • 通信范畴存在的问题:1.丢包(传输层问题);2.定位(网络层问题);3.解决下一跳主机的问题(数据链路层、物理层的问题)

  • OSI七层模型

国际标准化组织(ISO)为了规范协议层次的划分制定了开发系统互联(OSI,Open Systems Interconnection)模型,即ISO/OSI参考模型。此模型根据网络功能制定出7层网络协议结构,由低到高分别为物理层数据链路层网络层传输层会话层表示层应用层

OSI OSI各层对应的功能 系统 TCP/IP
应用层 为计算机用户提供针对特定应用的接口和服务(如电子邮件协议、远程登陆协议、文件传输协议等) lib,shell,应用软件等 应用层
表示层 数据处理(不同类型的数据按照网络标准格式进行编码解码、加密解密等) lib,shell,应用软件等 应用层
会话层 管理(建立、维护、重连)通信会话(比如何时建立连接、断开连接以及保持连接的时间) lib,shell,应用软件等 应用层
传输层 管理端到端的通信连接 操作系统–system call 传输层
网络层 数据路由(决定数据在网络的路径) 操作系统 互连网络层
数据链路层 管理相邻节点之间的数据通信(互联设备之间传送和识别数据帧) 驱动 网络接口层
物理层 数据通信的光电物理特性(0/1比特流与高频/低频电子信号之间的切换) 硬件 物理层

该模型比较复杂,但是很规范!但是简单起见,我们按照TCP/IP四层模型来介绍。

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

核心协议是传输层协议TCP+网络层协议IP。五层与四层之间差着个物理层。因为物理层不属于软件层面,故我们了解4层模型。

TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。

TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。

TCP/IP 功能 在该层工作的设备
应用层 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。我们的网络编程主要就是针对应用层。 应用程序
传输层 负责两台主机之间的数据传输。如传输控制协议 (TCP),能够确保数据可靠的从源主机发送到目标主机。
网络层 负责地址管理和路由选择。例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由)。 路由器(Router)
数据链路层(网络接口层) 负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作,有以太网、令牌环网、无线LAN等标准 局域网中的交换机(Switch)
物理层 负责光/电信号的传递方式。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层 集线器、调制解调器(即Modem猫,用于模拟信号和数字信号的转换工作)

注意:局域网的标准有可能是不一样的(以太网、令牌环网、无线LAN等标准)

一般来说

  • 对于一台主机,它的操作系统内核实现了从传输层到网路层的内容;
  • 对于一台路由器,它实现了从网络层到物理层 或者 从传输层到物理层;
  • 对于一台交换机,它实现了从数据链路层到物理层 或者 从网络层到物理层;
  • 对于集线器,它只实现了物理层;

但是并不绝对,很多交换机也实现了网络层的转发,很多路由器也实现了部分传输层的内容(比如端口转发)。

网络传输基本流程

两台主机在同一个局域网下,是可以进行数据传输的。

从逻辑层面来说,我们就当作应用层之间可以相互传递数据。但是在物理层面来说,数据必须先由A主机的应用层自顶向下传到物理层,在此进行数据交互,然后由B主机的物理层自底向上传给应用层。

每层都有自己的协议制定方案,所以每层协议都要有自己的协议报头。

自顶向下交付数据时,要添加每层特定的报头自底向上交付数据时,要删除每层特定的报头。【我们可以这样理解:越上层的报头越靠数据内侧,自顶向下添加报头就是在压栈,自底向上删除报头就是在出栈。】在逻辑上看作可以同层通讯,实际得自顶向下再自底向上。

每一层封装的本质是添加报头,解包/分用是去掉报头并展开分析报头。

局域网通信,即在整个局域网发消息,每一台主机都会收到,只不过发的消息是包含目的主机MAC地址(MAC地址是主机的唯一的标识)【IP地址(公网IP)也标定了主机的唯一性】,只有指定主机能收到该消息,其余主机收到该条消息会直接丢弃。如果局域网内同时有很多主机在发消息,会导致局域网内的消息碰撞,无法正确递达消息,所以局域网内会有避免消息碰撞的机制。

查MAC地址 ifconfig

[yyq@VM-8-13-centos ~]$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.8.13  netmask 255.255.252.0  broadcast 10.0.11.255
        inet6 fe80::5054:ff:fef3:9e66  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:f3:9e:66  txqueuelen 1000  (Ethernet)
        RX packets 83502872  bytes 18443326066 (17.1 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 78996573  bytes 13513298487 (12.5 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 5372787  bytes 1070906369 (1021.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5372787  bytes 1070906369 (1021.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0表示是云服务器的网络接口,ether 52:54:00:f3:9e:66,ether叫做以太,跟着的是16进制的数字,以:做分隔,8个比特位=1字节,6*8=48个比特位,6字节,就是以太网地址(MAC地址)。

inet 10.0.8.13inet即ipnet,是云服务器的主机地址,也叫做内网ip。

IP地址

IP地址是在IP协议中,用来标识网络中不同主机的地址。IPv6和IPv4是不兼容的。

对于IPv4来说, IP地址是一个4字节, 32位的整数,IPv6是用128位整数来标识。

我们通常也使用 “点分十进制” 的字符串表示IP地址,例如 192.168.0.1;用点分割的每一个数字表示一个
字节,范围是 0 - 255。

MAC地址

路由器的每一个端口,都有独立的 MAC 地址。路由决定了源IP和目标IP途径哪些MAC地址(下一跳的问题)。

MAC地址用来识别数据链路层中相连的节点。

长度为48位,即6个字节。一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)。

在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址,可能会冲突; 也有些网卡支持用户配置mac地址)

两者的区别

1、对于网络中的一些设备,路由器或者是PC及而言,IP地址的设计是出于拓扑设计出来的,只要在不重复IP地址的情况下,它是可以随意更改的;而MAC地址是根据生产厂商烧录好的,它一般不能改动的,一般来说,当一台PC机的网卡坏了之后,更换了网卡之后MAC地址就会变了。

2、在前面的介绍里面,它们最明显的区别就是长度不同,IP地址的长度为32位,而MAC地址为48位。

3、它们的寻址协议层不同。IP地址应用于OSI模型的网络层,而MAC地址应用在OSI模型的数据链路层。 数据链路层协议可以使数据从一个节点传递到相同链路的另一个节点上(通过MAC地址),而网络层协议使数据可以从一个网络传递到另一个网络上(ARP根据目的IP地址,找到中间节点的MAC地址,通过中间节点传送,从而最终到达目的网络)。

4、分配依据不同。IP地址的分配是基于我们自身定义的网络拓扑,MAC地址的分配是基于制造商。一个是主观的,而另一种是可观的。

报文是要被封装的,那就要按照规定来封装,方便后续解包。每一个协议都要解决的2个问题:1、决定报文的封装和解包;2、如何将有效载荷交付给上层有效协议。

网络基础之网络传输基本流程

附:更详细的讲解可以看一篇文章如果让你来设计网络 (qq.com)

IP地址和MAC地址改变与否的情况分析

首先要划分三种情况。

第一种:数据帧仅在交换机之间转发

交换机是在链路层的。可以设想一种情况,即在以太网中两台主机进行数据交换,直接通过交换机进行交换即可。

这种情况,数据帧在交换机之间转发不更改源MAC地址和目标MAC地址。

主机A和主机B通过若干个交换机相连(并没有路由器在中间),源MAC地址自然是主机A的网卡所对应的MAC地址,目标MAC地址则是主机B的网卡所对应的MAC地址,这种情况下转发数据帧是不会改变MAC地址的。

第二种:数据帧在路由器之间转发

这种情况下,源IP地址和目标IP地址一定不改变,但是MAC地址一定会改变

IP数据报的首部写有源IP地址和目标IP地址两个字段,同时还会检验和字段检验首部是否出错,在正常情况下这两个字段是不会改变的。MAC帧中写了源MAC地址和目的MAC地址这两个字段,MAC地址改变的原因是,采用了ARP协议将IP地址转化为下一跳的MAC地址,原来的MAC地址被通过ARP协议获取的行的MAC地址覆盖了,所以MAC地址才会改变。

网络基础之网络传输基本流程

当然,在特殊情况下,IP地址也会改变。

第三种:数据帧在主机之间转发

3.1 两个主机在同一个子网(网段)

在同一个网段,此时就不需要经过路由器转发。那么源IP和目的IP、源MAC地址和目的MAC地址都不会发生改变。

3.2 两个主机在不同的子网(网段)

不在同一个网段,需要经过路由器转发。经过路由器R1时,使用NAT将内部IP地址转换为外部公用IP地址,即NAT将源IP地址转换为网关的IP地址。主机A–>路由器R1,源IP地址是A,目的IP地址是B;经过路由器R1之后,源IP地址就会变成R1。

网络基础之网络传输基本流程

看一下这道题,加深理解

网络基础之网络传输基本流程文章来源地址https://www.toymoban.com/news/detail-425615.html

到了这里,关于网络基础之网络传输基本流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 三、计算机理论-计算机网络-物理层,数据通信的理论基础,物理传输媒体、编码与传输技术及传输系统

    物理层概述 物理层为数据链路层提供了一条在物理的传输媒体上传送和接受比特流的能力。物理层提供信道的物理连接,主要任务可以描述为确定与传输媒体的接口有关的一些特性:机械特性、电气特性、功能特性、过程特性 数据通信的理论基础 数据通信的意义 主要是指用

    2024年01月22日
    浏览(68)
  • 计算机网络-数据通信基础知识(数据通信模型 相关术语 单工/半双工/全双工 串行/并行 同步/异步 码元 数据传输速率 带宽)

    广域网中有模拟信道,模拟信道能传模拟信号,不能传数字信号 数据从计算机网卡中以数字信号发出,经过调制解调器转换为模拟信号以放到广域网上的模拟信道传输,再由调制解调器转换为数字信号,数字信号经过计算机的转换才将数据展现出来 发送端的调制解调器:发

    2024年01月25日
    浏览(54)
  • 网络传输基本概念

    1、交换机:交换机工作在数据链路层,根据MAC寻址,交换机根据目的MAC地址查询MAC表,转发到目的主机端口。 2、路由器:路由器工作在网络层,根据IP寻址,使用路由表查询下一跳IP地址,如果是直连路由则把数据包发送到对应接口,如果不是直连路由,解析下一跳的MAC地址

    2024年02月16日
    浏览(33)
  • 【计算机网络】HTTPs 传输流程

    1、HTTP协议传输的数据都是未加密的,是明文的,使用HTTP协议传输隐私信息非常不安 HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。 2、HTTPS协议需要到CA申请证书,一般免费证书较少,因而需要一定费用。 3、http和https使用的是完全

    2024年02月11日
    浏览(39)
  • 哈工大计算机网络传输层协议详解之:可靠数据传输的基本原理

    哈工大计算机网络课程传输层协议详解之:流水线机制与滑动窗口协议 哈工大计算机网络课程传输层协议详解之:TCP协议 哈工大计算机网络课程传输层协议详解之:拥塞控制原理剖析 什么是可靠? 不错、不丢、不乱 可靠数据传输协议 可靠数据传输对应用层、传输层、链路

    2024年02月12日
    浏览(42)
  • 计算机网络可靠传输的三种基本实现机制

    在数据链路层会给上层网络层提供可靠传输或者不可靠传输,不可靠传输是指检测到传输差错的时候只是丢弃该分组而不进行任何处理,而可靠传输会给发送者一个信号进行重发该分组。 以下给出的三种基本实现机制是提出一些问题,慢慢改进一些地方进行提出的,xdm可以根

    2024年02月02日
    浏览(55)
  • 【计算机网络 02】物理层基本概念 传输媒体 传输方式 编码与调制 信道极限容量 章节小结

    2.1 物理层基本概念 2.2 物理层下的传输媒体 传输媒体 也称为 传输介质或传输媒介 ,他就是数据传输系统中在发送器和接收器之间的物理通路 传输媒体不属于计算机网络体系结构的任何一层 如果非要将它添加到体系结构中,那只能将其放置到物理层之下 2.3 传输方式 2.4 编码

    2024年02月16日
    浏览(55)
  • 物理层章节笔记-基本概念-传输媒体-传输方式-编码与调制-信道的极限容量--计算机网络

            1.物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输比特流。         2.物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么。         计算机网络中的物理层,就

    2024年01月24日
    浏览(56)
  • Java中网络的基本介绍。网络通信,网络,ip地址,域名,端口,网络通信协议,TCP/IP传输过程,网络通信协议模型,TCP协议,UDP协议

    - 网络通信 概念:网络通信是指 通过计算机网络进行信息传输的过程 ,包括数据传输、语音通话、视频会议等。在网络通信中,数据被分成一系列的数据包,并通过网络传输到目的地。在数据传输过程中,需要确保数据的完整性、准确性和安全性。常见的网络通信协议有T

    2024年02月10日
    浏览(68)
  • 网络传输(传输介质、通信方式、交换方式)

    1.双绞线 双绞线 :将多根铜线按规则缠绕在一起,能够减少干扰;分为 无屏蔽双绞线UTP 和 屏蔽双绞线STP ,都是由一对铜线簇组成。即我们常说的 网线 ;双绞线的 传输距离在100m以内 。 无屏蔽双绞线UTP :价格低,安装简单,但可靠性相对较低,分为: CAT3:3类UTP,速率为

    2024年02月07日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包