tcpip:TCP和IP

TCP/IP通讯协议

这部分简要介绍下TCP/IP内部结构为讨论和互联网有关安全问题打下基础TCP/IP协议组的所以流行部分原因是它可以用在各种各样信道和底层协议(例如T1和X.25、以太网以及RS-232串行接口)的上确切地说TCP/IP协议是组包括TCP协议和IP协议UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他些协议协议组

TCP/IP整体构架概述

TCP/IP协议并不完全符合OSI 7层参考模型传统开放式系统互连参考模型种通信协议7层抽象参考模型,其中每层执行某特定任务该模型是使各种硬件在相同层次上相互通信这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层而TCP/IP通讯协议采用了4层层级结构层都呼叫它层所提供网络来完成自己需求这4层分别为:

应用层:应用间沟通如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等

传输层:在此层中它提供了节点间数据传送服务如传输控制协议(TCP)、用户数据报协议(UDP)等TCP和UDP给数据包加入传输数据并把它传输到下层中层负责传送数据并且确定数据已被送达并接收

互连网络层:负责提供基本数据封包传送功能让每块数据包都能够到达目主机(但不检查是否被正确接收)如网际协议(IP)

网络接口层:对实际网络媒体管理定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据

TCP/IP中协议

以下简单介绍TCP/IP中协议都具备什么样功能都是如何工作:

1. IP

网际协议IP是TCP/IP心脏也是网络层中最重要协议

IP层接收由更低层(网络接口层例如以太网设备驱动)发来数据包并把该数据包发送到更高层---TCP或UDP层;相反IP层也把从TCP或UDP层接收来数据包传送到更低层IP数据包是不可靠IP并没有做任何事情来确认数据包是按顺序发送或者没有被破坏IP数据包中含有发送它主机地址(源地址)和接收它主机地址(目地址)

高层TCP和UDP服务在接收数据包时通常假设包中源地址是有效也可以这样说IP地址形成了许多服务认证基础这些服务相信数据包是从个有效主机发送来IP确认包含个选项叫作IP source routing可以用来指定条源地址和目地址的间直接路径对于些TCP和UDP服务来说使用了该选项IP包好像是从路径上最后个系统传递过来而不是来自于它真实地点这个选项是为了测试而存在介绍说明了它可以被用来欺骗系统来进行平常是被禁止连接那么许多依靠IP源地址做确认服务将产生问题并且会被非法入侵

2. TCP

如果IP数据包中有已经封好TCP数据包那么IP将把它们向‘上’传送到TCP层TCP将包排序并进行检查同时实现虚电路间连接TCP数据包中包括序号和确认所以未按照顺序收到包可以被排序而损坏包可以被重传

TCP将它信息送到更高层应用例如Telnet服务和客户应用轮流将信息送回TCP层TCP层便将它们向下传送到IP层设备驱动和物理介质最后到接收方

面向连接服务(例如Telnet、FTP、rlogin、X Windows和SMTP)需要高度可靠性所以它们使用了TCPDNS在某些情况下使用TCP(发送和接收域名数据库)但使用UDP传送有关单个主机信息

3.UDP

UDP和TCP位于同但对于数据包顺序或重发因此UDP不被应用于那些使用虚电路面向连接服务UDP主要用于那些面向查询---应答服务例如NFS相对于FTP或Telnet这些服务需要交换信息量较小使用UDP服务包括NTP(网落时间协议)和DNS(DNS也使用TCP)

欺骗UDP包比欺骗TCP包更容易UDP没有建立化连接(也可以称为握手)(在两个系统间没有虚电路)也就是说和UDP相关服务面临着更大危险

4.ICMP

ICMP和IP位于同它被用来传送IP控制信息它主要是用来提供有关通向目地址路径信息ICMP‘Redirect’信息通知主机通向其他系统更准确路径而‘Unreachable’信息则指出路径有问题另外如果路径不可用了ICMP可以使TCP连接‘体面地’终止PING是最常用基于ICMP服务

5. TCP和UDP端口结构

TCP和UDP服务通常有个客户/服务器关系例如个Telnet服务进程开始在系统上处于空闲状态等待着连接用户使用Telnet客户和服务进程建立个连接客户向服务进程写入信息服务进程读出信息并发出响应客户读出响应并向用户报告因而这个连接是双工可以用来进行读写

两个系统间多重Telnet连接是如何相互确认并协调致呢?TCP或UDP连接唯地使用每个信息中如下 4项进行确认:

源IP地址 发送包IP地址

IP地址 接收包IP地址

源端口 源系统上连接端口

端口 目系统上连接端口

端口是个软件Software结构被客户或服务进程用来发送和接收信息个端口对应个16比特服务进程通常使用个固定端口例如SMTP使用25、Xwindows使用6000这些端口号是‘广为人知’在建立和特定主机或服务连接时需要这些地址和目地址进行通讯







相信大家都听说过TCP/IP这个词这个词好像无处不在时时都会在你面前跳出来那TCP/IP到底是什么意思呢?
TCP/IP其实是两个网络基础协议:IP协议、TCP协议名称组合下面我们分别来看看这两个无处不在协议
IP协议

  IP(Internet Protocol)协议英文名直译就是:因特网协议从这个名称我们就可以知道IP协议重要性在现实生活中我们进行货物运输时都是把货物包装成个个纸箱或者是集装箱的后才进行运输在网络世界中各种信息也是通过类似方式进行传输IP协议规定了数据传输时基本单元和格式如果比作货物运输IP协议规定了货物打包时包装箱尺寸和包装 除了这些以外IP协议还定义了数据包递交办法和路由选择同样用货物运输做比喻IP协议规定了货物运输思路方法和运输路线

TCP协议

  我们已经知道了IP协议很重要IP协议已经规定了数据传输主要内容那TCP(Transmission Control Protocol)协议是做什么呢?不知大家发现没有在IP协议中定义传输是单向也就是说发出去货物对方有没有收到我们是不知道就好像8毛钱平信那对于重要信件我们要寄挂号信如何办呢?TCP协议就是帮我们寄“挂号信”TCP协议提供了可靠面向对象数据流传输服务规则和约定简单说在TCP模式中对方发个数据包给你你要发个确认数据包给对方通过这种确认来提供可靠性

TCP/IP(Transmission Control Protocol/Internet Protocol简写中文译名为传输控制协议/互联网络协议)协议是Internet最基本协议简单地说就是由底层IP协议和TCP协议组成TCP/IP协议开发工作始于70年代是用于互联网套协议
1.1 TCP/IP参考模型
TCP/IP协议开发研制人员将Internet分为 5个层次以便于理解它也称为互联网分层模型或互联网分层参考模型如下表:

应用层(第 5层)
传输层(第 4层)
互联网层(第 3层)
网络接口层(第 2层)
物理层(第层)

  物理层:对应于网络基本硬件这也是Internet物理构成即我们可以看得见硬设备如PC机、互连网服务器、网络设备等必须对这些硬设备电气特性作个规范标准使这些设备都能够互相连接并兼容使用

  网络接口层:它定义了将资料组成正确帧规程和在网络中传输帧规程帧是指串资料它是资料在网络中传输单位

  互联网层:本层定义了互联网中传输“信息包”格式以及从个用户通过个或多个路由器到最终目标"信息包"转发机制
  传输层:为两个用户进程的间建立、管理和拆除可靠而又有效端到端连接

  应用层:它定义了应用使用互联网规程
1. 2 网间协议IP
   Internet 上使用个关键底层协议是网际协议通常称IP协议我们利用个共同遵守通信协议从而使 Internet 成为个允许连接区别类型计算机和区别操作系统网络要使两台计算机彼此的间进行通信必须使两台计算机使用同种"语言"通信协议正像两台计算机交换信息所使用共同语言它规定了通信双方在通信中所应共同遵守约定
计算机通信协议精确地定义了计算机在彼此通信过程所有细节例如每台计算机发送信息格式和含义在什么情况下应发送规定特殊信息以及接收方计算机应做出哪些应答等等
网际协议IP协议提供了能适应各种各样网络硬件灵活性对底层网络硬件几乎没有任何要求任何个网络只要可以从个地点向另个地点传送 2进制数据就可以使用IP协议加入 Internet 了
如果希望能在 Internet 上进行交流和通信则每台连上 Internet 计算机都必须遵守IP协议为此使用 Internet 每台计算机都必须运行IP软件Software以便时刻准备发送或接收信息
IP协议对于网络通信有着重要意义:网络中计算机通过安装IP软件Software使许许多多局域网络构成了个庞大而又严密通信系统从而使 Internet 看起来好像是真实存在但实际上它是种并不存在虚拟网络只不过是利用IP协议把全世界上所有愿意接入 Internet 计算机局域网络连接起来使得它们彼此的间都能够通信
1.3 传输控制协议TCP
尽管计算机通过安装IP软件Software从而保证了计算机的间可以发送和接收资料但IP协议还不能解决资料分组在传输过程中可能出现问题因此若要解决可能出现问题连上 Internet 计算机还需要安装TCP协议来提供可靠并且无差错通信服务
TCP协议被称作种端对端协议这是它为两台计算机的间连接起了重要作用:当台计算机需要和另台远程计算机连接时TCP协议会让它们建立个连接、发送和接收资料以及终止连接
传输控制协议TCP协议利用重发技术和拥塞控制机制向应用提供可靠通信连接使它能够自动适应网上各种变化即使在 Internet 暂时出现堵塞情况下TCP也能够保证通信可靠
众所周知 Internet 是个庞大国际性网络网络上拥挤和空闲时间总是交替不定加上传送距离也远近区别所以传输资料所用时间也会变化不定TCP协议具有自动调整"超时值"功能能很好地适应 Internet 上各种各样变化确保传输数值正确
因此从上面我们可以了解到:IP协议只保证计算机能发送和接收分组资料而TCP协议则可提供个可靠、可流控、全双工信息流传输服务

   综上所述虽然IP和TCP这两个协议功能不尽相同也可以分开单独使用但它们是在同时期作为个协议来设计并且在功能上也是互补只有两者结合才能保证 Internet 在复杂环境下正常运行凡是要连接到 Internet 计算机都必须同时安装和使用这两个协议因此在实际中常把这两个协议统称作TCP/IP协议
1. 4 IP地址及其分类
在Internet上连接所有计算机从大型机到微型计算机都是以独立身份出现我们称它为主机为了实现各主机间通信每台主机都必须有个唯网络地址就好像每个住宅都有唯门牌才不至于在传输资料时出现混乱
Internet网络地址是指连入Internet网络计算机地址编号所以在Internet网络中网络地址唯地标识台计算机
我们都已经知道Internet是由几千万台计算机互相连接而成而我们要确认网络上台计算机就是能唯标识该计算机网络地址这个地址就叫做IP(Internet Protocol简写)地址即用Internet协议语言表示地址
目前在Internet里IP地址是个32位 2进制地址为了便于记忆将它们分为4组每组8位由小数点分开用 4个字节来表示而且用点分开每个字节数值范围是0~255如202.116.0.1这种书写思路方法叫做点数表示法
IP地址可确认网络中任何个网络和计算机而要识别其它网络或其中计算机则是根据这些IP地址分类来确定般将IP地址按节点计算机所在网络规模大小分为ABC 3类默认网络屏蔽是根据IP地址中个字段确定
  1. A类地址
  A类地址表示范围为:0.0.0.0~126.255.255.255默认网络屏蔽为:255.0.0.0;A类地址分配给规模特别大网络使用A类网络用第组数字表示网络本身地址后面 3组数字作为连接于网络上主机地址分配给具有大量主机(直接个人用户)而局域网络个数较少大型网络例如IBM公司网络
  2. B类地址
B类地址表示范围为:128.0.0.0~191.255.255.255默认网络屏蔽为:255.255.0.0;B类地址分配给中型网络B类网络用第、 2组数字表示网络地址后面两组数字代表网络上主机地址
  3. C类地址
  C类地址表示范围为:192.0.0.0~223.255.255.255默认网络屏蔽为:255.255.255.0;C类地址分配给小型网络局域网和校园网它可连接主机数量是最少采用把所属用户分为若干网段进行管理C类网络用前 3组数字表示网络地址最后组数字作为网络上主机地址

   实际上还存在着D类地址和E类地址但这两类地址用途比较特殊在这里只是简单介绍下:D类地址称为广播地址供特殊协议向选定节点发送信息时用E类地址保留给将来使用
连接到Internet上每台计算机不论其IP地址属于哪类都和网络中其它计算机处于平等地位只有IP地址才是区别计算机标识所以以上IP地址分类只适用于网络分类
在Internet中台计算机可以有个或多个IP地址就像个人可以有多个通信地址但两台或多台计算机却不能共享个IP地址如果有两台计算机IP地址相同则会引起异常现象无论哪台计算机都将无法正常工作
顺便提下几类特殊IP地址:
1. 广播地址 目端为给定网络上所有主机般主机段为全0
2. 单播地址 目端为指定网络上单个主机地址
3. 组播地址 目端为同组内所有主机地址
4. 环回地址 127.0.0.1 在环回测试和广播测试时会使用
Tags:  tcpip详解 tcpip tcpip协议 tcpip

延伸阅读

最新评论

发表评论