4.网络编程

4.1网络协议

4.1.1网络协议模型

网络协议模型有OSI七层协议模型和TCP/IP协议模型。OSI只是一种理论下的模型,而在实际应用中,广泛使用的是TCP/IP协议。

网络编程1

数据链路层:又称网络接口层,通常包括操作系统中的设备驱动和计算机中的网卡。

网络层:又称网络互联层,在TCP/IP协议族中,包括IP协议、ICMP协议等。

传输层:为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,传输协议分为:TCP(传输控制协议)、UDP(用户数据报协议)。

应用层:为文件传输、网络排错、Internet操作提供具体的应用程序。

数据进入协议栈的封装过程如下:

网络编程1

在TCP/IP协议中,数据由上往下称为装包,由下往上称为拆包。装包时,每一层都会增加一些信息用于传输,这些信息称为报头,当上层数据传输到本层时,会将数据加上报头打包发送给下一层。拆包时,每一层会将本层的报头读取后,将剩下的数据发给上一层。

TCP首部格式:

网络编程1

 

TCP特点:建立连接通道;数据大小无限制;传输速度慢,但可靠性高。

UDP首部格式:

网络编程1

UDP特点:不建立连接通道;数据打包,大小限制为64k;速度快,但可靠性低,出现丢包。

IP首部格式:

网络编程1

4.1.2术语、IP地址、子网掩码和端口

常用术语:

主机:Host,包含台式机、笔记本、手机等;

网络:Internet;

网络介质:Media,网线、光纤、wifi、移动3G网络等;

数据:Data;

最大传输单元:MTU,IP数据报大小46~1500,以太网1500、PPPOE/ADSL1492。

传统上,IP地址用4字节表示,称为IPv4。IP地址格式为:IP地址 = 网络地址(网段ID) + 主机地址(主机ID);IP地址 = 网络地址 + 子网地址 + 主机地址。

IP地址分为5类:

A类保留给政府机构,地址范围是1.0.0.0-126.255.255.255,默认掩码255.0.0.0/8。即网络地址是第1个字节,此网络地址的最大主机数为2^24-2(1.0.0.0代表网络本身,不能分配;1.255.255.255代表当前网络的广播地址)。10.x.x.x是私有地址,即用在局域网中的地址;127.x.x.x是保留地址;127.0.0.1是本机地址。

B类分配给中等规模的公司,地址范围是128.0.0.0-191.255.255.255,默认掩码255.255.0.0/16。即网络地址是前2个字节,此网络地址的最大主机数为2^16-2。172.16.0.0-172.31.255.255是私有地址;169.254.x.x是保留地址。

C类分配给任何需要的人,地址范围是192.0.0.0-223.255.255.255,默认掩码255.255.255.0/24。即网络地址是前3个字节,此网络地址的最大主机数为2^8-2。192.168.x.x是私有地址。

D类用于组播,地址范围是224.0.0.0-239.255.255.255。

E类用于实验,地址范围是240.0.0.0-255.255.255.255。

A/B/C类可以用下图表示:

网络编程1

子网掩码:计算IP地址中的网络地址、子网地址、主机地址。

子网:将IP地址中的主机地址从新划分成若干个子网络。

注:掩码和子网掩码是不同的,掩码是计算IP地址中的网络地址和主机地址,ABC类的掩码是固定的,如A的掩码是255.0.0.0。

当IP地址为192.168.1.64/24,其中24表示11111111-11111111-11111111-00000000,即255.255.255.0是掩码。网络地址是192.168.1,主机地址是64;网络地址192.168.1的最大主机数是2^8-2。

当IP地址为192.168.1.65/26,则网络地址是192.168.1,子网掩码为255.255.255.192。65对应的二进制是01000001,第4个字节的子网掩码是11000000,其1对应的为子网地址,0对应的是主机号。因此子网地址是01,主机地址是000001;每个子网的最大主机数是2^6-2(主机地址全0表示网络本身,包含此网络上所有主机;全1表示有线广播)。

DNS服务器:又称域名服务器,在internet上域名和IP地址一一对应,域名是分为方便人们记忆,而机器只认识IP地址,因此域名和IP地址之间的转换称为域名解析。

端口号:用于区分服务。网络上一台主机可以提供多个服务,端口号用于区分一台主机上的不同服务,标识从0~65535。常用端口:FTP(文件传输)-21;Telnet(远程登录)-23;HTTP-80/8080/3128/8081/9098;SSH(安全登录)-22。

参考:TCP-IP详解卷1

相关文章: