一分钟了解 TCP/IP 模型

原文讲的不是特别细,为了便于理解,我颠倒了顺序。
写在开始
我们需要知道协议到底是什么。
在网络上,一个协议对应于管理系统之间如何相互通信的规则。
然后我们需要知道什么是协议族。
一个协议族是一系列协同工作的协议的集合。

什么是 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 模型的更多相关文章
- OSI与TCP/IP模型之比较
摘要:OSI参考模型和Internet模型(或称TCP/IP模型)作为计算网络发展过程影响力大的两大模型,它们共同之处是:都采用了层次结构的概念,从分析两者的异同入手,找出OSI的消亡和Interne ...
- TCP/IP模型的简单解释
TCP/IP模型是互联网的基础.想要理解互联网,就必须理解这个模型.但是,它不好懂,我就从来没有搞懂过. 前几天,BetterExplained上有一篇文章,很通俗地解释了这个模型.我读后有一种恍然大 ...
- TCP/IP模型及OSI七层参考模型各层的功能和主要协议
注:网络体系结构是分层的体系结构,学术派标准OSI参考模型有七层,而工业标准TCP/IP模型有四层.后者成为了事实上的标准,在介绍时通常分为5层来叙述但应注意TCP/IP模型实际上只有四层. 1.TC ...
- 网络通信协议三之TCP/IP模型详解
TCP/IP模型 注:PDU:Protocol Date Unit:表示对等层之间传递的数据单位 TCP:Transmission Control Protocol:传输控制协议 UDP:User D ...
- OSI七层协议与TCP/IP模型
OSI为Open System Interconnection的缩写,意为开放式系统互联,国际标准化组织(ISO,International Organization for Standardizat ...
- OSI与TCP/IP模型
1 OSI参考模型 谈到网络不能不谈OSI参考模型,虽然OSI参考模型的实际应用意义不是很大,但其的确对于理解网络协议内部的运作很有帮助,也为我们学习网络协议提供了一个很好的参考.在现实网络世界里,T ...
- TCP/IP模型的一个简单解释
TCP/IP模型是互联网的基础. 想要理解互联网,就必须理解这个模型.但是,它不好懂,我就从来没有搞懂过. 前几天,BetterExplained上有一篇文章,很通俗地解释了这个模型.我读后有一种恍然 ...
- 网络 OSI参考模型与TCP/IP模型
ISO是国际标准化组织.OSI,开放互联系统.IOS,思科交换机和路由器的操作系统. TCP/IP模型是OSI模型的简化.所有的互联网协议都是基于OSI模型开发的. 分层:便于管理,每层只管理下层,总 ...
- OSI参考模型和TCP/IP模型基本知识
OSI七层模型 为了解决网络之间的兼容性问题,实现网络设备间的相互通信,ISO于1984年提出的OSI参考模型(开放系统互连参考模型).但是由于种种原因,并没有一种完全忠实于OSI参考模型的协议族流行 ...
随机推荐
- Java中的静态代理实现方式
1.编写一个接口类 如:Subject package com.neusoft.pattern.staticProxy; /** * <p>Title:</p> * <p ...
- Python binascii
Python binascii模块 Python binascii模块 用处 包含的函数 相关内置函数 code使用示例 转载请标明出处(http://blog.csdn.net/lis_12/art ...
- 二、SQL的生命周期
MySQL的sql语句由客户端发出,经过连接和权限验证后,最终达到服务器端,由服务器分配thread线程处理,之后就是要介绍的具体服务器端的thread线程是怎么处理每条sql语句的.[ 了解thre ...
- 05 Computing GC Content
Problem The GC-content of a DNA string is given by the percentage of symbols in the string that are ...
- 1 Python入门及计算机硬件知识
一: Python是一种编程语言 语言: 语言是一种事物与另外一种事物沟通的介质 所以说编程语言是程序员和计算机之间实现沟通的桥梁 什么是编程?: 编程就是程序员用计算机所能理解的表达方式(编程语言) ...
- windows7配置git 免密码登录git服务器
1.在桌面右击“Git Bash Here ” 2.输入:cd ~/.ssh/ 3.输入你的git服务器的用户 git config --global user.name "xx" ...
- Linux学习系列——零基础开始
第一部分 Linux基础命令 1.查看系统信息命令 2.Linux内核版本 3.修改环境变量
- 在word上写博客直接发到CSDN博客
目前大部分的博客作者在写博客这件事情上都会遇到以下3个痛点:1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.2.发布到博客或公众号平台 ...
- 编写高质量代码改善C#程序的157个建议——建议77: 正确停止线程
建议77: 正确停止线程 开发者总尝试对自己的代码有更多的控制.例如,“让那个还在工作的线程马上停止下来”.然而,并非我们想怎样就可以怎样的,这至少涉及两个问题. 第一个问题 正如线程不能立即启动一样 ...
- Android R文件的id
如果你用 apktoool 反编译过 apk 就知道,反编译后res/values 下有一个 public.xml 文件,内容如图 这个东西有什么用呢? 先从如何使用资源 ID 开始,在开 ...