网络编程
1.协议
通信双方约定的一套标准
2.国际标准
OSI七层模型
应用层: 网络中传输的数据
表示层: 传输数据加密
会话层: 是否建立会话链接
传输层: 数据传输的方式
网络层: 数据如何实现路由
数据链路层: 局域网内如何实现数据传输
物理层: 物理介质的链接(双绞线、光纤、wifi)
TCP/IP网络模型
应用层
传输层
网络层
网络接口层
应用层
HTTP 超文本传输协议
FTP 文件传输协议
TFTP 简单文件传输协议
Telnet 远程登录协议
SMTP 邮件传输协议
...
传输层
UDP 用户数据报协议
1.实现简单
2.不安全、不可靠的传输协议
TCP 传输控制协议
1.实现复杂
2.安全、可靠传输协议
3.通信前三次握手建立连接
4.通信过程中保障数据传输完整性
5.通信结束时有四次挥手结束连接
网络层
IPv4协议
管理员形式: 192.168.0.160
计算机形式: 11000000 10101000 00000000 10100000
子网掩码: 255.255.255.0
11111111 11111111 11111111 00000000
IP地址 = 网络位 + 主机位
网络位:局域网
主机位:局域网的第n台主机
子网掩码:用来区分一个IP地址的网络位和主机位
子网掩码是1的部分对应IP地址的网络位
子网掩码是0的部分对应IP地址的主机位
网段号:网络位不变,主机位全为0是网段号(IP地址所在局域网的编号)
广播号:网络位不变,主机位全为1是广播号
向广播号发送信息,所有在局域网内部的IP均能收到该信息
192.168.0.160 -> 192.168.0.0 网段号
192.168.0.160 -> 192.168.0.255 广播号
一个局域网内可用的IP地址为:2^主机位 -2
IP地址的划分:
A类: 1.0.0.0 - 126.255.255.255
子网掩码:255.0.0.0
管理大型规模网络
私有IP地址:10.0.0.0 - 10.255.255.255
B类: 128.0.0.0 - 191.255.255.255
子网掩码:255.255.0.0
管理中型规模网络
私有IP地址:172.16.0.0 - 172.31.255.255
C类: 192.0.0.0 - 223.255.255.255
子网掩码:255.255.255.0
管理中小规模型网络
私有IP地址:192.168.0.0 - 192.168.255.255
D类:224.0.0.0 - 239.255.255.255
管理组播
E类: 240.0.0.0 - 255.255.255.254
实验
MAC地址:网卡地址,每个网卡都是唯一的,实现局域网内部网络通信
私有IP地址:私有IP地址无法直接上网
公有IP地址:能够直接上网的IP地址
端口号:唯一识别一台主机中的不同的应用程序
3.网络命令
1.ifconfig
查看网卡信息
2.route
查看路由
3.ping
测试与某台主机是否连通
ping 目的IP
DNS服务器域名解析服务器
DHCP服务器:自动获取IP地址
4.NAT模式
Windows有网,Linux就有网(IP地址是虚拟的)
桥接模式
windows和Linux共用同一个网卡
网络配置
1.网卡配置为桥接模式
1.点击"虚拟机"
2.点击"设置"
3.选择"网络适配器"
4.选择"桥接模式"
5.点击"确定"
2.桥接到有线网卡
1.点击"编辑"
2.点击"虚拟网络编辑器"
3.点击"更改设置"
4.已桥接至选择"无线网卡"
5.点击确定
3.设置网卡IP地址为自动获取IP地址
1.打开文件:
sudo vi /etc/network/interfaces
2.修改文件内容如下:
auto lo
iface lo inet loopback
auto ens33
iface ens33 inet dhcp
3.输入:wq保存退出
4.重启网络服务:
sudo /etc/init.d/networking restart
4.测试与百度是否能ping通
ping www.baidu.com
5.如果网络异常:
1.挂起虚拟机
2.点击"编辑"
3.点击"虚拟网络编辑器"
4.点击"更改设置"
5.点击"还原默认配置"
6.点击"确定"
7.如果恢复默认网络配置时间很长(电脑可能驱动存在异常,使用如下方法解决)
方法:
1.卸载虚拟机(不能使用360、强制卸载工具),使用安装包卸载
2.使用vmclean的工具清除虚拟机的缓存文件
3.使用cclean工具删除没用的注册表
4.重启电脑
5.重新使用vmware安装包安装虚拟机