我们先从一个网购的故事开始:双十一,住在上海的小凹在淘宝从北京的一家店铺买了一台电脑和一个手机。发货时打算一起发顺丰寄出。
但是正好是“双十一”, 顺丰说公司爆仓啦,只能发体积小的手机,电脑运不出去了。无奈之下,卖家又选择了一家压力略小的申通快递,将2件物品分别打包运走。
两家快递公司走了不同的路径,最后将手机和电脑送到了目的地——位于上海市普陀区乌拉路乌拉小区2楼3单元33号,小凹家。
网购结束,开始正题。
IP地址
IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一台主机和每一个网络分配一个逻辑地址。IP地址是逻辑地址,是逻辑层面的,可以修改变化。IP地址为32位。
比如小凹家的地址:上海市普陀区乌拉路乌拉小区2楼3单元33号。五年前可能叫上海市普陀区叽叽路叽叽小区,但无论名字改成啥,小凹家还在那里,我们可以通过新的地址来找到小凹家。
子网掩码
区分IP地址中主机号和网络号的编码。1对应网络地址,0对应主机地址。它必须和IP地址成对出现,否则没有意义。
192.168.1.2
255.255.255.0
IP地址由4段8位二进制数表示。8位都是1就是十进制的255。所以192.168.1为网络地址,.2为主机地址。
而且可分配192.168.1.1—192.168.254这254个IP地址。
MAC地址
网络设备的物理地址,一般不可更改。就好像我们的身份证号一样。
如果小凹家的门牌变了,但是物理位置没变。那么快递只要去过一次,就会记住新门牌,也就记住了门牌(IP)和物理地址(MAC)的新的对应关系。
网关
网关是在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。也就是不同网络之间的连接。
例如快递员拿着小凹的快递去小凹的小区送快递,但是到了小区门口,门口的大爷不让快递小哥进,这时大爷喊小凹出来,让小凹拿快递。大爷就相当于网关,连接着小区外部和小区内部。
DNS
DNS是域名和IP地址相互映射的一个分布式数据库。让用户通过域名去找网站,而不是IP地址。
例如北京的卖家想要用顺丰发货,他只知道顺丰这个名字(域名),但不知道具体地址(IP地址)。这时他就用高德地图输入顺丰,然后找到了地址。这是高德地图就是一个域名和IP地址的数据库,也就是DNS。
TCP协议
TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。
TCP将数据分成适当长度的报文段。
小凹的快递被分成两部分传输。
数据帧
数据帧在数据包的基础上,又增加了源MAC地址和目标MAC地址,另外还有一些同步信息和校验信息。
数据被分成无数个包后,这些包都含有相同的IP地址和MAC地址。到达目的地后再根据这些信息将杂乱的数据包重新归类,组合,还原。
IP地址:小凹家的地址:上海市普陀区乌拉路乌拉小区2楼3单元33号
MAC地址: 小凹家的物理地址
两个快递到达上海顺丰,上海申通公司后,因为含有相同的“IP地址”和“MAC地址”,所以被归为同一“数据”,一起送到“目的主机”——小凹家。