zoukankan      html  css  js  c++  java
  • 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章对路由器和网桥进行了比较。

     

  • 相关阅读:
    SQL Azure (17) SQL Azure V12
    Microsoft Azure News(5) Azure新DV2系列虚拟机上线
    Azure Redis Cache (3) 在Windows 环境下使用Redis Benchmark
    Azure PowerShell (11) 使用自定义虚拟机镜像模板,创建Azure虚拟机并绑定公网IP(VIP)和内网IP(DIP)
    Windows Azure Virtual Machine (31) 迁移Azure虚拟机
    Windows Azure Web Site (16) Azure Web Site HTTPS
    Azure China (12) 域名备案问题
    一分钟快速入门openstack
    管理员必备的Linux系统监控工具
    Keepalived+Nginx实现高可用和双主节点负载均衡
  • 原文地址:https://www.cnblogs.com/saryli/p/5286009.html
Copyright © 2011-2022 走看看