1.概述
为了减少协议设计的复杂性,大多数网络模型都是按层的方式来组织的,在分层网咯模型中,每一层都为上一层提供一定的服务,而把如何实现本层服务的细节对上一层加以屏蔽,上层只需知道下层提供了什么功能以及对应于这些功能的接口,而不必关心下一层如何实现这些功能,我的理解是:对于上一层来说,本层就像是一个黑匣子,你并不知道里面装的是什么,怎么设计的,但是,只要我知道它的接口,我却会用它. 当前最普遍使用的是 TCP/IP模型, 几乎所有互联网设备都支持TCP/IP协议.TCP/IP协议已经成为事实上的国际标准.TCP/IP各层功能如下: (1)网络接口层:网络接口层TCP/IP模型最下的一层,它包括多种逻辑链路控制和媒体访问协议,网络接口层负责将internet层发送来的数据分成帧, 并通过物理链路进行传送,或从网络上接收物理帧,抽取数据并转交给其上层的internet层; (2) Internet层(网络层):网络层负责在发送端和接收端建立一条虚拟路径.这一层的主要协议是IP协议,IP协议并并不保证数据能完整正确的到达目的地,这个任务由它上面的传输层来完成.这一层的ARP协议(地址解析协议)和RARP协议(反向地址解析协议)用于IP地址和物理地址(通常就是网卡地址)的相互转换.如果数据在传输过程中出现问题,该层的ICMP协议将生产错误报文. (3)传输层:传输层通过位于该层的TCP协议(传输控制协议)或UDP协议(用户数据报协议)在两台主机间传输数据.其中TCP协议提供可靠的面向连接的服务,它保证数据能完整的按顺序地址送到目标计算机,它在传输数据前首先需要和目的计算机建立连接,并且在数据传输过程中维持此连接,因此在速度上会有些损失,UDP提供简单的无连接服务,它不保证数据能按顺序,正确的传送到目的地(但可由它的上层来保证), 它不用建立连接,通常速度要比TCP快些,TCP协议和IP协议都需要网络层提供通往目的地的路由,传输层提供端到端,即应用之间的通信,该层的主要功能有差错控制,传输确认和丢失重传. (4)应用层:应用层面向用户提供一系列访问网络的协议,如用于传输文件的FTP协议,用于远程登录的Telnet协议,用于发送电子邮件的SMTP协议( 简单邮件传输协议),以及最常用的用于浏览网页的HTTP协议(超文本传输协议),还有近几年来十分流行的点对点共享文件协议,即BitTorrent协议,改协议基于HTTP协议.
2.地址
1.物理地址 对于以太网来说,物理地址就是一个48 位的位串,此地址在网卡生产过程中就已经固定,不可更改.在shell下输入ifconfig查看本机的物理地址:
yang@liu:~$ ifconfig eth0 Link encap:以太网 硬件地址 28:d2:44:dc:86:8b
其中28:d2:44:dc:86:8b就是以16 进制表示的48位(6)字节的网卡地址,每个字节用 冒号隔开,有些计算机可能有多块网卡,每块网卡代表计算机的一个网络接口,称其为多宿主计算机. 2.IP地址 TCP/IP协议能够使计算机之间进行与底层物理网络无关的通信,底层网络可以是以太网,可以是令牌环网或其它类型的网,两台计算机可以位于不同的局域网内,,物理地址虽然也能唯一的标识网络上的每台计算机,但是物理地址依赖于底层网络(不同的底层网络采用不同的物理地址),因此必须使用一个和底层硬件技术无关的通信地址来标识网络上的计算机,正好,IP地址不依赖于底层网络,IP地址由32个 比特位构成,它分为两部分,计算机所在的网络号和该网络给该计算分配的主机号,分别称为网络ID和主机ID.IP地址每个字节由点号分开, 一个字节表示数据的范围是00000000~11111111,也就是(0~255)因此理论上IP地址的范围为0.0.0.0~255.255.255.255,但实际上有些地址是专用的,不能用来标识计算机. IP地址按一定的格式分为5类:A类:使用8位作为网络地址,24位作为主机地址网络地址的第一位固定为0,范围1.0.0.0~127.255.255.255;B类:使用16位作为网络地址,16位作为主机地址,网络的地址的第一,第二位固定为10,范围:128.0.0.0~191.255.255.255,C类:使用24位作为网络地址,8位作为主机地址,网络地址的第一,二,三位固定为110,范围为:192.0.0.0~223,255.255.255. 127.0.0.1是一个特殊的地址,它指代本机. TCP/IP上的每台计算机还有一个32位的子网掩码,它用于区分IP地址的网络号和主机号.将IP地址与子网掩码做与运算就可以得到IP地址的网络号,网络号是一台计算机所处网络的编号.
3.端口
对于一台计算机上的不同应用程序,TCP和UDP协议采用16位的端口号来识别它们 ,一台主机上的不同进程可以绑定到不同的端口,这些进程都可以访问网络而互不干扰,TCP/IP将端口号(16为的无符号整数, 端口号的范围是0~65535) 分为 两部分,一部分是保留端口即知名端口,范围为0~1023,这些端口由权威机构规定其用途,eg :端口21为ftp协议专用,80端口由http协议专用.