相对于[TCP](TCP.md)的面向连接的、可靠的、基于字节流的
IP协议是无连接的,不可靠的,基于数据报的
而TCP就像是在这个邮政系统之上增加了跟踪、确认收货、按顺序整理的服务。
## IP数据报
```Java
|--------|--------|--------|--------| 4byte 32bits
版本 长度 分片长
|--------|--------|--------|--------|
片编号 标志 偏移
|--------|--------|--------|--------|
TTL 协议 校验码
|--------|--------|--------|--------|
源IP地址
|--------|--------|--------|--------|
目标IP地址
```
## IP地址
[MAC](MAC.md) 地址就像每个人的护照一样,全球唯一,但是与 IP 地址不同,它并没有定位功能。
IP 地址就像一个快递地址一样,是能够直接定位到你的,比如 中国-北京-海淀-维亚大厦-1109
## DHCP
原来配置IP 有这么多门道儿啊。你可能会问了,配置了IP 之后一般不能变的,配置一个服务端的机器还可以,但是如果是客户端的机器呢?我抱着一台笔记本电脑在公司里走来走去,或者白天来晚上走,每次使用都要配置IP 地址,那可怎么办?
还有人事、行政等非技术人员,如果公司所有的电脑都需要IT 人员配置,肯定忙不过来啊。
因此,我们需要有一个自动配置的协议,也就是动态主机配置协议(Dynamic Host Confguration Protocol),简称 DHCP。
有了这个协议,网络管理员就轻松多了。他只需要配置一段*共享的IP地址*。每一台新接入的机器都通过 DHCP 协议,来这个共享的 IP 地址里申请,然后自动配置好就可以了。等人走了,或者用完了,还回去,这样其他的机器也能用。
就好比网络管理员只需要规定『中国-北京-海淀-维亚大厦』就好了至于后面的楼层和工位号,是可以根据 DHCP自动动态生成的。