IP(Internet Protocol)网络协议,是为收发网络数据分配给计算机的值。
端口号是为了区分程序中创建的套接字而分配的序号
参考:《TCP/IP网络编程》尹圣雨,章节3.1
网络地址(Internet Address):同样是为使计算机连接到网络并收发数据分配的IP地址
- IPv4(Internet Address version 4)4字节地址族
- IPv6(Internet Address version 6)16字节地址族
IPv4将4字节的地址分为网络地址和主机地址,且分为A、B、C、D、E等类型,E类地址是已被预约,一般不用。
网络地址(网络ID)是为了区分网络而设置的一部分IP地址:
- (传输数据是先找网络地址,再找主机地址)
- (向相应网络传数据,实际上是向构成网络的路由器Router或交换机Switch传递数据,再向目标主机传递数据)
- (Router和Switch是为了完成外网与本网主机之间数据交换的物理设备,所以在计算机上按上适当软件,也可以当做交换机)
网络地址分类和主机地址边界:(记住ABC)
- A类:首位以0开始,或首字节 0~127
- B类:前2位以10开始,或首字节 128~191
- C类:前3位以110开始,或首字节 192~223
区分socket的端口号:
- 网络接口卡NIC(Network Interface Card)是一种数据传输设备,其向计算机内部传输数据时会用到IP(网络协议),之后OS再根据端口号负责分配传递给socket,所以NIC接受到的数据内有端口号,并且一个端口号无法分配给不同的socket
- 端口号由16构成,分配范围是065535,其中01023分配给了知名端口(well-known port),即特定的应用程序
- 端口号不能重复,但TCP和UDP不会共用端口号,所以可以重复:某TCP socket使用了8888端口号,其他TCP无法使用该端口号,但UDP socket可以使用