目录
1 IP地址
1.1 IP 地址及其表示方法
1.2 分类的 IP 地址
1.3 无分类编址 CIDR
1.3.1 网络前缀
1.3.2 地址块
1.3.3 地址掩码 (address mask)
1.4 IPv6 的地址
1.4.1 表示方式
1.4.2 零压缩
2 端口号
2.1 进程之间的通信
2.2 运输层的作用
2.3 屏蔽作用
2.4 可靠信道与不可靠信道
2.5 运输层的两个主要协议
2.6 运输协议数据单元
2.7 UDP 与 TCP 的区别
2.8 运输层的端口
2.9 端口号 (protocol port number)
2.10 TCP/IP 运输层端口的标志
2.11 两大类、三种类型的端口
2.12 常用的熟知端口
2.13 BSD端口 (也是一个标准)
示例:
IP 地址采用 2 级结构
IP地址在整个互联网范围内是唯一的。
IP 地址指明了连接到某个网络上的一个主机
网络号的位数 n 是多少?
各类 IP 地址的指派范围
注意:
一般不使用的特殊的 IP 地址
分类的 IP 地址的优点和缺点
例:一个拥有1000台主机的组织,需要申请哪类IP地址?
需要申请一个B类地址,这就会导致超过64000个地址不能被其他组织使用。随着加入互联网的组织数量的迅速增加,IP地址面临被分配完的危险
为了解决上述问题,IETF提出了划分子网的编址改进方案
三级IP地址:网络号、子网号和主机号
例:假设有一个IP地址为192.168.1.100,子网掩码为255.255.255.0的网络。
网络号:网络号是指用来标识网络的部分。在这个例子中,子网掩码为255.255.255.0意味着前3个字节(24个位)用于表示网络号。因此,192.168.1是网络号。
子网号:子网号是指在一个网络内再进行划分而得到的子网的部分。在这个例子中,子网掩码为255.255.255.0意味着最后一个字节(8个位)用于表示子网号。因此,1是子网号。
主机号:主机号是指在一个子网内具体的主机或设备的标识。在这个例子中,最后一个字节(8个位)除去子网号的部分就是主机号。因此,100是主机号。
综上所述,IP地址192.168.1.100在子网掩码为255.255.255.0的网络中,网络号为192.168.1,子网号为1,主机号为100。
需要注意的是,子网划分和IP地址的具体规模和网络需求有关,因此在实际应用中,可以根据需要选择不同的子网掩码来划分网络、子网和主机。
CIDR (Classless Inter-Domain Routing) :无分类域间路由选择。
消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,可以更加有效地分配 IPv4 的地址空间,但无法解决 IP 地址枯竭的问题。
最大的区别: 前缀的位数 n 不固定,可以在 0 ~ 32 之间选取任意值。
CIDR 记法:
斜线记法 (slash notation)
a.b.c.d / n:
二进制 IP 地址的前 n 位是网络前缀。 例如:128.14.35.7/20:前 20 位是网络前缀。
注意:
又称为子网掩码 (subnet mask)。
位数:32 位。
目的:让机器从 IP 地址迅速算出网络地址。
由一连串 1 和接着的一连串 0 组成,而 1 的个数就是网络前缀的长度。
/20 地址块的地址掩码: 11111111 11111111 11110000 00000000
点分十进制记法:255.255.240.0
CIDR 记法:255.255.240.0/20。
默认地址掩码
网络地址 = (二进制的 IP 地址) AND (地址掩码)
【例】已知 IP 地址是 128.14.35.7/20。求网络地址。
(a) 点分十进制 IP 地址
128.14.35.7
(b) 二进制 IP 地址
1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 1 1 0 0 0 0 0 1 1 1
(c) 地址掩码是 255.255.224.0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
(d) IP 地址与地址掩码按位 AND
1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
(e) 网络地址(点分十进制)
128.14.32.0
点分十进制数记法:
104.230.140.100.255.255.255.255.0.0.17.128.150.10.255.255
冒号十六进制记法:
68E6:8C64:FFFF:FFFF:0000:1180:960A:FFFF
冒号十六进制记法:
68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF
两个技术:零压缩,点分十进制记法的后缀。
零压缩 (zero compression):一串连续的零可以用一对冒号取代。
FF05:0:0:0:0:0:0:B3 可压缩为:FF05::B3
注意:在任一地址中,只能使用一次零压缩。
运输层向高层用户屏蔽了下面网络核心的细节(如网络拓扑、所采用的路由选择协议等),使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道。
互联网的正式标准:
用户数据报协议 UDP (User Datagram Protocol)
传输控制协议 TCP (Transmission Control Protocol)
两个对等运输实体在通信时传送的数据单位叫作运输协议数据单元 TPDU (Transport Protocol Data Unit)。
TCP 传送的数据单位协议是 TCP 报文段 (segment)。
UDP 传送的数据单位协议是 UDP 报文或用户数据报。
UDP
TCP
使用 UDP 和 TCP 的典型应用和应用层协议
复用:应用进程都可以通过运输层再传送到 IP 层(网络层)。
分用:运输层从 IP 层收到发送给应用进程的数据后,必须分别交付给指明的各应用进程。
如何指明各应用进程?
需要考虑的问题
解决方法:在运输层使用协议端口号 (protocol port number),或通常简称为端口 (port)。把端口设为通信的抽象终点。
端口用一个 16 位端口号进行标志,允许有 65,535 个不同的端口号。
端口号只具有本地意义,只是为了标志本计算机应用层中的各进程。
在互联网中,不同计算机的相同端口号没有联系。
由此可见,两个计算机中的进程要互相通信,不仅必须知道对方的端口号,而且还要知道对方的 IP 地址。
IANA建议49152至65535作为“动态或私有端口”。
许多Linux内核使用32768至61000范围。配置文件/proc/sys/net/ipv4/ip_local_port_range有当前系统设定。
1.以下不是合法的IPV4的地址是:
A). 192.168.0.14 B). 10.87.384.31 C).255.255.255.255 D). 127.0.0.1
2.以下关于IP地址说法,错误的是:
A). IP可以采用数字表示,比如0xe80e0832就可以表示一个IP地址
B). IPV6的提出主要目的是解决IPV4的IP地址枯竭的问题
C). 234.76.10.1是一个合法的广播地址
D). ::1是一个合法的IP地址
3.以下关于端口号的说法,错误的是:
A). 端口是一个16位的数字,主要用于系统区分不同的网络数据该由那个任务来处理
B).为避免冲突,TCP和UDP端口不能同时使用同一端口
C).网络数据是由IP地址和端口以及套接字类型决定的
D).用户编程不可使用1024以下的端口