数据在网络中的发送和接收过程--简略版(TCP/IP五层结构)

在应用层上设备A想给IP地址为P的设备B发送信息:(假定已知B的IP)

  数据信息从应用层而来,在传输层指定特定的端口号,再将这些数据放到TCP报文或者UDP报文内。

    若使用UDP,不论从应用层来的数据信息有多大,UDP照单全收,UDP是一次性发送一个完整的报文,同样在接收时也是直接接收整个报文;

    若使用TCP,不论从应用层来的数据块有多大,或者有多小,TCP总是把这些数据存着,根据通信对方给出的窗口值和当前网络的拥塞程度判断将合适的数据放到一个TCP报文段中,这些数据段都是有标记的,用于重组时可以顺序地拼接起来;

      在网络层,运输层的报文作为IP数据报的数据部分,并根据链路层所规定的最大传输单元(MTU)判断是否对运输层的数据进行截断处理。同时,将源端、目的端的IP地址填写到IP报文头部。并在这里执行ARP协议,是否目的地址就处于本网段内。如果目的端就在本网段内,直接根据获得的目的端的MAC地址,通过链路层将数据帧转发给目的端。如果目的端不在本网段内,则将该IP数据报发送给本网段的网关节点(路由器),网关节点(路由器)根据路由表信息,将IP数据包向其他网关节点(路由器)转发(这个过程同样需要执行一次ARP协议),最后IP数据包到达目的端所在的网段,再执行一次ARP协议,得到目的端的MAC地址,完成数据帧的转发。

        在数据链路层,IP数据报作为MAC帧的数据部分,根据ARP协议所得到的目的端的MAC地址,构成完整的MAC帧,并通过数据链路层将MAC帧发送给本网段的某一个设备(可能是目的端也可以能是中间路由器)。

          物理层传输比特流;

        在数据链路层,本网段的设备监听到MAC帧,并将MAC帧的目的地址与自身的MAC地址相匹配,若匹配成功则接收该MAC帧,并将数据部分提取出来;

      在网络层,解析IP数据报,将TCP或者UDP的报文提取出来;

    在传输层,将TCP报文中的数据提取出来(并校验数据等),拼装成完整的数据交给应用层。对于UDP报文,将其中的数据直接交付给应用层;

设备B在应用层或得到数据。 

        

原文地址:https://www.cnblogs.com/TheAfter/p/10410948.html

时间: 2024-10-10 17:43:55

数据在网络中的发送和接收过程--简略版(TCP/IP五层结构)的相关文章

Android深入四大组件(四)广播的注册、发送和接收过程

相关文章 Android深入理解四大组件系列 前言 我们接着来学习Android四大组件中的BroadcastReceiver,广播主要就是分为注册.接收和发送过程.建议阅读此文前请先阅读Android深入理解四大组件系列的文章,知识重复的部分,本文不再赘述. 1.广播的注册过程 BroadcastReceiver的注册分为两种,分别是静态注册和动态注册,静态注册在应用安装时由PackageManagerService来完成注册过程,关于这一过程,我会在后续的介绍PackageManagerSe

梳理Linux下OSI七层网络与TCP/IP五层网络架构

作为一个合格的运维人员,一定要熟悉掌握OSI七层网络和TCP/IP四层网络结构知识. 一.OSI七层网络协议 OSI是Open System Interconnect的缩写,意为开放式系统互联. OSI参考模型各个层次的划分遵循下列原则: 1)根据不同层次的抽象分层 2)每层应当有一个定义明确的功能 3)每层功能的选择应该有助于制定网络协议的国际标准. 4)各层边界的选择应尽量节省跨过接口的通信量. 5)层数应足够多,以避免不同的功能混杂在同一层中,但也不能太多,否则体系结构会过于庞大 6)同一

OSI七层模型,讲解tcp/ip五层涉及的网络协议,网络通信实现,结合协议来看网络通信流程

当我们通过自己电脑的浏览器访问京东的时候, 览器上输入了一个网址,但是我们都知道,互联网连接的电脑互相通信的是电信号,我们的电脑是怎么将我们输入的网址变成了电信号然后发送出去了呢,并且我们发送出去的消息是不是应该让京东的服务器能够知道,我们是在请求它的网站呢,也就是说京东是不是应该知道我发送的消息是什么意思呢.是不是发送的消息应该有一些固定的格式呢?让所有电脑都能识别的消息格式,他就像英语成为世界上所有人通信的统一标准一样,如果把计算机看成分布于世界各地的人,那么连接两台计算机之间的intern

OSI七层与TCP/IP五层网络架构详解

OSI和TCP/IP是很基础但又非常重要的网络基础知识,理解得透彻对运维工程师来说非常有帮助. (1)OSI七层模型 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示层 数据格式化,代码转换,数据加密 没有协议 会话层 解除或建立与别的接点的联系 没有协议 传输层 提供端对端的接口 TCP,UDP 网络层 为数据包选择路由 IP,ICMP,RIP,OSPF,BGP,IGMP 数据链路

网络基础---TCP/IP五层模型

网络基础---TCP/IP五层模型 计算机之间的通讯是通过互联网来进行的,各个计算机在internet上遵循它的一系列协议才能进行通讯,因此实际上可以把互联网本质看作是一系列的网络协议. 1.TCP/IP五层模型 (1)物理层功能:主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0 (2)数据链路层的功能:建立逻辑连接.进行硬件地址寻址.差错校验等功能(由底层网络定义协议).并且将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正. 1)以广播的方式通

OSI七层模型与TCP/IP五层网络架构

1.OSI七层模型 OSI是Open System Interconnect的缩写,意为开放式系统互联. OSI参考模型分为物理层.数据链路层.网络层.传输层.会话层.表示层.应用层. 物理层涉及在信道上传输的原始比特流. 数据链路层的主要任务是加强物理层传输原始比特流的功能,使之对应的网络层显现为一条无错线路.发送包把输入数据封装在数据帧,按顺序传送出去并处理接收方回送的确认帧. 网络层关系到子网的运行控制,其中一个关键问题是确认从源端到目的端如何选择路由. 传输层的基本功能是从会话层接收数据

OSI七层和TCP/IP五层网络架构简介

OSI七层和TCP/IP五层网络架构简介 一.基本概念 OSI是Open System Interconnect的缩写,意为开放式系统互联. ARP(Address Resolution Protocol),地址解析协议. RARP(Reverse Address Resolution Protocol),反向地址转换协议. IP(Internet Protocol),网络之间互连的协议. ICMP(Internet Control Message Protocol),Internet控制报文协

网络及数据在网络中传输所涉及到的协议们

网络:几部计算机主机或网络打印机之类的接口设备,通过网线或者无线网络技术将其连接起来,使得数据可以通过网络介质(网线以及其他网卡等硬件)来传输的一种方式. 网络分类: 1.以太网(Ethernet):局域网(local area network,LAN)使用的就是以太网 以太网络传输速度单位用的是Mbps,需要注意的是其中的b用的是bit而不是我们常用的byte,所以我们家中定宽带时的实际下载速度需要除以8才能够得到一般速度. 我们常见的网线就是用于传输以太网数据的,通过主机的网卡连接另一台主机

android中如何发送及接收数据(两种方法)?

1.如在MainActivity.java中的按钮点击时设置: //发送数据方法1--简单型 i.putExtra("txt", "没错,我就是刚传来的信息!"); //发送数据方法2--复杂型 Bundle data = new Bundle(); data.putString("txt", "额,我是复杂型的数据方法发送来的!"); i.putExtras(data); 当含有返回值时,启动时用startActivityF