精子生于 1995 年,英文 ID jysperm.
TCP/IP 笔记(3.IP协议概述)
IP(Internet Protocol, 网际协议)工作在网际层,是TCP/IP协议族中最重要的组成部分,所有TCP/IP的数据包都通过IP来传输.
IP的功能
- 定义数据报的格式,它是Internet的基本传输单位
- 定义Internet的寻址方式
- 在网络访问层和传输层之间传输数据
- 决定数据报到远程主机的传输路径
- 对数据报进行分解和重组
IP是一种非连接式协议,这意味着在传输数据前,两个端点之间不必交换控制信息(握手)来建立点对点连接.
对于需要面向连接的应用,须依赖于其他层的协议,如TCP.
IP是不可靠的协议,依赖于其他的协议来提供错误检测(ICMP,Internet Control Message Protocol, 互联网控制消息协议)和纠正(TCP)的能力.
IP数据报
数据报是包含控制信息(如接收者地址)的数据块.
IP会把数据报从一个物理网络转发到另一个物理网络,直到到达最终目标,每一个数据报的转发路径都是独立,与其他数据报没有关系.
下面是IPv4数据报的格式:
版本 IP的版本号,这里介绍的是IPv4, 应为4.
IHL Internet Header Lenght, IP报头长度,单位为32bit, 该字段最小值为5, 通过增加该字段长度,可以在图中的报头结构之后,再追加选项(选项部分要补齐到32bit的整数倍).
服务类型 目前被重新规定为DSCP(Differentiated Services Code Point, 差分服务代码点)占6bit和ECN(Explicit Congestion Notification, 显式拥塞通知)占2bit, 两者主要用于区分数据报的优先级、对延迟、吞吐率、可靠度的要求.
数据报全长 单位Byte.
编号 分段的编号,唯一地标识一个数据报的所有分段.
标记 与分段相关的标记,标记是否允许被分段
、是否为最后一个分段
.
分段偏移量 该分段相对于原始数据报的偏移量,单位64bit.
TTL Time To Live, 存活时间,单位秒,但事实上通常每经过一个路由器会被减一.
协议号 指明所承载的数据使用的协议,常见的协议号如下:
校验和 报头校验和,用来核对报头是否被正确地传输,如果校验失败,则这个数据报会被丢弃.
源地址 目标地址 IPv4地址,二进制形式.
在通常的报头之后,还会有选项(由IHL决定)和实际的数据.