TCP/IP网络模型有几层
应用层
应用软件就是应用层实现的,所以应用层只需专注为用户提供给应用功能,如HTTP、FTP、telnet、DNS、SMTP等
传输层
传输层有两个传输协议,TCP和UDP。
TCP全程传输控制协议(transmission control protocol),大部分应用使用TCP传输协议,如HTTP协议。TCP比UDP多了很多特性,比如流量控制、超时重传、拥塞控制等。
UDP相对简单,只需要传输数据包,不需要管数据包是否抵达对方,使用相对性好,传出效率也高。UDP也可以通过在应用层实现TCP的特性,实现可靠传输。
应用传输的数据可能非常大,直接传输不好控制,因此当传输的数据大于MSS(TCP最大报文长度),就要分块,若是数据包丢了,只需要重传丢失的数据包就行,无需整个数据重传。在TCP协议中,把每块称为TCP段(TCP Segment)。
当设备作为接收方时,传输层则负责把数据包传输给应用,用端口将要发送的应用区分开。
网络层
网络层最常用的IP协议(Inertnet protocol),IP协议会将传输层的报文作为数据部分,再加上IP包头组装成IP报文,如果IP报文大小超过MTU(以太网中一般为1500字节)就会再次进行分片,得到一个即将发送到网络的IP报文。
为了区分设备,网络层需要有区分设备的编号。一般用IP地址给设备进行编号,对于IPv4协议,IP地址共32位,分成四段。
IP地址分为两种意义:网络号,标识IP地址是属于哪个子网的;主机号,标识同一子网下的不同主机;
这需要子网掩码才能算出IP地址的主机号和网络号。比如10.100.122.2/24,的/24就表示255.255.255.0,24个1和8个0。
假设IP为10.100.122.35/24
网络号为
00001010.01100100.01111010.00100011 (IP地址)
11111111.11111111.11111111.00000000 (子网掩码)
-----------------------------------
00001010.01100100.01111010.00000000 (网络号)
主机号为(IP与子网掩码相减)
00001010.01100100.01111010.00100011 (IP地址)
00001010.01100100.01111010.00000000 (网络号)
-----------------------------------
00000000.00000000.00000000.00100011 (主机号)
计算子网可用的设备(主机数量),先确定主机地址的总数,子网掩码为/24,主机占32-24=8位,所以主机总数位2^8,因为每个子网有一个网络地址和一个广播地址,所以可用设备为2^8-2个。
网络接口层
OSI七层模型分别是什么?各自功能是什么
HTTP
明天写