网络通信三要素
IP地址
计算机在网络中的唯一标识,通过IP找到通信所在的机器。
32bit(4字节),一般用“点分十进制”表示,如192.168.1.158;IP地址=网络地址+主机地址,可分类:
**A类:**第1个8位表示网络地址,剩下的3个8位表示主机地址。
**B类:**前2个8位表示网络地址,剩下的2个8位表示主机地址。
**C类:**前3个8位表示网络地址,剩下的1个8位表示主机地址。
**D类:**用于在IP网络中的组播。
**E类:**保留作研究之用。
查看网卡信息
- Linux
ctrl+a:快速回到行首
ctrl+e:快速回到行末
- Windows
方式一:
方式二:
右击点状态:
点击详细信息:
端口号
用于表示进程的逻辑地址,不同进程的标识。一台机器上不同程序的标识。
有效端口:0-65535,其中0-1023系统使用或保留端口。
知名端口(0-1023)
80端口:HTTP服务
21端口:FTP服务
动态端口(1024-65535)
它一般不固定分配的某种服务,而是动态分配。
动态分配是指当一个系统程序或应用程序需要网络通信时,它向主机申请一个端口,主机从可用的端口号中分配一个供他使用。
当这个程序关闭时,同时也就释放了所占用的端口号。
传输协议
通信双方都遵守达成的传输数据的格式。常见的协议:UDP(用户数据协议)、TCP(传输控制协议)
TCP
- 建立连接,形成传输数据的通道
- 在连接中进行大数据量的传输
- 通过三次握手完成连接,是可靠协议
- 必须建立连接,效率会稍低
UDP
- 将数据及源和目的封装成数据包、不需要建立连接
- 每个数据报的大小限制在64k内
- 因无连接,是不可靠协议
- 不需要建立连接,速度快
网络模型
计算机网络之间以何种规则进行通信,就是网络模型所研究的问题。
网络模型一般指OSI七层参考模型和TCP/IP五层参考模型。
在网络模型中,数据的传输经历了逐级封装的过程,反方向上,经历了逐级拆封的过程。
每一层实现各自的功能和协议,并且都为上一层提供业务功能。为了让提供这种业务功能,下一层将上一层中的数据并入到本层的数据域中,然后通过加入报头或报尾来实现该层业务功能,该过程叫做数据封装。用户的数据要经过一次次的封装,最后转化成可以在网络上传输的信号,发送到网络上。当到达目标计算机后,再执行相反的数据拆包过程。
OSI参考模型各层的含义
物理层
主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。
主要作用是将数据最终编码为0,1标识的比特流,通过物理介质传输。
这一层的数据叫做比特。
数据链路层
主要将接收到的数据进行MAC地址(网卡地址)的封装与解封装。
常把这一层的数据叫做帧。这一层常工作的设备是交换机。
网络层
主要将接收到的数据进行IP地址的封装与解封装。
常把这一层的数据叫做数据包。这一层设备是路由器。
传输层
定义了一些数据传输的协议和端口号。
主要讲接受的数据进行分段和传输,到达目的地址后在进行重组。
常把这一层的数据叫做段。
会话层
通过传输层建立数据传输的通路。
主要在系统之间发起会话或者接收会话请求。
表示层
主要进行对接收数据的解释、加密与解密、压缩与解压缩。
确保一个系统的应用层发送的数据能被另一个系统的应用层识别。
应用层
主要是为一些终端应用程序提供服务。直接面对着用户的。