上节《OSI网络七层模型简明教程》中讲到,目前实际使用的网络模型是 TCP/IP 模型,它对 OSI 模型进行了简化,只包含了四层,从上到下分别是应用层、传输层、网络层和链路层(网络接口层),每一层都包含了若干协议。

协议(Protocol)就是网络通信过程中的约定或者合同,通信的双方必须都遵守才能正常收发数据。协议有很多种,例如 TCP、UDP、IP 等,通信的双方必须使用同一协议才能通信。协议是一种规范,由计算机组织制定,规定了很多细节,例如,如何建立连接,如何相互识别等。

协议仅仅是一种规范,必须由计算机软件来实现。例如 IP 协议规定了如何找到目标计算机,那么各个开发商在开发自己的软件时就必须遵守该协议,不能另起炉灶。

TCP/IP 模型包含了 TCP、IP、UDP、Telnet、FTP、SMTP 等上百个互为关联的协议,其中 TCP 和 IP 是最常用的两种底层协议,所以把它们统称为“TCP/IP 协议族”。

也就是说,“TCP/IP模型”中所涉及到的协议称为“TCP/IP协议族”,你可以区分这两个概念,也可以认为它们是等价的,随便你怎么想。

本教程所讲的 socket 编程是基于 TCP 和 UDP 协议的,它们的层级关系如下图所示:

【扩展阅读】开放式系统(Open System)

把协议分成多个层次有哪些优点?协议设计更容易?当然这也足以成为优点之一。但是还有更重要的原因,就是为了通过标准化操作设计成开放式系统。

标准本身就是对外公开的,会引导更多的人遵守规范。以多个标准为依据设计的系统称为开放式系统(Open System),我们现在学习的 TCP/IP 协议族也属于其中之一。

接下来了解一下开放式系统具有哪些优点。

路由器用来完成 IP 层的交互任务。某个网络原来使用 A 公司的路由器,现要将其替换成 B 公司的,是否可行?这并非难事,并不一定要换成同一公司的同一型号路由器,因为所有生产商都会按照 IP 层标准制造。

再举个例子。大家的计算机是否装有网络接口卡,也就是所谓的网卡?尚未安装也无妨,其实很容易买到,因为所有网卡制造商都会遵守链路层的协议标准。这就是开放式系统的优点。

标准的存在意味着高速的技术发展,这也是开放式系统设计最大的原因所在。实际上,软件工程中的“面向对象(Object Oriented)”的诞生背景中也有标准化的影子。也就是说,标准对于技术发展起着举足轻重的作用。

5、TCP/IP协议族相关推荐

  1. HTTP 协议入门 — (TCP/IP协议族、通信传输流、URI 与 URL 的区别、Cookie 状态管理、HTTP 支持的方法、状态码类别、HTTP 首部字段)

    TCP/IP协议族 在介绍 HTTP 协议之前,我们先对 TCP/IP 协议族有个大概的了解,TCP/IP 协议从上到下主要分为应用层.传输层.网络层和数据链路层,各层的主要功能如下表所示: 协议层 ...

  2. TCP/IP协议族(一) HTTP简介、请求方法与响应状态码

    接下来想系统的回顾一下TCP/IP协议族的相关东西,当然这些东西大部分是在大学的时候学过的,但是那句话,基础的东西还是要不时的回顾回顾的.接下来的几篇博客都是关于TCP/IP协议族的,本篇博客就先简单 ...

  3. 深入理解TCP/IP协议族

    TCP/IP协议族是一个四层协议系统,自底而上分别是数据链路层.网络层.传输层和应用层.每一层完成不同的功能, 且通过若干协议来实现,上层协议使用下层协议提供的服务. MAC地址,处于数据链路层. I ...

  4. Network 之五 TCP/IP 协议族、工作流程、常用协议格式

      最近工作需要搞网络相关的内容,由于之前对网络了解比较少,因此开始重点学习一下网络相关的各种知识.博文中的有些内容来自于在学习过程中对于一些互联网上我认为的重点知识的记录,如果侵权请联系删除!    ...

  5. 第一章 TCP/IP协议族

    一.协议族体系结构 TCP/IP协议族分为四层协议系统,自底向下分别为数据链路层.网络层.传输层.应用层. 数据链路层常用ARP(地址解析协议)和RARP(逆地址解析协议).在网络层使用IP寻址,而在 ...

  6. 网络传输之TCP/IP协议族

    我们现实网络无处不在,我们被庞大的虚拟网络包围,但我们却对它是怎样把我们的信息传递并实现通信的,我们并没有了解过,那么当我们在浏览器中出入一段地址,按下回车这背后都会发生什么? 比如说一般场景下,客户 ...

  7. TCP/IP协议族之运输层(TCP流量控制和拥塞控制 [1])

    TCP的流量控制 1. 利用滑动窗口实现流量控制 如果发送方把数据发送得过快,接收方可能会来不及接收,这就会造成数据的丢失.所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收. 利用滑动 ...

  8. TCP/IP协议族 详解(TCP/IP四层模型、OSI七层模型)

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. TCP/IP协议族(TCP/IP Protocol Suite,或TCP/IP Protocols) ...

  9. tcp ip协议_网络通信-TCP/IP协议族简述

    导读:计算机与网络设备要相互通信需要遵守同样的规则.例如,如何找到通信目标.该使用哪种语言通信.怎么结束通信等规则.不同的硬件.操作系统之间的通信都需要遵循同一种规则,这种规则也称为是协议.下面本文主 ...

  10. TCP/IP协议族在异构网络互联中的作用

    TCP/IP协议族由应用层 .传输层.网络层.数据链路层和物理层构成,每一层的功能由一个或多个协议实现 TCP/IP协议族模型各层所处网络和用到的协议: 物理层&数据链路层:ARPANET . ...

最新文章

  1. idm 爬取网站 跳转路径_儋州网站案例基本流程,电子元件网络推广,浅析
  2. linux禁止普通用户切换,Linux系统如何禁止普通用户切换root?
  3. Matlab如何绘制散点图矩阵,不同版本的散点图矩阵
  4. kubernetes1.8.4 安装指南 -- 8. 安装Kube DNS
  5. 走向无后端的系统开发实践:CRUD自动化与强约定的REST接口
  6. 【Linux入门学习之】grep命令详解
  7. TypeScript入门教程 之 箭头函数
  8. Linux系统编程 -- 线程私有属性
  9. Apache Flink 1.9重磅发布!首次合并阿里内部版本Blink重要功能
  10. java scjp考试_Java开发网 - 【经验】今天以96通过SCJP考试(含考试经验和部分真题)[转帖]...
  11. RK3399基于ubuntu文件系统的audio调试
  12. Linux下 SVN 常用命令
  13. 使用calibration_toolkit进行相机和三维激光雷达的联合标定(详细步骤)
  14. 数据分析在网络营销中的意义有哪些
  15. 淘宝R2去模糊化+聚石塔+奇门
  16. Google 开源项目风格指南学习笔记——C++篇
  17. java自由职业者_自由职业者的7个重要技巧
  18. PD虚拟机如何设置内存和CPU核心数
  19. 自然人代开是什么政策,怎么操作呢?
  20. [单片机][FUSB302][PD1.0][PD2.0] PD协议 Demo 例子 代码

热门文章

  1. 如何给女朋友解释为什么Java不支持多继承?
  2. 什么蓝牙耳机听歌音质好?好用音质蓝牙耳机
  3. 计算机桌面变色怎么办,电脑屏幕变色是怎么回事
  4. HTML中特殊符号的介绍
  5. pytest接口自动化框架搭建
  6. 水浸传感器漏水探测器作用原理
  7. 如何将照片或者视频中的背景图抠掉,机器学习开源项目使用 | 机器学习
  8. Camera2 openCamera
  9. CVE-2016-6816、CVE-2016-8735、CVE-2016-8745、CVE-2017-5647
  10. 银企对账系统软件测试,银联对账系统自动化测试的设计与实现