个人工具

Quick HOWTO : Ch02 : Introduction to Networking/zh

来自Ubuntu中文

Qiii2006讨论 | 贡献2010年7月18日 (日) 16:02的版本 TCP是一个面向连接的协议

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航, 搜索



介绍

       安装 linux操作系统只是向建立一个功能完善的服务器或网站迈出了第一步。几乎每一台电脑都通过某种方式通过网络连接到各种设备上, 所以当使用linux 服务器时,最好要对网络以及相关的知识有一定的了解,这样使用起来才会比较方便。    

       这篇介绍性的章节中的内容为以後的网络配置以及其他的问题解决方案打下了基础。这些章节会向大家介绍如何安装以及配置一些在公司 或是在家办公时要用到的一些流行的软件。    

       接下来的部分的一些概念会解决一些日常的问题,通常是你的同事,朋友,甚至是你自己会提出的问题。它会让这条走向linux的道路更加 的容易,而且让你开始逐步了解OSI网络模型和TCP/IP的知识。  


OSI网络模型

       开放系统互联模型(OSI)是由国际标准化组织开发的,定义在数据通信中各种复杂的软件和硬件如何互相通信。

       一个很好的例子就是一个旅行者准备自己回家,穿过很多危险的国家,在行程开始领取通行证才能进入每个国家。在每个边境我们的朋友必须交出通行证才能进入这个国家,一旦进入,她就问边防导游到下个边境的方向,在下个边防,他展示自己的通行证来证明自己有正当的理由要到那里。

       在OSI模型里,沿着数据通信的路径,各个层被指定了各自的责任,换句话说,一个国家执行他的规则。每层抽取通行证,或者头部信息,这些信息是数据需要的,使用这个信息让留给下一层的数据正确前进。这个层除去通行证,把数据传送给下一层,这个过程循环了7次。

       OSI模型的最底层描述了线路的传输特性,每一个链路或一步路使用的无线频率;第二层描述了链路上的纠错方法;第三层根据头部信息确定了数据可以在链路上一跳一跳得朝目的地传输。当数据到达目的地,第四层的头部被用来决定哪个本地的应用软件可以接收这些数据。应用程序使用第五层的指导方针保持、追踪与远端计算机的各个通信会话。并且使用第六层来校验通信或者文件格式是否正确。最后,第七层定义最终用户可以看到的接口形式,无论是屏幕上的图形还是其他方式。表2-1可以看到模型中每个层的特性描述。

表 2-1: OSI的七层

名称 描述 应用
7 应用层
  • 应用程序的用户接口

telnet

FTP

sendmail

6 表示层
  • 转换数据的表示格式到另外一种。例如,E-mail文本进入到Outlook Express要被转换成SMTP邮件数据格式。
5 会话层
  • 在各种规定的连接上,管理端到端之间应用程序持续的请求和回应,
4 传输层
  • 管理建立和拆除连接。确定未被确定的数据的重传。正确得排序乱序到达的数据包。
  • 在开销字节都被去除后,剩下的数据被称为数据段

TCP UDP

3 网络层
  • 对不是直接物理连接的数据包执行路由操作
  • 在链路开销自己被去除后,剩下的数据被称为

IP ARP

2 数据链路层
  • 差错控制,时钟同步,对直接相连的设备进行流量控制。
  • 链路层之间传输的数据被封装成.

Ethernet

ARP

1 物理层
  • 定义网络布线,接口硬件的电气和物理特性
Ethernet


TCP/IP协议简介

       TCP/IP协议是一个通用标准胡协议簇,提供设备间的连接。基于庞大的OSI模型,OSI主要基于数据通信。

       TCP/IP协议的一个重要组成部分就是因特网协议(IP),IP协议的责任就是确定数据在两个地址之间传输,防止数据被修改。

       为了方便传输,数据一般被分成很多包或者分片,每个都有自己的错误检测字节,这些字节位于包以及分片的控制字段或头部。当远端的计算机接受到这些包,重组这些数据,校验数据,如果正确则传递给期待接收这些数据的程序。

       计算机是如何知道什么程序需要这些数据的呢?每个IP包都包含了一点信息在包的头部,叫做类型字段。这个字段告诉接受数据的计算机第四层所使用的传输机制。

       有两种非常流行的传输机制在互联网上应用。就是传输控制协议(TCP)和用户数据报协议(UDP)。

当传输层的协议类型被确定出来,于TCP/UDP头部接着检查端口值。端口是用来确定计算机上的哪个网络程序可以处理这些数据。这些将在后面详细解释。 

TCP是一个面向连接的协议

       TCP在运行客户端和运行服务器的不同主机之间建立一个虚连接,这样,众多或者零星的数据流可以不定期得在服务器和客户端之间传输。TCP指定每个包的序列号来追踪发送出去的包,并且接收远端主机发送回来的ACK号来确定包的正确投递,使用TCP协议的程序因此有方法可以检测失败的连接,以及请求重传丢失的数据。TCP是面向连接协议的好例子。