4.5、协议
- 1.简介
- 2.常见协议
- 3.UDP协议
- 4.TCP协议
- 5.IP协议
- 6.以太网帧协议
- 7.ARP协议
1.简介
协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。它的三要素是:语法、语义、时序。
为了使数据在网络上从源到达目的,网络通信的参与方必须遵循相同的规则,这套规则称为协议(protocol),它最终体现为在网络上传输的数据包的格式。
协议往往分成几个层次进行定义,分层定义是为了使某一层协议的改变不影响其他层次的协议。
2.常见协议
- 应用层常见的协议有:
FTP协议(File Transfer Protocol 文件传输协议)
、HTTP协议(Hyper Text Transfer Protocol 超文本传输协议)
、NFS(Network File System 网络文件系统)
。 - 传输层常见协议有:
TCP协议(Transmission Control Protocol 传输控制协议)
、UDP协议(User Datagram Protocol 用户数据报协议)
。 - 网络层常见协议有:
IP 协议(Internet Protocol 因特网互联协议)
、ICMP 协议(Internet Control Message Protocol 因特网控制报文协议)
、IGMP 协议(Internet Group Management Protocol 因特网组管理协议)
。 - 网络接口层常见协议有:
ARP协议(Address Resolution Protocol 地址解析协议)
、RARP协议(Reverse Address Resolution Protocol 反向地址解析协议)
。
3.UDP协议
- 源端口号:发送方端口号
- 目的端口号:接收方端口号
- 长度:
UDP
用户数据报的长度,最小值是8
(仅有首部) - 校验和:检测
UDP
用户数据报在传输中是否有错,有错就丢弃
4.TCP协议
- 源端口号:发送方端口号
- 目的端口号:接收方端口号
- 序列号:本报文段的数据的第一个字节的序号
- 确认序号:期望收到对方下一个报文段的第一个数据字节的序号
- 首部长度(数据偏移):
TCP
报文段的数据起始处距离TCP
报文段的起始处有多远,即首部长度。单位:32位
,即以4 字节
为计算单位 - 保留:占
6
位,保留为今后使用,目前应置为0
- 紧急
URG
:此位置1
,表明紧急指针字段有效,它告诉系统此报文段中有紧急数据,应尽快传送 - 确认
ACK
:仅当ACK=1
时确认号字段才有效,TCP
规定,在连接建立后所有传达的报文段都必须把ACK
置1
- 推送
PSH
:当两个应用进程进行交互式的通信时,有时在一端的应用进程希望在键入一个命令后立即就能够收到对方的响应。在这种情况下,TCP
就可以使用推送(push)
操作,这时,发送方TCP
把PSH
置1
,并立即创建一个报文段发送出去,接收方收到PSH = 1
的报文段,就尽快地(即“推送”向前)交付给接收应用进程,而不再等到整个缓存都填满后再向上交付 - 复位
RST
:用于复位相应的TCP
连接 - 同步
SYN
:仅在三次握手建立TCP
连接时有效。当SYN = 1
而ACK = 0
时,表明这是一个连接请求报文段,对方若同意建立连接,则应在相应的报文段中使用SYN = 1
和ACK = 1
。因此,SYN
置1
就表示这是一个连接请求或连接接受报文 - 终止
FIN
:用来释放一个连接。当FIN = 1
时,表明此报文段的发送方的数据已经发送完毕,并要求释放运输连接 - 窗口:指发送本报文段的一方的接收窗口(而不是自己的发送窗口)
- 校验和:校验和字段检验的范围包括首部和数据两部分,在计算校验和时需要加上
12
字节的伪头部 - 紧急指针:仅在
URG = 1
时才有意义,它指出本报文段中的紧急数据的字节数(紧急数据结束后就是普通数据),即指出了紧急数据的末尾在报文中的位置,注意:即使窗口为零时也可发送紧急数据 - 选项:长度可变,最长可达
40
字节,当没有使用选项时,TCP
首部长度是20
字节
5.IP协议
- 版本:
IP
协议的版本。通信双方使用过的IP
协议的版本必须一致,目前最广泛使用的IP
协议版本号为4
(即IPv4
) - 首部长度:单位是
32 位(4 字节)
- 服务类型:一般不适用,取值为
0
- 总长度:指首部加上数据的总长度,单位为字节
- 标识(identification):
IP
软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1
,并将此值赋给标识字段 - 标志(flag):目前只有两位有意义。
- 标志字段中的最低位记为
MF
。MF = 1
即表示后面“还有分片”的数据报。MF = 0
表示这已是若干数据报片中的最后一个。 - 标志字段中间的一位记为
DF
,意思是“不能分片”,只有当DF = 0
时才允许分片
- 标志字段中的最低位记为
- 片偏移:指出较长的分组在分片后,某片在源分组中的相对位置,也就是说,相对于用户数据段的起点,该片从何处开始。片偏移以
8 字节
为偏移单位。 - 生存时间:
TTL
,表明是数据报在网络中的寿命,即为“跳数限制”,由发出数据报的源点设置这个字段。路由器在转发数据之前就把TTL
值减一,当TTL
值减为零时,就丢弃这个数据报。 - 协议:指出此数据报携带的数据时使用何种协议,以便使目的主机的
IP
层知道应将数据部分上交给哪个处理过程,常用的ICMP(1)
,IGMP(2)
,TCP(6)
,UDP(17)
,IPv6(41)
- 首部校验和:只校验数据报的首部,不包括数据部分。
- 源地址:发送方
IP
地址 - 目的地址:接收方
IP
地址
6.以太网帧协议
类型:0x800表示 IP
、0x806表示 ARP
、0x835表示 RARP
7.ARP协议
- 硬件类型:
1 表示 MAC 地址
- 协议类型:
0x800 表示 IP 地址
- 硬件地址长度:
6
- 协议地址长度:
4
- 操作:
1 表示 ARP 请求
,2 表示 ARP 应答
,3 表示 RARP 请求
,4 表示 RARP 应答