day 2:计算机/网络的字节存放顺序;IPv4地址;路由转发;ARP

1.

计算机存储数据的方式有大端法和小端法。大端法最接近人的阅读习惯,也就是将数据的高位存储在内存的低位;小端法最适应计算机,存储方法正好相反。

由于网络上的数据传输时,统一用的是大端法,存在本机和网络的存储数据方式有出入的可能。
解决方法是:使用ntohs()或者hston()的函数(hs:主机,n:网络),
前者在接收网络数据时,将其转换为本地存储数据方式
后者则在发送时将数据转换为网络存储数据方式

2.ip地址

子网掩码用于辨别两个ip地址是否位于同一网络
如果a地址与b地址用同一子网掩码进行与操作后结果相同,那么a地址和b地址位于同一网络下

以前ip地址分成abc类地址
现在通过ip/x的形式分配,ip是ip地址,前缀x表示ip地址中前x位是网络号,后(32-x)位是主机号

3.路由转发——最长前缀匹配

路由分组转发通过路由表以及最长前缀匹配实现。
路由表存储着每个ip/x以及满足对应ip/x时数据要转发到哪个链路。
最长前缀匹配意思是:
将目的地址与路由表中每个ip/x的/x进行与操作(相当于取目的地址的前x位),
如果与操作后的结果和对应的ip/x中的ip对应,那就取最长的x对应的ip/x对应的链路转发。
如果所有x都不满足,那么就选取默认链路进行转发

经过路由前后,ip报头里面的源/目的ip地址不变,但是源/目的mac地址变成下一段链路中的发送方/接收方mac地址

4.ARP

路由怎么知道到达目的ip地址要经过的MAC地址呢?靠的就是ARP协议。
简单来说,ARP就是:
路由A不知道目的IP地址B对应的MAC地址,于是它就广播问谁有B的MAC地址,广播信息包括A的MAC地址和IP地址、B的IP地址。B收到以后就发信息回去说“我有!”,这条信息包含了B的MAC地址和IP地址、A的MAC地址和IP地址

猜你喜欢

转载自blog.csdn.net/jieyannn/article/details/105488521
今日推荐