TCP/IP学习笔记之-IP层

2018-04-09  本文已影响0人  aWTCoder

TCP/IP网络模型从下至上分别是:物理层、数据链路层、网络层、传输层和应用层。

IP地址属于网络层,是面向无连接型,原因是:

1. 简化,有连接比无连接处理要相对复杂。

2. 提速,如果是有连接那么每次通信之前都需要建立连接,然后再断开连接,会降低处理速度。

IP的主要功能是:IP寻址、路由和IP分包与组包。

IP对下层(数据链路层)进行抽象化处理,不同数据链路层对IP层来说都是相同的。有一点需要注意就是:不同数据链路层的“最大传输单位”(MTU:Maximum Transmission Unit)不同,会影响数据在网络传输时的分包,IP通过ICMP得知各个链路层上的MTU。

在TCP中首部的MSS是指TCP分片的最大长度和链路层的MTU是一样的,在TCP中TCP协议会对数据进行分片,IP则不做分片处理了。

IP地址有网络和主机两部分组成,通过子网掩码来区分哪部分是网络哪部分是主机。

IP地址分为:

A类:首位0开头,第1位到第8位是网络标示。

B类:10开头,第1位到第16位是网络标示。

C类:110开头,第1位到24位是网络标示。

D类:1110开头,第1位到32位是网络标示。没有主机标示,常用语多播。

主机地址全部为0表示网络地址或者IP地址不可获知。主机地址全部为1表示为广播地址。

IPV4首部

Version:4比特构成,标示IP首部的版本号,IPv4中该字段就是4。

IHL:4比特构成,IP首部的大小,单位是4字节。对于没有可选项的IP包,该字段是5及长度是20字节(4x5=20)。

Type Of Service:8比特构成,在该段下面又会分为:DSCP(6比特)和ECN(2比特)。

    ECN(Explicit Congestion Notification):用来报告网络拥堵情况。可以细分为:ECT(1比特)和    CE(1比特)。

Total Length:标示首部与数据结合起来的总长度的字节数。16比特构成。

Identification:16比特构成,用于分片重组,同一个分片的标示相同,不同分片的标示不同。

Flags:3比特构成,标示包被分片的相关信息。

    0:未使用,现在必须是0。

    1:指示是否进行分片,0-可以分片,1-不能分片。

    2:包被分片的情况下,是否为最后一个包,0-最后一个分片的包,1-分片中断的包。

Fragment Offset:13比特构成,单位为8字节。标示分片的每个分段相对于原始数据的位置。例如:第一个分片对应的值是0。

Time To Live(TTL):8比特构成,生存时间。标示可以中转多少路由器,每经过一个值减1,如果为0丢弃该包。

Prototol:8比特构成,标示IP首部的下一个首部属于哪个协议,例如:TCP、UDP等。

Header Checksum:首部校验和,16比特构成。该字段只校验数据报的首部,不校验数据的部分。主要用来确保IP数据报不被破坏。

Source Address:32比特构成。

Destination Address:32比特构成。

上一篇下一篇

猜你喜欢

热点阅读