2023年11月27日发(作者:)

计算机⽹络体系结构——TCPIP五层协议

带着渴望学习,回头尽是青春

⼀、什么是⽹络协议?

计算机⽹络是由多个互联的点组成,节点之间需要通过某种协议来不断地交换数据和控制信息,这种协议规则明确规定了所交换的数据格式

和时序,以及发送或接收时采取的动作等,这些为进⾏⽹络中的数据交换⽽建⽴的规则,标准或约定称为⽹络协议。

对计算机⽹络的分层和体系结构的功能仁者见仁,智者见智。⽬前⼤众所熟知的体系结构有OSI(Open Systems Interconnection开放系

统互联)参考模型、TCP/IP参考模型。由于因特⽹的问世开始⼤⾯积覆盖世界相当⼤的范围,使得TCP/IP协议得到⼴泛应⽤,⽽法律标准

上的OSI并没有能够占领市场,

1、应⽤层

如何通过应⽤进程间的交互来完成特定的⽹络应⽤。应⽤层协议定义的是应⽤进程间的通信和交互规则。不同的⽹络有不同的协议:

端⼝号名称说明

20ftp-dataFTP数据端⼝

21ftp⽂件传输协议(FTP)控制端⼝

22ssh安全shell(SSH)远程登陆

23telnettelnet远程登陆服务

25smtp简单邮件传输协议SMTP

53dns域名服务

端⼝号名称说明

69tftp简单⽂件传输协议

80http⽤于万维⽹(WWW)服务的超⽂本传输协议(HTTP)

123ntp⽹络时间协议

161/162snmp简单⽹络管理协议

443https安全超⽂本传输协议

1433mysqlmysql数据库服务程序默认端⼝

8080tomcatJava服务器程序默认端⼝

端⼝号是固定好的,端⼝号的范围是0~65535,其中1-1024是被规定好的端⼝,监听该范围端⼝的程序必须以root权限运⾏。从1025-

65535端⼝被称为动态端⼝,可⽤来建⽴与其他主机的会话,也可以由⽤户⾃定义⽤途,所以在写服务器程序时,⼀般使⽤该范围内的端

⼝应尽量避免⼀些知名的端⼝或当前系统正在使⽤的端⼝,具体怎么直到当前主机上运⾏了那些服务器程序并监听了哪些端⼝可以⽤sudo

netstat -tlnp命令查看。

2、传输层

像两台主机中进程之间的通信提供通⽤的数据传输服务,起始各层的协议都是直接或间接的服务于主机与主机之间的通信,传输层就是进程

与进程之间互相通信的协议,⽬前被⼈们所熟知的两个重要协议:

2.1TCP(传输控制)协议

:提供⾯向连接的可靠的数据传输,传输单位为报⽂段(segment),

TCP是点对点的连接,⼀条TCP连接只能连接两个端点;

TCP需要进⾏“三次握⼿”建⽴连接,通信结束后要使⽤“四次挥⼿”断开连接;

TCP提供可靠传输,⽆差错,不丢失,不重复,按顺序传输,但是其开销较⼤,传输速度较慢;

TCP提供全双⼯通信,允许通信双⽅任何时候都能发送数据,发送⽅设有发送缓存,接收⽅设有接收缓存。

关于**“TCP/IP协议三路握⼿、四次挥⼿”**请查看博客:

2.2、UDP(⽤户数据报)协议

提供⾯向⽆连接的、不可靠不稳定的数据传输,

UDP是⽆连接的,发送数据之前不需要接⼒连接,减少了开销和延时;

UDP是⾯向报⽂的,对IP数据报只做简单封装,(8字节UDP报头)减少包头开销;

UDP没有阻塞机制,宁愿阻塞时丢弃数据不传也不阻塞造成延时;

UDP⽀持⼀对⼀、⼀对多、多对⼀、多对多通信。

3、⽹络层

⽹络层最需要的协议就是IP协议,在TCP/IP协议族中,所有的协议数据都依附于IP数据包格式传输,IP协议提供不可靠、⽆连接的数据传

IP地址版本

地址分可容纳主机号容

A类地2^24-1.0.0.0-192.0.0.0-

2=16777214127.255.255.255223.255.255.255

B类地128.0.0.0-128.0.0.0-169.254.X.X是保留地址,191.255.255.255

191.255.255.255191.255.0.0是⼴播地址

C类地192.0.0.0-192.0.0.0-

223.255.255.255223.255.255.0

⽹络号范围IP地址范围私有地址范围保留地址

1.0.0.0-127.0.0.0127.X.X.X是保留地址,⽤作循环测试

172.31.255.2552^16-2=65534

192.168.255.2552^8-2=254

4、数据链路层

计算机⽹络是由主机、路由器和连接他们的链路组成,从源主机发送到⽬的主机的分组必须在⼀段⼀段的链路上传送,数据链路层的任务就

是将分组从链路的⼀段传送到另⼀端,我们将数据链路层传送的数据单元称为“帧”,帧⾥⾯不仅有数据,还包含⼀些控制信息:

控制信息使得接收端能够知道⼀个帧从哪个⽐特开始到那个⽐特结束,也可以⽤于接收端检测所受到的帧中有没有错误信息。

数据链路层的任务就是在相邻结点之间的链路上传送以帧为单位的数据。

5、物理层

物理层是计算机体系结构中的最底层

完成计算机中最基础的任务,就是在传输媒体上传送⽐特流,把数据链路层中帧的每个⽐特从⼀个结点通过传输媒体传送到下⼀个结点,物

理层传送单位是⽐特。

四、总结

在计算机系统中任何可发送或接收信息的硬件或软件进程称为实体,⽽协议是控制两个对等实体进⾏通信的规则的集合,,在协议的控制

下,两个对等实体间的通信使得本层能够向上⼀层提供服务,要实现本层协议,还需要使⽤下⾯所提供的服务。协议在实体中是透明的也就

是说协议是⼀个实际存在但是看起来却好像不存在⼀样的物质。TCP/IP协议可以为各式各样的应⽤提供服务,也能允许IP在各种不同的⽹

络构成的互联⽹上运⾏。