地址分类
A类地址是首位以“0”开头的地址。从第一位到第八位是它的网络标识。用十进制表示的话,
0.0.0.0-127.0.0.0是A类的网络地址。A类地址的后24位相当于主机标识。因此,一个网段内可容纳的主机地址上限为16,777,214个。
B类IP是前两位为“10”的地址。从第1位到第16位是它的网络标识。用十进制表示的话,128.0.0.1-191.255.0.0是B类的网络地址。B类地址的后16位相当于主机标识。因此,一个网段内可容纳的主机地址上限为65534个。
C类IP地址是前三位为“110”的地址。从第1位到第24位是它的网络标识。用十进制表示的话,192.168.0.1-239.255.255.0是B类的网络地址。B类地址的后8位相当于主机标识。因此,一个网段内可容纳的主机地址上限为254个。
D类IP地址是前三位为“1110”的地址。从第1位到第32位是它的网络标识。用十进制表示的话,224.0.0.0-239.255.255.255是B类的网络地址。D类地址没有主机标识,常被用于多播。
要用比特位表示主机地址时,不可全部为0或全部为1.因为全部为0在表示对应的网络地址或IP地址不可获知的情况下才使用。而全部为1的主机地址通常作为广播地址。因此C类地址每个网段最多只能有254(2^8–2=254)个主机地址。
ARP
ARP是一种解决地址问题的协议。以目标IP地址为线索,用来定位下一个应该接受数据分包的网络设备对应的MAC地址。如果目标主机不再同一个链路上时,可以通过ARP查找下一跳路由器的MAC地址。
ICMP
ICMP的主要功能包括,确认IP包是否成功送达目标地址,通知在发送过程当中IP包被废弃的具体原因,改善网络设置。在IP通信中如果某个IP包因为某种原因未到达目标地址,那么这个具体的原因将由ICMP负责通知。
DHCP
为了实现自动设置IP地址,统一管理IP地址分配,就产生了DHCP协议。使用DHCP之前,首先要架设一台DHCP服务器。然后将DHCP所要分配的IP地址设置到服务器上。此外,还需要将相应的子网掩码,路由控制信息以及DNS服务器的地址等设置到服务器上。
NAT
NAT(Network Address Translator)是用于在本地网络中使用私有地址,在连接互联网时转而使用全局IP地址的技术。除转换IP地址外,还出现了可以转换TCP,UDP端口号的NAPT技术,由此可以实现一个全局IP地址与多个主机的通信。
TCP协议
TCP是面向连接的,可靠的流协议。流就是指不间断的数据结构,你可以把它想象成排水管道的水流。当应用程序采用TCP发送消息时,虽然可以保证发送的顺序,但还是犹如没有任何间隔的数据流发送给接收端。TCP为提供可靠性传输,实行“顺序控制”或“重发控制”机制。此外还具备“流控制”,“拥塞控制”,提高网络利用率等众多功能。
UDP是不具有可靠性的数据报协议。细微的处理它会交给上层的应用去完成。在UDP的情况下,虽然可以确保发送消息的大小,却不能保证消息一定会到达。
TCP的特点及其目的:TCP通过校验和,序列号,确认应答,重发控制,连接管理以及窗口控制等机制实现可靠性传输。
通过序列号与确认应答提高可靠性
TCP通过肯定的确认应答(ACK)实现可靠的数据传输。当发送端将数据发出之后会等待对端的确认应答。如果有确认应答,说明数据已经成功到达对端。反之,则数据丢失的可能性很大。
连接管理
TCP在数据通信之前,通过TCP首部发送一个SYN包作为建立连接的请求等待确认应答。如果对端发来确认应答,则认为可以进行数据通信。如果对端的确认应答未能到达,就不会进行数据通信。此外,在通信结束时会进行断开连接的处理(FIN包)。一个连接的建立与断开,正常过程至少需要来回发送7个包才能完成。
利用窗口控制提高速度
TCP以1个段为单位,没发一个段进行一次确认应答的处理。这样的传输方式有一个缺点,包的往返时间越长通信性能就越低。
为解决这个问题,TCP引入了窗口这个概念。即使在往返时间较长的情况下,它也能控制网络性能的下降。确认应答不再是以每个分段,而是以更大的单位进行确认时,转发时间将会被大幅度的缩短。也就是说,发送端主机,在发送了一个段以后不必要一直等待确认应答,而是继续发送。窗口大小就是指无需等待确认应答而可以继续发送数据的最大值。