-
概述
1960年代,美国国防部组建的军事网络-阿帕网(APRANET),而TCP/IP是在阿帕网上的通信协议族
如果要接入阿帕网,都需要安装tcp/ip协议栈
在那个时候的通信协议栈很多,必须要相同协议栈才能互相通信 -
1983年 OSI七层模型(开发系统互联模型),由ISO (国际标准化组织)提出,采用七层模型来统一不同的网络标准;但是以美国军方为代表的tcp/ip凭借前期优势最终在市场上战胜其他企业标准,现在用的都是tcp/ip协议栈 OSI模型是一个理论框架,而TCP/IP协议栈是一个实施标准
- 应用层:
为用户提供软件/接口- 软件:qq 微信 淘宝 天猫…
- 协议:http,https,bt/p2p,oicq(qq用的协议)
- 传输层:
- 作用:保障用户的数据传输 (丢包重传)
- 协议:TCP(可靠),UDP(不可靠)够快
- 网络层:
- 作用:提供IP地址和三层通信(路由器)功能
- 协议:IP协议
- 链路层:
- 作用:提供MAC地址和二层通信(交换机)功能。
- 协议:Ethernet
- 数据封装与解封装(发送接收过程)打包快递拆快递
- 数据封装是一个为数据包加入寻址信息的过程
- 端口号用于标准不同的应用(80/http,8000 oicq)每一个端口对应一个应用
- ip地址用于唯一标志通信设备,面向路由器
- MAC地址用于局域网标志,面向交换机
- Ethernet以太网协议:
- 用于实现链路层的数据传输和地址封装。
- 三个字段:
- Destination/目的字段:表示目的通信方的MAC地址(48比特位)
- Source/源字段:表示源的MAC地址
- Type:类型 IPv4/IPv6/arp … 标志上层协议
- MAC地址:前半部分“OUI代码”用来表示网卡的生产公司
- IP协议:
- internet protocol 互联网协议 是tcp/ip协议栈中最核心的协议之一,通过ip地址,保证了联网设备的唯一性,实现了网络通信的面向无连接和不可靠的传输功能
- 字段
- Version(版本号)
- Header Length(头部长度):默认20字节,最大60字节
- Differentiated Services Field(服务区分符):用于为不同的IP数据包定义不同的服务质量,一般应用在QoS技术中。
- Total Length(总长度):ip头部加上上层数据包大小,IP包总长度最大为65535个字节。
- Identification(标识符):用于实现IP分片的重组,标识分片属于哪个进程,不同进程通过不同ID区分
- Flags(标志符):用来确认是否还有IP分片或是是否能执行分片
- Fragment offset(分片偏移量):用于标识ip分片的位置,实现ip分片重组
- Time to live(生存时间):TTL 标识数据包的生存时间,操作系统不同 TTL默认值不同 每过一个路由器TTL-1 等于0时丢弃
- Protocol(协议号):标识IP协议上层应用 上层协议 ICMP 为1 TCP 为6 UDP为17
- Header checksum(头部校验):用于检验IP数据包是否完整或被修改,若校验失败就丢弃数据包。
- Source(源IP地址):标识发送者IP地址,占用32bit
- Destination(目的IP地址):标识接收者IP地址,占用32bit
- 方便记忆:
- Source和Destination即源目地址字段,是IP协议最核心的字段;
- Id+Flags+FO三个字段可以实现IP数据分片和重组;
- Total Length 和 Header Length标记IP头部和上层数据的边界;
- TTL生存时间字段可以防止环路
- DSCP服务区分符可以实现流量控制
- Checksum字段可以数据包完整性校验
- Protocol字段标记上层应用
- 总结:
- ip地址就是一张互联网的身份证,需要联网的设备都需要
- 数据包封装的时候会被嵌入IP源目地址,类似快递收发 过程中的快递单,通过IP地址唯一性,确保正常通信
- IP协议不仅只有IP地址这个寻址功能,它还能防止数据包环路、实现流量控制、能验证数据包完整性、能实现数据包分片和组装