协议–
计算机网络传输过程中,事先决定数据格式和传输的规定或“约定”,且网络设备遵循这一系列“约定”对数据进行处理。协议使不同厂商的设备、不同CPU、不同操作系统之间,只要遵循相同的协议就能实现通信。不同协议栈用于定义和管理不同网络的数据转发规则。
-分层模型-OSI
7-应用层:为应用程序提供网络服务
6-表示层:数据格式化,加密、解密
5-会话层:建立、维护、管理会话连接
4-传输层:建立、维护、管理端到端连接
3-网络层:IP寻址和路由选择
2-数据链路层:控制网络层与物理层之间通信
1-物理层:比特流传输
分层模型-TCP/IP
4-应用层
3-传输层
2-网络层
1-网络接口层—-(包含-物理层 -数据链路层)
-数据封装(将数据发送到另一端TCP如何进行)
PDU(协议数据单元) 数据 ——————————————–应用层
Segment(数据段) TCP/UDP报头 数据 ————————–传输层
Packet(数据包) IP报头 TCP/UDP报头 数据 ——————-网络层
Frame(数据帧) MAC报头 IP报头 TCP/UDP报头 数据 ———网络接口层
Bit
-帧格式
Ethernet_II 【D.MAC】【S.MAC】【Type】【Date】【FCS】
IEEE802.3 【D.MAC】【S.MAC】【Length】 【LLC】【SNAP】【Date】【FCS】
=Length/Type >=1536(0×0600)——>>Ethernet_II
=Length/Type <=1500(0×05DC)——>>IEEE802.3
-Ethernet_II(以太网) 帧格式:
【D.MAC】–目的MAC 6B
【S.MAC】 –源MAC 6B
【 Type 】 –类型 2B
【 Date 】 –IP包 46-1500B
【 FCS 】 –校验 4B
———以太网数据帧的长度在64-1518字节之间
MAC地址(物理地址):
由两部分组成,分别是供应商代码和序列号。其中前24位(OUI)代表该供应商代码,由IEEE管理和分配。剩下的24位序列由厂商自己分配。
-数据帧的发送:
1-单播(第八个比特==0)
2-广播(D.MAC中48比特个全为1或0)
3-组播(第八个比特==1)
-数据帧的接收:
当主机接收到的数据帧包含的目的MAC地址是自己时,会把以太网封装 剥掉后送往上层协议
IP报文头部
版本:IP协议的版本,目前的IP协议版本号为4,下一代IP协议版本号为6。
首部长度:IP报头的长度。固定部分的长度(20字节)和可变部分的长度之和。共占4位。最大为1111,即10进制的15,代表IP报头的最大长度可以为15个32bits(4字节),也就是最长可为15*4=60字节,除去固定部分的长度20字节,可变部分的长度最大为40字节。
服务类型:Type Of Service。
总长度:IP报文的总长度。报头的长度和数据部分的长度之和。
标识:唯一的标识主机发送的每一分数据报。通常每发送一个报文,它的值加一。当IP报文长度超过传输网络的MTU(最大传输单元)时必须分片,这个标识字段的值被复制到所有数据分片的标识字段中,使得这些分片在达到最终目的地时可以依照标识字段的内容重新组成原先的数据。
标志:共3位。R、DF、MF三位。目前只有后两位有效,DF位:为1表示不分片,为0表示分片。MF:为1表示“更多的片”,为0表示这是最后一片。
片位移:本分片在原先数据报文中相对首位的偏移位。(需要再乘以8)
生存时间:IP报文所允许通过的路由器的最大数量。每经过一个路由器,TTL减1,当为0时,路由器将该数据报丢弃。TTL 字段是由发送端初始设置一个 8 bit字段.推荐的初始值由分配数字 RFC 指定,当前值为 64。发送 ICMP 回显应答时经常把 TTL 设为最大值 255。TTL值主要是用于避免环路导致的网络拥塞。
协议:指出IP报文携带的数据使用的是那种协议,以便目的主机的IP层能知道要将数据报上交到哪个进程(不同的协议有专门不同的进程处理)。和端口号类似,此处采用协议号,TCP的协议号为6,UDP的协议号为17。ICMP的协议号为1,IGMP的协议号为2.
首部校验和:计算IP头部的校验和,检查IP报头的完整性。
源IP地址:标识IP数据报的源端设备。
目的IP地址:标识IP数据报的目的地址。