【Linux】linux网络编程--网络基础

1.网络发展

数据交换就是网络发展的原动力,网络解决的是数据交换,谁和谁的数据交换。

网络通信:本质上就是进程间通信,之不过,这两个进程不在同一台机器。

网络:本质上就是计算机数量从少变多,计算机由单台完成某个功能变成多台协作完成某个功能的情况。

局域网(LAN)LAN一般在距离上不超过10km
城域网(MAN)

覆盖的地理范围从几十到几百km

广域网(WAN)覆盖的地理范围从数百到数千昆km,甚至上万km

2.网络协议的初始

协议:约定沟通双方传递信息的格式(就好比人们沟通的时候使用的语言,小日子用日语和我们沟通绝大多数都听不懂,咱们需要约定一起用英文去沟通或者让他们学中文,这就叫协议)。

网络协议:约定网络主机在数据传时候的格式(是一个比较模糊的概念),源自于我们现在还并不清楚的数据格式的具体内容。

网络要完成的事情:将数据从主机A上的进程a传递到主机B上的进程b。

网络协议要完成的事情:约定网络主机在传输数据时候的格式。

结论:

1)在网络当中的“数据”不仅仅只有数据本身还有需要有协议的内容,协议的内容帮助被传输的数据正确的在网络当中传输到对方主机去;

2)基于操作系统和库函数写出来的程序都是应用层程序,产生的数据称之为应用层数据;

3)协议部分,在linux操作系统当中肯定也是用描述的手法(PCB),描述的本质就是一个结构体,换句话说协议部分的内容就是结构体数据。

3.网络协议分层

A.OSI分层模型:应用层-->表示层-->会话层-->传输层-->网络层-->数据链路层-->物理层

B.TCP/IP分层模型:应用层-->传输层-->网络层-->数据链路层-->物理层

结论:

1)应用层数据经过网络传输的时候,需要经过网络协议栈的封装,到达对端之后,需要经过网络协议栈的分用;

2)网络协议栈封装的时候,是增加了协议的内容,为了在网络当中能够正确传输的。

4.网络协议栈当中每一层具体的经典协议和经典设备

应用层

典型的协议:HTTP/HTTPS协议(S的意思是ssl,加密),DNS协议(域名解析协议)

功能:产生应用层数据

传输层

典型的协议:TCP协议,UDP协议

功能:负责端与端之间的传输,“端”指的是端点,也可以叫做端口

网络层

典型的协议:IP协议

功能:负责网络传输的IP地址管理

数据链路层

典型的协议:以太网协议

功能:负责相邻设备的传输

典型的设备:交换机

物理层

典型的协议:以太网协议

功能:负责二进制数据和光电信号的转化

典型的设备:集线器(放大信号)

5.IP地址和MAC地址的初始

5.1.IP地址

本质:ipv4版本的ip地址是一个无符号的32为整数,范围是[0 , 2^32 - 1]

所以一共有42亿9千多万个ip地址,所以一共可以容纳42亿多设备挤爆网络

作用:在网络当中标识一台主机

 5.2.MAC地址

本质:长度上为48比特位,6个字节,一般用十六进制数字加上冒号来表示

 作用:表示具体的一块物理网卡设备,网卡设备在出场的时候都会打上全球独一无二的MAC地址

ip地址并不是永远绑定给一台机器,ip地址和机器的关系并不是全球唯一。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值