1.网络模型与协议
为了减少协议设计的复杂性,大多数网络模型都是按层的方式来组织的。在分层网络模型中,每一层都为上一层提供一定的服务,而把如何实现本层服务的细节对上一层加以屏蔽。上层只需知道下层提供了什么功能以及对这些功能的接口,而不必关心下一层如何实现这些功能。
TCP/IP各层功能如下:
[1].网络接口层
网络接口层包括多种逻辑链路控制和媒体访问协议。它负责将网络层发送来的数据分成帧,并通过物理链路进行传送,或从网络上接收物理帧,抽取数据并转交给其上的网络层。
[2].Internet层(网络层)
网络层负责在发送端和接受端之间建立一条虚拟路径。这一层的主要协议是IP协议(百度IP协议)。IP协议并不保证数据能完整正确的到达目的地,这个任务由它上面的传输层来完成。这一层的ARP协议(地址解析协议 百度ARP协议)和RARP协议(反向地址解析协议 百度RARP协议)用于IP地址和物理地址的相互转换。如果数据在传输过程中出现问题,该层的ICMP协议(百度ICMP协议)将生产错误报文。
[3].传输层
传输层通过位于该层的TCP(传输控制协议 百度TCP协议)协议或UDP(用户数据报协议百度UDP协议)协议在两台主机间传输数据。
[4].应用层
应用层面向用户提供一系列访问网络的协议,如用于传输文件的FTP协议、用于远程登录的Telenet协议、用于发送电子邮件的SMTP协议(简单邮件传输协议)、以及最常用的用于浏览网页的HTTP协议(超文本传输协议)。
2.地址
为了使网络上的计算机能进行互相通信,必须有一个惟一的标识来区分网络上每台计算机。
[1].物理地址
对于以太网来说,物理地址就是一个48 位的位串,此地址在网卡的生产过程中就已经固定了,是不可更改的,并且是全球惟一的。用16进制表示的网卡地址,每个字节用冒号隔开。有些计算机可能会有多块网卡,每块网卡代表计算机的一个网络接口,这种计算机称为多宿主计算机。
[2].IP地址
IP由32个比特位构成,它分为两部分:计算机所在的网络号和该网络给该机算计分配的主机号,分别被称为网络ID和主机ID。IP地址为了方便也是每字节隔开,不过不是用冒号而是点号。
理论上IP的范围为:0.0.0.0~255.255.255.255,但实际上有些地址是专用的,不能用来标识计算机。
127.0.0.1,它指代本机,用于测试本机上的TCP/IP协议是否正常工作。
TCP/IP上的每台主机还有一个32位的子网掩码,它用来区分IP地址的网络号和主机号。将IP地址与子网掩码进行按位“与”运算就可以得到IP地址的网络号,网络号是一台主机所处的网络的编号。
3.端口
1.通常一台计算机上同时运行多个程序,而它们可能同时要访问网络。对于一台计算机上的多个应用程序,TCP和UDP协议采用16位的端口号来识别它们。一台主机上的不同进程可以绑定到不同的端口上,这些进程都可以访问网络而互不干扰。
2.端口号是一个16位的无符号整数,因此端口号的范围是0~2^16,即0~65535。
3.TCP/IP将端口号分为两部分:一部分是保留端口即知名端口,范围为0~1023,这些端口由权威机构规定其用途;其余的为自由端口,用户进程可以自由申请和使用。
4.客户机/服务器模型
网络中的实际应用大多都可以归纳为客户机/服务器模型(Client/Seerver模型、C/S模型),其中客户机是指请求服务的一方,服务器是指提供某种服务的一方。