计算机网络 TCP/IP模型
- TCP/IP模型是在OSI模型之前开发出来的。
- TCP/IP模型与OSI模型并不完全相似。
- TCP/IP模型由五层组成:应用层、传输层、网络层、数据链路层和物理层。
- 前四层提供与OSI模型的前四层相对应的物理标准、网络接口、互联网和传输功能,而这四层在TCP/IP模型中由一个被称为应用层的单一层表示。
- TCP/IP是一种分层协议,由交互模块组成,每个模块都提供特定的功能。
在这里,分层的意思是每个上层协议由两个或更多的低级协议支持。
TCP/IP层的功能:
网络访问层
- 网络层是TCP/IP模型的最低层。
- 网络层是OSI参考模型中定义的物理层和数据链路层的组合。
- 它定义了如何通过网络物理地发送数据。
- 该层主要负责在同一网络上的两个设备之间传输数据。
- 该层的功能包括将IP数据报封装成网络传输的帧以及将IP地址映射为物理地址。
- 该层使用的协议有以太网,令牌环网,FDDI,X.25,帧中继。
互联网层
- 互联网层是TCP/IP模型的第二层。
- 互联网层也被称为网络层。
- 互联网层的主要责任是从任何网络发送数据包,并确保它们到达目的地而不考虑所采取的路由。
以下是在该层中使用的协议:
IP协议: IP协议在该层中使用,它是整个TCP/IP套件中最重要的部分。
以下是该协议的职责:
- IP寻址: 此协议实现了称为IP地址的逻辑主机地址。互联网和更高层使用IP地址来识别设备和提供互联网路由。
- 主机对主机通信: 确定数据传输的路径。
- 数据封装和格式化: IP协议接受来自传输层协议的数据。IP协议确保安全地发送和接收数据,它将数据封装成称为IP数据报的消息。
- 分段和重组: 数据链路层协议对IP数据报的大小施加的限制称为最大传输单元(MTU)。如果IP数据报的大小大于MTU单元,则IP协议将数据报分割成较小的单元,以便它们可以在本地网络上传输。分段可以由发送方或中间路由器进行。在接收方,所有片段将重新组装成原始消息。
- 路由: 当IP数据报通过同一本地网络(例如LAN,MAN,WAN)发送时,称为直接交付。当源和目标在远程网络上时,IP数据报则通过路由器等各种设备间接发送。这可以通过将IP数据报路由到各个设备(如路由器)来实现。
ARP协议
- ARP的意思是 地址解析协议 。
- ARP是一种网络层协议,用于从IP地址查找物理地址。
- ARP协议主要涉及以下两个术语:
- ARP请求: 当发送方想要知道设备的物理地址时,它会向网络广播ARP请求。
- ARP回复: 连接到网络的每个设备都将接受ARP请求并处理该请求,但只有接收方识别IP地址并以ARP回复的形式返回其物理地址。接收方将物理地址添加到其缓存存储器和数据报头中。
ICMP协议
- ICMP 代表Internet控制消息协议。
- 它是主机或路由器用于将有关数据报问题的通知发送回发送方的机制。
- 数据报从路由器到路由器传播,直到到达目的地。如果由于某些异常情况(如禁用链接,设备着火或网络拥塞)而无法路由数据,则使用ICMP协议通知发送方数据报无法传递。
- ICMP协议主要使用以下两个术语:
- ICMP测试: ICMP测试用于测试目标是否可访问。
- ICMP回复: ICMP回复用于检查目标设备是否正在响应。
- ICMP协议的核心责任是报告问题,而不是进行纠正。更正的责任在发送方。
- ICMP只能将消息发送给源,而不能发送给中间路由器,因为IP数据报携带源和目的地的地址,但不携带经过的路由器的地址。
传输层
传输层负责在网络上传输的数据的可靠性、流量控制和纠错。
传输层使用的两个协议是 用户数据报协议和传输控制协议 。
- 用户数据报协议(UDP)
- 它提供无连接的服务和端到端的传输传递。
- 它是一种不可靠的协议,因为它可以发现错误,但不能指定错误。
- 用户数据报协议发现错误,ICMP协议向发送方报告用户数据报已被损坏的错误。
- UDP由以下字段组成: 源端口地址 源端口地址是创建消息的应用程序的地址。 目标端口地址 目标端口地址是接收消息的应用程序的地址。 总长度 它定义了用户数据报的总字节数。 校验和 校验和是用于错误检测的16位字段。
- UDP不指定哪个数据包丢失。UDP只包含校验和,不包含任何数据段的ID。
- 传输控制协议(TCP)
- 它为应用程序提供完整的传输层服务。
- 它在发送方和接收方之间创建一个虚拟电路,并在传输期间保持活动状态。
- TCP是一种可靠的协议,因为它可以检测错误并重新传输损坏的帧。因此,在传输被认为已完成并且虚拟电路已丢弃之前,它确保所有段必须被接收和确认。
- 在发送端,TCP将整个消息分成称为段的较小单元,并且每个段包含一个序列号,该序列号用于重新排序帧以形成原始消息。
- 在接收端,TCP收集所有段并根据序列号对它们进行排序。
应用层
- 应用层是TCP/IP模型中的最高层。
- 它负责处理高级协议、表示问题。
- 该层允许用户与应用程序进行交互。
- 当一个应用层协议要与另一个应用层通信时,它将其数据转发到传输层。
- 应用层存在一个歧义。除了与通信系统进行交互的应用程序外,不是每个应用程序都可以放在应用层中。例如:文本编辑器不能被视为应用层,而使用HTTP协议与网络进行交互的Web浏览器可以被视为应用层协议。
以下是应用层中使用的主要协议:
- HTTP: HTTP代表超文本传输协议。该协议允许我们访问互联网上的数据。它以纯文本、音频、视频的形式传输数据。它被称为超文本传输协议,因为它在超文本环境中使用时,可以快速跳转到另一个文档。
- SNMP: SNMP代表简单网络管理协议。它是使用TCP/IP协议套件管理互联网上的设备的框架。
- SMTP: SMTP代表简单邮件传输协议。支持电子邮件的TCP/IP协议称为简单邮件传输协议。该协议用于将数据发送到另一个电子邮件地址。
- DNS: DNS代表域名系统。IP地址用于唯一标识主机与互联网的连接。但是,人们更喜欢使用名称而不是地址。因此,将名称映射到地址的系统称为域名系统。
- TELNET: TELNET是Terminal Network的缩写。它在本地计算机和远程计算机之间建立连接,以使本地终端似乎是远程系统的终端。
- FTP: FTP代表文件传输协议。FTP是用于在计算机之间传输文件的标准互联网协议。