❶ 网络层的传输单位到底是(数据包)还是(分组,包)
datagram是网络层中传输的单元;
packet 是封装的基本单元还有RIP应该是应用层的 ;
因为在网络传输中,报文是具有完整意义的二进制数据整体;报文在传输层被拆分成较小的可传输的数据单元,并添加头部,形成包,到达网络层后再次被添加头部形成新的包。
这样做的目的是,当数据经过网络节点时,在这里添加目的地址与源地址,包在到达数据链路层后被封装成帧,最后才是物理层的比特,所以C才是对的,分别是包、帧、比特的单位;因为这是层层分割,层层传递的一个关系。
(1)传输层数据包有哪些扩展阅读;
数据包的结构非常复杂,不是三言两语能够说清的,在这里主要了解一下它的关键构成就可以了,这对于理解TCP/IP协议的通信原理是非常重要的。数据包主要由“目的IP地址”、“源IP地址”、“净载数据”等部分构成,包括包头和包体,包头是固定长度,包体的长度不定,各字段长度固定,双方的请求数据包和应答数据包的包头结构是一致的,不同的是包体的定义。
❷ 在网络各个层中的数据包的名称分别是什么
数据帧、数据包、数据报以及数据段
OSI参考模型的各层传输的数据和控制信息具有多种格式,常用的信息格式包括帧、数据包、数据报、段、消息、元素和数据单元。
信息交换发生在对等OSI层之间,在源端机中每一层把控制信息附加到数据中,而目的机器的每一层则对接收到的信息进行分析,并从数据中移去控制信息,下面是各信息单元的说明:
数据帧(Frame):是一种信息单位,它的起始点和目的点都是数据链路层。
数据包(Packet):也是一种信息单位,它的起始和目的地是网络层。
数据报(Datagram):通常是指起始点和目的地都使用无连接网络服务的的网络层的信息单元。
段(Segment):通常是指起始点和目的地都是传输层的信息单元。
消息(message):是指起始点和目的地都在网络层以上(经常在应用层)的信息单元。
元素(cell)是一种固定长度的信息,它的起始点和目的地都是数据链路层。
元素通常用于异步传输模式(ATM)和交换多兆位数据服务(SMDS)网络等交换环境。
数据单元(data
unit)指许多信息单元。常用的数据单元有服务数据单元(SDU)、协议数据单元(PDU)。
SDU是在同一机器上的两层之间传送信息。PDU是发送机器上每层的信息发送到接收机器上的相应层(同等层间交流用的)。
Packet(数据包):封装的基本单元,它穿越网络层和数据链路层的分解面。通常一个Packet映射成一个Frame,但也有例外:即当数据链路层执行拆分或将几个Packet合成一个Frame的时候。
数据链路层的PDU叫做Frame(帧);
网络层的PDU叫做Packet(数据包);
TCP的叫做Segment(数据段);
UDP的叫做Datagram。(数据报)——在网络层中的传输单元(例如IP)。一个Datagram可能被封装成一个或几个Packets,在数据链路层中传输
帧和数据包都是数据的传输形式。帧,工作在二层,数据链路层传输的是数据帧,包含数据包,并且增加相应MAC地址与二层信息;数据包,工作在三层,网络层传输的是数据包,包含数据报文,并且增加传输使用的IP地址等三层信息。
❸ 传输层(TCP,UDP)
tcp是一个面向连接,可靠的字节流传输协议, TCP不提供广播和多播,一般用于文件传输,收发邮件,远程登录等场景。
1、第一个4字节:
(1)源端口,16位;发送数据的源进程端口
(2)目的端口,16位;接收数据的进程端口
2、第二个4字节与第三个4字节
(1)序号,32位;代表 当前TCP数据段第一个字节占整个字节流的相对位置 ;
(2)确认号,32位;代表接收端 希望接收的数据序号 ,为上次接收到数据报的序号+1,当ACK标志位为1时才生效。
3、第四个4字节:
(1)数据偏移,4位;实际代表TCP首部长度,最大为60字节。
(2)6个标志位,每个标志位1位;
SYN,为同步标志,用于数据同步;
ACK,为确认序号,ACK=1时确认号才有效;
FIN,为结束序号,用于发送端提出断开连接;
URG,为紧急序号,URG=1是紧急指针有效;
PSH,指示接收方立即将数据提交给应用层,而不是等待缓冲区满;
RST,重置连接。
(3)滑动窗口值,16位;标识接收方可接受的数据字节数。
4、第五个4字节
(1)校验和,16位;用于检验数据完整性。
(2)紧急指针,16位;只有当URG标识位为1时,紧急指针才有效。紧急指针的值与序号的相加值为紧急数据的最后一个字节位置。用于发送紧急数据。
参考: https://blog.csdn.net/qq_39584315/article/details/79387811
udp是一个无连接不可靠的数据报传输协议,一般用于即使通信,直播,视频等形式。
校验和
Ip校验是针对ip头部的,即仅校验ip头部。 TCP首部校验和计算三部分:TCP首部+TCP数据+TCP伪首部。tcp校验需要将ip伪首部、tcp报文头、tcp数据分为16位的字,然后进行累加按位取反。Udp校验与tcp校验基本上是一致的。
伪首部
伪首部共有12字节,包含IP首部的一些字段,有如下信息:32位源IP地址、32位目的IP地址、8位保留字节(置0)、8位传输层协议号(TCP是6,UDP是17)、16位报文长度(首部+数据)。
伪首部是为了增加校验和的检错能力:通过伪首部的目的IP地址来检查TCP报文是否收错了、通过伪首部的传输层协议号来检查传输层协议是否选对了。 虽然IP首部的校验和会校验IP,但数据包经过中间器件(路由器)的时候,这些中间器件可能会修改IP首部的内容,例如同时修改目的IP和IP首部校验和。这样一来将导致错误的接收方接收到该数据包。因此在TCP的伪首部加上IP地址,可以防止错收报文。
为什么是三次握手不是四次或两次
可以按一下思路回答:
首先介绍tcp连接的特性:面向连接的可靠地字节流传输协议。然后介绍tcp中的序列号和确认号(保证可靠和tcp分段传输)。然后介绍握手的目的:1.客户端和服务端确认连接可通,自己能发出去对方能收到,对方能发出去,自己能收到。2.协商一个传输的初始序列号
为什么不是四次:
服务器的syn和ack可以整合到一次,提高效率。
为什么不是两次:
如果只有两次,服务器没有收到客户端的ack,服务器无法知道服务器到客户端的传输是否可靠。2.客户端和服务器没有就服务器的初始序列号达成一致。
参考: https://www.hu.com/question/24853633
有几个细节需要注意:
1、与SYN报文一样,FIN报文段即使不携带数据,也要消耗一个序号。
2.当客户端发送fin,服务端回复ack后,tcp连接处于半关闭状态,即客户端已经没有数据要发送了,但是服务器若发送数据,客户端依然要接受。正是因为有半关闭状态,不需要客户端和服务器同时断开,因此才会有四次挥手。
3.当服务器发出fin,只要收到了客户端的ack,就进入CLOSED状态,关闭tcp连接。而客户端回复ack后,必须经过2*MSL(最长报文段寿命)的时间后,才会关闭tcp连接。
为什么客户端最后还要等待2MSL?
保证客户端发送的最后一个ACK报文能够到达服务器,因为这个ACK报文可能丢失,站在服务器的角度看来,我已经发送了FIN+ACK报文请求断开了,客户端还没有给我回应,应该是我发送的请求断开报文它没有收到,于是服务器又会重新发送一次,而客户端就能在这个2MSL时间段内收到这个重传的报文,接着给出回应报文,并且会重启2MSL计时器。
分组可以发生在运输层和网络层,运输层中的TCP会分段,网络层中的IP会分片。IP层的分片更多的是为运输层的UDP服务的,由于TCP自己会避免IP的分片,所以使用TCP传输在IP层都不会发生分片的现象。IP数据报分片后,只有第一片带有UDP首部或ICMP首部,其余的分片只有IP头部,到了端点后根据IP头部中的信息再网络层进行重组。而TCP报文段的每个分段中都有TCP首部,到了端点后根据TCP首部的信息在传输层进行重组。
对IP分片的数据报来说,如果需要重传,即使只丢失一片数据也要重新传整个数据报,这是因为IP层本身没有超时重传机制。这也是为什么tcp要避免ip分片的原因。
MTU(最大传输单元)
MTU是链路层中的网络对数据帧的一个限制,依然以以太网为例,MTU为1500个字节。一个IP数据报在以太网中传输,如果它的长度大于该MTU值,就要进行分片传输,使得每片数据报的长度小于MTU。分片传输的IP数据报不一定按序到达,但IP首部中的信息能让这些数据报片按序组装。IP数据报的分片与重组是在网络层进完成的。
路径MTU
如果两台主机之间的通信要通过多个网络,那么每个网络的链路层就可能有不同的MTU。重要的是两台通信主机路径中的最小MTU。它被称作路径MTU。两台主机之间的路径MTU不一定是个常数。它取决于当时所选择的路由。而选路不一定是对称的(从A到B的路由可能与从B到A的路由不同),因此路径MTU在两个方向上不一定是一致的。
MSS(最大分段大小)
MSS是TCP里的一个概念(首部的选项字段中)。MSS是TCP数据包每次能够传输的最大数据分段,TCP报文段的长度大于MSS时,要进行分段传输。TCP协议在建立连接的时候通常要协商双方的MSS值,每一方都有用于通告它期望接收的MSS选项(MSS选项只出现在SYN报文段中,即TCP三次握手的前两次)。MSS的值一般为MTU值减去两个首部大小(需要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes)所以如果用链路层以太网,MSS的值往往为1460。而Internet上标准的MTU(最小的MTU,链路层网络为x2.5时)为576,那么如果不设置,则MSS的默认值就为536个字节。很多时候,MSS的值最好取512的倍数。TCP报文段的分段与重组是在运输层完成的。
TCP的四种拥塞控制算法:
1.慢开始
2.拥塞控制
3.快重传
4.快恢复
参考: https://blog.csdn.net/qq_41431406/article/details/97926927
滑动窗口协议解决的是流量控制的的问题,接收端的缓存传输数据给应用层,但这个过程不一定是即时的,如果发送速度太快,会出现接收端数据overflow,流量控制解决的是这个问题。
该协议允许发送方在停止并等待确认前发送多个数据分组。由于发送方不必每发一个分组就停下来等待确认,因此该协议可以加速数据的传输,提高网络吞吐量。
TCP会话的双方都各自维护一个发送窗口和一个接收窗口。各自的接收窗口大小取决于应用、系统、硬件的限制(TCP传输速率不能大于应用的数据处理速率)。各自的发送窗口则要求取决于对端通告的接收窗口。
窗口的概念
发送方的发送缓存内的数据都可以被分为4类:
1. 已发送,已收到ACK
2. 已发送,未收到ACK
3. 未发送,但允许发送
4. 未发送,但不允许发送
其中类型2和3都属于发送窗口。
接收方的缓存数据分为3类:
1. 已接收
2. 未接收但准备接收
3. 未接收而且不准备接收
其中类型2属于接收窗口。
滑动机制
1.发送窗口只有收到发送窗口内字节的ACK确认,才会移动发送窗口的左边界。
2.接收窗口只有在前面所有的段都确认的情况下才会移动左边界。当在前面还有字节未接收但收到后面字节的情况下,窗口不会移动,并不对后续字节确认。以此确保对端会对这些数据重传。
3.遵循快速重传、累计确认、选择确认等规则。
参考: https://blog.csdn.net/yao5hed/article/details/81046945
TCP中有四种计时器(Timer),分别为:
1.重传计时器:Retransmission Timer
2.坚持计时器:Persistent Timer
3.保活计时器:Keeplive Timer
4.时间等待计时器:Timer_Wait Timer
(1)重传计时器
当TCP发送报文段时,就创建该特定报文的重传计时器。可能发生两种情况:
1.若在计时器截止时间到之前收到了对此特定报文段的确认,则撤销此计时器。
2.若在收到了对此特定报文段的确认之前计时器截止时间到,则重传此报文段,并将计时器复位。
(2)持久计时器
当接收端缓存填满时,由于滑动窗口算法,发送端会停止发送数据,直到接收端发送一个宣布非0窗口的ack,但这个确认可能会丢失,导致发送方和接收方都等待对方发送消息。
因此TCP为每一个链接使用一个持久计时器。当发送房收到窗口大小为0的确认时,就启动持久计时器。当持久计时器期限到时,发送方就发送一个探测报文。这个报文段只有一个字节的数据,虽然他有一个序号,但他的序号永远不需要确认。若发送探测报文后仍没有收到从接收端来的响应,发送端会将坚持计时器设定的值加倍和复位,直到这个值增大到门限值(通常是60秒)为止。
(3)保活计时器
保活计时器用来防止在两个TCP之间的连接出现长时间的空闲。服务器设置保活计时器,每当服务器收到客户的信息,就将计时器复位。通常设置为两小时。若服务器过了两小时还没有收到客户的信息,他就发送探测报文段。若发送了10个探测报文段(每一个像个75秒)还没有响应,就假定客户除了故障,因而就终止了该连接。
这种连接的断开当然不会使用四次握手,而是直接硬性的中断和客户端的TCP连接。
(4)时间等待计时器
时间等待计时器是在四次握手的时候使用的。发送最后一个ack的一端要等待2MSL(MSL=maxinum segment lifetime最长报文生存时间,2MSL就是两倍的MSL),确保另一端接受到了ack。
参考: https://www.cnblogs.com/an2/p/9180861.html
❹ 【网络协议笔记】第四层:传输层(Transport)TCP协议简介(1)
TCP有以下几个知识点。
图片备用地址
图片备用地址
TCP的几个要点:可靠传输、流量控制、拥塞控制、连接管理(建立和释放连接)。
也正因为这几点使得首部变得很复杂。
占4位,取值范围是0x0101 ~ 0x1111。
乘以4就是首部长度(Header Length)。所以取值范围是5 ~ 60字节,由于首部固定部分占用20字节,所以可选部分至多占用40字节(和网络层首部一样)。
为什么叫数据偏移?因为相对TCP报文向右偏移首部长度后就是数据部分。
UDP的首部中有个16位的字段记录了整个UDP报文段的长度(首部 + 数据)。
但是,TCP的首部中仅仅有个4位的字段记录了TCP报文段的首部长度,并没有字段记录TCP报文段的数据长度。
分析:UDP首部中占16位的长度字段是冗余的,纯粹是为了保证首部是32bit对齐。
TCP/UDP的数据长度,完全可以由IP数据包的首部推测出来,传输层的数据长度 = 网络层的总长度 - 网络层的首部长度 - 传输层的首部长度。
占6位,目前全为0。
与UDP一样,TCP检验和的计算内容:伪首部 + 首部 + 数据。伪首部占用12字节,仅在计算检验和时起作用,并不会传递给网络层。
图片备用地址
一共占6位或9位。
有些资料中,TCP首部的保留(Reserved)字段占3位,标志(Flags)字段占9位。Wireshark中也是如此。是因为标志位中的前3位是无用的,所以两种说法都不能说是错的。
图片备用地址
图片备用地址
意思:紧急。当URG=1时,紧急指针字段才有效。表明当前报文段中有紧急数据,应优先尽快传送。
紧急指针存放的是长度值,表示TCP的前多少字节是需要紧急优先处理的。
意思:确认。当ACK=1时,确认号字段才有效。
意思:推。一般用在交互式网络中。PUSH标志位所表达的是发送方通知接收方传输层应该尽快的将这个报文段交给应用层。
意思:重置。当RST=1时,表明连接中出现严重差错,必须释放连接,然后再重新建立连接。
意思:同步。当SYN=1 & ACK=0时,表明这是一个建立连接的请求。若对方同意建立连接,则回复SYN=1 & ACK=1。
请求方再发送SYN=0 & ACK=1时表明开始传输数据。这也是三次握手的流程。
意思:完成。表明数据已经发送完毕,要求释放连接。
占4字节。首先,传输的每一个字节都会有一个编号(连续的字节编号也是连续的)。
在建立连接后,序号代表这一次传给对方的TCP数据部分的第一个字节的编号。
占4字节。在建立连接后,确认号代表期望对方下一次传过来的TCP数据部分的第一个字节的编号。
占2字节。这个字段有流量控制功能,用以告知对方下一次允许发送的数据大小(字节为单位)。
ARQ(Automatic Repeat-reQuest), 自动重传请求。
图片备用地址
无差错情况
A发送数据M1到B,B收到数据M1后向A发送确认信号M1;
A收到确认信号M1后,继续向B发送数据M2,B接收后向A发送确认信号M2。
超时重传
A发送数据M1到B,A在发送数据途中丢包或B发现数据M1有错误直接丢掉,导致B无法向A发送确认信号M1;
A在一定时间间隔后发现没有收到B发送的确认信号M1,A会继续向B发送数据M1;
B收到数据M1后向A发送确认信号M1,A收到确认信号M1后,继续向B发送M2数据。
通过确认与超时重传机制实现可靠传输,在发送完一个分组后,必须暂时保留已发送的分组的副本。
分组和确认分组都必须进行编号。超时计时器的重传时间应当比数据在分组传输的平均往返时间更长一些。
图片备用地址
确认丢失
A发送数据M1到B,B接收到数据M1后,向A发送确认信号M1;
B在向A发送确认信号M1中途丢包,此时A在一定时间间隔后发现没有收到B发送的确认信号M1,A会继续向B发送数据M1;
B收到数据M1后会丢弃重复的数据M1(之前已经收到数据M1,只是A不知道),继续向A发送确认信号M1;
A收到确认信号M1后,继续开始发送M2数据。
确认迟到
A发送数据M1到B,B接收到数据M1后,向A发送确认信号M1;
B在向A发送确认信号M1时,由于网络延迟等原因导致A在一定时间段内未收到确认信号;
A会继续向B发送数据M1,B收到数据M1后丢弃重复的数据M1,并向A发送确认信号M1;
A收到确认信号M1后,继续开始发送M2数据,M2数据刚发送出去,此时A刚好接收到B在第一次发送的确认信号M1,
但由于之前已经成功接收并处理了第二次的确认信号M1,所以A在收到确认信号后什么也不做。
出现差错或丢失的时候,发送方会将自己备份的副本再重传一次,直到收到接收的确认信息。
当接收方收到重复的数据时,会直接丢弃,但是会给发送方请确认自己已经收到了。
上面的停止等待协议每发送一组数据就必须等到接收方回复确认后,再发起第二组数据,如果出现超时重传的话,效率更低。
因此为了提高传输的效率,改进了等待传输协议。
连续ARQ协议和滑动窗口协议的机制是以接收方回复确认为单位,每次连续发送一个滑动窗口指定的数据组。
图片备用地址
A发送数据给B时,一次性发送M1~M4(A和B建立连接时,B告诉A自己的缓存池可以容纳多少字节数据,
A根据这个缓存池的大小构建一个同大小的发送窗口–也可以理解为发送缓存池),此时A开始等待确认,B收到全部数据后会向A发送确认信号M4(以最后一个编号为准);
A收到确认信号后,继续向B发送M5 M8(A把之前构建的窗口滑动并锁定到对应大小的数据段上,即M5 M8),以此往复直到数据传输完毕。
如果接收窗口最多能接收4个包(窗口大小),但发送方只发了2个包,接收方如何确定后面还有没有2个包?
答案:接收方会在等待一定时间后发现没有第3个包,就会返回收到2个包的确认信号给发送方。
滑动窗口是由发送方维护的类似指针的变量,在每收到一个接收方的确认消息后,
该指针向前移动并发送数据,到窗口指定大小的数据组时停下,等待接收方的确认。
图片备用地址
累积确认机制: 发送方不对收到的分组逐个发送确认,而是对按序到达的最后一个分组发送确认,
这样就表示:到这个分组为止的所有分组都已正确收到了。
优点:容易实现,即使确认丢失也不必重传。
缺点:不能向发送方反映出接收方已经正确收到的所有分组的信息。
Go-back-N(回退 N): 为了解决上述同一窗口中数据组不能完整确认的问题,连续ARQ协议采用了回退机制。
比如说:发送方发送了前5个分组,而中间的第3个分组丢失了。这时接收方只能对前两个分组发出确认。
发送方无法知道后面三个分组的下落,而只好把后面的三个分组都再重传一次。这就叫做 Go-back-N(回退 N),表示需要再退回来重传已发送过的N个分组。
结论:当通信线路质量不好时,连续ARQ协议会带来负面的影响。可能还不如传统的停止等待协议。
TCP连接的每一端都必须设有两个窗口——一个发送窗口和一个接收窗口。
TCP的可靠传输机制用字节的序号进行控制。TCP所有的确认都是基于序号而不是基于报文段。
TCP两端的四个窗口经常处于动态变化之中。
TCP连接的往返时间RTT也不是固定不变的。需要使用特定的算法估算较为合理的重传时间。
滑动窗口是面向字节流的,为了方便记住每个分组的序号,
现在假设有一个1200字节的数据,分12组,每一组数据是100个字节,代表一个数据段的数据(每一个数据都有自己的TCP首部),每一组给一个编号(1~12)。
图片备用地址
图片备用地址
TCP通信时,如果发送序列中间某个数据包丢失,TCP会通过重传最后确认的分组后续的分组,这样原先已经正确传输的分组也可能重复发送,降低了TCP性能。
SACK(Selective Acknowledgment,选择确认)技术 ,使TCP只重新发送丢失的包,不用发送后续所有的分组,
而且提供相应机制使接收方能告诉发送方哪些数据丢失,哪些数据已经提前收到等。
在建立TCP连接时,就要在TCP首部的选项中加上“允许SACK”的选项,而双方必须都事先商定好。
原来首部中的“确认号字段”的用法仍然不变。只是以后在TCP报文段的首部中都增加了SACK选项,以便报告收到的不连续的字节块的边界。
图片备用地址
Kind:占1个字节,值为5代表这是SACK选项。
Length:占1个字节,表明SACK选项一共占用多少字节。
Left Edge:占4个字节,左边界。
Right Edge:占4个字节,右边界。
图片备用地址
上图的着色模块代表已接收数据,空白代表未接收数据。左右边界意思是会把未接收完毕的TCP数据包的已接收数据进行左右标记。
由于TCP的选项不能超过40个字节,去除Kind和Length占用的2个字节,还剩下38个字节给左右边界使用。
一组边界占用8个字节(左右边界各占4个字节),所以边界不能超过4组。也能够因此推断出SACK选项的最大占用字节数是4 * 8 + 2 = 34。
思考:超过选项边界的数据怎么办?
超过边界的数据需要重新传输,但这已经很大程度提高了传输效率。
重传机制是TCP中最重要和最复杂的问题之一。TCP每发送一个报文段,就对这个报文段设置一次计时器。
只要计时器设置的重传时间到但还没有收到确认,就要重传这一报文段。那么这个重传时间到底应该设置多少呢?建议跳过,有兴趣的可以去查阅相关资料。
图片备用地址
为什么选择在传输层就将数据分割成多个段,而不是等到网络层再分片传递给数据链路层?
-->网络层没有可靠传输协议,丢包无法只发送一个报文段,所以需要分割成多个段。
如果在传输层不分段,一旦出现数据丢失,整个传输层的数据都得重传
如果在传输层分段了,一旦出现数据丢失,只需要重传丢失的那些段即可
欢迎大家的意见和交流
email: [email protected]
❺ 简要说明TCP/IP参考模型五个层次的名称,各层的传输格式和使用的设备是什么
TCP/IP参考模型是ARPANET及其后继的因特网使用的参考模型。其将协议分为:网络接入层、网际互连层、传输层以及应用层。
1.应用层:对应OSI参考模型的上层,为用户提供所需的各种服务,如FTP,Telnet,DNS,SMTP等。
2.传输层:传输层对应于OSI参考模型的传输层,为应用层实体提供端到端通信功能,确保数据包的顺序传输和数据的完整性。该层定义了两个主要协议:传输控制协议(TCP)和用户数据报协议(UDP)。
TCP协议提供可靠的,面向连接的数据传输服务;而UDP协议提供不可靠的无连接数据传输服务。
3.互联网互联层:互联网互联层对应OSI参考模型的网络层,主要解决从主机到主机的通信问题。它包含通过网络逻辑传输的协议设计数据包。重点是重新给主机一个IP地址来完成主机的寻址,它还负责在各种网络中路由数据包。
该层有三个主要协议:Internet协议(IP),Internet组管理协议(IGMP)和Internet控制消息协议(ICMP)。 IP协议是Internetworking层中最重要的协议。它提供可靠的无连接数据报传送服务。
4.网络接入层:网络接入层(即主机 - 网络层)对应于OSI参考模型中的物理层和数据链路层。它负责监视主机和网络之间的数据交换。
实际上,TCP / IP本身并没有定义该层的协议,但参与互连的每个网络都使用自己的物理层和数据链路层协议,然后与TCP / IP的网络接入层连接。地址解析协议(ARP)在此层(OSI参考模型的数据链路层)上工作。
(5)传输层数据包有哪些扩展阅读:
OSI参考模型与TCP/IP参考模型的异同点:
1. OSI参考模型和TCP / IP参考模型都使用分层结构,但OSI使用的七层模型和TCP / IP是四层结构。
2. TCP / IP参考模型的网络接口层实际上没有真正的定义,但是是概念性描述。 OSI参考模型不仅分为两层,而且每层的功能都非常详细。即使在数据链路层,也分离媒体访问子层以解决局域网中共享媒体的问题。
3. TCP / IP的网络互连层等同于OSI参考模型的网络层中的无连接网络服务。
4. OSI参考模型基本上类似于TCP / IP参考模型的传输层功能。它负责为用户提供真正的端到端通信服务,并且还从高层屏蔽底层网络的实现细节。
不同之处在于TCP / IP参考模型的传输层基于网络互连层,网络互连层仅提供无连接网络服务,因此面向连接的功能完全在TCP协议中实现,当然, TCP / IP的传输层还提供UDP等无连接服务;
相反,OSI参考模型的传输层基于网络层,它提供面向连接和无连接的服务,但传输层仅提供面向连接的服务。
5.在TCP / IP参考模型中,没有会话层和表示层。事实证明,这两层的功能可以完全包含在应用层中。
6. OSI参考模型具有高抽象能力,适用于描述各种网络。 TCP / IP是首先开发TCP / IP模型的协议。
7. OSI参考模型的概念明显不同,但它过于复杂;虽然TCP / IP参考模型在服务,接口和协议之间的区别中不清楚,但功能描述和实现细节是混合的。
8. TCP / IP参考模型的网络接口层不是真实层; OSI参考模型的缺点是层数太多,划分意义不大但增加了复杂性。
9.尽管OSI参考模型是乐观的,但由于缺乏时间安排,该技术尚不成熟且难以实施;相反,虽然TCP / IP参考模型有许多令人不满意的地方,但它非常成功。