Linux网络编程(网络的基础知识)

1.有关网络设备

(1)网卡:CPU靠网卡来连接外部网络,数据帧封包和拆包,网络数据缓存和速率适配。

(2)集线器:组成局域网络,用广播方式工作,注意集线器是不能用来连接外网的。

(3)交换机:包含集线器功能,但更高级,交换机中有地址表,数据包查表后直达目的通信口而不是广播,找不到目的口时广播并学习。

(4)路由器:路由器是局域网和外部网络通信的出入口,将整个internet划分成一个个的局域网,却又互相联通,对内管理子网(局域网),局域网的IP地址是路由器决定的。


2.网络有关的词

(1)DNS(Domain Name Service 域名服务)

网络世界的门牌号:IP地址,)IP地址的替代品:域名,譬如www.baidu.com,DNS服务器就是专门提供域名和IP地址之间的转换的服务的,因此域名要购买的。

我们访问一个网站的流程是:先使用IP地址(譬如谷歌的DNS服务器IP地址为8.8.8.8)访问DNS服务器(DNS服务器不能是域名,只能是直接的IP地址),DNS服务器会在它建立的映射表上查询我们要访问的域名的IP地址,然后再使用该IP地址访问我们真正要访问的网站。这个过程被浏览器封装屏蔽,其中使用的就是DNS协议。

(2)DHCP(dynamic host configuration protocl,动态主机配置协议)

计算机的IP地址可以静态设定,也可以动态分配,动态分配是局域网内的DHCP服务器来协调的,很多设备都能提供DHCP功能,譬如路由器。

(3)NAT(network address translation,网络地址转换协议)

当局域网中的主机要发送数据包给外网时,路由器要负责将数据包头中的局域网主机的内网IP替换为当前局域网的对外外网IP这个过程就叫NAT。

IP地址分为公网IP(internet范围内唯一的IP地址)和私网IP(内网IP),局域网内的电脑使用的都是私网IP(常用的就是192.168.1.xx)

网络通信的数据包中包含有目的地址的IP地址
这里以获取百度某张图片为例:首先子网中的某台设备的IP地址为192.168.1.1,它所连接的路由器的IP地址为172.1.1.1,那么设备想要从百度获取一张图片,一定是要向百度网站发送一个请求命令,这个命令就是一个数据,那么在发送前网卡会将数据进行打包(包头、数据、包尾),其中包头保存了公网IP(路由器)和私网IP(设备)和目的地IP(百度服务器),然后通过路由器规划路径后发送到百度的服务器上,服务器进行数据的解析,得知是要获取某张图片,于是将图片数据进行打包(仍然是3部分),其中包头中的目的地址和本地地址取反(发送地变为接收地,接收地变为发送地),将图片发送回网卡,路由器进行判断,知道该图片应该发送给192.168.1.1对应的设备,最终该设备收到了图片。


3.IP地址的组成

(1)IP地址实际是一个32位二进制构成,在网络通信数据包中就是32位二进制,而在人机交互中使用点分十进制方式显示。

二进制方式0xffffffff0xC0A80166/0x6601A8C0
点分十进制方式255.255.255.255192.168.1.102

(2)IP地址中32位实际包含2部分,分别为:网络地址和主机地址子网掩码,用来说明网络地址和主机地址各自占多少位

IP地址 = 网络地址 + 主机地址网络地址用来表示子网主机地址是用来表示子网中的具体某一台主机的

譬如可以8位表示网络,24位表示主机
也可以16位表示网络,16位表示主机
14为表示网络,18位表示主机

子网掩码为255.255.255.0时表示前24位为网络地址,后8位为主机地址
子网掩码为255.255.0.0时表示前16位为网络地址,后16位为主机地址

网络地址决定了这种网络中一定可以有多少个网络,譬如子网掩码为255.255.255.0时表示我们这一种网络一共最多可以有2的24次方个每个这种网络中可以有2的8次方个主机

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式_笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值