网络协议分层:
l链路层:有时也称作链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。他们一起处理与电缆的物理接口细节。
网络层:有时也称为互联网层,处理分组在网络中的活动,例如分组的选路。在TCP/IP协议簇中,网络层协议包括IP协议,ICMP协议(Internet互联网控制报文协议)、以及IGMP协议(Internet组管理协议)(ps:分片是在网络成上发生的。)
传输层:主要为了两台主机上的应用程序提供端到端的通信。在TCP/IP协议簇中,有两个互不想通的传输协议,TCP(传输控制协议)UDP(用户数据协议)TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给他的数据分成合适的大小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于传输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有的这些细节。UDP它只是把称作数据的分组从一个主机发送到另一个主机,但并不保证该数据报能到达另一端。任何必需的可靠性必需由应用层来提供。(这一层也出出现分片的现象,正是传输层的分片使得网络层尽可能不出现分片的现象 分片分段关系)
应用层:负责处理特定的应用程序细节。例如telnet 远程登录;FTP文件传输协议;SMTP简单邮件传输协议;SNMP简单网络管理协议。
简而言之:链路层是i处理以太网帧和物理传输媒介的关系;网络层处理上层数据的分组;传输层提供端到端的通信,提供用户使用哪种协议。
在TCP/IP协议簇中,网络层IP提供的是一种不可靠的服务。也就是说,它只是尽可能快的把分组从源节点送到目的节点,但是并不提供任何可靠性保证。另一方面,TCP在不可靠的IP层上提供了一个可靠的传输层,为了提供这种可靠的服务,TCP采用了超时重传、发送和接收端的确认分组等机制。传输层和网络层分别负责不同的功能。
ICMP是IP协议的附属协议。IP层用它来与其他主机或路由器交换错误报文和其他重要信息。主要被IP使用,但也有直接使用此协议的,例如Ping和traceroute
IGMP是Internet组管理协议。它用来把一个UDP数据报多播到多个主机上。
当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当做一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息)。TCP传给IP的数据单元称作TCP报文段或简称TCP段(TCP segment)。IP传给网络接口层的数据单元称作IP数据报(IP datagram)。通过以太网传输的比特流称作帧(Frame).以太网数据帧的物理特性是其长度必须在46~1500字节之间。(这个数字是以太网帧的负载。不包括以太网栈的首位长度、间隙等)
IP和网络接口层之间传送的数据单元应该是分组(packet).分组既可以是一个IP数据报,也可以是IP数据报的一个片(fragment)
由于TCP、UDP、ICMP和IGMP都要想IP传送数据,因此IP必须在生成的IP首部中加入某种标志,以表明数据属于那一层。因此,IP在首部中存入一个长度为8bit的数值,称为协议域。1表示ICMP协议,2表示IGMP协议,6表示为TCP协议,17为UDP协议。
telnet的TCP端口号为:23
tftp的端口号为:69
以太网、令牌环网、点对点的链接和FDDI这些都是不同类型的物理网络。
网线、集线器 -----工作在物理层
网桥、网卡、交换机-----工作在数据链路层
路由器-----工作在网络层
从协议分层模型方面来讲,TCP/IP由四个层次组成:数据链路层、网络层、传输层、应用层
一、数据链路层
数据链路层是负责接收IP数据报并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层。 传输有地址的帧以及错误检测功能 。
一、流量控制,有基于反馈的流控制和基于速率的流控制。
二、错误检测盒纠正
在这一层,数据的单位称为帧(frame)
二、网络层
负责相邻计算机之间的通信。其功能包括三方面。
一、处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。
二、处理输入数据报:首先检查其合法性,然后进行寻径--假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。
三、处理路径、流控、拥塞等问题。(其中拥塞控制是通过ICMP传递的) 网络层包括:IP(Internet Protocol)协议、ICMP(Internet Control Message Protocol) 控制报文协议、ARP(Address Resolution Protocol)地址转换协议、RARP(Reverse ARP)反向地址转换协议。 IP是网络层的核心,通过路由选择将下一跳IP封装后交给接口层。IP数据报是无连接服务。 ICMP是网络层的补充,可以回送报文。用来检测网络是否通畅。 Ping命令就是发送ICMP的echo包,通过回送的echo relay进行网络测试。 ARP是正向地址解析协议,通过已知的IP,寻找对应主机的MAC地址。 RARP是反向地址解析协议,通过MAC地址确定IP地址。比如无盘工作站和DHCP服务。在这一层,数据的单位称数据包(packet)
三、传输层
网络层负责点到点(point-to-point)的传输(这里的"点"指主机或路由器),而传输层负责端到端(end-to-end)的传输(这里的"端"指源主机和目的主机)
提供应用程序间的通信。其功能包括:
一、格式化信息流;
二、提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送。
传输层协议主要是:传输控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(User Datagram protocol)。在这一层,数据的单位称为段
四、应用层
向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。远程登录TELNET使用TELNET协议提供在网络其它主机上注册的接口。TELNET会话提供了基于字符的虚拟终端。文件传输访问FTP使用FTP协议来提供网络内机器间的文件拷贝功能。 应用层一般是面向用户的服务。如FTP、TELNET、DNS、SMTP、POP3。 FTP(File Transmision Protocol)是文件传输协议,一般上传下载用FTP服务,数据端口是20H,控制端口是21H。 Telnet服务是用户远程登录服务,使用23H端口,使用明码传送,保密性差、简单方便。 DNS(Domain Name Service)是域名解析服务,提供域名到IP地址之间的转换。 SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,用来控制信件的发送、中转。 POP3(Post Office Protocol 3)是邮局协议第3版本,用于接收邮件。