首页 > 代码库 > 计算机网络基础
计算机网络基础
一。osi五层协议
互联网,底层的物理连接是基础,然后有一个统一的互联网协议(标准),用于各个介质之间的通信。(公共语言)
操作系统需要和协议配合工作。比如TCP/IP协议等。
互联网协议按照功能不同从逻辑上分为 OSI七层协议。(也有分为五层的)
1 物理层:电脑网口,用于传输数据,传送的数据已高低电平10000101010101010等传送,数据包太长,需要进行分组,物理层无法做到数据包分组。
2 数据链路层:定义了一个以太网协议,规定了分组方式;
规定了第一个机器必须有一个网卡;规定了一组数据帧(二进制数据)分为两部分,报头和数据部分。头部用来描述后面的数据,发送者,接受者,数据类型。
以太网规定,每一块网卡都必须有一个MAC地址,
3 广播只能在一个局域网内传播通信。(类似在黑暗的一个房间,一个人吼了一声,其他房间的人都听得到。) 不能满足当前全世界的网络通信-----------网络层
网络层定义了ip协议,每个计算机有一个ip地址,用来表示一个机器在哪个网络里面。(类似有了这个协议,房间A的人可以找到房间B的人:A的人通过代理人先找到房间B的代理人,他站在教室门口,称为网关。网关和网关之间可通信。
跨子网通信依赖ip地址,子网内通信依赖mac地址。
ip地址+mac地址唯一表示全世界范围内机器在哪里。(ip可找到在哪个网络里面,然后mac可找到具体是谁)
一个应用软件,服务端与客户端分散,通过ip与mac进行通信。
4 传输层协议,基于端口。定义了TCP/UDP协议。 客户端与服务端进行通信,发送端需要明确接收端在哪里,对应哪个端口,然后与之联系。
ip+mac+端口号可唯一表示一个应用程序
5 应用软件工作在应用层,定义http,fttp等协议。应用层协议可自己定义,也可遵循通用标准。
QQ工作在应用层,发qq消息,产生用户数据,发包的时候自上而下,收包的时候自下而上。
6 Socket封装,TCP/UDP等封装成一些端口,通过操作系统来调用。
主机上网过程:DHCP服务器,给机器分配一个动态IP地址。
DNS服务器,域名解析, com叫顶级域名 com. 叫根域名。DNS把域名解析成ip地址。
13台根DNS分布在全球。DNS查询走的是UDP协议,效率高但是不可靠。
计算机网络基础