第三章
(1)
IPv4和IPv6的差别主要是表示IP地址所用的字节数(IPv4 4字节,IPv6 16字节)
IPv6是为了应对2010年前后IP地址耗尽的问题而提出的标准
(2)
IPv4地址族分为网络地址和主机地址
首先浏览IPv4地址中的网络地址(网络ID),先将数据传到公司网络,构建公司网络的路由器接收到数据后,浏览传输数据的主机地址(主机ID)并将数据传给目标计算机
(3)
IP用于区分主机,端口号用于区分同一主机下的应用程序
(4)
214.121.212.102 (C类)
120.101.122.89 (A类)
129.78.102.211 (B类)
(5)
完成外网与本网主机之间的数据交换
(6)
分配给特定应用程序的端口
范围是0-1023
HTTP的默认端口号:80/TCP;FTP的默认端口号:21/TCP
(7)
因为结构体sockaddr并非只为IPv4设计,传递的IP地址和端口号都应保存在成员sa_data中并且需要在剩余部分填充0,直接写入sa_data成员比较麻烦,因此需要保存IPv4地址信息的结构体sockaddr_in,sockaddr_in中IP,端口号,剩余的0分别在三个成员中,较容易操作
(8)
大端序:高位字节存放到低位地址
小端序:高位字节存放到高位地址
网络字节序:通过网络传输数据时约定的统一方式,统一为大端序
如果没有统一的网络字节序,不同端序系统间传输数据传输数据会出现错误,如大端序系统向小端序系统传输0x1234,接收的数据解析却为0x3412
(9)
在小端序系统接收端会将将大端序数据转换成小端序保存起来
(10)
127.0.0.1是回送地址,指的是计算机自身IP地址,向回送地址传输数据相当于向计算机自身IP地址传输数据