㈠ ICMP与IP同属于网络层,为什么ICMP报文又封装在IP数据报中呢
IP协议自身不存在获取差错信息并进行差错控制的机制,因此在使用IP协议会出现在数据包发送后不知道数据包是否到达目的地,是什么原因造成数据包不能到达目的地的。
ICMP协议就是来处理数据报文传输过程中出现的错误,具体的工作内容:当目标主机或中间设备发现数据报文在传输中出现错误不能达到目的地址后,会触发ICMP模块,同时产生一个ICMP报文向源主机发送出错情况报告。源IP地址和目的IP地址封装在IP数据报里,所以ICMP报文要封装在IP数据报中被传输,才可向源主机发送出错误情况报告
㈡ osi,tcp/ip分层结构的必要性,数据传输单元是什么,每一层的传输单元是什么
分层的必要性:使一个复杂的通信系统具备层次化。从而便于理解、便于实现、便于维护、便于革新、便于标准化。
数据传输单元:模型之间通信时对等层次使用相同协议进行的虚通信,所以发送方每个层次都要对数据进行封装,然后再传输到网络中。所以:数据传输单元就是指对等层次之间传递的数据单位。
物理层的 数据传输单元是数据位(bit)
数据链路层的数据传输单元是数据帧(frame)
网络层的数据传输单元是数据包(packet)
传输层的 数据传输单元是数据段(segment)
其他更高层次的数据传输单元是数据(data)
㈢ OSI中的网络层中的把上层来的数据组织成数据包在结点间进行交换传送怎么理解
数据包传递肯定是要通过物理层咯,否则你咋传呢?
你说的网络层传输的数据包,也就是ip包,就是网络层把传输层的数据按照规则封装成ip包,通过物理介质到达另一个路由器,也就是那个所谓的结点。
由那个路由器进行路由处理,寻找数据包的目的地。
㈣ 网络层的传输单位到底是(数据包)还是(分组,包)
datagram是网络层中传输的单元;
packet 是封装的基本单元还有RIP应该是应用层的 ;
因为在网络传输中,报文是具有完整意义的二进制数据整体;报文在传输层被拆分成较小的可传输的数据单元,并添加头部,形成包,到达网络层后再次被添加头部形成新的包。
这样做的目的是,当数据经过网络节点时,在这里添加目的地址与源地址,包在到达数据链路层后被封装成帧,最后才是物理层的比特,所以C才是对的,分别是包、帧、比特的单位;因为这是层层分割,层层传递的一个关系。
(4)为什么网络层要用数据包传输扩展阅读;
数据包的结构非常复杂,不是三言两语能够说清的,在这里主要了解一下它的关键构成就可以了,这对于理解TCP/IP协议的通信原理是非常重要的。数据包主要由“目的IP地址”、“源IP地址”、“净载数据”等部分构成,包括包头和包体,包头是固定长度,包体的长度不定,各字段长度固定,双方的请求数据包和应答数据包的包头结构是一致的,不同的是包体的定义。
㈤ 物理层,数据链路层,网络层,传输层的功能和作用。
物理层:对应于网络的基本硬件,这也是Internet物理构成,即我们可以看得见的硬件设备,如PC机、互连网服务器、网络设备等,必须对这些硬件设备的电气特性作一个规范,使这些设备都能够互相连接并兼容使用。
·网络接口层:它定义了将数据组成正确帧的规程和在网络中传输帧的规程,帧是指一串数据,它是数据在网络中传输的单位。
·互联网层:本层定义了互联网中传输的"信息包"格式,以及从一个用户通过一个或多个路由器到最终目标的"信息包"转发机制。
·传输层:为两个用户进程之间建立、管理和拆除可靠而又有效的端到端连接。
·应用层:它定义了应用程序使用互联网的规程。
㈥ 网络中数据各层是怎样进行传输的
你已经说到了一个,既然网络层用路由器来转发数据包了,那么还要用到下面几层干吗! 从发送方到目的放,是从高层到底层的,然后从底层到高层,每一层的数据都封装在下一层的数据报中,这个过程一方面他要寻早目的地址等,中间经过路由器,其实也是靠路由器转发,那么,其实转发过程是只用到下面的网络层和数据链路层及物理层,无关上面两层,只是到了目的地才上交到运输层,网络层把数据报封装到数据链路层的数据单元中,传输媒体上交给物理层,物理层用传输媒体传送,其实传送的是传输媒体,而传输媒体只是传送他能传送的信号,即上面交给他什么他就传送什么,故他的上层物理层要信号转换等,然后传输媒体把信号传给路由器,当然假设这中间经过了路由器,路由器在网络层,故信号得从底层到网络层层层的破开,然后下一个转发同样道理。
说得有点乱!!
㈦ 数据包,数据报文,数据帧之间的关系
一、数据帧(Frame):数据链路层,传递的单位是frame 帧,就是数据链路层的协议数据单元,包括三部分
1、帧头,里面有mac地址,通过这个地址可以在底层的交换机这个层面里顺着网线找到你的计算机。
2、数据部分,ip数据包,意思是使用ip地址定位的一个数据包。
3、帧尾。其中,帧头和帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等;数据部分则包含网络层传下来的数据,比如ip数据包。
二、数据包(Packet):TCP/IP协议通信传输中的数据单位,处于网络层,在局域网中,“包”是包含在“帧”里的。packet是整个tcpip通信协议里网络层的传输单位,也是最小的单位。
有着目的地的ip地址及其来源的ip地址和其他的校验信息。它也被称为头。来自传输层托付给自己待传送的信息。这个信息会被分成多个ip数据包发送出去。所以网络层传递的是ip包,ip包里是待传输消息的一部分。
三、数据报(Datagram):现在来到传输层了,传输层直接接受来自你的消息,小到给朋友发个晚安,大到给别人传递个文件,只要提供对方的ip地址(还有端口号),其它的都交给传输层帮助实现。
这两种协议都会在发送前把你的消息拆分成多个ip数据包来传输。udp英文就叫 user datagram protocol。所以数据报是啥,就是带地址的消息。
(7)为什么网络层要用数据包传输扩展阅读:
1、据报是不能比数据帧大的,数据帧根据不同网络(无线有线)长度会有所区别,数据包(一块数据)进行为网络层传输时会进行判别,如果长过是网络层要进行分片,成为数据报。
2、假设要传输一个UDP数据包,以太网的MTU为1500字节,一般IP首部为20字节,UDP首部为8字节,数据的净荷(payload)部分预留是1500-20-8=1472字节。如果数据部分大于1472字节,就会出现分片现象。
3、IP分片发生在IP层,不仅源端主机会进行分片,中间的路由器也有可能分片,因为不同的网络的MTU是不一样的,如果传输路径上的某个网络的MTU比源端网络的MTU要小,路由器就可能对IP数据报再次进行分片。而分片数据的重组只会发生在目的端的IP层。
4、TCP:对于TCP数据,在建立连接的三次握手的过程中,连接双方会相互通告MSS(Maximum Segment Size,最大报文段长度),MSS一般是MTU—IP首部(20)—TCP首部(20),每次发送的TCP数据都不会超过双方MSS的最小值,所以就保证了IP数据报不会超过MTU,避免了IP分片。
㈧ 数据包是如何在网络中传输的
我们电脑上的数据,是如何“走”到远端的另一台电脑的呢?这是个最基础的问题,可能很多人回答不上来,尽管我们每天都在使用网络。这里我们以一个最简单的“ping”命令,来解释一个数据包“旅程”。
假设:我的电脑A,向远在外地的朋友电脑B传输数据,最简单的就是“ping”一下,看看这个家伙的那一端网络通不通。A与B之间只有一台路由器。(路由器可能放在学校,社区或者电信机房,无所谓,基本原理是一样的)
具体过程如下------
1.“ping”命令所产生的数据包,我们归类为ICMP协议。说白了就是向目的地发送一个数据包,然后等待回应,如果回应正常则目的地的网络就是通的。当我们输入了“ping”命令之后,我们的机器(电脑A)就生成了一个包含ICMP协议域的数据包,姑且称之为“小德”吧~~~~
2.“小德”已经将ICMP协议打包到数据段里了,可是还不能发送,因为一个数据要想向外面传送,还得经过“有关部门”的批准------IP协议。IP要将你的“写信人地址”和“收信人地址”写到数据段上面,即:将数据的源IP地址和目的IP地址分别打包在“小德”的头部和尾部,这样一来,大家才知道你的数据是要送到哪里。
3.准备工作还没有完。接下来还有部门要审核------ARP。ARP属于数据链路层协议,主要负责把IP地址对应到硬件地址。直接说吧,都怪交换机太“傻”,不能根据IP地址直接找到相应的计算机,只能根据硬件地址来找。于是,交换机就经常保留一张IP地址与硬件地址的对应表以便其查找目的地。而ARP就是用来生成这张表的。比如:当“小德”被送到ARP手里之后,ARP就要在表里面查找,看看“小德”的IP地址与交换机的哪个端口对应,然后转发过去。如果没找到,则发一个广播给所有其他的交换机端口,问这是谁的IP地址,如果有人回答,就转发给它。
4.经过一番折腾,“小德”终于要走出这个倒霉的局域网了。可在此之前,它们还没忘给“小德”屁股后面盖个“戳”,说是什么CRC校验值,怕“小德”在旅行途中缺胳膊少腿,还得麻烦它们重新发送。。。。。我靠~~~~注:很多人弄不清FCS和CRC。所谓的CRC是一种校验方法,用来确保数据在传输过程中不会丢包,损坏等等,FCS是数据包(准确的说是frame)里的一个区域,用来存放CRC的计算结果的。到了目的地之后,目的计算机要检查FCS里的CRC值,如果与原来的相同,则说明数据在途中没有损坏。
5.在走出去之前,那些家伙最后折磨了一次“小德”------把小德身上众多的0和1,弄成了什么“高电压”“低电压”,在双绞线上传送了出去。晕~~出趟门就这么麻烦吗?
6.坐着双绞线旅游,爽!可当看到很多人坐着同轴电缆,还有坐光纤的时候,小德又感觉不是那么爽了。就在这时,来到了旅途的中转站------路由器。这地方可是高级场所,人家直接查看IP地址!剩下的一概不管,交给下面的人去做。够牛吧?路由器的内部也有一张表,叫做路由表,里面标识着哪一个网络的IP对应着路由器的哪一个端口。这个表也不是天生就有的,而是靠路由器之间互相“学习”之后生成的,当然也可以由管理员手工设定。这个“学习”的过程是依靠路由协议来完成的,比如RIP,EIGRP,OSPF等等。
7.当路由器查看了“小德”的IP地址以后,根据路由表知道了小德要去的网络,接着就把小德转到了相应的端口了。至此,路由器的主要工作完成,下面又是打包,封装成frame,转换成电压信号等一系列“折腾”的活,就由数据链路层和物理层的模块去干吧。
8.小德从路由器的出口出来,便来到了目的地----电脑B----所属的网络的默认网关。默认网关可以是路由器的一个端口,也可以是局域网里的各种服务器。不管怎样,下面的过程还是一样的:到交换机里的ARP表查询“小德”的IP地址,看看属于哪个局域网段或端口,然后就转发到B了。
9.进了B的网卡之后,还要层层“剥皮”,基本上和从A出来的程序是一样的------电脑B先校验一下CRC值,看看数据是否完整;然后检查一下frame的封装,看到是IP协议之后,就把“小德”交给IP“部门”了;IP协议一看目的地址,正确,再看看应用协议,是ICMP。于是知道了该怎么做了------产生一个回应数据包,(可以命名为“回应小德”),并准备以同样的顺序向远端的A发送。。至于刚刚收到的那个数据包就丢弃了。
10.“回应小德”这个数据包又开始了上述同样的循环,只不过这次发送者是B而接收者是A了。
以上是一个最简单的路由过程,任何复杂的网络都是在次基础之上实现的。
㈨ 数据包发送和接收在OSI各层的作用
(1)物理层(Physical Layer) 物理层是OSI参考模型的最低层,它利用传输介质为数据链路层提供物理连接。为此,该层定义了物理链路的建立、维护和拆除有关的机械、电气、功能和规程特性。 包括信号线的功能、“0”和“1”信号的电平表示、数据传输速率、物理连接器规格及其相关的属性等。物理层的作用是通过传输介质发送和接收二进制比特流。 (2)数据链路层(Data Link Layer) 数据链路层是为网络层提供服务的,解决两个相邻结点之间的通信问题,传送的协议数据单元称为数据帧。 数据帧中包含物理地址(又称MAC地址)、控制码、数据及校验码等信息。该层的主要作用是通过校验、确认和反馈重发等手段,将不可靠的物理链路转换成对网络层来说无差错的数据链路。 此外,数据链路层还要协调收发双方的数据传输速率,即进行流量控制,以防止接收方因来不及处理发送方来的高速数据而导致缓冲器溢出及线路阻塞。 (3)网络层(Network Layer) 网络层是为传输层提供服务的,传送的协议数据单元称为数据包或分组。该层的主要作用是解决如何使数据包通过各结点传送的问题,即通过路径选择算法(路由)将数据包送到目的地。另外,为避免通信子网中出现过多的数据包而造成网络阻塞,需要对流入的数据包数量进行控制(拥塞控制)。当数据包要跨越多个通信子网才能到达目的地时,还要解决网际互连的问题。 (4)传输层(Transport Layer) 传输层的作用是为上层协议提供端到端的可靠和透明的数据传输服务,包括处理差错控制和流量控制等问题。该层向高层屏蔽了下层数据通信的细节,使高层用户看到的只是在两个传输实体间的一条主机到主机的、可由用户控制和设定的、可靠的数据通路。 传输层传送的协议数据单元称为段或报文。 (5)会话层(Session Layer) 会话层主要功能是管理和协调不同主机上各种进程之间的通信(对话),即负责建立、管理和终止应用程序之间的会话。会话层得名的原因是它很类似于两个实体间的会话概念。例如,一个交互的用户会话以登录到计算机开始,以注销结束。 (6)表示层(Presentation Layer) 表示层处理流经结点的数据编码的表示方式问题,以保证一个系统应用层发出的信息可被另一系统的应用层读出。如果必要,该层可提供一种标准表示形式,用于将计算机内部的多种数据表示格式转换成网络通信中采用的标准表示形式。数据压缩和加密也是表示层可提供的转换功能之一。 (7)应用层(Application Layer) 应用层是OSI参考模型的最高层,是用户与网络的接口。该层通过应用程序来完成网络用户的应用需求,如文件传输、收发电子邮件等。