网络基础概念

书籍:《计算机网络》——谢尔希

​ 附上pdf链接:https://pan.baidu.com/s/1QRQVE6gex5UNPJ6NuCjiGg

​ 《Linux高性能服务器编程》

什么是网络?

1.网络:将多个主机连接起来,构成一个集合

2.线路:双绞线(最大传输距离100米) 同轴电缆 光纤(速度快,不能折断)

3.设备:路由器(网络层) 交换机(数据链路层) 集线器

什么是互联网?

互联网:将不同的网络来连接起来,最大的互联网是inter网;限于inter网的速度,大型公司也有专用网络,比如阿里云。

IP地址

IP地址:主机的逻辑地址

IPV4:4字节 32位 点分十进制“192.168.0.1”

IPV4分为5类,具体在《计算机网络》4.2.2章查看

IPV6:16字节 128位

1
2
3
4
5
6
7
8
为什么自己本机的IP地址经常是192.168.*.*?
192.168.1.1是一个常用的默认的专用Internet协议地址,许多硬件制造商出厂设置就是用的
这个地址。他们将其设置为默认值(出厂设置),但是用户可以根据自己的喜好利用路由器面板
进行更换。
私有IP地址范围从192.168.0.0到192.168.255.255,主要特点是,他们在所属的公共网络中
是无与伦比的。换句话说,你可以将工作使用的电脑以及家用电脑IP地址都设置为192.168.1.1,
这没有问题。但是在你网络覆盖范围之外,它可能会造成一定的问题,如排序'碰撞' -的意思是
两个网络设备不能在互联网上使用相同的IP地址。

MAC地址

MAC地址:主机的物理地址

协议

协议:一种约定,一种规定

1
2
3
4
5
6
7
8
9
HTTP	超文本传输协议 
DNS 域名解析协议
FTP 文件传输协议
Telnet 远程登录协议
TCP UDP传输层
IP 协议 网络层
ICMP 网际控制协议
ARP 地址解析协议IP地址-》MAC地址
RARP 逆地址解析协议MAX地址—》IP地址

ARP地址解析协议

每一个主机都有一个ARP高速缓存,里面存的是本局域网上的各主机和路由器的IP地址到硬件地址的映射表。这些都是该主机目前知道的一些地址。

主机如何查找地址

主机A像本局域网的另一个主机B发送数据报,首先查看主机A的ARP缓存内有无主机B的IP地址。

如有,就在ARP高速缓存中查出其对应的硬件地址,再把硬件地址写入MAC地址,然后通过局域网把该MAC帧发往硬件地址。

如无,一种可能是主机B刚入网,或者主机A刚开机,其高速缓存是空的,这是就运行ARP,按照以下步骤找出主机B的硬件地址。

(1)ARP进程在本局域网上以广播的形式发送一个ARP请求(主要内容是我的IP地址是多少多少,硬件地址是多少多少,我想找IP地址是多少多少的主机的硬件地址)。

(2)本局域网所有的主机上运行的ARP进程都会收到这个ARP请求。

(3)主机B在ARP请求分组中看见了自己的IP地址,就像主机A发送ARP响应(单播),说明自己的硬件地址,并且把主机A的IP地址和硬件地址存到自己的ARP高速缓存中。

(4)主机A收到主机B的ARP响应之后,就在自己的ARP高速缓存中写入主机B的IP地址和硬件地址。

ARP把高速缓存中的信息都设置了一个生存时间。把超过时间的信息删掉。这是为了防止主机B的网络适配器坏了,更换网络适配器之后,就会存在主机A一直找不到主机B的情况。有了生存时间,当主机B的信息从主机A的ARP高速缓存中消失后,主机A又会查找一次地址。

使用ARP的四种典型情况

(1)主机A发送数据至本局域网的主机B。用ARP找到主机B的硬件地址即可。

(2)主机A发送数据至另一个局域网的主机B。这是用ARP找到本网络的一个路由器硬件地址。剩下交给路由器就可以。

(3)路由器发送数据至本网络的一个主机A,用ARP找到主机A的硬件地址即可。

(4)路由器发送数据到另一个网络的一个主机。用ARP找到本网络的一个路由器的硬件地址,剩下交给这个路由器即可。