网络结构模式
C/S结构,由客户机和服务器两部分组成,如QQ、英雄联盟
B/S结构,通过浏览器与服务器进程交互,如4399网页游戏
MAC地址
- 网卡是计算机上用于通信的硬件,而MAC地址就是网卡的地址,每个网卡都有唯一一个MAC地址。MAC地址 由6个部分组成:每个部分 都是一个字节,包含两个16进制数,如 00-16-EA-AE-3C-40
- 另外,MAC地址又称为 局域网地址、 以太网地址、物理地址或硬件地址
IP地址
- IP地址是主机或网络的逻辑(虚拟)地址,它 由4个部分组成:每个部分都是一个字节,包含一个10进制数,如:100.4.5.6。它也可以转换为二进制形式:01100100.00000100.00000101.00000110
- 编码方式
- A类IP地址:1字节的网络地址,3字节的主机地址。可表示的主机数为256^3 - 2,常用于大型网络。网络地址的第一个位必须为0,因此A类最多表示126个网络(B、C类没有这个限制)
- B类IP地址:2字节的网络地址,2字节的主机地址。可表示的主机数为256^2 - 2
- C类IP地址:3字节的网络地址,1字节的主机地址。可表示的主机数为256 - 2=254
- 特殊网址数字:
- 0:表示自己,如0.0.0.0
- 255:广播地址,如(A类)126.123.45.255、(B类)129.123.255.255;或者是用于子网掩码
- 127:IP地址不能以127作为开头,因为这群IP地址专门用于回路测试,如:127.0.0.1可以代表本机IP地址
子网掩码
- 作用:屏蔽IP地址的一部分,从而区分它的网络部分和主机部分
- 分类:
- 255一类,如255.255.255.0
- 其他:192.126.130.66/24,表示 192.126.130.66的子网掩码有24个1即255.255.255.0;192.126.130.66/26,表示 192.126.130.66的子网掩码有26个1
- 具体方法:
- 求网络部分:对(C类)255.255.255.0 求交集(即&umask)
- 求主机部分:对(C类)255.255.255.0 取反后求交集(即&~umask)
- 子网掩码的大小与正常IP地址一样
端口
- 一般指的是虚拟端口,是主机通信的进出口。由 端口号 来标记,范围是从 0 到 65535(2^16-1)
- 端口本质上其实是 内存的一个缓冲区,里面运行一个进程。比如,在一个缓冲区(端口)内运行QQ进程,这个缓冲区有一个端口号,外界就可以通过这个端口号与QQ进行通信
- 类型:
- 周知端口:范围 从 0 到 1023,表示 已经绑定的端口,用户不能使用。也叫知名端口、公认端口或者常用端口
- 注册端口:范围 从 1024 到 49151,是用户进程可以使用的端口
- 动态端口:范围是从 49152 到 65535,它的端口号不是认为指定的,而是系统自动(动态)分配的
- 注意,一个应用程序可以有多个端口,比如:QQ即可以打电环,也可以发消息,那么QQ就会有多个端口
网络模型
OSI七层参考模型(物数网传会表应)
TCP/IP四层模型(TCP/IP协议族)
- 在 应用层写程序,然后直接调用 传输层和网络层API即可
协议
本质上就是 封装数据的规则,也就是 传输的数据包的格式。双方遵守同一套规则,按相同的方法封装和拆解数据
常见协议:
应用层常见的协议有:
- FTP协议(File Transfer Protocol 文件传输协议)
- HTTP协议(Hyper Text Transfer Protocol 超文本传输协议,一般用从 浏览器 向 服务器 请求数据,数据类型包括文本、图片、音频等)
- NFS(Network File System 网络文件系统)
- SSH
传输层常见协议有:
- TCP协议(Transmission Control Protocol 传输控制协议)
- UDP协议(User Datagram Protocol 用户数据报协议)
网络层常见协议有:
IP 协议(Internet Protocol 因特网互联协议)
ICMP 协议(Internet Control Message Protocol 因特网控制报文协议,如 ping
在网络层就使用ICMP)
网络接口层常见协议有:
- ARP协议(Address Resolution Protocol 地址解析协议,用于查找IP地址对应的MAC地址)
- RARP协议 (Reverse Address Resolution Protocol 反向地址解析协议,与ARP相反)
UDP协议:
- 源端口号即发送数据的端口的端口号
- 目的端口号即接收方端口号
- 长度:UDP用户数据报的长度,单位是字节,最小值是8 (也就是只有首部)
- 校验和:用于检测UDP数据报传输之后是否有错,有错就丢弃
- TCP协议:
- IP协议:
以太网帧协议
中间的数据可以是IP协议,也可以是ARP协议
如果是ARP协议
ARP请求:目的物理地址是 广播地址,即ff-ff-ff-ff-ff-ff
ARP应答:目的地址就是 原来发出请求的地址
ARP协议
- ARP协议还需要封装在以太网帧中,才能在以太网中传递
网络通信的过程(封装与解封装)
- 封装的过程:
- 分用(解封装)的过程:
- 具体过程
如何知道目的地的MAC地址?答:根据目的地的IP地址,利用ARP协议得出 目的地的MAC地址,并缓存在主机中,具体过程如图: