1、网络模型与协议
。。。。。。。。。。。。
2、地址
为了使网络上的计算机能进行相互通信,必须有一个唯一的标识来区分网络上每台计算机。
两种标识可以使用:
(1)物理地址
对于以太网来说,物理地址就是一个48位的位串,此地址在网卡的生产过程中就已经固定了,是不可更改的,并且是全球唯一的。
使用指令ifconfig可以查看到本机的物理地址
有些计算机可能会有多块网卡,每块网卡代表计算机的一个网络接口,我们称这种计算机为多宿主计算机。
(2)IP地址
TCP/IP协议能够使计算机之间进行与底层物理网络无关的通信,底层网络可以是以太网也可以是令牌环网或者是其他类型的网,两台
计算机可以位于不同的局域网内,但通过TCP/IP协议它能够进行通信。前面介绍的物理地址,虽然也能唯一的标识网络上的每台计算机,
但是物理地址依赖于底层网络(不同的底层网络采用不同的物理地址),因此必须使用一个与底层硬件技术无关的通用地址来标识网络
上的每台计算机,这就是IP地址。IP地址由32个比特位构成,它分为两部分:计算机所在的网络号和该网络给该计算机分配的主机号,
分别成为网络ID和主机ID
32位(4字节)的IP地址为了表示方便也是每个字节隔开,不过不是使用冒号而是使用点号,
例如IP地址 202.205.3.195 。一个字节可以表示的数的范围是0~255
因此在理论上IP地址的范围为:
0.0.0.0 ~ 255.255.255.255
但实际上有些地址是专用的,不能用来标识计算机。
IP地址按一定的格式分成5类:
A类 B类 C类 D类 E类
A类地址使用8位作为网络地址,其余24位为主机地址,网络地址的第一位固定为0
B类地址使用16位作为网络地址,其余16位为主机地址,网络地址的第一、第二固定为1 0
C类地址使用24位作为网络地址,其余8位为主机地址,网络地址的第一、第二、第三固定为1 1 0
TCP/IP上的每台主机还有一个32位的子网掩码,它用来区分IP地址的网络号和主机号。将IP地址与子网掩码进行
按位与运算就可以得到ip地址的网络号,网络号是一台主机所处的网络的编号。例如,ip地址为222.197.168.244
子网掩码为255.255.255.0 两者做与运算得到的结果为222.197.168.0,那么这台主机所处的网络编号为222.197.168.0
127.0.0.1是一个特殊的地址,它指代本机,用于测试本机上的TCP/IP协议是否正常工作。
输入 ping 127.0.0.1 如果有回应说明本机上的TCP/IP协议工作正常。
3、端口
有了网络地址就可以唯一地标识网络上的每台计算机。通常 一台计算机上会同时运行多个程序,而他们可能要同时访问网络。
对于一个计算机上的多个应用程序,TCP和UDP协议采用16位的端口号来识别他们。一台主机上的不同进程可以绑定到不同的
端口上,这些进程都可以访问网路而互不干扰。
TCP/IP将端口号(16位的无符号整数,0~65535)分为两部分,
一部分是暴力端口即知名端口,范围0~1023,这些端口由权威机构规定其用途,如编号为21的TCP端口由FTP协议专用。
80号TCP端口由HTTP协议专用
其余的为自由端口,用户进程可自由申请和使用。
4、IP协议
5、用户数据报协议UDP
UDP协议位于传输层,在网络层之上而在应用层之下。UDP协议向应用程序提供一种面向无连接的服务,通常UDP协议被
用于不需要可靠数据传输的网络环境中。UDP不需要建立连接,应用程序采用UDP协议无需建立和维持连接。UDP协议不
保证数据报按顺序、正确地到达目的地,这项任务由应用程序来完成。
6、传输控制协议TCP
(1)TCP数据包的格式
TCP提供一种面向连接的、可靠的数据传输服务。
(2)使用TCP进行通信的过程
-----------建立连接
-----------关闭
7、客户机/服务器模型
网络中的实际应用大多都可以归纳为客户机/服务器模型(client/server模型),其中客户机是指请求服务的一方,服务器是指提供某种服务的一方。
有些应用程序,请求服务的同时也提供一定的服务,如果拆开来看,这种程序也是基于客户机/服务器模型。
客户机/服务器模型既可以使用TCP协议也可以使用UDP协议,或者两者混合使用,可根据具体需要而定。在客户机/服务器模型中,通常服务器端
的IP地址和端口号是固定的,客户端程序连接到服务器IP和端口。通常客户端的程序设计相对要简单一些。而服务器程序由于要考虑多个客户端
同时请求服务的问题,设计上相对复杂一些。