学习目标
今日目标
能够说出IPv4和IPv6的区别
能够使用ifconfig指令查看本机IP地址,使用ping判断主机是否在线
能够说出80、21、22知名端口的作用
能够说出面向连接和面向无连接的区别
能够使用socket 向指定地址和端口发送数据
能够使用udp方式接收数据并输出
能够使用encode()和decode()对字符串进行编码和解码
能够使用bind() 给自己的程序绑定固定端口
能够实现udp版聊天器(发送消息、接收消息、退出系统)
今日单词
configure 英 [kən'fɪgə] 安装;使成形
package 英 ['pækɪdʒ] 程序包
sources 英 [sɔːsis] 来源(source的复数)
backup 英 ['bækʌp] 做备份
update 英 [ʌp'deɪt] 更新;校正
protocol 英 ['prəʊtəkɒl] 协议;草案;
transfer 英 [træns'fɜː; trɑːns-; -nz-] (File Transfer Protocol(文件传输协议)
application 英 [ˌæplɪ'keɪʃ(ə)n] 应用程序
download 英 [daʊn'ləʊd] 下载
upload 英 [ʌp'ləʊd] 上传
enable 英 [ɪn'eɪb(ə)l; en-] 使能够,使成为可能;
interface 英 ['ɪntəfeɪs] 接口 界面
plugins 插件;插件程序;
address 英 [ə'dres] 地址
port (计算机的)端口;
send 英 [send] 发送,寄;
dynamic 英 [daɪ'næmɪk] 动态的;动力的
socket 英 ['sɒkɪt] 套接字
encode 英 [ɪn'kəʊd; en-] 编码
decode 英 [‚diː'kəʊd] 解码
text 英 [tekst] 文本
receive 英 [rɪ'siːv] 接收
accept 英 [əkˈsept] 接受;承认;
UDP (User Datagram Protocol)
TCP (Transmission Control Protocol)
01 网络通信概述:
网络的概念
一些相互连接的、以共享资源为目的的计算机的集合。使用网络能够把多方连接在一起,然后可以进行数据传递。
网络编程概念
网络编程,指的是让在不同的电脑上的软件能够进行数据传递
学习网络的目的
能够编写基于网络通信的软件
小结
使用网络能够把多方链接在一起,然后可以进行数据传递
所谓的网络编程就是,让在不同的电脑上的软件能够进行数据传递,即进程之间的通信
02-IP地址
IP地址的概念
IP 地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址), 是IP Address的缩写。IP 地址是IP协议提供的一种统一的地址格式.
IP 地址被用来给 Internet 上的电脑一个编号。大家日常见到的情况是每台联网的PC上都需要有 IP 地址, 才能正常通信。我们可以把 "个人电脑" 比作 "一台电话",那么 "IP地址" 就相当于 "电话号码".
IP地址的作用
ip地址:用来在网络中标记一台电脑,是网络设备为网络中的每台计算机分配的一个唯一标识。比如192.168.1.1;在本地局域网上是唯一的。
IP地址的分类
生活中我们说的IP地址,通常指的是 IPv4(IP协议的第4个版本)
每一个IP地址包括两部分:网络号和主机号
A类IP地址
一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”,
地址范围1.0.0.1-126.255.255.254
二进制表示为:00000001 00000000 00000000 00000001 - 01111110 11111111 11111111 11111110
可用的A类网络有126个,每个网络能容纳1677214个主机
B类IP地址
一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,
地址范围128.1.0.1-191.255.255.254
二进制表示为:10000000 00000001 00000000 00000001 - 10111111 11111111 11111111 11111110
可用的B类网络有16384个,每个网络能容纳65534主机
C类IP地址
一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”
范围192.0.1.1-223.255.255.254
二进制表示为: 11000000 00000000 00000001 00000001 - 11011111 11111111 11111110 11111110 C类网络可达2097152个,每个网络能容纳254个主机
C类地址中,一般xxx.xxx.xxx.0 和 xxx.xxx.xxx.255 两个IP地址有特殊用法
所以理论上:xxx.xxx.xxx.0 ~xxx.xxx.xxx.255 能容纳256台主机,但是因为2个IP地址不能使用,所以最多能容纳254台
主机全零(“0.0.0.0”)地址对应于当前主机。
全“1”的IP地址(“255.255.255.255”)是当前子网的广播地址。
D类地址用于多点广播
D类IP地址第一个字节以“1110”开始,它是一个专门保留的地址。
它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中
多点广播地址用来一次寻址一组计算机
地址范围224.0.0.1-239.255.255.254
E类IP地址
以“1111”开始,为将来使用保留
E类地址保留,仅作实验和开发用
私有ip
在这么多网络IP中,国际规定有一部分IP地址是用于我们的局域网使用,也就
是属于私网IP,不在公网中使用的,它们的范围是:
10.0.0.0~10.255.255.255 (内网,虚拟机中常出现,A类)
172.16.0.0~172.31.255.255(内网、子网,B类)
192.168.0.0~192.168.255.255(内网、子网,C类)
注意
特殊的IP地址:127.0.0.1
127.0.0.1可以代表本机IP地址,用http://127.0.0.1就可以测试本机中配置的Web服务器
特殊的域名:localhost
localhost 是本机域名,用来解析到 本机127.0.0.1 ip地址上
网络中两台计算机通信过程:
IPv4和IPv6
IPv4,是互联网协议(Internet Protocol,IP)的第四版,也是第一个被广泛使用,构成现今互联网技术的基石的协议。采用“点分十进制”表示(如:192.168.1.100),一共有2^32-1个,估算约为42.9亿个,除去一些特用的IP和一些不能用的IP,剩下可用的不到40亿。IPv4发展到现在,最大的问题是网络地址严重不足
IPv6是Internet Protocol Version 6的缩写,其中Internet Protocol译为“互联网协议”。IPv6是IETF(互联网工程任务组,Internet Engineering Task Force)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议。采用“冒号分十六进制”表示(如:2031:0000:1F1F:0000:0000:0100:11A0:ADDF),而IPv6中IP地址的长度为128,即有2^128-1个地址,号称能够为“地球上每一粒沙子分配一个IP地址”
IPv6 支持测试:http://test-ipv6.com/
上海交通大学IPv6站 : http://ipv6.sjtu.edu.cn/
03-IP地址查看:
目标
知道使用 ifconfig 命令可以查询主机的 IP 地址
知道使用 ping 命令可以查看网络的连通性
虚拟机网卡设置
1,NAT(网络地址转换模式):则虚拟机会使用主机VMnet8这块虚拟网卡与我们的真实机进行通信
2,Bridged(桥接模式):虚拟机如同一台真实存在的计算机,在内网中获取和真实主机同网段IP地址
优点:不需要任何设置,虚拟机就可以直接和我们真实主机通信。
缺点:虚拟机需要占用真实机网段的一个IP。
04-端口:
目标
知道端口分为知名端口、动态端口两类
能够说出80、21、22知名端口的作用
什么是端口
"端口"是英文port的意译,可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。例如计算机中的80端口、21端口、23端口等。