一、IP地址
IP地址[主机名],英文全称:Internet Protocol Address,又译为网际协议地址。
网络中设备的标识,用来唯一标识每一台计算机。通常现在常用的IP地址是IPV4地址。
IPV4就是有4段数字,格式是xxx.xxx.xxx.xxx,每一段数字由8位二进制做成,取值范围是0~255。
IPV4采用32位地址长度,只有大约43亿个地址,IPv4定义的有限地址空间将被耗尽。
为了扩大地址空间,拟通过IPV6重新定义地址空间。IPv6采用128位地址长度,几乎可以不受限制地提供地址,但IPV6现在还没有正式普及。
为了解决IPV4有限地址空间的问题,IP地址又分内网地址和外网地址。(比如校园网,每一个学生都会有一个内网地址,学校会有一个路由器,路由器会有个外网地址,学生想要上外网都必须通过路由器出去,只要通过同一个路由器出去的,他们对应的外网地址都是一样的)
本质上所有的网络访问是通过ip地址访问的,域名是一个速记符号,不用记住IP地址复杂的数字。
本地回环地址:127.0.0.1 主机名:localhost
每台计算机都有一个127.0.0.1
如果127.0.0.1 ping不通,说明网卡不工作(比如装黑苹果,检测网卡驱动有没装好,可以 ping下回环地址)
如果本机地址 ping不通,说明网线坏了。
二、端口号
端口号用来标识进程的逻辑地址,不同进程的标识。
有效的端口:0~65535。
其中0~1024由系统使用或保留端口。
开发中不要使用1024以下的端口。
(端口有什么用呢?我们知道,一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP 地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区 分不同的服务的。)
三、传输协议
UDP(用户数据报协议)
- 面向无连接的协议
- 只管发送,不确认对方是否接收到
- 将数据及源和目的封装成数据包中,不需要建立连接
- 每个数据报的大小限制在64K之内
- 因为无需连接,因此是不可靠协议
- 不需要建立连接,速度快
TCP(Transmission Control Protocol,传输控制协议)
- 面向连接的协议
- 建立连接,形成传输数据的通道
- 在连接中进行大数据传输(数据大小不收限制)
- 通过三次握手完成连接,是可靠协议,安全送达
- 必须建立连接,效率会稍低
三次握手的过程:
- 主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话。
- 主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候发?”,这是第二次对话。
- 主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。
三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。
使用场合:
- tcp一般用于文件传输(ftp http 对数据准确性要求高,速度可以相对慢),发送或接收邮件(pop imap smtp 对数据准确性要求高,非紧急应用),远程登录(telnet ssh 对数据准确性有一定要求,有连接的概念)等等。
- UDP一般用于即时通信(qq聊天 对数据准确性和丢包要求比较低,但速度必须快),在线视频(rtsp 速度一定要快,保证视频连续,但是偶尔花了一个图像帧,人们还是能接受的),网络语音电话(VoIP 语音数据包一般比较小,需要高速发送,偶尔断音或串音也没有问题)等等。
网络通讯三要素归纳一句话:通过 ip 找机器,通过端口找程序,通过协议确定如何传输数据。