网络骇客入门之网络编程(一):网络应知应会
一,计算机网络在设计之初就决定了它结构简单,传输可靠的特点,除此之外,它还能连接不同种类的计算机
在网络上,各个节点同等重要且必须有冗余路由
二,网络在理论上被分为七层,从下到上,物理层,数据链路层,网络层,传输层,会话层,表示层,应用层
在实际的应用上分为四层,即:链路层,网络层,传输层,应用层
链路层:设备之间(如网卡,交换机)数据帧的传输
链路层就是保证设备之间能互联互通
网络层:主机之间(如路由器)数据包的传输
网络层就是保证每个数据包能够到达目的主机,常用协议如IP网际协议,ICMP网际控制报文协议,IGMP网际组管理协议等
传输层:不同主机上进程之间的数据传输
通过socket套接字进行网络上不同主机的进程间通信,常用协议如TCP(传输控制)协议,UDP(用户数据报)协议
应用层:应用程序间(QQ,微信)通信
应用程序之间通过端口实现数据传输,协议如FTP文件传输协议,TFTP简单文本传输协议,Telnet远程登入,HTTP超文本传输协议
三、TCP协议——一个工作在传输层,面向连接的网络通信协议
它为不同主机上的进程间通信提供服务,通常下载文件,视频,发邮件都是用TCP协议
特点:
1。面向连接,每一次通信都有建立——使用——释放连接的过程
2。安全可靠但是效率略低
3。目的主机必须回复确认,否则数据包会重传(DOS/DDOS * * *的理论基础)
4。数据包的顺序和内容保持一致
5。完善的错误检查和重传机制
6。每一个数据包都包含序号和确认序号
7。不支持广播和多播
四、UDP协议——一个工作在传输层,面向无连接的网络通信协议
它和TCP一起为不同主机上的进程间通信提供服务,通常在线看视频(RTP流媒体服务),ARP广播,DHCP,国家结核控制规划,DNS用的都是UDP协议
特点:
1。面向无连接,每一次通信都不建立连接
2。相对不可靠但是效率高
3。不检查数据包的顺序
4。没有完善的错误检查和重传机制
5。每一个数据包都包含序号和确认序号
6。支持广播和多播
五、IP地址分类
答:0.0.0.1 ~ 126.255.255.254,,共24次有2的方减2个IP地址
第一位为0,127. . x.x.x也属于一个类地址但是被用于本地回环
B: 128.0.0.1 ~ 191.255.255.254,,共有2的16次方减2个IP地址
前两位为10
C: 192.0.0.1 ~ 223.255.255.254,,共有2的8次方减2个IP地址
前三位为110
D: 224.0.0.1 ~ 239.255.255.254,,多播地址
前四位为1110
E:保留地址
六、端口与端口号(传输层标识)
端口可以形象地理解为电脑的窗户,电脑程序就是通过端口互相通信的
TCP/IP协议采用端口标识通信的进程,区分一个系统里的多个进程
每一个运行的网络程序都有一个进程号(PID)和至少一个端口号(港口)
因为进程号是系统随机分配的,并且不能用来收发数据,所以用端口号标识网络进程
端口号为无符号短整型数(0 ~ 65535)0号端口不能使用,1 ~ 1023为已知端口,一些基础应用程序如FTP-21, http - 80, tftp - 69, XSHELL-22等已经占用了
TCP和UDP维护各自独立的端口号,它们都有65536个端口
七,字节序
指多字节(两个字节以上)数据的存储顺序、分为小端格式和大端格式
小端格式将低字节数据存储在低地址,大端格式将低字节数据存储在高地址
通常个人电脑的字节序都是小端格式,但是在网络上通信的字节序为大端格式
所以异构计算机之间通信要把自己的字节序转换为网络字节序