TCP/IP基础概念及通信过程举例

出现

上个世纪60年代,由于中央集中式网络的容灾性较弱,以美国国防部为中心的一家组织研究出分组交换网络。后来为了验证分组交换技术的实用性,ARPANET出现了,并且在3年内逐渐发展,由4个节点发展至34个节点。20世纪70年代前半叶,ARPANET一个机构研制出了TCP/IP,1982年具体规范确定,1983年成为ARPANET唯一指定协议。乘着TCP/IP的发展之风,互联网应运而生。

标准化

先说明一下TCP/IP的含义。其实它是指利用IP进行通信是所用到的协议群的统称。TCP/IP协议标准化具有两大特点:开放性实用性。前者指任何人可以通过一定的方式制定修改协议;后者指TCP/IP协议根据实际实验情况和可行性不断修改,贴合应用。关于TCP/IP的规范由IETF制定,并在RFC文档中可以查看。具体网址:rfc-editor,读者可以在该网站查看TCP/IP协议文档或是对TCP/IP协议的修改给出自己的建议。

互联网基础认知

前面说了互联网是基于TCP/IP一步步发展起来了,这里大概介绍一下互联网相关的知识。互联网中的每个网络都是由骨干网和末端网组成的,每个网络通过NOC相连。如果运营商不同则通过IX连接。参考下图:

TCP/IP协议分层模型简介及通信举例

这个系列的上一篇文章博主提到了OSI分层模型,下面我们将要学习的是TCP/IP分层模型。先参考下图:

在TCP/IP中把OSI一些层次进行了抽象整合,整个TCP/IP分为硬件、数据链路层、网络层、传输层和应用层。我们在这里先大致介绍一下各个分层的作用,后面的文章会详细对每个分层相关的协议进行梳理。

简介

硬件层:负责数据传输的硬件物理设备,由于硬件之间的差异性难以统一定义及指标。

数据链路层:利用以太网中的数据链路层进行通信,可以理解为NIC的“驱动程序”。

网络层:使用IP协议,类似OSI第三层网络层。此外除了IP协议还有ICMP协议(用于处理数据发送异常),ARP协议(用于从IP地址中解析MAC地址)。

传输层:让应用程序之间实现通信,主要有TCP、UDP两种协议。

应用层:类似OSI中的会话层、表示层及应用层。包括HTTP(应用层)、HTML(表示层)、E-Mail、FTP、SSH等等。

下面通过一个简单的例子来说明一下这些分层是如何协调工作的。

通信举例

发送

再次以发送邮件为例。点击“发送”时开始进行TCP/IP通信。首先程序进行编码,然后确定通信的建立连接、发送数据的时间。下面建立TCP连接。TCP根据应用指示负责建立连接、发送数据及断开连接。TCP首部包括源端口号和目标端口号、序号及校验和(详细内容见后面的文章),通过首部信息传递TCP层的信息。加完首部后数据包往下传递到IP层,IP层加上IP首部包括地址等信息用于寻址操作,之后将数据继续往下传递附加数据链路层首部。最后发送时的分组数据包会加上以太网包尾(用于循环冗余校验)。

接收

主机收到数据包后会在以太网包首部找到MAC地址判断是否为自己的包,如果不是则丢弃,如果是则传递给上一层IP层处理,以此类推,不断往上传递至TCP层。在TCP层会计算校验和以判断数据是否破坏,然后检查是否按序号接收数据,最后检查端口号。处理完成之后数据包继续往上层发送,即到了应用层。如果这时出现主机无邮件信箱、硬盘空间满等情况,主机B则会发送“处理异常”通知发送端。

到这里TCP/IP通信流程大概梳理了一遍,具体细节在后面阐述。

转载于:https://www.cnblogs.com/zhehan54/p/6130032.html

TCP/IP基础概念及通信过程举例相关推荐

  1. Socket编程(C语言实现)—— AF_INET(典型的TCP/IP四层模型的通信过程),AF_UNIX(本地进程间通信)

    1.AF_INET域与Socket通信 其是典型的TCP/IP四层模型的通信过程. (1)接收方与发送方依赖IP和port来标识,即,将本地socket绑定到对应的IP端口上: (2)发送数据时指定对 ...

  2. TCP IP学习笔记① 互联网通信过程

    文章目录 一.TCP/IP和OSI模型 二.协议分层 2.1 物理层 2.2 数据链路层 2.2.1 以太网协议 2.2.2 MAC地址 2.2.4 广播 2.3 网际层 2.3.1 IP地址     ...

  3. 大数据与云计算学习计划 (一) 云计算系统管理 1 TCP/IP简单概念 (概念性)

    大数据与云计算学习计划 (一) 云计算系统管理 1 TCP/IP简单概念 (概念性) 一.前言 二.服务器架构 典型服务模式 三.TCP/IP协议 1.简介 2.主机对主机通信三要素 IP地址 子网掩 ...

  4. 一篇经典的TCP/IP基础知识英文文章

    一篇经典的TCP/IP基础知识英文文章 INTRODUCTION When you configure the TCP/IP protocol on a Microsoft Windows compu ...

  5. 【TCP/IP 协议】 TCP/IP 基础

    总结 : 通过学习 TCP/IP 基础, 并总结相关笔记 和 绘制思维导图 到博客上, 对 TCP/IP 框架有了大致了解, 之后开始详细学习数据链路层的各种细节协议, 并作出笔记; 博客地址 : h ...

  6. TCP/IP协议(二)tcp/ip基础知识

    转载:http://www.cnblogs.com/imyalost/p/6139191.html 一.TCP/IP的标准化 1.TCP/IP的含义 一般来说,TCP/IP是利用IP进行通信时所必须用 ...

  7. tcp丢包率_网络编程 | TCP/IP基础知识

    在2017年10月深圳 Cocos 沙龙上,有幸结识了社区中大名顶顶的Colin,Shawn在论坛上第一次看到Colin的团队用CocosCreator制作的<热血暗黑>时就被深深地震撼到 ...

  8. TCP/IP基础(三)

    文章目录 TCP/IP基础(三) -- IP协议相关技术 DNS 域名的构成 DNS查询 ARP ARP的工作机制 ICMP ICMP消息类型 NAT NAT定义 NAT的工作机制 NAT的潜在问题 ...

  9. TCP/IP基础文章(安全篇)

    TCP/IP基础文章(安全篇)来源:wuhanman转贴 TCP/IP的层次不同提供的安全性也不同,例如,在网络层提供虚拟私用网络,在传输层提供安全套接服务.下面将分别介绍TCP/IP不同层次的安全性 ...

最新文章

  1. Eight puzzle --HOJ 11918
  2. JavaScript的编程风格的见解
  3. 卓越程序员和优秀程序员有哪些区别?
  4. 微型计算机的分类有,微型计算机的分类
  5. C、C++差异之左值右值
  6. MFC开发IM-第十五篇、打包的MFC程序别人无法启动的原因
  7. VBOX+WINDOWSSERVER208R2实现虚拟机内FTP服务器搭建
  8. QT开发(三十四)——QT多线程编程
  9. mysql中的where 1 1_SQL语句中where 1=1和where 1=0的作用
  10. crmeb java单商户源码java二开文档部署文档H5商城部署文档【5】
  11. iOS AVPlayer支持播放的格式
  12. DroidCamX – 让您的 Android 安卓手机瞬间变成电脑的高清无线摄像头
  13. 【Unity3D入门教程】Unity3D简介、安装和程序发布
  14. 蓝桥杯每日一练----字符串逆序
  15. 影响ae渲染时间的计算机配置,分享两套影视后期电脑配置2019 能流畅使用ae和pr的电脑主机推荐...
  16. 中国支付清算协会发布《2022中国支付清算行业社会责任报告》
  17. 【附源码】计算机毕业设计SSM小微企业ERP软件物料需求模块设计
  18. 【华为OD】| 网上商城优惠活动_逻辑分析
  19. 手机如何看python代码_用手机运行Python代码
  20. CCNP学习笔记15

热门文章

  1. matlab编程实现k_means聚类(k均值聚类)
  2. C语言程序设计 细节总结(第9章 结构体共用体枚举)
  3. matlab pup,matlab利用bar函数画不同颜色直方图
  4. python将变量a全部变成大写字母_每天一个Python知识点:只用一招就将所有的英文单词首字母变成大写...
  5. 私钥设置_私钥忘了怎么办,还能找回来吗?能
  6. 为什么vs数据库中文显示问号_本科论文知网不收录为什么会被知网查重到?
  7. 计算机应用基础教材编写建议,【计算机应用论文】计算机应用基础校本教材编写研究(共3136字)...
  8. crtsiii型无砟轨道板_山洞岩隧道无砟轨道施工快速推进
  9. 机器学习中的聚类算法(2):Mean Shift算法
  10. 和12岁小同志搞创客开发:如何驱动LCD1602液晶显示屏?