[培训笔记]TCP/IP使世界变成地球村

在地球上,人类是很渺小的个体,分布在全世界的各个角落。随着科技的发展,人们现在可以非常容易的同远在千里之外的亲人、朋友进行实时联络,获得和分享世界另一端正在发生的事情,这是多么令人难以置信的事情,但是互联网改变了这一切,让这些不可思议的想法成为现实,使得地球变成了一个小村庄,而TCP/IP便是实现互联网通信的纽带。

在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才会发挥出它最大的潜力。于是人们就想方设法的用电线把电脑连接到了一起。但是简单的连到一起是远远不够的,就好像语言不同的两个人互相见了面,完全不能交流信息。因而他们需要定义一些共通的东西来进行交流,TCP/IP 就是为此而生。TCP/IP不是一个单一协议,而是一个协议族的统称。里面包括了IP协议,IMCP协议,TCP协议,以及我们更加熟悉的HTTP、FHP协议等等。电脑有了这些,就好像学会了外语一样,就可以和其他的计算机终端做自由的交流了。简单地说,PC就实现了网络互联。

那先学习下TCP/IP协议的结构,它是如何分层的呢?如图1所示:

图1  TCP/IP层次结构图

TCP(Transmission Control Protocol)是传输控制协议的简称,它是网络中各层协议的综合,反映了一个网络中文件传输的过程,由上层协议到底层协议,再由底层协议到上层协议。如图1所示,TCP/IP协议族按照层次由上到下,层层封装,属于核心组件不能卸载或删除,但可以重置。最上面的就是应用层Application,这里面有http、smtp、telnet、TFTP、DNS、E-mail、ftp等我们熟悉的协议。第二层是传输层Transport,TCP和UDP协议就在这个层次。传输层仅用于彼此通信,可以提供流量控制,可检测数据段,及对数据段排序,不对字节流作解释。第三层是网络层,IP协议就在这里,它负责对数据加上IP地址和其他的数据以确定传输的目标。第四层是叫数据链路层,这个层次为待传送的数据加入一个以太网协议头,并进行CRC编码,为最后的数据传输做准备。最后是硬件物理层,负责网络的传输,这个层次的定义包括网线的制式,网卡的定义等等。发送协议的主机从上自下将数据按照协议封装,而接收数据的主机则按照协议
从得到的数据包解开,最后拿到需要的数据。这种结构非常有栈的味道,所以也把TCP/IP协议族称为TCP/IP协议栈。

一、应用层

应用层直接和应用程序接口并提供常见的网络应用服务。应用层是开放系统的最高层,是直接为应用进程提供服务的。其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务。应用层使用最为广泛,需要的协议标准也是最多的。在应用层可以实现运输、访问和管理,收发电子邮件以及虚拟终端目录服务远程作业录入信息通信等等。例如DNS、HTTP、FTP等协议都是应用在这一层。

二、传输层

传输层是最关键的一层,也是唯一负责总体的数据传输和数据控制的一层。传输层提供端到端的交换数据的机制。传输层对应用层提供可靠的传输服务,对网络层提供可靠的目的地站点信息。TCP是最常用的的传输层协议,它的主要功能是:对一个进行的对话或连接提供可靠的传输服务,在通向网络的单一物理连接上实现该连接的复用,在单一连接上提供端到端的序号与流量控制、差错控制及恢复等服务。

1、TCP连接建立

(a)连接建立                         (b)连接终止

图2 TCP协议的建立与终止过程

TCP是因特网中的传输层协议,使用三次握手协议建立连接。当主动方发出SYN连接请求后,等待对方回答SYN+ACK,并最终对对方的 SYN 执行 ACK 确认。如图2(a)所示,TCP三次握手的过程如下:

客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态。

服务器端收到SYN报文,回应一个SYN (SEQ=y)ACK(ACK=x+1)报文,进入

SYN_RECV状态。

客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入

Established状态。

三次握手完成,TCP客户端和服务器端成功地建立连接,可以开始传输数据了。

2、TCP连接终止

建立一个连接需要三次握手,而终止一个连接要经过四次握手,这是由TCP的半关闭(half-close)造成的。具体过程如图2(b)所示。

(1) 某个应用进程首先调用close,称该端执行“主动关闭”(active close)。该端的TCP于是发送一个FIN分节,表示数据发送完毕。

(2) 接收到这个FIN的对端执行 “被动关闭”(passive close),这个FIN由TCP确认。

(3) 一段时间后,接收到这个文件结束符的应用进程将调用close关闭它的套接字。这导致它的TCP也发送一个FIN。

(4) 接收这个最终FIN的原发送端TCP(即执行主动关闭的那一端)确认这个FIN。

三、网络层

TCP/IP协议体系中的网络层功能由IP协议规定和实现,故又称IP层。网络层介于运输层和数据链路层之间,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。

网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。IP定义了在TCP/IP互联网上数据传送的基本单元和数据格式,完成路由选择功能,选择数据传送的路径并且包含了一组不可靠分组传送的规则,指明了分组处理、差错信息发生以及分组的规则。IP协议的主要功能有:无连接数据报传输、数据报路由选择和差错控制。与IP协议配套使用实现其功能的还有地址解析协议ARP、逆地址解析协议RARP、因特网报文协议ICMP、因特网组管理协议IGMP。

四、数据链层

数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。为达到这一目的,数据链路必须具备一系列相应的功能,主要有:如何将数据组合成数据块,在数据链路层中称这种数据块为帧(frame),帧是数据链路层的传送单位;如何控制帧在物理信道上的传输,包括如何处理传输差错,如何调节发送速率以使与接收方相匹配;以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。

五、物理层

物理层(Physical Layer)是TCP/IP协议栈中最低的一层,它直接面向实际承担数据传输的物理媒体(即通信通道),物理层的传输单位为比特(bit),即一个二进制位(“0”或“1”)。实际的比特传输必须依赖于传输设备和物理媒体,但是,物理层不是指具体的物理设备,也不是指信号传输的物理媒体,而是指在物理媒体之上为上一层(数据链路层)提供一个传输原始比特流的物理连接。物理层规定:为传输数据所需要的物理链路创建、维持、拆除,而提供具有机械的,电子的,功能的和规范的特性。简单的说,物理层确保原始的数据可在各种物理媒体上传输。包括网线的制式,网卡的定义等,这一层无协议的编写。

By David

时间: 2024-10-13 03:11:09

[培训笔记]TCP/IP使世界变成地球村的相关文章

本学习笔记TCP/IP传输协议

一个.通过网络发送数据,大致能够分为面向有连接与面向无连接两种类型: 1.面向无连接型包含以太网. IP.UDP等协议. 2. 面向有连接 型包含ATM.帧中继.TCP等 协议. 通过一张图了解一下: 面向有连接型 面向有连接型中,在发送数据之前,须要在收发主机之间连接一条通信线路 面向有连接型就好比人们寻常打电话,输入完对方电话号码拨出之后.仅仅有 对端拿起电话才干真正通话,通话结束后将电话机扣上就如同切断电源.因此在 面向有连接的方式下,必须在通信传输前后.专门进行建立和断开连接的处理. 假

读书笔记-tcp/ip详解卷一:协议(第三章)

3.3 IP路由选择 之前一直没有深思为什么局域网是使用MAC地址进行通信,IP用在何处,网络通信经过若干路由转发,如何维持稳定的双向传输. 现在就我个人理解,IP地址仅仅是指导数据包前进的方向,数据包实际的传输靠的可能是MAC地址,至少局域网,网络环境不复杂的情况下应该是,至于各种网络设备通信协议的转换还要继续学习. 数据包在传送开始之前先通过IP找到路由下一跳,将下一跳的设备的MAC地址写入数据包中. 数据包在到达某一设备的时候,如果目的IP和设备IP符合,则交由上层协议处理:若不符合,在设

TCP/IP详解学习笔记 这位仁兄写得太好了.(转载)

TCP/IP详解学习笔记   这位仁兄写得太好了 TCP/IP详解学习笔记   这位仁兄写得太好了. http://blog.csdn.net/goodboy1881/category/204448.aspx TCP/IP详解学习笔记(13)-TCP坚持定时器,TCP保活定时器 TCP/IP详解学习笔记(12)-TCP的超时与重传TCP/IP详解学习笔记(11)-TCP交互数据流,成块数据流 TCP/IP详解学习笔记(1)-基本概念 为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着

《TCP/IP详解卷1:协议》第17、18章 TCP:传输控制协议(2)-读书笔记

章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP:网际协议(1)-读书笔记 <TCP/IP详解卷1:协议>第3章 IP:网际协议(2)-读书笔记 <TCP/IP详解卷1:协议>第4章 ARP:地址解析协议-读书笔记 <TCP/IP详解卷1:协议>第5章 RARP:逆地址解析协议-读书笔记 <TCP/IP详解卷1:协

《TCP/IP详解卷2:实现》笔记--IP的分片和重装

IP首部内有三个字段实现分片和重装:标识字段(ip_id).标志字段(ip_off的3个高位比特)和偏移字段(ip_off的13个低位 比特).标志字段由3个1bit标志组成.比特0是保留的必须为0,:比特1是"不分片"(DF)标志:比特2是"更多分片"(MF)标志. Net/3中,标志和偏移字段结合起来,由ip_off访问,如下图所示: ip_off的其他13bit指出在原始数据报内分片的位置,以8字节为单位计算.因此,除最后一个分片外,其他的分片都希望是一个 8

【转】TCP/IP详解学习笔记(二)

TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节 1.静态IP选路 1.1.一个简单的路由表 选路是IP层最重要的一个功能之一.前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据包的IP地址来选择路由.这里就不重复了.首先来看看一个简单的系统路由表. Destination     Gateway         Genmask         Flags Metric Ref    Use Iface192.168.11.0    *               255.

《TCP/IP详解卷1:协议》第4章 ARP:地址解析协议-读书笔记

章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP:网际协议(1)-读书笔记 <TCP/IP详解卷1:协议>第3章 IP:网际协议(2)-读书笔记 <TCP/IP详解卷1:协议>第4章 ARP:地址解析协议-读书笔记 1.引言 当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据48 bit的以太网地址来确定目的接口的

《TCP/IP详解卷2:实现》笔记--ICMP:Internet控制报文协议

ICMP在IP系统间传递差错和管理报文,是任何IP实现必须和要求的组成部分.可以把ICMP分成两类:差错和查询.查询报文 是用一对请求和回答定义的.差错报文通常包含了引起错误的IP包的第一个分片的IP首部(和选项),加上该分片数据部分 的前8个字节. 下图显示了所有目前定义的ICMP报文.双线上面的是请求和回答报文,双线下面的是差错报文. PRC_栏显示了Net/3处理的与协议无关的差错码和ICMP报文之间的映射.对请求和回答,这一列是空的.因为在这种情况 下不会产生差错.如果对一个ICMP差错

《TCP/IP详解卷1:协议》第11章 UDP:用户数据报协议-读书笔记

章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP:网际协议(1)-读书笔记 <TCP/IP详解卷1:协议>第3章 IP:网际协议(2)-读书笔记 <TCP/IP详解卷1:协议>第4章 ARP:地址解析协议-读书笔记 <TCP/IP详解卷1:协议>第5章 RARP:逆地址解析协议-读书笔记 <TCP/IP详解卷1:协