前言:
网络层提供的是无连接数据传输服务,及网络在发送数据报文时不需要先建立连接
每个IP数据独立报文独立发送
IP协议:
IP是Internet Protocol的缩写,Internet Protocol本身是一个协议文件的名称,该协议文件非常少,主要定义阐述了IP协议报文的格式
作用:为网络层的设备提供逻辑地址(IP地址)
负责数据包的寻址和转发
数据封装过程:
IPv4报文格式:
version:版本(ipv4或者ipv6)
header length:头部长度 20B-60B
type of service(differentiated service field):服务类型:承载这个IP包的优先级别,用于差错服务使用(QOS会用到此字段)
total length:IP报文总长度
identification:标识,主机每发一个报文加1,分片重组时会用到该字段。一个报文分成多个分片中,该值一样。
flags:标志 DF(Don't fragment)能否分片位,0表示可以分片,1表示不能分片 MF(more fragment),表示是否该报文为最后一片,0表示最后一片, 1表示后面还有
fagment offset:片偏移:分片重组时会用到该字段,某片在原分组中的相对位置
TTL:time to live 寿命/生存时间,ttl最大为255,每经过一个跳路由ttl会减少1,如果ttl等于0,将直接丢弃。 ttl是一种防环措施,避免报文无休止的传递下去
Protocol: 协议号 06 tcp 17 udp 1 icmp
header checksum:校验和;只校验数据包的首部,不检验数据部分,校验头部完整性
source IP address: 源地址
destination IP addess:目的地址
options:可变,选项字段。
padding:可变,填充字段,全填0。
数据包分片:
将报文分割成多个片段的过程叫做分片
网络中转发的IP的报文长度可以不同,如果报文长度超过了数据链路所支持的最大长度,则报文就需要分割成若干个较小的片段,这样才能在链路上传输
IP地址:
一个IPv4有32bit,使用点分十进制表示。2进制转换为10进制表示
IP地址分为网络位和主机位
ICMP协议:
internet 控制协议ICMP(internet control message protoloc)是IP协议的辅助协议
ICMP协议用来在网络设备间传递各种差错和控制信息,用于收集各种网络信息、诊断和排除各种网络故障等方面起着重要的作用
网关:
什么是网关,什么时候需要网关?
网关是用来转发不同网段之间的数据包,同网段访问不需要网关
理解:
其实每一层都有一个类型字段,比如传输层会有源端口和目的端口,其中这些端口号就可以标识这些协议的类型
网络层的IP报文中有protoloc字段,06表示TCP,17表示UDP,1表示ICMP,这些也可以表示协议类型
数据链路层中的帧中也有一个type字段,可以表示是网络层报文的类型。
其中最终的目的都是防止层层剥离,加快传输速度。
问题:为什么mtu默认为1500