首页 > 其他分享 >TCP/IP网络模型详解

TCP/IP网络模型详解

时间:2024-07-17 17:54:26浏览次数:16  
标签:Protocol IP 模型 TCP 详解 传输层 数据

在计算机网络领域,网络模型通常指的是 OSI(Open Systems Interconnection)参考模型或 TCP/IP(Transmission Control Protocol/Internet Protocol)模型。这些模型描述了网络中数据传输的层次结构,便于理解和设计网络系统。

1.OSI七层网络模型

OSI(Open Systems Interconnection)七层网络模型是国际标准化组织(ISO)制定的一种抽象框架,用于描述计算机网络中数据传输和通信的层次化结构。该模型将网络通信分解为七个层次,每个层次负责不同的功能,从物理传输到应用服务的完整处理过程。

OSI七层模型的各层及其职责:

  1. 物理层(Physical Layer)

    • 职责:负责传输比特流(bitstream)通过物理介质(如电缆、光纤)进行通信。它定义了连接设备的机械、电气、功能和过程特性。
    • 例子:Ethernet、WiFi、光纤等。
  2. 数据链路层(Data Link Layer)

    • 职责:确保在物理链路上传输的数据的可靠性和完整性。它负责将原始比特流转换为有意义的帧(Frame),并处理数据帧的错误检测和纠正。
    • 例子:以太网(Ethernet)、MAC(Media Access Control)地址等。
  3. 网络层(Network Layer)

    • 职责:处理网络间的数据传输路径选择和数据包转发。它负责将数据从源主机传输到目标主机,包括寻址、路由和流量控制。
    • 例子:IP(Internet Protocol)、IPv4、IPv6、路由器等。
  4. 传输层(Transport Layer)

    • 职责:提供端到端的数据传输服务,确保数据的可靠性、完整性和顺序性。它负责将数据分段并在通信的端点重新组装。
    • 例子:TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)。
  5. 会话层(Session Layer)

    • 职责:管理和维护通信会话,包括建立、管理和终止会话连接。它提供了在数据交换中设置、管理和终止会话的方法。
    • 例子:RPC(Remote Procedure Call)、NetBIOS、Sockets等。
  6. 表示层(Presentation Layer)

    • 职责:处理数据的格式化、编码和加密,以确保应用层能够解释接收到的数据。它负责数据的语法和语义转换。
    • 例子:JPEG、ASCII、加密解密等。
  7. 应用层(Application Layer)

    • 职责:为用户提供网络服务,实现特定的应用功能和协议。它是用户能够直接使用的网络服务接口。
    • 例子:HTTP、FTP、SMTP、DNS等。

2.TCP/IP四层网络模型

由于 OSI 模型实在太复杂,提出的也只是概念理论上的分层,并没有提供具体的实现方案。事实上,我们比较常见,也比较实用的是四层模型,即 TCP/IP 网络模型,Linux 系统正是按照这套网络模型来实现网络协议栈的。

TCP/IP四层模型的各层及其职责:

  1. 网络接口层(Network Interface Layer)

    • 职责:负责将数据包从物理介质发送到网络上的其他设备,处理物理地址(MAC地址)和数据帧的格式。
    • 例子:以太网、WiFi、PPP(Point-to-Point Protocol)等。
  2. 网络层(Internet Layer)

    • 职责:负责在网络中寻址、路由和转发数据包,确保数据包从源主机传输到目标主机。
    • 例子:IP(Internet Protocol)、ICMP(Internet Control Message Protocol)、ARP(Address Resolution Protocol)等。
  3. 传输层(Transport Layer)

    • 职责:提供端到端的数据传输服务,确保数据的可靠性、顺序性和流量控制。
    • 例子:TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)。
  4. 应用层(Application Layer)

    • 职责:提供网络服务给最终用户,支持各种应用程序,如电子邮件、网页浏览、文件传输等。
    • 例子:HTTP(Hypertext Transfer Protocol)、FTP(File Transfer Protocol)、SMTP(Simple Mail Transfer Protocol)、DNS(Domain Name System)等。

OSI七层模型与TCP/IP四层模型的对应关系:

  • 应用层(OSI模型第7层) 对应 应用层(TCP/IP模型第4层):提供用户接口,支持特定应用程序的协议和数据格式。
  • 表示层(OSI模型第6层)会话层(OSI模型第5层) 在TCP/IP模型中并没有明确的对应层次,这些功能通常由应用层协议自行处理。
  • 传输层(OSI模型第4层) 对应 传输层(TCP/IP模型第3层):提供端到端的数据传输服务,确保数据的可靠性和流量控制。
  • 网络层(OSI模型第3层) 对应 网络层(TCP/IP模型第2层):负责数据包的路由和转发,确保数据从源主机传输到目标主机。
  • 数据链路层(OSI模型第2层)物理层(OSI模型第1层) 在TCP/IP模型中合并为 网络接口层(TCP/IP模型第1层):处理物理介质和数据帧的传输。

3.数据通信过程

当数据从发送方传输到接收方时,会经历多个层次的封装和解封装过程。

数据封装过程(发送方)

  1. 应用层

    • 应用层生成应用数据,如HTTP请求或电子邮件。
    • 数据形态:应用数据(Application Data)
  2. 传输层

    • 传输层将应用数据封装在TCP或UDP报文段(Segment)中,增加传输层首部(如TCP首部,包含端口号、序列号等)。
    • 数据形态:TCP报文段(TCP Segment)或UDP数据报(UDP Datagram)
  3. 网络层

    • 网络层将传输层报文段封装在IP数据包(Packet)中,增加网络层首部(如IP首部,包含源IP地址、目标IP地址等)。
    • 数据形态:IP数据包(IP Packet)
  4. 网络接口层

    • 网络接口层将IP数据包封装在帧(Frame)中,增加数据链路层首部和尾部(如以太网首部和尾部,包含源MAC地址、目标MAC地址等)。
    • 数据形态:帧(Frame)

封装完成后,数据通过物理介质(如电缆、无线电波等)传输到网络。

数据解封装过程(接收方)

  1. 网络接口层

    • 接收方的网络接口层接收帧并解封装,移除数据链路层的首部和尾部,提取出IP数据包。
    • 数据形态:IP数据包(IP Packet)
  2. 网络层

    • 网络层解封装IP数据包,移除网络层首部,提取出传输层报文段。
    • 数据形态:TCP报文段(TCP Segment)或UDP数据报(UDP Datagram)
  3. 传输层

    • 传输层解封装传输层报文段,移除传输层首部,提取出应用数据。
    • 数据形态:应用数据(Application Data)
  4. 应用层

    • 应用层处理并使用解封装后的数据,如显示网页内容或存储电子邮件。

标签:Protocol,IP,模型,TCP,详解,传输层,数据
From: https://blog.csdn.net/qq_42037383/article/details/140494012

相关文章

  • 基于kube-vip创建k8s高可用集群
     所使用的环境如下:UbuntuServer20.04LTS(自从CentOS变成CentOSStream后就转用Debian/Ubuntu了)containerd1.5.5(k8s1.24之后就不再支持docker了,因此改用containerd)Kubernetesv1.23.5kube-vipv0.4.3(这里为了简单部署使用L2ARP方式)+-------------+--------------......
  • Javascript: Blob, File/FileReader, ArrayBuffer, ReadableStream, Response 转换方
    目录先上图各个ObjectArrayBuffer:Blob:File:FileReader:ReadableStream:Response用法举例ArrayBufferBlob,File,FileReaderReadableStream关于ReadableStream的一点总结Response构造函数Parametersblob()先上图各个ObjectArrayBuffer:1.ArrayBuffer是JavaScript......
  • IPv4地址划分与聚合方案之CIDR(无类域间路由)与VSLM(可变长子网掩码)
    目录基本概念:子网划分与聚合VLSM简介:CIDR简介:应用:1.IPv4子网聚合CIDR:2.IPv4子网划分VLSM与子网数计算:尾声:基本概念:首先IPv4子网划分是什么意思,我们先来讲讲IPv4地址的一个地址构造。比如,192.168.1.1/24,这是一个IPv4地址。子网掩码长度为24,化成点分十进制即为255......
  • 基于QEMU的LCD驱动详解
    1.使用QEMU的优点概述:使用QEMU模型LCD屏幕,可以只写驱动程序,不需要设置LCD硬件相关,也不需要映射Framebuffer。使用QEMU可以非常方便地调试内核、查看驱动程序执行过程有助于深入研究内核及驱动Linux驱动=驱动框架+硬件操作。如果硬件操作足够简单,我们就可以把精力......
  • NOIP2023
    坐标HA背景打完CSP-S后觉得自主招生稳了,就想着NOIP摆烂,所以此游记仅仅是为了凑数。正文Day0不出所料,机房统一集训,但是在CSP集训后导致的期中挂分的影响下,这一想法被家长以及whk老师\(AK\)了。所以直到周五晚上我还在搞whk。Day1.begin早上直接开车去,车上睡觉。......
  • FastJson详解
    文章目录一、FastJson介绍二、FastJson序列化API1、序列化Java对象2、序列化List集合3、序列化Map集合三、FashJson反序列化API1、反序列化Java对象2、反序列化List集合3、反序列化Map集合(带泛型)四、SerializerFeature枚举1、默认字段为null的不显示2、格式化五、@JSo......
  • 以电商、消费行业为例,详解火山引擎数智平台如何应用湖仓一体架构
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群。 随着互联网的不断发展,企业数据的使用场景也发生巨大变化,湖仓一体逐渐成为一种被广泛应用的底层数据架构。 详细来说,湖仓一体架构是一种将数据湖和数据仓库的优势结合起来的新型数据架......
  • sip.Via头域深度解析
    Via头域Via:【1】定义SIP事务的下层(传输层)传输协议,【2】并标识响应消息将要被发送的位置。【3】它记录了请求消息经过的路径,帮助实现消息的路由和追踪。【3】详解:假设有两个用户代理客户端(UserAgent Client,简称UAC)UAC1和UAC2,以及两个代理服务器(sipproxyserver)P1和P2。UAC......
  • SIP消息结构详解
    SIP协议的消息由三部分构成,分别是起始行(请求行+状态行)、消息头和消息体(正文)一.起始行1.请求消息起始行 起始行:由方法名、请求URI和协议版本组成,自身内部用逗号分割,三者之间用空格分隔。例如:INVITE sip:[email protected];user=phone SIP/2.0方法名:SIP协议定义了一系列......
  • 钡铼Profinet、EtherCAT、Modbus、MQTT、Ethernet/IP、OPC UA分布式IO系统BL20X系列耦
    BL20X系列耦合器是钡铼技术开发的一款用于分布式I/O系统的设备,专为工业环境下的高速数据传输和远程设备控制而设计,支持多种工业以太网协议,包括Profinet、EtherCAT、Modbus、MQTT、Ethernet/IP和OPCUA等。如果您正在考虑部署BL20X系列耦合器又不知选择哪款,那不妨来看一看钡铼......