计算机网络TCP/IP模型
本文概述
- 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, 帧中继。
- Internet层是TCP / IP模型的第二层。
- Internet层也称为网络层。
- Internet层的主要职责是从任何网络发送数据包, 无论它们采用何种路由, 它们都将到达目的地。
【计算机网络TCP/IP模型】IP协议:此层使用IP协议, 它是整个TCP / IP套件中最重要的部分。
以下是此协议的职责:
- IP寻址:此协议实现了称为IP地址的逻辑主机地址。 IP地址被Internet和更高层用来标识设备并提供Internet路由。
- 主机到主机的通信:它确定数据传输的路径。
- 数据封装和格式化:IP协议接受来自传输层协议的数据。 IP协议可确保安全地发送和接收数据, 它将数据封装为称为IP数据报的消息。
- 分段和重组:数据链路层协议对IP数据报的大小施加的限制称为最大传输单位(MTU)。如果IP数据报的大小大于MTU单位, 则IP协议会将数据报拆分为较小的单位, 以便它们可以在本地网络上传输。碎片可以由发送者或中间路由器完成。在接收方, 所有片段都重新组合以形成原始消息。
- 路由:当IP数据报通过同一局域网(例如LAN, MAN, WAN)发送时, 称为直接传递。当源和目标位于远程网络上时, 则间接发送IP数据报。这可以通过在各种设备(例如路由器)上路由IP数据报来实现。
- ARP代表地址解析协议。
- ARP是一种网络层协议, 用于从IP地址中查找物理地址。
- 这两个术语主要与ARP协议相关:ARP请求:当发送方想知道设备的物理地址时, 它将ARP请求广播到网络。 ARP答复:连接到网络的每个设备都将接受ARP请求并处理该请求, 但是只有收件人才能识别IP地址并以ARP答复的形式发回其物理地址。接收者将物理地址添加到其高速缓存和数据报头中
- 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协议的网络浏览器使用HTTP协议与网络交互时, 不能在应用程序层中考虑文本编辑器, 而HTTP协议是应用程序层协议。
- HTTP:HTTP代表超文本传输??协议。该协议使我们可以通过万维网访问数据。它以纯文本, 音频, 视频的形式传输数据。它被称为超文本传输??协议, 因为它可以高效地用于从一个文档快速跳转到另一个文档的超文本环境。
- SNMP:SNMP代表简单网络管理协议。它是用于通过使用TCP / IP协议套件管理Internet上的设备的框架。
- SMTP:SMTP代表简单邮件传输协议。支持电子邮件的TCP / IP协议称为简单邮件传输协议。该协议用于将数据发送到另一个电子邮件地址。
- DNS:DNS代表域名系统。 IP地址用于唯一标识主机到Internet的连接。但是, 人们更喜欢使用名称而不是地址。因此, 将名称映射到地址的系统称为域名系统。
- TELNET:这是终端网络的缩写。它建立本地计算机和远程计算机之间的连接, 以使本地终端看起来像是远程系统上的终端。
- FTP:FTP代表文件传输协议。 FTP是一种标准的Internet协议, 用于将文件从一台计算机传输到另一台计算机。
推荐阅读
- Netty|Java I/O 模型之 BIO
- Netty|Java I/O 模型之 NIO
- 网络编程|TCP/IP网络编程---Linux系统下的TCP套接字编程
- 网络|TCP/IP网络编程C01-理解网络编程和套接字
- TCP、UDP、IP、以太网Ethernet协议报文详解以及使用Wildpackets Omnipeek网络抓包分析
- socket TCP长连接和UDP网络编程实例、阻塞与非阻塞select、常见面试题
- Linux socket网络编程(一)(TCP编程实例、socket编程函数、套接字类型和网络模型)
- TCP/IP五层模型之数据包发送流程
- 什么是OSI七层模型和网络五层模型(有什么功能或作用? – 深入浅出HTTP原理)