从以上体系结构来看,TCP/IP是OSI七层模型的简化,如图3-9所示,共分为4层:应用层,传输层,IP层和物理网络接口层。TCP/IP模型将与物理网络打交道的物理网络部分称为网络接口,它相当于OSI的物理层和数据链路层。

(1) 在源主机上应用层将一串字节流传给传输层;
(2) 传输层将字节流分成TCP段,加上TCP包头交给互联网络(IP)层;
(3) IP层生成一个包,将TCP段放人其数据域,并加上源和目的主机的IPIP包交给数据链路层;
(4) 数据链路层在其帧的数据部分装IP包,发往日的主机或IP路由器;
(5) 在目的主机,数据链路层将数据链路层帧头去掉,将IP包交给互联网层;
(6) IP层检查IP包头,如果包头中的校验和与计算出来的不一致,则丢弃该包;
(7) 如果校验和一致,IP层去掉IP头,将TCP段交给TCP层,TCP层检查顺序号来判断是否为正确的TCP段;
(8) TCP层为TCP包头计算TCP头和数据。如果不对,TCP层丢弃这个包,若对,则向源主机发送确认;
(9) 在目的主机,TCP层去掉TCP头,将字节流传给应用程序;
(10) 于是目的主机收到了源主机发来的字节流,就像直接从源主机发来的一样。

实际上每往下一层,便多加了一个报头,而这个头对上层来说是透明的,上层根本感觉不到下面报头的存在。假设物理网络是以太网,上述基于TCP/IP的文件传输(FTP)应用打包过程便是一个逐层封装的过程,当到达目的主机时,则从下而上去掉包头。

TCP/IP的基本工作原理相关推荐

  1. [TCP/IP] HTTPS的工作原理

    一.首先HTTP请求服务端生成证书,客户端对证书的有效期.合法性.域名是否与请求的域名一致.证书的公钥(RSA加密)等进行校验: 二.客户端如果校验通过后,就根据证书的公钥的有效, 生成随机数,随机数 ...

  2. 深入分析Linux操作系统对于TCP/IP栈的实现原理与具体过程

    一.Linux内核与网络体系结构 在我们了解整个linux系统的网络体系结构之前,我们需要对整个网络体系调用,初始化和交互的位置,同时也是Linux操作系统中最为关键的一部分代码-------内核,有 ...

  3. tcp当主动发出syn_一文读懂TCP四次挥手工作原理及面试常见问题汇总

    简述 本文主要介绍TCP四次挥手的工作原理,以及在面试中常见的问题. 字段含义 seq序号:Sequence Number,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行 ...

  4. 什么是IP地址 IP地址的工作原理

    IP 地址的工作原理 如果您想了解特定设备为何未按预期方式进行连接,或者想要排查网络无法正常工作的可能原因,它可以帮助您了解 IP 地址的工作原理. 互联网协议的工作原理与任何其他语言相同,即使用设定 ...

  5. tcp/ip的模型与原理

    原文 深入理解TCP/IP模型 一.TCP/IP模型 TCP/IP模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网 ...

  6. 协议 驱动 接口 服务器,TCP/IP 协议底层驱动原理 (含网卡芯片读写) 说明 [撸 swoole 和 workerman 的同学建议瞧瞧]...

    本文章简要的说明该协议的大概内容,具体请百度哦! 图片来源于德州仪器网卡芯片的 datasheet 修改过的 OSI 模型层图示[来源于德州仪器厂商的资料说明] TCP/IP 协议族[TCP/IP 族 ...

  7. 单片机tcp ip协议c语言,单片机TCP IP协议栈实现的原理

    对已TCP IP协议栈,我们已经说了很多关于它的原理相关的知识了.但是只有原理是不够的,在这方面我们将要举出一个实际操作实例为大家讲解,那么首先我们来看一下有关于单片机TCP/IP就是在单片机上运行的 ...

  8. 网络通信原理——OSI模型、TCP/IP模型、数据通信原理

    网络通信原理 OSI模型 OSI模型的由来 OSI模型是一种网络标准,所有软件和硬件开发都遵循统一的标准(OSI模型). OSI七层模型(物 数 网 传 会 表 应) 层名称 功能 应用层 为用户提供 ...

  9. TCP可靠传输的工作原理-停止等待连续的ARQ(一)

    在网络传输中,我们认为最理想的传输状态就是: 1.传输信道不产生差错. 2.不管发送方以多块的速度发送数据,接收方都能来得及接受以及处理这些数据. 当然,这种只是理想状态,在实际运用中,几乎是不可能的 ...

最新文章

  1. 重新定义 AI 服务器架构
  2. boost::core模块实现constexpr的地址
  3. jQuery.sap.newObject
  4. LINUX任务(jobs)详解
  5. 以太网接入设备行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  6. 何时不应该使用 Rails?
  7. awk bc命令 linux_Linux 的 awk 命令教程手册,建议收藏!
  8. 2008年下半年软考在即 51CTO将实时提供试题和参考答案
  9. thinkphp htmls.php,ThinkPHP静态缓存简单配置和使用方法详解
  10. c语言饭卡管理系统_c语言饭卡管理系统课程设计报告.pdf
  11. 豆丁 道客巴巴 千图网 千库网 包图网 我图网 摄图网 巧办网 万方设计 中国知网 VIP会员一个月开通方法,十网通用
  12. opencv源码下载编译
  13. 一周信创舆情观察(2.1~2.7)
  14. 批量删除QQ空间说说和日志的js脚本
  15. 1寸、2寸、小2寸的照片尺寸是多少
  16. docker进入容器时报错 Error response from daemon: Container xxx is restarting, wait until the container is
  17. mount卡住不动解决思路
  18. Python测试题(绘制柱状图、画出sin函数图像、散点图、pandas实现列表)
  19. 关于计算机的趣味小知识,10个非常有意思的趣味知识和科学事实
  20. [VM]为Windows Server 2012 R2安装vmtools遇到的问题

热门文章

  1. WPF实现统计图(饼图仿LiveCharts)
  2. 趣味图解+源码分析,轻松吃透Linux
  3. Asp.Net Core 中IdentityServer4 授权流程及刷新Token
  4. 一文读懂开源许可证异同
  5. .NET CORE(C#) WPF亚克力窗体
  6. EF Core For MySql查询中使用DateTime.Now作为查询条件的一个小问题
  7. 【活动】侬好上海,Microsoft Reactor来啦
  8. ASP.NET Core中借助CSRedis实现安全高效的分布式锁
  9. RabbitMQ知多少
  10. .NET开源MSSQL、Redis监控产品Opserver之Redis配置