网络层概述
⽹际层的设计选择 ⽹络层的主要任务 1.就是将分组从源主机经过多个⽹络和多段链路传输到⽬的主机 2.可以将该任务划分为分组转发和路由选择两种重要的功能。
⽹络层向上层提供两种服务
1.⾯向连接的虚电路服务
(1)核⼼思想是“可靠通信应由⽹络⾃身来保证”。
(2)通信双⽅沿着已建⽴的虚电路发送分组。
注:很多⼴域分组交换⽹都使⽤⾯向连接的虚电路服务。
例如,曾经的X.25和逐渐过时的帧中继(Frame Relay,FR)、异步传输模式(Asynchronnous Transfer Mode,ATM)。
2.⽆连接的数据报服务
(1)核⼼思想是“可靠通信应由⽤户主机来保证”。
(2)不需要建⽴⽹络层连接。
(3)每个分组可⾛不同的路径,因此,每个分组的⾸部都必须携带⽬的主机的完整地址。
(4)通信结束后,没有需要释放的连接。
注:这种通信⽅式所传送的分组可能误码、丢失、重复和失序。
由于⽹络⾃身不提供端到端的可靠传输服务,这就使得⽹络中的路由器可以做得⽐较简单,⼤⼤降低了⽹络造价。
⽹络层协议 IPv4数据报格式 1.在TCP/IP标准中,各种数据格式常常以32⽐特(即4字节)为单位来描述。 2.⽹络层数据包(IP数据包,Packet)由⾸部、数据2部分组成 (1)数据:很多时候是由传输层传递下来的数据段(Segment)
IPv4数据报⾸部协议
1.版本(Version)
⻓度为4个⽐特,⽤来表示IP协议的版本。
(1)0b0100 : IPv4
(2)0b0110 : IPv6
2.⾸部⻓度(Header Length)
占4个⽐特,乘以4才是最终⻓度,⽤来表示IPv4数据报的⾸部⻓度。
(1)最⼩取值为⼆进制的0101,20字节
(2)最⼤取值为⼆进制的1111,60字节。
3.可选字段
(1)⻓度从1字节到40字节不等,⽤来⽀持排错、测量以及安全措施等功能。
(2)虽然可选字段增加了IPv4数据报的功能,但这同时也使得IPv4数据报的⾸部⻓度成为可变的,这就增加了因特⽹中每⼀个路由器处理IPv4数据报的开销。
4.填充
(1)当⾸部⻓度(20字节固定部分+可变部分)的⻓度不是4字节整数倍时,填充相应数量的全0字节,以确保IPv4数据报的⾸部⻓度是4字节的整数倍。
(2)使⽤全0进⾏填充。
5.区分服务(Differentiated Services Field)
(1)占8个⽐特
(2)可以⽤于提⾼⽹络的服务质量
6.总长度(Total Length)
(1)占16个⽐特
(2)⾸部 + 数据的⻓度之和,最⼤65535
7.标识、标志、⽚偏移
注:由于帧的数据不能超过1500字节,所以过⼤的IP数据包,需要分成⽚(fragments)传输给数据链路层。且每⼀⽚都有⾃⼰的⽹络层⾸部(IP⾸部)。
(1)标识(Identification):
a.占16⽐特
b.数据包的ID,当数据包过⼤进⾏分⽚时,同⼀个数据包的所有⽚的标识都是⼀样的
c.有⼀个计数器专⻔管理数据包的ID,每发出⼀个数据包,ID就加1
(2)标志(Flags):
a.占3⽐特
b.最低位(More Fragment,MF)
i.MF=1表示本分⽚后⾯还有分⽚
ii.MF=0表示本分⽚后⾯没有分⽚
c.中间位(Don’t Fragment,DF)
i.DF=1表示不允许分⽚
ii.DF=0表示允许分⽚
d.最⾼位为保留位,必须设置为0
(3)⽚偏移(Fragment Offset):
a.占13⽐特
b.⽚偏移乘以8:字节偏移
c.每⼀⽚的⻓度⼀定是8的整数倍
8.⽣存周期(Time To Live,TTL)
(1)占8⽐特
(2)每个路由器在转发之前会将TTL减1,⼀旦发现TTL减为0,路由器会返回错误报告
9.协议
(1)⻓度为8个⽐特,⽤来指明IPv4数据报的数据载荷是何种协议数据单元PDU。
常用的一些协议和相应的协议字段值:
协议名称: ICMP IGMP TCP UDP lPv6 OSPF
协议字段值: 1 2 6 17 41 89