0813 网络编程基础
Part 1.梳理思维导图
一.网络发展的四阶段
1.APRAnet阶段
2.TCP/IP协议阶段
3.osi开放系统阶段
4.TCP/IP协议族
二.APRAnet
阿帕网
不能互联不同类型的计算机和不同的操作系统,没有纠错功能
三.TCP/IP协议
网络协议:为了进行网络中的数据交换的规定、标准和约定
TCP:用来检测网络传输中的差错的传输控制协议
IP:负责对不同网络进行互联的互联网协议
四.网络体系结构以及OSI开放系统的互联模型
1.网络体系结构概念
网络体系结构会分为很多层,每一层都有自己独立的功能,单每一层都不可或缺
通常把功能相近的协议放在同一层,一层也被称为协议栈,每一层都有多个协议
分层的好处:
1.各层之间独立,不需要知道其他层怎么做,只需要知道层通过层接口所提供的服务
2.稳定,灵活。每一层发生改变,其他层不会发生改动
3.易于实现维护
4.促进标准化工作
5.结构上不能分割
2.OSI体系结构
1.物理层 2.链路数据层 3.网络层 4.传输层 5.会话层 6.表示层 7.应用层
3.TCP/IP体系结构
1.链路层 2.网络层 3.传输层 4.应用层
4.OSI体系结构和TCP/IP体系结构的关系
二者虽然层数不同,但是效果相同
TCP/IP OSI体系
链路层 物理层 数据链路层
网络层 网络层
传输层 传输层
应用层 会话层 展示层 应用层
5.TCP/IP各层中常见的协议
a.链路层
1.ARP 地址解析协议 通过IP地址获得对方mac地址
2.RARP 逆向地址解析协议 通过mac地址获得IP地址
b.网络层
1.IP(Internet Protocol) 国际互连协议 不同网络间实现信息传输协议
2.ICMP 互联网控制信息协议 同于IP主机、路由器之间传递控制信息,ping命令使用协议
3.IGMP 互联网组管理协议 是一个组播协议,用于主机和组播路由器通信
c.传输层
1.TCP 传输控制协议 一种可靠面向连接的,基于字节流的传输层通信协议
2.UDP 用户数据报协议 一种快速不稳定不可靠的传输层通信协议
d.应用层
1.HTTP 超文本传输协议 万维网的数据通信的基础
2.FTP 文件传输协议 是用于在网络上进行文件传输的一套标准协议,使用TCP传输
3.TFTP简单文件传输协议 是用于在网络上进行文件传输的一套标准协议,使用UDP传输
4.SMTP简单邮件传输协议 一种提供可靠且有效的电子邮件传输的协议
五.传输层UDP和TCP的异同
TCP:
1.提供面向连接的,可靠的数据传输服务
2.传输过程中,数据无误、数据无丢失、数据无失序、数据无重复(TCP会给每个数据包编上编号,该编号称之为序列号,每个序列号都需要应答包应答,如果没有应答,则会将上面的包重复发送直到正确为止)
3.数据传输效率低,耗费资源多
4. 数据收发是不同步的(为了提高效率,TCP会将多个较小,并且发送间隔短的数据包,沾成一个包发送,该现象称为沾包现象,该沾包算法称之为Nagle算法)
5.TCP的使用场景:对传输质量比较高的以及传输大量数据的通信,在需要可靠通信的传输场合,一般使用TCP协议
UDP:
1.面向无连接的,不保证数据可靠的,尽最大努力传输的协议
2.数据传输过程中,可能出现数据丢失、重复、失序现象
3.数据传输效率高,实时性高
4.限制每次传输的数据大小,多出部分直接忽略删除
5.收发是同步的,不会沾包
6.适用场景:发送小尺寸的,在接收到数据给出应答比较困难的情况下
六.关于字节序(大小端)不同系统之间的传输
由于不同系统的字节序不同,所以统一规定传输时转成大端存储,在接收的时候转为自己系统的字节序
转换函数:
1.htons(hostshort);//2字节无符号整数主机字节序转网络字节序
2.htonl(hostlong);//4字节无符号整数主机字节序转网络字节序
3.ntonss(hostshort);//2字节无符号整数网络字节序转主机字节序
4.ntohs(hostlong);//4字节无符号整数网络字节序转主机字节序
七.IP地址
1.概念
IP地址:Internet Protocol Address是主机在网络中的唯一标识,主机在不同的网络下,ip地址是可变的
2.分类
IPV4:采用四字节无符号整数表示 [0,2^32-1]
LAN:局域网
WAN:广域网
IPV6:采用十六字节无符号整数表示 [0,2^128-1]
3.IP地址划分
A类地址:32位里第一位为0,前8字节为网络号,后24位为主机号,此类地址已不分配使用
(1.0.0.0~127.255.255.255)
B类地址:32位里前两位为10,前16字节为网络号,后16位为主机号,此类地址多为网络运营商使用(128.0.0.0~191.255.255.255)
C类地址:32位里前三位为110,前24字节为网络号,后8位为主机号,此类地址多为家庭网、校园网和企业网(192.0.0.0~223.255.255.255)
D类地址:32位里前四位为1110,32位都为主机号,此类地址位组播地址(224.0.0.0~239.255.255.255)
E类地址32位里前四位为1111,32位都为主机号,此类地址不为分配或者给实验室使用
(240.0.0.0~255.255.255.255)
Part 2.牛客网刷题