TCP/IP网络协议基础知识集锦(1)


引言

本篇属于TCP/IP协议的基础知识,重点介绍了TCP/IP协议簇的内容、作用以及TCP、UDP、IP三种常见网络协议相关的基础知识。

内容

TCP/IP协议簇是由OSI七层模型发展而来的,之所以存在OSI互联参考模型主要有以下几点好处:

1、用于解决不同厂商的设备互联问题:即兼容性考虑;

2、层次化结构独立性强;可扩展性强;

3、统一标准可以方便学习;

TCP/IP模型

TCP/IP模型与OSI模型的相互关系如下图所示:

 enter description here

注释

1、应用层:与OSI的应用层、表示层、会话层相对应,主要作用是向用户应用提供访问网络的接口;

2、传输层:也称为主机到主机层,与OSI的传输层相对应,指定了控制网络层的协议,定义了数据的传输方式是TCP还是UDP,建立两台设备的端到端连接;传输层和数据链路层都定义了流控和差错控制机制,区别是:数据链路层协议强调控制数据链路上的流量,即连接两台设备的物理介质流量,而传输层控制逻辑链路上的流量,即两台设备的端到端连接,这种逻辑连接可能跨越一连串数据链路;

3、网络层:定义了数据包格式和地址格式,主要的作用是IP编址和路由选择。

4、接入层:包括数据链路层和物理层,数据链路层定义了如何访问和共享介质,如何标识介质上的设备即二层编址(MAC地址)以及在介质上发送数据之前如何完成数据成帧,常用的二层协议有:以太网、PPP、HDLC、帧中继、ATM等;物理层定义了物理介质相关的协议即:电子/光学协议(电压、光强、编码、信号波形)机械协议(尺寸、导线的金属成分)功能性协议(描述做什么)程序性协议(描述了如何做如:1表示电压小于-3V)

TCP协议

解释

传输控制协议(TCP):是一种可靠的,面向连接的服务。即:提供了一个类似于点到点的连接。

机制

1、使用序列号对数据包进行标记;

2、使用确认、校验和定时器系统以及重传机制提供可靠性;

3、滑动窗口机制调整数据包的流量:减少因接收方缓冲区满而造成丢失数据包的可能。

报文

 enter description here

注释

1、源端口和目的端口:长度各为16位,为封装的数据指定了源和目的应用程序;应用程序的端口号加上应用程序所在主机的IP地址统称为套接字。在网络上套接字唯一地标识了每一个应用程序。

(补充:常用端口号对应的服务:FTP:TCP21; TELNET:TCP23; SMTP:TCP25; BGP:TCP179; DNS:TCP/UDP53; TFTP:UDP69; SNMP:UDP161; RIP:UDP520;)

2、序列号:字段长度为32位,确定了发送方发送的数据流中被封装的数据所在位置;

3、确认号:长度为32位,确定了源点下一次期望从目标接受的序列号,隐含地确认了收到了该编号的上一个数据包;

4、报头长度:长度为4位,指定了以32位字为单位的报头长度。

5、保留:长度为4位,通常设置为0;

6、标记:8位,用于流和连接控制。从左到右依次是:CWR、ECE、URG、ACK、PSH、RST、SYN、FIN;

7、窗口大小:字段长度16位,主要用于流控制。窗口大小指明接收方接收缓冲区的大小;

8、校验和:长度为16位,对报头和被封装数据进行校验;

9、紧急指针:仅当URG标记置位时使用。16位被添加到序列号上用于指明紧急数据的结束;

10、可选项:用于指明TCP发送进程要求的选项,常用的可选项是最大段长度,用于通知接收者发送者愿意接收的最大段长度,为了保证报文的长度是32个八位组的倍数,使用0填充该字段的剩余部分。

UDP协议

解释

用户数据报协议(UDP):是一种无连接、尽力而为的数据转发服务。

优点

不花时间建立连接,直接发送数据,即开销小,可以使发送小数据量的应用取得更好的性能优势。




相关内容