zoukankan      html  css  js  c++  java
  • 计算机网络原理精讲第四章--网络层

    4.1 基本概念

    4.2 网络层提供的服务


    负责在不同网络之间尽力转发数据包,基于数据包的IP地址转发,不负责丢失重传,不负责数据包顺序

    4.3 网络层如何转发数据包

    发送端
    1、应用程序准备要传输的文件
    2、传输层 将文件分段并编号
    3、网络层 添加目标IP地址、源IP地址
    4、数据链路层 分两张情况,一种使用自己的子网掩码判断自己在哪个网段;另一种使用自己的子网掩码,判断目标地址在哪个网段;如果是同一个网段,就使用ARP协议广播解析目标IP地址的MAC地址;如果不是同一个网段,则将数据发送给网关,交给路由器选择下一跳,直到到达目标地址

    4.4 网络设备和OSI参考模型

    计算机通信过程,本网段通信和跨网段通信的过程

    4.5 网络层协议

    4.5.1 IP协议

    引自wiki:网际协议(英语:Internet Protocol,缩写:IP;也称互联网协议)是用于分组交换数据网络的一种协议。IP是在TCP/IP协议族中网络层的主要协议,任务仅仅是根据源主机和目的主机的地址来传送数据。为此目的,IP定义了寻址方法和数据报的封装结构。

    4.5.2 ARP协议

    将IP地址通过广播,目标MAC地址是FF-FF-FF-FF-FF-FF,解析目标IP地址的MAC地址,广播不能跨路由

    4.5.3 网际控制报文协议 ICMP

    ping命令学习ICMP

    4.5.4 Internet组播管理协议 IGMP

    网路群组管理协议(英语:Internet Group Management Protocol,缩写:IGMP)是用于管理网路协议多播组成员的一种通信协议。IP主机和相邻的路由器利用IGMP来创建多播组的组成员。像ICMP用于单播连接一样,IGMP也是IP多播说明的一个完整部分。 IGMP为互联网协议的一种,属于开放系统链接(OSI) 模块的第三层协议,IP主机用它将主机的多点发送成员人数报告给临近的多点发送路由器

    4.5.5 RIP协议

    引自wiki:路由信息协议(英语:Routing Information Protocol,缩写:RIP)是一种内部网关协议(IGP),为最早出现的距离向量路由协定。属于网络层,其主要应用于规模较小的、可靠性要求较低的网络,可以通过不断的交换信息让路由器动态的适应网络连接的变化,这些信息包括每个路由器可以到达哪些网络,这些网络有多远等。
    用于配置动态路由,适用于小规模网络

    4.5.6 OSPF协议

    引自wiki:开放式最短路径优先(英语:Open Shortest Path First,缩写为 OSPF)是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。采用戴克斯特拉算法(Dijkstra's algorithm)被用来计算最短路径树。它使用“代价(Cost)”作为路由度量。链路状态数据库(LSDB)用来保存当前网络拓扑结构,路由器上属于同一区域的链路状态数据库是相同的(属于多个区域的路由器会为每个区域维护一份链路状态数据库)。OSPF分为OSPFv2和OSPFv3两个版本,其中OSPFv2用在IPv4网络,OSPFv3用在IPv6网络。OSPFv2是由RFC 2328定义的,OSPFv3是由RFC 5340定义的。
    用于配置动态路由,适用于大中型规模网络

    4.6 ipv4的IP数据包格式(重点)


    数据部分来自传输层

    上图中,一行代表32个比特,等于4个字节,固定部分一共5行,总共20个字节
    各个字段意义如下

    版本:用来表示TCP/IP协议的版本,例如ipv4、ipv6
    首部长度:规定首部的长度
    区分服务:区分不同的流量进行排队(QOS),十六进制表示
    总长度:16个比特表示,一个数据包最大可用2的16次方减1对于65535个字节表示
    标识:用于给网络层数据包分片标识,根据标识组装成完整的数据包
    标志:标志(flag)占3位比特,用于表示数据包是完整的还是其中一个分片。目前只有前两位有意义,标志字段的最低位是MF(More Fragment)。MF=1表示后面"还有分片"。MF=0表示最后一个分片。标志字段中间一位是DF(Don't Fragment)。只有当DF=0时才允许分片。当数据包不分片时,这3位是 "010" 表示
    片偏移:记录分片后每个数据包的第一个字节占完整数据包的第多少个字节(从0计算),再除以8表示
    生存时间:在IP数据包中,用来表示数据包的生存时间,每经过一个路由器,生存时间减一;Linux下默认64,window128,Unix默认255
    协议:用来表示数据部分的数据是属于什么协议的,常见的协议号十进制表示的有ICMP协议1,IGMP协议2,TCP协议6,UDP协议17,ipv6协议41,OSPF协议89
    首部校验和:接收端用此来校验数据包的正确性,最后计算结果为0,则保留数据包,否则认为数据包在传输过程中被修改了,丢弃数据报
    源地址:源ip地址
    目的地址:目标ip地址
    可选字段(长度可变):用于一些自定义设计,在ipv6格式的数据包中已取消
    填充:当可选部分不够位数时,用来填充的部分
    数据部分:如果不分片,数据包的数据最大不超过1480字节

  • 相关阅读:
    ZOJ 2588 Burning Bridges
    POJ 1966 ZOJ 2182 Cable TV Network
    HDU 5348 MZL's endless loop
    HDU 5352 MZL's City
    Tarjan算法求解无向连通图的割点、割边、点双连通分量和边双连通分量的模板
    ZOJ 1119 SPF
    HDU 3452 Bonsai
    HDU 1520 Anniversary party
    POJ 2239 Selecting Courses
    POJ 1144 Network
  • 原文地址:https://www.cnblogs.com/liujunjun/p/12461784.html
Copyright © 2011-2022 走看看