原文讲的不是特别细,为了便于理解,我颠倒了顺序。

写在开始

我们需要知道协议到底是什么。

在网络上,一个协议对应于管理系统之间如何相互通信的规则。

然后我们需要知道什么是协议族。

一个协议族是一系列协同工作的协议的集合。

什么是 TCP/IP 模型?

TCP/IP(传输控制协议/互联网协议)由 DARPA 在 20 世纪 70 年代提出。这个模型来自于 ARPANET,它同样也是个知名的“互联网模型”。TCP/IP 模型有四个抽象的层次,描述了总体的设计大纲,并实现了网络通信的具体协议。我们将会简短地讨论每个层次最为流行的协议。

1、网络访问层(数据连接 + 物理层)

网络访问层包括主机连接到物理网络所需要的硬件以及传送数据的协议。目标可以是网络上的其他主机,自己,或者远端的路由。互联网层具有整个互联网络的视图,而网络访问层仅限于像路由之类的第三层设备定义的物理层边界。

这个层次的协议取决于所使用的物理网络。如果物理网络是 LAN,那么通常使用的是以太网(802.3)协议以及它的变体,如果使用的是 WAN,常用的则是点对点协议(PPP)以及帧中继等协议。

比较出名的是以太网协议。两台电脑(主机)之间是通过网卡来进行发送和接收数据的。每个网卡都有一个独特的地址,也就是 MAC 地址。以太网数据以帧为单位,包括标头和数据部分。以太网在子网内以广播的形式发送数据。光有 MAC 地址并不能让两台主机之间相互通信,如果两台主机不在同一个子网,以太网协议就没辙了。这就要通过网络层来区分每台主机所在的网络是哪个子网。如果在同一个子网,就用广播发送数据,否则就用路由发送。这就导致了网络层的诞生。

2、网络层(互联网层)

网络层的主要任务是区分主机是不是在同一个子网。网络层将上一层(传输层)接收到的数据分发到目标主机(在同一个网络或者外部网络)。这层确保片段通过网络移动到目标网络。于是引入了所谓的网络地址,即网址。规定网络地址的协议就叫 IP 协议。所以网络地址也称 IP 地址。IP 协议的数据包放在以太网数据包的数据部分,也分为标头和数据两部分。有了 IP 协议,就可以在两个主机之间发送数据了,接下来的问题在于每台主机都有不同的应用,如何区分哪个数据包属于哪个程序?这就是传输层的由来。

3、传输层

传输层的主要任务是为应用层提供会话以及数据报通信服务。它接收应用层的数据,然后把它们分成更小的单元(标头和数据部分在网络层的数据部分),传输到网络层。

这层的任务是确保分割的单元在另一端正确地到达,它关心数据端到端的传输以及建立主机之间的逻辑连接,即所谓建立端口到端口的连接。网络层建立主机到主机的连接,只要有主机和端口,就能确定数据包属于哪个程序的。Unix 系统把主机 + 端口称之为套接字(Socket)。

这一层主要有两个协议:TCP 和 UDP。

4、应用层

这个层次让应用能够访问其他层次的服务,并且定义了让应用交换数据的协议。这一层添加了自己的标头并向下发送到传输层。这一层的主要任务是将接收到的数据包按照协议解读成各种类型的数据,并将要发送的数据打包进传输层。现在数据包的格式看起来是这样的(以 HTTP 为例):

|------| |------| |------| |------| |-------------------|
以太网标头 IP标头 TCP标头 HTTP标头 数据部分
这一层主要的协议有:HTTP、FTP、SMTP、Telnet、NFS、RIP 等等。

一分钟了解 TCP/IP 模型的更多相关文章

  1. OSI与TCP/IP模型之比较

    摘要:OSI参考模型和Internet模型(或称TCP/IP模型)作为计算网络发展过程影响力大的两大模型,它们共同之处是:都采用了层次结构的概念,从分析两者的异同入手,找出OSI的消亡和Interne ...

  2. TCP/IP模型的简单解释

    TCP/IP模型是互联网的基础.想要理解互联网,就必须理解这个模型.但是,它不好懂,我就从来没有搞懂过. 前几天,BetterExplained上有一篇文章,很通俗地解释了这个模型.我读后有一种恍然大 ...

  3. TCP/IP模型及OSI七层参考模型各层的功能和主要协议

    注:网络体系结构是分层的体系结构,学术派标准OSI参考模型有七层,而工业标准TCP/IP模型有四层.后者成为了事实上的标准,在介绍时通常分为5层来叙述但应注意TCP/IP模型实际上只有四层. 1.TC ...

  4. 网络通信协议三之TCP/IP模型详解

    TCP/IP模型 注:PDU:Protocol Date Unit:表示对等层之间传递的数据单位 TCP:Transmission Control Protocol:传输控制协议 UDP:User D ...

  5. OSI七层协议与TCP/IP模型

    OSI为Open System Interconnection的缩写,意为开放式系统互联,国际标准化组织(ISO,International Organization for Standardizat ...

  6. OSI与TCP/IP模型

    1 OSI参考模型 谈到网络不能不谈OSI参考模型,虽然OSI参考模型的实际应用意义不是很大,但其的确对于理解网络协议内部的运作很有帮助,也为我们学习网络协议提供了一个很好的参考.在现实网络世界里,T ...

  7. TCP/IP模型的一个简单解释

    TCP/IP模型是互联网的基础. 想要理解互联网,就必须理解这个模型.但是,它不好懂,我就从来没有搞懂过. 前几天,BetterExplained上有一篇文章,很通俗地解释了这个模型.我读后有一种恍然 ...

  8. 网络 OSI参考模型与TCP/IP模型

    ISO是国际标准化组织.OSI,开放互联系统.IOS,思科交换机和路由器的操作系统. TCP/IP模型是OSI模型的简化.所有的互联网协议都是基于OSI模型开发的. 分层:便于管理,每层只管理下层,总 ...

  9. OSI参考模型和TCP/IP模型基本知识

    OSI七层模型 为了解决网络之间的兼容性问题,实现网络设备间的相互通信,ISO于1984年提出的OSI参考模型(开放系统互连参考模型).但是由于种种原因,并没有一种完全忠实于OSI参考模型的协议族流行 ...

随机推荐

  1. 利用UUID 随机生成8位短号

    //获得8位短号 public static String[] chars = new String[] { "a", "b", "c", ...

  2. 【POJ1284】Primitive Roots

    [题目大意] 给你一个素数n,求n的原根个数. [题解] 关于原根有一个定理: 定理:如果模有原根,那么它一共有个原根. 所以这题就是求phi[phi[n]] 很简单吧...(如果知道这个定理的话) ...

  3. winfrom在图片上实现绘制

    在控件加载入图片的基础上进行绘制内容 添加文字 首先就是要确定输入的文字,还有文字的样式. 文字的样式用到了FontDialog控件,获取文字呢,就放个textbox就可以了.如果在输入文字的显示展示 ...

  4. django项目搭建及Session使用

    django+session+中间件 一.使用命令行创建django项目 在指定路径下创建django项目 django-admin startproject djangocommon   在项目目录 ...

  5. Spring MVC拦截器(Interceptor )详解

    处理器拦截器简介 Spring Web MVC的处理器拦截器(如无特殊说明,下文所说的拦截器即处理器拦截器)类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理. 常见应用场 ...

  6. 最详尽的IntelliJ IDEA项目web项目搭建!!!!!!

    一.创建一个web项目(首次创建最麻烦) 1.保证安装好软件 2.双击打开软件-->新建一个项目 3.web项目选择如图,先建立一个空的项目空间来放置你的项目,这是一个区别 相当于myeclip ...

  7. makeword()

    MAKEWORD(学习之用,转载) MAKEWORD 宏 平台:SDK 这个宏创建一个被指定变量连接而成的WORD变量.返回一个WORD变量. (注:typedef unsigned short WO ...

  8. 微信小程序中使用阿里字体图标

    在微信小程序中使用阿里字体图标 ,不通过转换成base64的方式实现. 为了美化微信小程序,可以适当的使用一些小图标,这样体验也更友好些,于是决定使用常用的字体图标. 下载图标 首先在阿里字体图标查找 ...

  9. Gym 100989L (DFS)

    AbdelKader enjoys math. He feels very frustrated whenever he sees an incorrect equation and so he tr ...

  10. 解决VS2010中工具箱里没有WPM

    我前段时间要用到MS的WPM,但苦于找不到解决不了,无奈重装后一样的情况我的win7 旗舰版版+VS2010旗舰版.在控制面板里找到多媒体重新关闭并从新打开,就OK啦..记得要重启哦...