tcp/ip详解卷一:协议
1.分层:
网络协议通常分为不通层次进行开发,每一层分别负责不同的通信功能。如TCP/IP协议簇,是一组不同层次上的多个协议的组合。TCP/IP协议簇通常被认为是一个四层协议系统。如图所示:
1)、链路层:也称数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。
2)、网络层:也称互联网层,处理分组在网络中的活动,例如分组的选路。在TCP/IP协议簇中,网络层协议包括IP协议(网络协议),ICMP协议(Internet互联网控制报文协议),以及IGMP协议(Internet组管理协议)。
3)、传输层:为两台主机上的应用程序提供端到端的通信。在TCP/IP协议簇中,存在两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。
4)、应用层:负责处理特定的应用程序细节,如Telnet(远程登录协议),FTP(文件传输协议),SMTP(简单邮件传输协议),SNMP(简单网络管理协议)。
2.TCP/IP的分层
如图所示为TCP/IP协议簇的分层,以及每层协议的部分协议:
TCP和UDP是传输层的著名协议,二者都使用IP协议作为网络层协议。
IP协议是网络层上的主要协议,同时被TCP和UDP使用,TCP和UDP的每组数据都通过端系统和每个中间路由器中的IP层在互联网中进行传输。
ICMP协议是IP协议的附属协议。IP层用它来与其他主机或路由器交换错误报文和其他重要信息。
IGMP协议是Internet组管理协议,用来把一个UDP数据报多播到多个主机。
ARP(地址解析协议)和RARP(逆地址解析协议)是某些网络接口(如以太网和令牌环网)使用的特殊协议,用来转换IP层和网络接口层使用的地址。
3.互联网地址
互联网的每个接口必须有一个唯一的Internet地址(IP地址)。IP地址长32bit。Internet地址并不采用平面形式的地址空间,IP地址具有一定的机构,分为五类不同的地址格式。
这些IP地址通常写为四个十进制的数,其中一个整数对应一个字节。
区分各类地址的最简单的方式就是看它第一个十进制位数。
网络上多接口主机具有多个IP地址,每个接口都对应一个IP地址。
有三类IP地址:单播地址(目的为单个主机),多播地址(目的端为同一组内的所有主机)以及广播地址(目的端为给定网络上的所有主机)。
4.域名系统
DNS(域名系统)是一个分布的数据库,用来提供IP地址和主机间的映射关系。
5.封装
当应用层程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层知道被当作一串比特流送入网络,其中每一层对收到的数据都要增加一些首部信息(有时还需增加尾部信息),TCP传给IP的数据单元称作TCP报文或TCP段。IP传给网络接口层的数据单元叫做IP数据报。通过以太网传输的比特流称作帧。如图所示进行封装:
UDP和TCP的数据基本一致,区别在于UDP传给IP的信息单元称作UDP数据报,并且UDP的首部长为8字节。
由于UDP、TCP、ICMP以及IGMP都要向IP传送数据,所以IP需要在生成的IP首部中加入某种标识来表明数据来自哪一层。因此,IP在首部中存入一个长度为8bit的数值,称作协议域。1表示ICMP协议,2表示IGMP协议,6表示TCP协议,17表示UDP协议。UDP和TCP都用一个16bit的端口号表示不通应用程序,以太网的帧首部用16bit字段来表示数据来自哪个网络层协议(IP、ARP、RARP)。
6.分用
当目的主机收到一个以太网数据帧时,数据就开始从协议栈中有底向上升,同时去掉各层协议加上的报文首部,每层协议盒都去检查报文首部中的协议标识,以确定接受数据的上层协议,这个过程称作分用。
为协议ICMP和IGMP定位是一件很棘手的试,它俩属于IP层的附属协议,单ICMP和IGMP报文都封装在IP数据报中。而ARP和RARP协议类似。
7.端口号
端口号的主要作用是表示一台计算机中的特定进程所提供的服务。网络中的计算机是通过IP地址来代表其身份的,它只能表示某台特定的计算机,但是一台计算机上可以同时提供很多个服务,如数据库服务、FTP服务、Web服务等,我们就通过端口号来区别相同计算机所提供的这些不同的服务,如常见的端口号21表示的是FTP服务,端口号23表示的是Telnet服务端口号25指的是SMTP服务等。端口号一般习惯为4位整数,在同一台计算机上端口号不能重复,否则,就会产生端口号冲突这样的例外。
tcp/ip详解卷一:协议
1.分层:
网络协议通常分为不通层次进行开发,每一层分别负责不同的通信功能。如TCP/IP协议簇,是一组不同层次上的多个协议的组合。TCP/IP协议簇通常被认为是一个四层协议系统。如图所示:
1)、链路层:也称数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。
2)、网络层:也称互联网层,处理分组在网络中的活动,例如分组的选路。在TCP/IP协议簇中,网络层协议包括IP协议(网络协议),ICMP协议(Internet互联网控制报文协议),以及IGMP协议(Internet组管理协议)。
3)、传输层:为两台主机上的应用程序提供端到端的通信。在TCP/IP协议簇中,存在两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。
4)、应用层:负责处理特定的应用程序细节,如Telnet(远程登录协议),FTP(文件传输协议),SMTP(简单邮件传输协议),SNMP(简单网络管理协议)。
2.TCP/IP的分层
如图所示为TCP/IP协议簇的分层,以及每层协议的部分协议:
TCP和UDP是传输层的著名协议,二者都使用IP协议作为网络层协议。
IP协议是网络层上的主要协议,同时被TCP和UDP使用,TCP和UDP的每组数据都通过端系统和每个中间路由器中的IP层在互联网中进行传输。
ICMP协议是IP协议的附属协议。IP层用它来与其他主机或路由器交换错误报文和其他重要信息。
IGMP协议是Internet组管理协议,用来把一个UDP数据报多播到多个主机。
ARP(地址解析协议)和RARP(逆地址解析协议)是某些网络接口(如以太网和令牌环网)使用的特殊协议,用来转换IP层和网络接口层使用的地址。
3.互联网地址
互联网的每个接口必须有一个唯一的Internet地址(IP地址)。IP地址长32bit。Internet地址并不采用平面形式的地址空间,IP地址具有一定的机构,分为五类不同的地址格式。
这些IP地址通常写为四个十进制的数,其中一个整数对应一个字节。
区分各类地址的最简单的方式就是看它第一个十进制位数。
网络上多接口主机具有多个IP地址,每个接口都对应一个IP地址。
有三类IP地址:单播地址(目的为单个主机),多播地址(目的端为同一组内的所有主机)以及广播地址(目的端为给定网络上的所有主机)。
4.域名系统
DNS(域名系统)是一个分布的数据库,用来提供IP地址和主机间的映射关系。
5.封装
当应用层程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层知道被当作一串比特流送入网络,其中每一层对收到的数据都要增加一些首部信息(有时还需增加尾部信息),TCP传给IP的数据单元称作TCP报文或TCP段。IP传给网络接口层的数据单元叫做IP数据报。通过以太网传输的比特流称作帧。如图所示进行封装:
UDP和TCP的数据基本一致,区别在于UDP传给IP的信息单元称作UDP数据报,并且UDP的首部长为8字节。
由于UDP、TCP、ICMP以及IGMP都要向IP传送数据,所以IP需要在生成的IP首部中加入某种标识来表明数据来自哪一层。因此,IP在首部中存入一个长度为8bit的数值,称作协议域。1表示ICMP协议,2表示IGMP协议,6表示TCP协议,17表示UDP协议。UDP和TCP都用一个16bit的端口号表示不通应用程序,以太网的帧首部用16bit字段来表示数据来自哪个网络层协议(IP、ARP、RARP)。
6.分用
当目的主机收到一个以太网数据帧时,数据就开始从协议栈中有底向上升,同时去掉各层协议加上的报文首部,每层协议盒都去检查报文首部中的协议标识,以确定接受数据的上层协议,这个过程称作分用。
为协议ICMP和IGMP定位是一件很棘手的试,它俩属于IP层的附属协议,单ICMP和IGMP报文都封装在IP数据报中。而ARP和RARP协议类似。
7.端口号
端口号的主要作用是表示一台计算机中的特定进程所提供的服务。网络中的计算机是通过IP地址来代表其身份的,它只能表示某台特定的计算机,但是一台计算机上可以同时提供很多个服务,如数据库服务、FTP服务、Web服务等,我们就通过端口号来区别相同计算机所提供的这些不同的服务,如常见的端口号21表示的是FTP服务,端口号23表示的是Telnet服务端口号25指的是SMTP服务等。端口号一般习惯为4位整数,在同一台计算机上端口号不能重复,否则,就会产生端口号冲突这样的例外。
发布评论