本文参考链接:
1)MTU 百度百科 https://baike.baidu.com/item/mtu/508920?fr=aladdin
2)Http1.x和Http2.0 https://www.cnblogs.com/heluan/p/8620312.html
3) Ipv4和Ipv6对比 https://zhidao.baidu.com/question/113756183.html
4) 动态主机配置协议 https://blog.csdn.net/qq_41636653/article/details/81751060
1.TCP/IP 协议族 体系结构及主要协议
TCP/IP协议族,这是一个分层、多协议的通信体系
1.1 体系结构
- 数据链路层:网卡接口的网络驱动程序,处理数据在物理传输媒介上的传输
- ARP 地址解析协议
- RARP 逆地址解析协议
这两个协议主要负责IP地址和机器物理地址的映射,其中网络层是通过IP地址来锁定一个主机的,而数据链路层是通过物理地址来锁定一个主机的。
2)网络层:数据包的选路和转发
不同的主机是由很多节点(路由器或者其它物理设备)链接在一起的,路由器的主要工作就是选取合适的路径将数据包转发到正确的主机上。
IP协议:根据数据包的目的IP地址决定如何投递信息
ICMP协议:检测网络连接
3)传输层:为两台主机上的应用程序提供端到端的通信
TCP协议:传输控制协议,为应用层提供可靠的、面向连接的、基于流的服务(超时重传)。
UDP协议:用户数据报协议,为应用层提供不可靠、无连接、基于数据报的服务。
SCTP协议:流控制传输协议,为在因特网上传输电话信号而设计的服务。
4)应用层:处理应用程序的逻辑
1.2 封装
1)TCP报文段:
2)用户数据报:
3)帧
传输的媒介不同,帧的类型就不同
1.3 分用
通过分用使在帧到达目的主机沿着自底向上依次传递时,各层协议依次处理帧中本层负责头部数据,以获取所需的信息,并最终将处理后的帧交给目标应用程序
1.4 ARP协议
实现任意网络层地址到任意物理层地址的转换
1.5 DNS
域名服务,将机器域名转换成IP地址
2.IP服务
IP协议是TCP/IP协议族的动力,它为上层协议提供无状态、无连接、不可靠的服务
2.1 无状态
2.2 无连接
IP通信双方都不长久地维持对方的任何信息,每次发送数据时都必须指定对方IP地址
2.3 不可靠
IP协议不能保证IP数据报准确到达接收端,只是承诺尽最大努力,所以IP协议上层的协议需要自己实现数据确认、超时重传等机制以达到可靠传输的目的
2.4 IP头部结构
IP头部信息出现在每个IP数据报中,用于指定IP通信的源IP地址、目的端IP地址,指导IP分片和重组,以及指定部分通信行为
IPv4:
因此IP数据报最大的长度单位是65535字节,2^16-1个字节,但由于MTU的限制,IP数据报都会被分片传输,接下来的3个字段标识如何进行分片,如果在标识位增加了DF表示禁止分片,这种情况下如果IP数据报的长度超过了MTU的限制,就会丢弃数据报并返回一个差错报文。
TTL(8位生存时间):每经过一跳路由,就会减一,直到变为0就丢弃这个报文并返回差错报文。
8位的协议用来区分上层的协议,其中ICMP是1,TCP是6,UDP是17
IPv6:
扩展头部:
3.IP 分片
当IP数据报的长度超过帧的MTU时,它将被分片传输
以太网帧的MTU是1500字节,因此它携带IP数据报的最大字节是1480字节,因为IP头部的大小是20字节
4.IP 路由
计算下一跳路由:维护一个路由表,采取不同的路由策略动态更新路由表
5.IP 转发
6.ICMP 重定向
未完待续 之后补充