参考推荐:
[网络原理] 网络中的基本概念_菠萝猫yena的博客-CSDN博客
网络协议
网络协议指的是计算机网络中互相通信的对等实体之间交换信息时所必须遵守的规则、标准或约定的集合。
对等实体通常是指计算机网络体系结构中处于相同层次的信息单元(如网络服务器、计算机及交换机、路由器、防火墙等)。
1、网络协议组成要素
网络协议是由三个要素组成:
1) 语义:语义是解释控制信息每个部分的意义。它规定了需要发出何种控制信息,以及完成的动作与做出什么样的响应。
2) 语法:语法是用户数据与控制信息的结构与格式,以及数据出现的顺序。
3) 时序:时序是对事件发生顺序的详细说明。(也可称为“同步”)。
人们形象地把这三个要素描述为:语义表示要做什么,语法表示要怎么做,时序表示做的顺序。
2、网络协议层次结构
由于网络节点之间联系的复杂性,在制定协议时,通常把复杂成分分解成一些简单成分,然后再将它们复合起来。最常用的复合技术就是层次方式,网络协议的层次结构如下:
1)结构中的每一层都规定有明确的服务及接口标准;
2)把用户的应用程序作为最高层;
3)除了最高层外,中间的每一层都向上一层提供服务,同时又是下一层的用户;
4)把物理通信线路作为最低层,它使用从最高层传送来的参数,是提供服务的基础。
3、五元组
在TCP/IP协议中,用五元组表示一个网络通信:
- 源IP:标识源主机
- 源端口号:标识源主机中该次通信发送消息的进程
- 目的IP:标识目的主机
- 目的端口号:标识目的主机中该次通信中接收消息的进程.
- 协议号:标识发送进程和接收进程双方约定的数据格式.
可通过在命令控制行中输入netstat -ano,查看网络传输中的五元组信息。
IP地址
定义: IP地址主要用于表示网络主机及其他网络设备的网络地址。
格式:由32位二进制数组成,为了方便表示,这32位二进制通常以8位为一组,划分为4组,如10001000.10000000.01000000.00000100.通常表示成点分十进制a.b.c.d.(a,b,c,d的取值范围为0~255).如上述地址可转为136.128.64.4。
注意:除上述IPv4地址,还有IPv6地址。
端口号
定义:端口号用于标识主机中发送和接收消息的进程。
格式:端口号是0~65535之间的数字,在网络通信中,进程需要绑定一个端口号来进行接受和发送数据。
注意:一个进程能绑定多个端口号,但两个不同进程不能使用同一个端口号。
4、协议分层
分层的好处,类似于面向接口编程.定义两层的接口规范,让双方遵循这个规范来对接.下层为上层提供服务。
对于提供方来说,利用封装特性,可隐藏具体实现的细节,直接提供接口就可。
对于使用方来说,无需知晓提供方是怎么实现的,直接使用接口就可。
5、OSI七层模型
OSI模型自底向上,分为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层:
层级 | 作用 |
应用层 | 针对特定应用的协议,为用户的应用进程提供服务 |
表示层 | 进行固有数据格式和网络标准数据格式的转换,数据的格式与表达、加密、压缩 |
会话层 | 会话的建立连接,断开连接,管理连接(建立多久的时间) |
传输层 | 保证端到端之间数据的可靠传输 |
网络层 | 规定由哪条路由传输数据,分组传输与路由选择 |
数据链路层 | 规定相邻节点之间的传送和识别数据帧,透明传输帧信息 |
物理层 | 界定网线和连接器的规格,透明传输比特流 |
OSI模型复杂却不实用,在实际应用中,我们常使用的是TCP/IP协议。
6、TCP/IP协议
TCP/IP协议共分为五层,由下至上分别为物理层、数据链路层、网络层、传输层、应用层,下层协议为上层协议提供服务。
物理层: 负责光电信号的传输方式,如同轴电缆、双绞线、光纤、现在的无线网(wifi);物理层决定最大传输速率,传输距离,抗干扰性;集线器工作在物理层。
数据链路层: 负责相邻节点之间的数据帧的传送和识别;帧同步(在网线上检测新帧开始的信号);冲突检测(检测到冲突就自动重发);数据差错校验(检测数据是否完全正确);交换机工作在链路层。
网络层: 负责地址管理和路由选择,在IP协议中,通过IP地址来表示一台主机,通过路由表的方式规划出两台主机数据传输的线路.路由器工作在网络层。
传输层: 考虑起点与终点之间的数据传输,如传输控制协议(TCP)能够保证数据可靠地从源主机发送到目的主机。
应用层: 负责应用程序之间的沟通.如简单电子邮件传输(SMTP),文件传输协议(FIP),网络远程访问协议(TeInet),网络编程主要应用于应用层,
由于物理层被考虑得比较少,所以,TCP/IP也被称为四层协议。
网络协议划分
一般系统网络协议包括五个部分:通信环境,传输服务,词汇表,信息的编码格式,时序、规则和过程。1969年美国国防部建立最早的网络——阿帕计算机网络时,发布了一组计算机通信协议的军用标准,它包括了五个协议,习惯上以其中的TCP和IP两个协议作为这组协议的通称。
TCP/IP是因特网的正式网络协议,是一组在许多独立主机系统之间提供互联功能的协议,规范因特网上所有计算机互联时的传输、解释、执行、互操作,解决计算机系统的互联、互通、操作性,是被公认的网络通信协议的国际工业标准。TCP/IP是分组交换协议,信息被分成多个分组在网上传输,到达接收方后再把这些分组重新组合成原来的信息。
网络协议可大致划分如下:
物理层:以太网、调制解调器、电力线通信(PLC)、SONET/SDH、G.709、光导纤维、同轴电缆、双绞线等;
数据链路层:Wi-Fi(IEEE 802.11)、WiMAX(IEEE 802.16)、ATM、DTM、令牌环、以太网、FDDI、帧中继、GPRS、EVDO、HSPA、HDLC、PPP、L2TP、PPTP、ISDN、STP、CSMA/CD等;
网络层协议:IP (IPv4、IPv6)、ICMP、IGMP、IS-IS、IPsec、ARP、RARP、RIP等;
传输层协议:TCP、UDP、TLS、DCCP、SCTP、RSVP、OSPF 等;
应用层协议:DHCP、DNS、FTP、Gopher、HTTP、IMAP4、IRC、NNTP、XMPP、POP3、SIP、SMTP、SNMP、SSH、TELNET、RPC、RTCP、RTP、RTSP、SDP、SOAP、GTP、STUN、NTP、SSDP、BGP 等。
常见的网络协议
1、基础网络协议
从上而下分别有:
数据链路层:SLIP协议、PPP协议、PPTP协议、L2TP协议等;
网络层:IP协议、ARP协议、IGMP协议、ICMP协议、路由协议(OSPF协议、RIP协议、BGP协议);
传输层:TCP协议、UDP协议;
应用层:HTTP协议、FTP协议、SMTP协议、POP3协议、IMAP 协议、DNS协议、DHCP协议、SNMP协议、Telnet协议等;
简要说明如下:
HTTP(超文本传输协议):用于在Web浏览器和Web服务器之间传输数据。
FTP(文件传输协议):用于在不同计算机之间传输文件。
SMTP(简单邮件传输协议):用于在不同计算机之间传输电子邮件。
POP3(邮局协议版本3):用于从邮件服务器上接收电子邮件。
IMAP(互联网邮件访问协议):用于从邮件服务器上接收电子邮件,并提供更多的邮件管理功能。
DNS(域名系统):用于将域名解析为IP地址,以便计算机之间进行通信。
DHCP(动态主机配置协议):用于自动分配IP地址和其他网络配置信息,以便计算机能够连接到网络。
SNMP(简单网络管理协议):用于管理和监控网络设备,例如路由器、交换机和服务器等。
2、网络安全协议
Kerberos协议:第三方安全认证协议;
SSH协议:安全外壳,加密认证及完整性检查;用于在计算机之间进行加密通信,以保证通信的安全性;
SSL/TLS协议:安全套接层协议/传输层安全协议,认证鉴别机制、加密保护隐私、数据完整性;数据加密、服务器认证、消息完整性以及可选的客户机认证,HTTPS(),用于在Web浏览器和Web服务器之间进行加密通信,以保证通信的安全性;
IPSec协议:网络层安全,加密、认证--密钥管理和交换;
SET协议:安全电子交易协议,基于第三方认证中心,用于解决信用卡电子付款的安全保障性问题;
PGP:一个提供加密和认证的基于RSA公钥及AES等加密算法的加密协议,加密、鉴别、电子签名和压缩,用于保证电子邮件的安全性、发送方鉴别和报文完整性;
S/MIME:电子邮件签发,加密解密认证;
不同的网络协议适用于不同的应用场景,例如HTTP协议适用于Web浏览器和Web服务器之间的数据传输,FTP协议适用于文件传输等等。不同的协议具有不同的功能和特点,用户可以根据自己的需求选择合适的协议。