计算机网络原理精讲第四章--网络层

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协议 RIP OSPF

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.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字节

4.7 IP协议

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

猜你喜欢

转载自www.cnblogs.com/AutoSmart/p/11005415.html