1.1 网络的概念和网络的组成
各种名词
1.2 计算机网络参考模型
7层的OSI(Open Systems InterConnection)
1.3 网络程序寻址方式
1 MAC地址 :6字节固定在适配器
2 局域网通信:
LAN只要使用广播通信,许多主机在相同的通信通道上
A向B发送:全网络广播,MAC地址一致的主机(B)取下,不一致的丢弃
需要向全体广播:48位全1 FF-FF-FF-FF-FF-FF
3 广域网通信
一旦进入Internet,链路层的MAC地址就没用了,要使用IP地址寻找
IP地址
A类地址 8位:网络
24位:主机
B类 16位网络 16位主机
C类 24网络 8位主机
特殊的:D类多播地址 0,0,0,0主机引导 127.xx.yy.zz回环测试,不会到线路上
子网:将主机的地址一部分设为子网
如16-16(网络-主机)的B类地址 设置6位的子网地址
16-6-10(网络-子网-主机) 子网掩码255.255.252.0 (/22)
子网的工作:一个Internet报找到主路由器,主路由器根据掩码,找到目标子网,然后转发
端口号 16位 自定义服务在1024以上
80:WWW
FTP:21
SMTP:25
POP3:110
网络地址转换(NAT Network Address Translation)
基本思想,每个公司分配一个IP地址(Internet唯一),后面是内部IP
10.0.0.0 ~ 10.255.255.255 (/8)
172.16.0.0~172.31.255.255 (/12)
192.168.0.0~192.168.255.255(/16)
通信的时候利用端口号进行转化
例如 主机10.0.0.1 的30端口请求一个WWW的连接,
1 主机到NAT防火墙 10.0.0.1-30-转为一个索引 如 0x0101
2 NAT地址转化 使用对外IP
IP:198.60.42.12
PORT:0x0101
3 NAT-Internet服务
4 Internet服务将数据报返回到 198.60.42.12的0x0101
5 NAT根据索引,返回到元主机 10.0.0.1的30
NAT解决了IP地址紧缺的问题,但给P2P编程带来了困难,
因为NAT不允许后面的主机做服务器,因此要使用中介服务器
1.4 网络应用程序设计基础
1 客户/服务器体系
2 P2P(Peer 2 Peer)
通常难以使用单纯的P2P,需要一个服务器维护总体状态如初始化客户之间的连接等
调试工具 DbgView http://www.sysinternals.com
显示内核模式和用户模式的调试信息