Protocol(一)[概述]

网络通讯协议图

1.协议

协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定,是为了使数据在网络上从源到达目的,网络通信的参与方必须遵循相同的规则,这套规则称为协议(protocol),它最终体现为在网络上传输的数据包的格式,其三要素是:语法、语义、时序。协议往往分成几个层次进行定义,分层定义是为了使某一层协议的改变不影响其他层次的协议。

2.协议的特点

  1. 协议中的每个人都必须了解协议,并且预先知道所要完成的所有的步骤。
  2. 协议中的每个人都必须同意并遵循它。
  3. 协议必须是清楚的,每一步必须明确定义,并且不会引起误解。

3.协议释义

从应用的角度出发,协议可理解为“规则”,是数据传输和数据的解释的规则。假设,A、B双方欲传输文件。规定:
第一次,传输文件名,接收方接收到文件名,应答OK给传输方;
第二次,发送文件的尺寸,接收方接收到该数据再次应答一个OK;
第三次,传输文件内容。同样,接收方接收数据完成后应答OK表示文件内容接收成功。
由此,无论A、B之间传递何种文件,都是通过三次数据传输来完成。A、B之间形成了一个最简单的数据传输规则。双方都按此规则发送、接收数据。A、B之间达成的这个相互遵守的规则即为协议。
这种仅在A、B之间被遵守的协议称之为原始协议。
当此协议被更多的人采用,不断的增加、改进、维护、完善。最终形成一个稳定的、完整的文件传输协议,被广泛应用于各种文件传输过程中。该协议就成为一个标准协议。最早的ftp协议就是由此衍生而来。

4.典型协议


网络层级常见协议
应用层常见的协议有HTTP协议,FTP协议。
传输层常见协议有TCP/UDP协议。
网络层常见协议有IP协议、ICMP协议、IGMP协议。
链路层常见协议有ARP协议、RARP协议。

协议名称协议特性
TCPTCP传输控制协议(Transmission Control Protocol)是一种面向连接的、可靠的基于字节流传输层通信协议
UDPUDP用户数据报协议(User Datagram Protocol)是OSI参考模型中一种无连接传输层协议,提供面向事务简单不可靠信息传送服务
HTTPHTTP超文本传输协议(Hyper Text Transfer Protocol)是互联网上应用最为广泛的一种网络协议
FTPFTP文件传输协议(File Transfer Protocol)
IPIP协议是因特网互联协议(Internet Protocol)
ICMPICMP协议是Internet控制报文协议(Internet Control Message Protocol)它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。
IGMPIGMP协议是 Internet 组管理协议(Internet Group Management Protocol),是因特网协议家族中的一个组播协议。该协议运行在主机和组播路由器之间
ARPARP协议是正向地址解析协议(Address Resolution Protocol),通过已知的IP,寻找对应主机的MAC地址
RARPRARP是反向地址转换协议,通过MAC地址确定IP地址

5.分层模型

1.网络分层架构

为了减少协议设计的复杂性,大多数网络模型均采用分层的方式来组织。每一层都有自己的功能,就像建筑物一样,每一层都靠下一层支持。每一层利用下一层提供的服务来为上一层提供服务,本层服务的实现细节对上层屏蔽。
网络分层架构
越下面的层,越靠近硬件;越上面的层,越靠近用户。


业内普遍的分层方式有两种。OSI七层模型 和TCP/IP四层模型。
OSI七层模型
TCP/IP四层模型


序号层次名称概述
1物理层是计算机网络OSI模型中最低的一层,主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的数模转换与模数转换),物理层的数据叫做比特
2数据链路层定义了如何让格式化数据以帧为单位进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。如:串口通信中使用到的115200、8、N、1
3网络层在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。Internet的发展使得从世界各站点访问信息的用户数大大增加,而网络层正是管理这种连接的层
4传输层定义了一些传输数据的协议和端口号(WWW端口80等),如:TCP(传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP(用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。 主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把传输层的数据叫做段
5会话层通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)。
6表示层可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。例如,PC程序与另一台计算机进行通信,其中一台计算机使用扩展二一十进制交换码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。如有必要,表示层会通过使用一种通格式来实现多种数据格式之间的转换。
7应用层最靠近用户的OSI层。这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务

2.层与协议

网络的每一层,都定义了很多协议。这些协议的总称,叫“TCP/IP协议”。TCP/IP协议是一个大家族,不仅仅只有TCP和IP协议,它还包括其它的协议,如下图:
TCP/IP协议

6.各层功能

TCP/IP协议各层的功能

1.链路层

**以太网规定,连入网络的所有设备,都必须具有“网卡”接口。数据包必须是从一块网卡,传送到另一块网卡。**通过网卡能够使不同的计算机之间连接,从而完成数据通信等功能。网卡的地址——MAC地址,就是数据包的物理发送地址和物理接收地址。

2.网络层

网络层的作用是引进一套新的地址,使得我们能够区分不同的计算机是否属于同一个子网络。这套地址就叫做“网络地址”,就是我们平时所说的IP地址。这个IP地址好比我们的手机号码,通过手机号码可以得到用户所在的归属地。
网络地址帮助我们确定计算机所在的子网络,MAC 地址则将数据包送到该子网络中的目标网卡。网络层协议包含的主要信息是源IP和目的IP。
于是,“网络层”出现以后,每台计算机有了两种地址,一种是 MAC 地址,另一种是网络地址。两种地址之间没有任何联系,MAC 地址是绑定在网卡上的,网络地址则是管理员分配的,它们只是随机组合在一起。
网络地址帮助我们确定计算机所在的子网络,MAC 地址则将数据包送到该子网络中的目标网卡。因此,从逻辑上可以推断,必定是先处理网络地址,然后再处理 MAC 地址。

3.传输层

当一边聊QQ,一边聊微信,当一个数据包从互联网上发来的时候,怎么知道它是来自QQ的内容,还是来自微信的内容?
故而,还需要一个参数,表示这个数据包到底供哪个程序(进程)使用。这个参数就叫做“端口”(port),它其实是每一个使用网卡的程序的编号。每个数据包都发到主机的特定端口,所以不同的程序就能取到自己所需要的数据。
端口特点
对于同一个端口,在不同系统中对应着不同的进程
对于同一个系统,一个端口只能被一个进程拥有

4.应用层

应用程序收到“传输层”的数据,接下来就要进行解读。由于互联网是开放架构,数据来源五花八门,必须事先规定好格式,否则根本无法解读。“应用层”的作用,就是规定应用程序的数据格式。

7.通信过程

通信过程

  • 4
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TCP协议,全称为传输控制协议(Transmission Control Protocol),是一种面向连接的、可靠的、基于字节流的传输层协议。它是互联网协议族中最重要的协议之一,常被用于应用层协议(如HTTP、FTP、SMTP等)的传输。 TCP协议的特点如下: 1. 面向连接:TCP协议在传输数据之前,必须先建立连接,通信双方才能互相发送数据。连接建立包括三次握手,即发送方向接收方发送一个请求连接的报文,接收方回复一个确认连接的报文,最后发送方再回复一个确认连接的报文。这样就确保了通信双方都已经准备好了发送和接收数据。 2. 可靠传输:TCP协议可以确保数据的可靠传输,通过序列号和确认号实现对数据包的可靠传输。发送方将每个数据包编号,并且要求接收方发送确认信息。如果发送方没有收到确认信息,就会重新发送该数据包,直到接收方发送确认信息。 3. 基于字节流:TCP协议是基于字节流的,即将待传输的数据按照字节流的方式进行传输。因此,TCP协议在传输过程中不关心数据的含义,只是将其作为一连串的字节进行传输。 4. 流量控制:TCP协议使用滑动窗口技术来进行流量控制,保证发送方和接收方之间的数据传输速度相匹配。发送方可以根据接收方的反馈动态调整数据发送的速率,避免发送方发送过快导致接收方来不及处理数据。 5. 拥塞控制:TCP协议使用拥塞控制算法来避免网络拥塞。如果网络发生拥塞,TCP会逐步减少发送速率,从而避免网络拥塞的发生。 总之,TCP协议是一种可靠的、面向连接的协议,可以保证数据的可靠传输,并且支持流量控制和拥塞控制,是互联网协议族中最重要的协议之一。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值