分享

TCP/IP协议初步认识

 心不留意外尘 2016-04-15

from http://blog.csdn.net/northcan/article/details/7272622

  《TCP/IP Illustrated, Vol. 1: The Protocols》读书笔记 by斜风细雨QQ:253786989    2012-02-19 

  TCP/IP协议起源于60年代末美政府的一个分组交换网络研究项目,现如今已成为计算机之间最常用的组网方式。

(1) 分层

  TCP/IP协议簇分为4个不同的抽象层,每一层完成不同的功能。

  应用层:应用层可能包括各种通用的网络应用程序,如Telnet(远程登录)、FTP(文件传输协议)、SMTP(简单邮件传输协议)、SNMP(简单网络管理协议),或者是和公司业务相关的网络服务程序。

  运输层:以前习惯叫传输层,为两台主机上的应用程序提供端对端的数据通信。传输层主要有两种协议:TCP(传输控制协议),UDP(用户数据报协议)。其中TCP把应用层交给它的数据分成合适大小的数据块交给下面的网络层,采用超时重发,发送和接收确认机制保证数据的高可靠性通信。与之相比,UDP则为应用层提供一种简单的数据传输,它把数据报从一台主机发送到另一台主机,但不保证该数据报肯定能送到另一端。传输层使用UDP协议时,任何必须的可靠性必须由应用层自己提供。

  网络层:处理数据包分组在网络中的活动。这一层的协议包括IP协议(网际协议),ICMP协议(Internet互联网控制报文协议),及IGMP协议(Internet组管理协议)。

  链路层:有的书里面叫做网络接口层。总之这一层负责的是数据的真真正正的物理传输,包括网卡驱动程序,以及以太网协议等等。

  对应用于操作系统OS,一般应用层是一个用户进程,传输层、网络层、链路层是在内核进中执行。应用层是具体的网络应用程序的细节,其它三层负责数据在网络中的传输。如上图也可以看到TCP/IP协议簇不只包含TCPIP两种协议,在传输层还有UDP协议,所以TCP/IP只是一个命名,它们只是这个协议簇中的其中两个。

(2) 简单通信图示

  图示右边的主机应用层运行FTP服务器程序,左边的主机应用层运行FTP客户程序。绝大多数网络应用程序都设计为c/s(客户/服务器)模式,服务器为客户提供某种服务。

(3) 路由器

  也成IP路由器(IP Router),它是一种特殊的用于网络互连的硬件设备,可以为不同类型的物理网络提供链接。

  从上图可以看出路由器是在网络层上对网络进行互连,还有一种网络互连的途径称为网桥,网桥是在链路层上对网络进行互连。网桥既可能是一个硬件设备,也可以是在计算机中安装的网桥软件。不过TCP/IP协议倾向于使用路由器而不是网桥来连接网络。

(4) IP地址

  互联网中的每个网络接口都必须有一个全球唯一的IP地址,长32位,通常采用点分十进制的形式表示,如:110.96.170.209IP地址分为A、B、C、D、E五类,它们的格式和区别如下:

  各类IP地址的范围:

  看来我的机器的IP地址:110.96.170.209,属于一个A类的IP地址。

  IP地址还可以分三类:单播地址(目的为单个主机)、广播地址(目的端为给定网络上的所有主机)以及多播地址(目的端为同一组内的所有主机)。

  另外每个IP地址都是全球唯一的,所以必须有一个机构来管理。IP地址的注册由InterNIC机构负责。

(5) DNS

  DNSDomain Name System(域名系统)的缩写。通过IP地址可以区分互联网中的每个网络接口,但IP地址本身不好记,所以人们喜欢使用主机名(如上网时使用的网址)。DNS就是一个分布式数据库,提供IP地址和主机名之间的映射,使得通过主机名可以查看对应的IP地址,通过给定的IP地址可以查看其对应的主机名。

(6) 协议封装

  当进行网络通信时,数据被送入协议栈中,依次通过应用层、传输层、网络层、链路层,逐层加入各种协议的协议头(有的协议也包括协议尾),最后封装好的数据通过物理链路传输。

  比如IP头中有一个8bit的协议域,为1时表示ICMP协议向IP传送数据,为2时表示IGMP协议向IP传送数据,为6时表示TCP协议向IP传送数据,为17时表示UDP协议向IP传送数据。而TCPUDP协议头中都有一个16bit的端口号来表示不同的应用程序。

(7)c/s模型

  绝大部分网络应用程序采用c/s(客户端-服务器)模型,这种模型的网络程序分为重复型和并发型。

  a) 重复型

  1 服务器等待一个客户请求

  2 处理客户请求

  3 发送响应给请求客户

  4 返回第1

  重复型服务器在处理一个客户请求时,不能为其它客户机提供服务,弊端很大。

  b) 并发型

  1服务器等待一个客户请求

  2 启动一个新的进程、任务或者线程来处理客户请求,并在处理结束后终止。

  3 返回第1

  并发型服务器的优点就是可以同时处理多个客户请求。

(8) 端口号

  在同一台主机上,会运行很多不同的网络应用程序。那么传输层的TCP或者UDP协议是怎么区分应用层的不同应用程序呢?这就是端口号的作用。

  很多通用的服务器端应用程序的端口号是固定的,比如FTP服务器的TCP端口号是21Telnet服务器的TCP端口号是23TFTP服务器的UDP端口号是69。这些知名端口号由IANA机构管理。

  对于客户端程序,通常使用临时端口号。这些临时端口号通常在1024-5000之间。

(9) RFC

  所有的Internet标准都已RFC(Request for Comment)文档的形式发布。可以获取RFC文档的一个网站:http://www./index.html

TCP/IP协议初步认识 ——《TCP/IP Illustrated, Vol. 1: The Protocols》读书笔记 by斜风细雨QQ:253786989    2012-02-19 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多