OSI参考模型之网络层
Posted 锦衣admin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OSI参考模型之网络层相关的知识,希望对你有一定的参考价值。
OSI参考模型之网络层
网络层功能
将分组从源主机通过网络路径转发到目的主机,所以网络层最核心的功能是以下两个
分组转发:
当一个分组到达路由器输入链路时,需要将该分组转发到相应合适的输出链路上
每一个分组都会带有一个首部,而首部包含有转发标识。路由器根据转发标识,查询路由器内的转发表,转发表会为
分组指出该通往的输出链路。
路由选择:
当分组开始从源主机发往目的主机,网络层必须决定分组应该采用的路由或路径。
路由选择就是用来提供分组转发时所需要的转发表。
网络层服务
网络层可以为用户提供两种服务,一个是面向连接的服务
,一个是无连接的服务
。我们现有的计算机网络体系结构中,网络层只能单独提供其中一个服务,不能两能服务同时提供。
面向连接的计算机网络:
虚电路网络:
- 借鉴于电信网,让网络负责可靠交付。
- 要求两台计算机进行通信时,应当先建立连接,所建立的连接就是虚电路,然后双方就可以通过该虚电路发送分组。
- 通信结果结束后,就释放掉虚电路。
- 可靠的传输
无连接的计算机网络:
数据报网络
- 因特网的先驱者则坚定认为无连接服务是更适合因特网的网络层的。电信网的提供可靠的传输服务,对于电话这种无智能,没有处理差错能力的设备无疑是非常奏效的。但计算机是可以有很强的差错处理能力的。所以因特网设计时就与电信网完全不一样:网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。
- 在数据报网络里,分组发送时并不需要建立连接,每一个分组都是独立发送的,并且网络层不提供服务质量保证。所以分组在发送过程中,会出现出错、丢失、重复和失序,还有交付期限。而为了保证通信可靠,这些差错处理则交给网络边缘主机——终端,来进行处理。这样网络核心相比之下就简单许多,网络造价大大降低,并且灵活适应性强。这种设计思想称为端到端原则(endto-end arguments)。
- 不可靠的传输
网络层服务网络对比:
网络层协议
IP协议
因特网路由选择协议(RIP/OSPF/BGP)
因特网控制报文协议(ICMP)
IP协议
IP数据包分片()
一个链路层帧能够承载的最大数据量叫做最大传输单元,即MTU
。
IP分片过程:
IPv4报文格式详解:
版本(Version)
:表示该协议采用哪一个版本的ip协议,相同的版本协议才能通信。一般此处的值为4,表示IPv4。4bit
。
头长度(Header Length)
:表示ip数据报头的长度。ip数据报头部的总长度以4个字节为单位。占4bit
。
服务类型(Type of Service(TOS))
:用于表示数据报的优先级和服务类型,占8bit
。其中3位长度的优先级;4位长度的标志位;最高位未用。
总长度(Total Length)
:表示整个ip数据报的总长度,包括IP报头和数据部分,占16bit
。即整个ip数据报的总长度为2^16-1=65535字节。不过由于链路层的MTU限制,超过1480字节后就会被分片(以太网帧MTU为1500字节,除去20 字节的IP报头)。
标识(Identification)
:用于表示ip数据报的标识符,占16bit
。每个IP数据报都有一个唯一的标识(不是序号),当数据报分段时,这个标识的值就被复制到所有分段的标识字段中,相同的标识字段值使分段后的数据报分段最后能正确地重组成为原来的数据报。
标志(IP Flags)
:该字段是与ip分片有关,占3bit
。其中有三位,但只有两位有效,分别是:
MF标识
:表示后面是否还有分片,为1表示后面还有分片;DF标识
:表示能否分片,为0表示可以分片。
片偏移(Fragment Offset)
:表示该分段在数据报中的相对位置。该字段在ip分片后,在相应的ip片在总的ip片中的位置。占13bit
,单位是8字节。比如:一个长度为4000字节的ip报文到达路由器,发现超过了链路层的MTU,需要进行分片。4000字节中,20个字节为ip包头,3980字节为数据,需要分成3个ip片(链路层MTU为1500),
那么第一个ip分片的片偏移就是0,表示该分片在3980的第0位开始,到第1479位结束;
第二个ip分片的片偏移为185(1480/8),表示该分片开始位置在原来IP片的第1480位,结束在2959;
第三个ip分片的片偏移为370(2960/8),表示开始的位置是2960位,结束在3979位。
TTL(Time To Live)
:表示该片的生存周期,占8bit
。ip分片每经过一个路由器该值减一,它的作用是为了防止路由环路,浪费带宽的问题(比如在出现路由环路时两个路由器反复回传)。Windows为128、Linux为64。
协议(Protocol)
:该值表示上层的协议,占8bit
。其中:
1:标识ICMP
2:标识IGMP
6:标识TCP
17:标识UDP
89:标识OSPF
校验和(Header Checksum)
:该值是对整个数据包的包头进行校验,占16bit
。类似数据帧的FCA校验。
源地址和目的地址
:表示ip分片的源和目的ip,各占32bit
。
可选项
:当数据包传输的时候需要加上别的协议时需要加上该字段,占0~32bit
。ip报头默认占20字节。
路由选择协议(RIP/OSPF/BGP)
路由选择协议主要用于路由器之间实现路由表收敛的协议,当路由表稳定时,使用其对数据包进行转发。
RIP
:距离矢量路由协议,跳数(最大跳数为15跳,16跳不可达)
OSPF
:开放式最短路径优先,比RIP协议智能。
BGP
:边界网关协议
因特网控制报文协议 (ICMP)
网络探寻
差错报告
例如:ping使用ICMP进行探测
路由协议、IP协议、ICMP协议之间的关系
网络层设备及其工作原理
路由器
路由器是用于承担路由功能的设备,工作在OSI参考模型第三层,主要用于数据包转发。
路由表:
-
路由表是由路由条目组成,路由条目由路由间的路由协议共同维护。
-
直连路由条目:路由器接口所在网段
-
静态路由条目:由网络管理员手动配置的路由条目
-
动态路由条目:通过动态路由协议学习的路由条目
路由器工作原理:
路由(routing)是指数据包分组从源地址到达目的地址,用于决定数据包经过路径的进程。
路由器从一个接口上收到数据包,根据数据包的目的地址进行定向并转发到另一个接口的过程。
-
路由器通过接口完成与相邻路由器的连接
-
路由器之间的路由表由协议完成构建
-
路由器通过使用路由表完成对数据包的转发
以上是关于OSI参考模型之网络层的主要内容,如果未能解决你的问题,请参考以下文章
概述-第五节2:计算机网络体系结构之OSI参考模型和TCPIP参考模型