⽹际层的设计选择 ⽹络层的主要任务 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