网络基本概念
一、IP地址和端口号
IP地址:描述一个主机在互联网上的具体位置
IP地址由一个32位的二进制数表示,它被分割为4个“8位二进制数”(也就是4个字节),如:01100100.00000100.00000101.00000110。
通常用“点分十进制”的方式来表示,即 a.b.c.d 的形式(a,b,c,d都是0~255之间的十进制整数)。如:100.4.5.6
端口号:当一个主机接收到数据时,要区分主机上哪个应用程序使用
二、协议和协议分层
协议:发送方和接收方的 “约定” ,两边规定的数据格式才可以正确通信
==协议分层:
为什么需要网络协议的分层?
分层最大的好处,类似于面向接口编程:定义好两层间的接口规范,让双方遵循这个规范来对接。
对于使用方来说,并不关心提供方是如何实现的,只需要使用接口即可 ; 对于提供方来说,利用封装的特性,隐藏了实现的细节,只需要开放接口即可
TCP/IP五层网络模型
理解每层协议的功能:
应用层:关注传输过来的数据,要干啥用
传输层:不考虑中间路径,只在意起点和终点
(我和淘宝卖家,我们不在意中间物流,只在意送到就行)
网络层:主要负责两个遥远节点的路径规划
(起点深圳,送到北京,从众多路径中选择合适的)
数据链路层:
重点关注两个相邻节点之间的传输
(送货途中快递中转站之间的传输)
物理层:网络通信的基础设施(网线,光缆,接口…)
封装和分用
封装:
发送方发送数据集,要把数据从上到下,依次交给对应的层次的协议,进行封装
分用:
接收方收到数据,要把数据从下到上,依次交给对应层次的协议,进行解析