TCP/IP协议

什么是TCP/IP协议,划为几层,各有什么功能?
TCP/IP协议族包含了很多功能各异的子协议。为此我们也利用上文所述的分层的方式来剖析它的结构。TCP/IP层次模型共分为四层:应用层、传输层、网络层、数据链路层。

TCP/IP网络协议
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网间网协议)是目前世界上应用最为广泛的协议,它的流行与Internet的迅猛发展密切相关-TCP/IP最初是为互联网的原型ARPANET所设计的,目的是提供一整套方便实用、能应用于多种网络上的协议,事实证明TCP/IP做到了这一点,它使网络互联变得容易起来,并且使越来越多的网络加入其中,成为Internet的事实标准。

* 应用层-应用层是所有用户所面向的应用程序的统称。ICP/IP协议族在这一层面有着很多协议来支持不同的应用,许多大家所熟悉的基于Internet的应用的实现就离不开这些协议。如我们进行万维网(WWW)访问用到了HTTP协议、文件传输用FTP协议、电子邮件发送用SMTP、域名的解析用DNS协议、远程登录用Telnet协议等等,都是属于TCP/IP应用层的;就用户而言,看到的是由一个个软件所构筑的大多为图形化的操作界面,而实际后台运行的便是上述协议。

* 传输层-这一层的的功能主要是提供应用程序间的通信,TCP/IP协议族在这一层的协议有TCP和UDP。

* 网络层-是TCP/IP协议族中非常关键的一层,主要定义了IP地址格式,从而能够使得不同应用类型的数据在Internet上通畅地传输,IP协议就是一个网络层协议。

* 网络接口层-这是TCP/IP软件的最低层,负责接收IP数据包并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层。

1.TCP/UDP协议
TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;而UDP则不为IP提供可靠性、流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。TCP支持的应用协议主要有:Telnet、FTP、SMTP等;UDP支持的应用层协议主要有:NFS(网络文件系统)、SNMP(简单网络管理协议)、DNS(主域名称系统)、TFTP(通用文件传输协议)等。

IP协议的定义、IP地址的分类及特点

什么是IP协议,IP地址如何表示,分为几类,各有什么特点?
为了便于寻址和层次化地构造网络,IP地址被分为A、B、C、D、E五类,商业应用中只用到A、B、C三类。

IP协议(Internet Protocol)又称互联网协议,是支持网间互连的数据报协议,它与TCP协议(传输控制协议)一起构成了TCP/IP协议族的核心。它提供网间连接的完善功能, 包括IP数据报规定互连网络范围内的IP地址格式。

Internet 上,为了实现连接到互联网上的结点之间的通信,必须为每个结点(入网的计算机)分配一个地址,并且应当保证这个地址是全网唯一的,这便是IP地址。
目前的IP地址(IPv4:IP第4版本)由32个二进制位表示,每8位二进制数为一个整数,中间由小数点间隔,如159.226.41.98,整个IP 地址空间有4组8位二进制数,由表示主机所在的网络的地址(类似部队的编号)以及主机在该网络中的标识(如同士兵在该部队的编号)共同组成。

为了便于寻址和层次化的构造网络,IP地址被分为A、B、C、D、E五类,商业应用中只用到A、B、C三类。

* A类地址:A类地址的网络标识由第一组8位二进制数表示,网络中的主机标识占3组8位二进制数,A类地址的特点是网络标识的第一位二进制数取值必须为"0"。不难算出,A类地址允许有126个网段,每个网络大约允许有1670万台主机,通常分配给拥有大量主机的网络(如主干网)。

* B类地址:B类地址的网络标识由前两组8位二进制数表示,网络中的主机标识占两组8位二进制数,B类地址的特点是网络标识的前两位二进制数取值必须为"10"。B类地址允许有16384个网段,每个网络允许有65533台主机,适用于结点比较多的网络(如区域网)。

* C类地址:C类地址的网络标识由前3组8位二进制数表示,网络中主机标识占1组8位二进制数,C类地址的特点是网络标识的前3位二进制数取值必须为"110"。具有C类地址的网络允许有254台主机,适用于结点比较少的网络(如校园网)。

为了便于记忆,通常习惯采用4个十进制数来表示一个IP地址,十进制数之间采用句点"."予以分隔。这种IP地址的表示方法也被称为点分十进制法。如以这种方式表示,A类网络的IP地址范围为1.0.0.1-127.255.255.254;B类网络的IP地址范围为:128.1.0.1-191.255.255.254;C类网络的IP地址范围为:192.0.1.1-223.255.255.254。

由于网络地址紧张、主机地址相对过剩,采取子网掩码的方式来指定网段号

TCP/IP协议与低层的数据链路层和物理层无关,这也是TCP/IP的重要特点。正因为如此 ,它能广泛地支持由低两层协议构成的物理网络结构。目前已使用TCP/IP连接成洲际网、全国网与跨地区网

tcp和ip究竟是如何工作的呢?
在因特网上,数据不是一下子从本地传送到目的地的,而是要把数据分解成为小包——数据包,然后再进行传送。tcp的作用就是把所有的信息分解成多个数据包,每一个数据包用一个序号和一个接收地址来标定,tcp还会在数据包中插入一些纠错信息。所有的数据被分解成数据包之后,这些数据包开始在网络上传送,传送过程是由ip完成的,ip协议负责把数据包传送给远程主机,远程主机接收到数据包,根据tcp协议核查有无错误,如果发生错误,主机会要求重发这个数据包。所有数据包都被正确接收到以后,主机按数据包的序号重新把这些小数据包组合成为原来的信息。也就是说,ip的工作是把数据包从一个地方传递到另一个地方,tcp的工作是对数据包进行管理与校核,保证数据包的正确性。
  那么为什么要将数据分解成为数据包呢?这样做当然有好处。首先,由于这些数据包不必非在一起传送,所以通信线路可以把所有类型的数据包按它们自己的目的地从一个地方传送到另一个地方。当数据包全部到达自己的目的地后再重新组装。如果在传送过程中,某段线路的连接中断,控制数据包传送的计算机可以选择另外一条线路传送以后的数据包,不必“一棵树上吊死”。这个特性有些类似于日常的运输工作,如果要运送一台几百吨重的机床,人们也不会用一辆汽车将它运走,而是将机床分解成为重量适当的零件,再把各个零件分组标号,分别由多辆汽车运输,如果某段道路不通,后面的车辆完全可以另找一条路,等全部运输到位后,再将这些小零件组装成大机床。将数据分解成数据包的第二个好处,是如果某个数据包出错,计算机不必传送所有数据,只需单独传送出错的数据包即可。但是,我们也可以看出,将数据分解成小数据包也不是一点缺点没有的,由于每一个数据包都被加入一些特定信息,比如出发地点、目的地点及序号,这无疑加大了数据的传送量,但是数据分解成小包后,传送非常灵活、可靠,再加上网上传递数据非常迅速,所以多这么一些数据也就无所谓了。

你可能感兴趣的:(数据结构,c,互联网,网络协议,网络应用)