计算机网络的出现比互联网(Internet)是要早很多的
计算机之间想要实现互联,必须得规定一个互相之间通信的规则(即协议)。而为了将全世界的计算机连接起来,就必须规定一套全球通用的协议,互联网协议族应运而生。
Internet = Inter + net
互联网(Internet)即连接网络的网络
任何私有网络只要支持这个协议,就可以进入互联网
互联网的协议族包含了成百上千的协议标准,其中最重要的就是TCP/IP协议
【1】IP协议
IP地址:互联网上每一个计算机的唯一标识
例:
123.123.123.123
若一台计算机同时接入了多个网络(接入了多个路由器),则该计算机会有很多的IP地址
IP地址对应的实际上是计算机网络的接口,通常是网卡
IP协议负责将数据从一台计算机通过网络发送到另一台计算机。其中数据被分割成一块一块的,通过IP数据包发送出去。由于互联网链路复杂,两台计算机之间经常有多条线路,因此,路由器就负责决定如何把一个IP包转发出去
IP数据包的特点:
- 按块发送
- 途径多个路由
- 不能保证数据包是否到达
- 不能保证按顺序到达
【2】IPv4和IPv6
IPv4:是一个32位整数,数字表示
例:
192.168.0.1
IPv6:是一个128位整数,字符串表示
例:
2001: 85阿: 0042: 1000: 8a2e: 0370: 7334
【3】TCP协议
TCP协议是建立在IP协议之上的,TCP协议负责在两台计算机之间建立可靠的连接,保证数据包按顺序到达
TCP协议会通过握手建立连接,然后对每一个IP数据包编号,确保数据包会按顺序到达目的地,若中途数据包丢失,则会自动重发
TCP报文除了包含要传输的数据之外,还包含了源端口号和目标端口号
因为一台计算机会同时跑许多程序,一个TCP报文传输过来后,需要告知具体是传送给哪个程序的,要通过进程端口决定
一个进程也可能同时与多个计算机建立连接,因此会申请很多端口