目录
•通过【IP地址】,可以实现【主机-主机】的通信•通过【IP地址 + 端口】,才能实现 【主机进程-主机进程】的通信
(1)服务器端使用的端口号这里又分为两类,最重要的一类叫做熟知端口号(well-known port number)或系统端口号,数值为0~1023 。
【网际协议IP】是TCP/IP体系中两个最主要的协议之一,也是最重要的互联网标准协议之一.
这里所讲的是【IPv4】
•IP地址:就是给互联网上每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯一的32位的标识符。
•作用:只有知道主机的IP地址,才能将消息发送给对应的主机。
•IP地址::={<网络号>,<主机号>} 实际上:32位地址 表示方法:点分十进制
•IP地址中,IP数据报的目标IP地址中,如果主机号为全1,则表示向目标IP网络中的所有主机发送广播信息。

• 外网IP:全球唯一IP,可以使用此IP访问互联网
•内网IP:只在本地机构(或局域网) 有效的IP地址(本地地址)
iP
•10.0.0.0~ 10.255. 255. 255
•172.16.0.0~172.31.255.255
• 192. 168. 0.0
192. 168. 255. 255
以上地址只能用于一个机构(局城网)的内部通信,而不能用于和互联网上的主机通信。
在互联网中的所有路由器,对目的地址是专用地址的数据报一律不进行转发。
我们计算机的ip地址与在百度上查的不一样,这就涉及了内网ip(局域网的概念了)与外网ip
![]()
如果笔记本想和互联网上某个主机通信,假设主机2的ip地址是100.100.100.100,那么笔记本会发送带有原ip地址(就是笔记本自己的IP地址192.168.8.47)和目标ip地址的数据报,发送给NAT路由器,然后NAT路由器接收到这个数据报,会将这个数据报的原IP地址改为全球唯一ip(也就是外网ip),然后再将这个数据报发送到互联网上,最后经过互联网的路由转发,主机2收到了这个数据报,对于主机2来说,它并不知道这个数据报是笔记本发给它的,因为原ip地址是路由器的外网ip(笔记本在路由器这里别修改为外网ip了),那么当主机2回答这个数据报的时候,它要发送一个数据报,它所发送数据报的目标地址是路由器的外网ip,经过互联网路由器收到主机2发来的数据报后,他会将数据报转发给笔记本,那么经过局域网和互联网,笔记本和主机2就可以通信了
主机进程和主机进程间通信
假设我这台笔记本的QQ发送了一条消息,发送给另外一台笔记本,我们通过ip地址就可以把消息发送给另一台笔记本了,但是另外一台笔记本在接收消息后,他不知道该把消息发送给笔记本上的QQ还是微信,在这里我们需要ip地址加端口的配合才能实现主机进程与主机进程间通信,这里的进程可以理解为电脑上安装的软件。
端口
解决这个问题的方法就是在运输层使用协议端口号(protocol port number),或通常简称为端口(port)。这就是说,虽然通信的终点是应用进程,但只要把所传送的报文交到目的主机的某个合适的目的端口,剩下的工作(即最后交付目的进程)就由TCP或UDP来完成。
另一类叫做登记端口号,数值为1024~49151。这类端口号是为没有熟知端口号的应用程序使用的。使用这类端口号必须在IANA 按照规定的手续登记,以防止重复

由于这类端口号仅在客户进程运行时才动态选择,因此又叫做短暂端口号。这类端口号留给客户进程选择暂时使用。当服务器进程收到客户进程的报文时,就知道了客户进程所使用的端口号,因而可以把数据发送给客户进程。通信结束后,刚才已使用过的客户端口号就不复存在,这个端口号就可以供其他客户进程使用。