网络原理-计算机网络详解-网络层概述

网络主要 分为:

1、IP网络(TCP/IP 网络协议)

2、NetWare网络( IPX/SPX网络协议)   目前已经停止维护了,废弃了。

3、X.25网络,网络层采用分组级协议(PacketlevelProtocol,PLP)

根据现实环境,本文只介绍IP网络的协议


一、上网信息流程分析

看这里的博文

二、IP协议

网络之间互连的协议(IP)是Internet Protocol的外语缩写, 中文缩写为“网协”.
网络之间互连的协议也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。IP地址具有唯一性,根据用户性质的不同,可以分为5类。另外,IP还有进入防护,知识产权,指针寄存器等含义。

大白话:我们常说的IP就是 IP地址。tcp/ip 网络模型 中的网络层用的就是IP数据包。

版本号(Version):长度4比特。标识目前采用的IP协议的版本号。一般的值为0100(IPv4),IPv6的值(0110)

首部长度(Header Length)占 4 位,因此最大值为 15。值为 1 表示的是 1 个 32 位字的长度,也就是 4 字节。因为首部固定长度为 20 字节,因此该值最小为 5。如果可选字段的长度不是 4 字节的整数倍,就用尾部的填充部分来填充。也就是说可选字段长度可以是4字节,8字节等。

区分类型(Type of Service):长度8比特。这个子段可以拆分成两个部分:Precedence和TOS。TOS目前不太使用。而Precedence则用于QOS应用。(TOS字段的详细描述RFC 1340 1349)

IP包总长(Total Length):长度16比特。IP包最大长度65535字节。包括首部长度和数据部分长度。【以太网(Ethernet)数据帧的长度必须在46-1500字节之间,这是由以太网的物理特性决定的. 这个1500字节被称为链路层的MTU(最大传输单元).
但这并不是指链路层的长度被限制在1500字节,其实这这个MTU指的是链路层的数据区。并不包括链路层的首部和尾部的18个字节。所以事实上,这个1500字节就是网络层IP数据报的长度限制】

生存时间(TTL):长度8比特。当IP包进行传送时,先会对该字段赋予某个特定的值。当IP包经过每一个沿途的路由器的时候,每个沿途的路由器会将IP包的TTL值减少1。如果TTL减少为0,则该IP包会被丢弃。这个字段可以防止由于故障而导致IP包在网络中不停被转发。

协议(Protocol):长度8比特。标识了上层所使用的协议。指出携带的数据应该上交给哪个协议进行处理,例如 ICMP、TCP、UDP 等。

首部校验和(Header Checksum):长度16位,由于IP包头是变长的,所以提供一个头部校验来保证IP包头中信息的正确性。因为数据报每经过一个路由器,都要重新计算检验和,因此检验和不包含数据部分可以减少计算的工作量。

起源和目标地址(Source and Destination Addresses):这两个地段都是32比特。标识了这个IP包的起源和目标地址。

可选项(Options):该字段由起源设备根据需要改写。选项字段用来支持排错、测量以及安全等措施,内容很丰富。此字段的长度可变,从1个字节到40个字节不等,取决于所选择的项目。某些选项项目只需要1个字节,它只包括1个字节的选项代码。但还有些选项需要多个字节,这些选项一个个拼接起来,中间不需要有分隔符,最后用全0的填充字段补齐成为4字节的整数倍。增加首部的可变部分是为了增加IP数据报的功能,但这同时也使得IP数据报的首部长度成为可变的。这就增加了每一个路由器处理数据报的开销。实际上这些选项很少被使用。新的IP版本IPv6就将IP数据报的首部长度做成固定的。【经过抓包分析,如果ip包装载的是 udp 和 tcp ,那么ip头部不会添加可选项】

目前,这些可选项定义如下:
(1)安全和处理限制(用于军事领域)
(2)记录路径(Record route)(当IP包离开每个路由器的时候记录路由器的出站接口的IP地址)
(3)时间戳(Time Stamp)(让每个路由器都记下IP数据报经过每一个路由器的IP地址和当地时间)
(4)宽松的源站路由(Loose Source Route)(为数据报指定一系列必须经过的IP地址)
(5)严格的源站路由(Strict Source Route)(与宽松的源站路由类似,但是要求只能经过指定的这些地址,不能经过其他的地址) 这些选项很少被使用,并非所有主机和路由器都支持这些选项。

标识符(Identifier):长度16比特。在数据报长度过长从而发生分片的情况下,相同数据报的不同分片具有相同的标识符。该字段和Flags和Fragment Offest字段联合使用,对大的上层数据报进行分段(fragment)操作。

标记(Flags):长度3比特。该字段第一位不使用。第二位是DF位,DF位设为1时表明路由器不能对该上层数据报分段。如果一个上层数据报无法在不分段的情况下进行转发,则路由器会丢弃该上层数据报并返回一个错误信息。第三位是MF位,当路由器对一个上层数据报分段,则路由器会在除了最后一个分段的IP包的包头中将MF位设为1。

片偏移(Fragment Offset):长度13比特,片偏移的单位为 8 字节。该字段对包含分段的上层数据的IP包赋予序号。由于IP包在网络上传送的时候不一定能按顺序到达,这个字段保证了目标路由器在接受到IP包之后能够还原分段的上层数据报。到某个包含分段的上层数据报的IP包在传送是丢失,则整个一系列包含分段的上层数据的IP包都会被要求重传。

三、与 IP 协议配套使用的还有三个协议:

  • 地址解析协议 ARP(Address Resolution Protocol)
  • 网际控制报文协议 ICMP(Internet Control Message Protocol)
  • 网际组管理协议 IGMP(Internet Group Management Protocol)

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments