TCP/IP --概述
分层
网络协议通常分不同层次进行开发,每一层分别
负责不同的通信功能。一个协议族,比如T C P / I P,是
一组不同层次上的多个协议的组合。T C P / I P通常被认
为是一个四层协议系统。,如图1 - 1所示。
每一层负责不同的功能:
1) 链路层,有时也称作数据链路层或网络接口层,
通常包括操作系统中的设备驱动程序和计算机
中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。
2) 网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在
T C P / I P协议族中,网络层协议包括I P协议(网际协议),I C M P协议(I n t e r n e t互联网控
制报文协议),以及I G M P协议(I n t e r n e t组管理协议)。
3 ) 运输层主要为两台主机上的应用程序提供端到端的通信。在T C P / I P协议族中,有两个
互不相同的传输协议: T C P(传输控制协议)和U D P(用户数据报协议)。
T C P为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分
成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟
等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。
而另一方面, U D P则为应用层提供一种非常简单的服务。它只是把称作数据报的分组
从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠
性必须由应用层来提供。
这两种运输层协议分别在不同的应用程序中有不同的用途,这一点将在后面看到。
4 ) 应用层负责处理特定的应用程序细节。几乎各种不同的T C P / I P实现都会提供下面这些
通用的应用程序:
• Telnet 远程登录。
• FTP 文件传输协议。
• SMTP 简单邮件传送协议。
• SNMP 简单网络管理协议。
另外还有许多其他应用,在后面章节中将介绍其中的一部分。
假设在一个局域网( L A N)如以太网中有两台主机,二者都运行F T P协议,图1 - 2列出了
该过程所涉及到的所有协议。
在图1 - 2的右边,我们注意到应用程序通常是一个用户进程,而下三层则一般在(操作系
统)内核中执行。尽管这不是必需的,但通常都是这样处理的,例如U N I X操作系统。
在图1 - 2中,顶层与下三层之间还有另一个关键的不同之处。应用层关心的是应用程序的
细节,而不是数据在网络中的传输活动。下三层对应用程序一无所知,但它们要处理所有的
通信细节。
在图1 - 2中列举了四种不同层次上的协议。F T P是一种应用层协议, T C P是一种运输层协
议,I P是一种网络层协议,而以太网协议则应用于链路层上。T C P / I P协议族是一组不同的协
议组合在一起构成的协议族。尽管通常称该协议族为T C P / I P,但T C P和I P只是其中的两种协
议而已(该协议族的另一个名字是I n t e r n e t协议族(Internet Protocol Suite))。
网络接口层和应用层的目的是很显然的—前者处理有关通信媒介的细节(以太网、令牌
环网等),而后者处理某个特定的用户应用程序( F T P、Te l n e t等)
图1 - 3是一个包含两个网络的互连网:一个以太网和一个令牌环网,通过一个路由器互相
连接。尽管这里是两台主机通过路由器进行通信,实际上以太网中的任何主机都可以与令牌
环网中的任何主机进行通信。
在图1 - 3中,我们可以划分出端系统( End system )(两边的两台主机)和中间系统
(Intermediate system)(中间的路由器)。应用层和运输层使用端到端( En d - t o - e n d)协议。在
图中,只有端系统需要这两层协议。但是,网络层提供的却是逐跳( Ho p - b y - h o p)协议,两
个端系统和每个中间系统都要使用它。
在T C P / I P协议族中,网络层I P提供的是一种不可靠的服务。也就是说,它只是尽可能快
地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。而另一方面, T C P在不可
靠的I P层上提供了一个可靠的运输层。为了提供这种可靠的服务, T C P采用了超时重传、发
送和接收端到端的确认分组等机制。由此可见,运输层和网络层分别负责不同的功能。
从定义上看,一个路由器具有两个或多个网络接口层(因为它连接了两个或多个网络)。
任何具有多个接口的系统,英文都称作是多接口的( m u l t i h o m e d )。一个主机也可以有多个接口,
但一般不称作路由器, 除非它的功能只是单纯地把分组从一个接口传送到另一个接口。同样,
路由器并不一定指那种在互联网中用来转发分组的特殊硬件盒。大多数的T C P / I P实现也允许
一个多接口主机来担当路由器的功能,但是主机为此必须进行特殊的配置。在这种情况下,
我们既可以称该系统为主机(当它运行某一应用程序时,如F T P或Te l n e t),也可以称之为路
由器(当它把分组从一个网络转发到另一个网络时)。在不同的场合下使用不同的术语。
互联网的目的之一是在应用程序中隐藏所有的物理细节。随着增加不同类型的物理网络,可
能会有2 0个路由器,但应用层仍然是一样的。物理细节的隐藏使得互联网功能非常强大,也
非常有用。
连接网络的另一个途径是使用网桥。网桥是在链路层上对网络进行互连,而路由器则是
在网络层上对网络进行互连。网桥使得多个局域网( L A N)组合在一起,这样对上层来说就
好像是一个局域网。
TCP /IP倾向于使用路由器而不是网桥来连接网络,因此我们将着重介绍路由器。文献
[Perlman 1992]的第1 2章对路由器和网桥进行了比较。
TCP/IP --概述的更多相关文章
- TCP/IP概述(网络互联与TCP/IP)
TCP/IP概述(网络互联与TCP/IP) 用IP实现异构网络互联 从用户角度如何实现异构网络互联: 从用户角度看,实现异构网络互联的关键点就是使各种网络类型之间的差异对自己透明.在TCP/IP协议中 ...
- 网络知识02:TCP/IP概述
一 DOD模型 传输控制协议IRI特网协议(TCP/IP)组是由美国国防部(DOD)所创建的,主要用来确保数据的完整性及在毁灭性战争中保持通信 是由一组不同功能的协议组合在一起的协议簇 利用一组协议 ...
- TCP/IP概述
1) 链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡.它们一起处理与电缆(或其他任何传输媒介)的物理接口细节. 2) 网络层,有时也称作互联网层, ...
- TCP/IP原理浅析
TCP/IP概述 TCP/IP起源于1969年美国国防部(DOD:The United States Department Of Defense)高级研究项目管理局(APRA:AdvancedRese ...
- 01-TCP/IP概述
TCP/IP 概述 允许不同厂家的各种型号的计算机使用不同操作系统互相进行通信 真正的开放系统 "全球互联网"或"因特网"的基础 2.分层 网络协议通常分不同层 ...
- 《TCP/IP详解》
TCP/IP概述 Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本 ...
- 浅析TCP/IP
TCP/IP概述 TCP/IP起源于1969年美国国防部(DOD:The United States Department Of Defense)高级研究项目管理局(APRA:AdvancedRese ...
- 《TCP/IP详解卷1:协议》第1章 概述-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- TCP/IP协议栈概述
TCP/IP协议栈概述 这篇文章虽然只是很粗浅的介绍了ISO/OSI 网络模型,但确实把握住了关键点,某种意义上,简单回顾一下就可以加深对TCP/IP协议栈的理解. 原作者:阮一峰 链接: http: ...
随机推荐
- HDU 6081 度度熊的王国战略【并查集/数据弱水题/正解最小割算法】
链接6081 度度熊的王国战略 Time Limit: 40000/20000 MS (Java/Others) Memory Limit: 32768/132768 K (Java/Others) ...
- 2017中国大学生程序设计竞赛 - 女生专场C【前后缀GCD】
C HDU - 6025 [题意]:去除数列中的一个数字,使去除后的数列中所有数字的gcd尽可能大. [分析]: 数组prefixgcd[],对于prefixgcd[i]=g,g为a[0]-a[i]的 ...
- [BZOJ 1293] 生日礼物
Link: BZOJ 1293 传送门 Solution: 这题直接上尺取法就行了吧 先将每种颜色第一个放入优先队列,用$mx$维护当前的末尾位置 每次取出第一个颜色,更新答案.将其下一个放入队列中去 ...
- 【构造】Codeforces Round #397 by Kaspersky Lab and Barcelona Bootcamp (Div. 1 + Div. 2 combined) D. Artsem and Saunders
根据那两个式子 g(h(x))=x h(g(x))=f(x) 可以推出来两个新的式子 g(f(x))=g(x) h(x)=f(h(x)) 于是,我们先找到f(x)的所有不动点,有几个不动点,m就是多少 ...
- 【树状数组】【枚举约数】 - Ambitious Experiment
给定一个序列,支持以下操作: 对区间[l,r]的每个i,将1i,2i,3i,...这些位置的数都加d. 询问某个位置的数的值. 如果把修改看作对区间[l,r]的每个数+d,那么询问x位置上的数时,显然 ...
- Java高级架构师(一)第20节:X-gen生成需要的Action
package cn.javass.themes.smvcsm.actions; import cn.javass.xgen.genconf.vo.ModuleConfModel; import cn ...
- 网络编程-tcp
一.简单的demo (1)客户端 package com.songyan.tcp; import java.io.IOException; import java.io.InputStream; im ...
- Android App升级Intent
点击“更新检查”,自动下载最新版本安装包,然后开始安装,进入安装界面后很快闪退. 在这两天的适配中,发现这样一个问题,即:在升级覆盖安装软件时,程序能进入安装的界面,但会很快闪退.经过多次尝试,终于找 ...
- CentOS 6.9系统时间和硬件时间设置(转)
总结一下hwclock,这个容易晕: 1)/etc/sysconfig/clock 文件,只对 hwclock 命令有效,且只在系统启动和关闭的时候才有用(修改了其中的 UTC=true 到 UTC= ...
- 网络采集软件核心技术剖析系列(2)---如何使用C#语言获得任意站点博文的正文及标题
一 本系列随笔概览及产生的背景 本系列开篇受到大家的热烈欢迎,这对博主是莫大的鼓励,此为本系列第二篇,希望大家继续支持,为我继续写作提供动力. 自己开发的豆约翰博客备份专家软件工具问世3年多以来,深受 ...