计算机网络知识(1)

osi七层模型

  1. 应用层
    面向用户,是接口层面的,用户可以调用接口的能力和服务器进行通信
  2. 表示层
    通信的数据是如何表示的,分段,分句,或者建立了一定的数据结构
  3. 会话层
    session是如何保持的,何时会建立,何时关闭
  4. 传输控制层
    如何建立连接,传输应该成功还是失败
  5. 网络层
    数据在设备中如何路由,如何找到下个节点,如何到达指定ip
  6. 链路层
    点与点之间如何进行通讯,ip之下具体到物理机上控制数据帧的传输
  7. 物理层
    具体到物理上如何传输,使用光线,电缆,无线电等发送 0101… 的二进制数据

命令

查看当前主机端口的连接情况

netstat -natp

查看电脑的0号网卡

cat /etc/sysconfig/network-scripts/ifcfg-eth0

查看路由表

route -n

查看arp表
arp -n

一个小思考:TCP诞生时,主机可以通过哪些方式进行通信?
每台主机把其他主机的拓扑图储存在自己的内存中,向某个主机建立连接时,在拓扑中计算最短的路径,通过此路径进行通讯。这样通讯的速度会很快,缺点很明显,拓扑图太大,查找时会很慢。

真实的网络请求如何发送?
模拟发送给 www.baidu.com
每个电脑都有一个路由表,根据路由表从上到下一条一条去比对,将源地址ip 与 genmask掩码按位与,如果等于destination,那么下一跳就发给这个destination。如果不匹配,那么最终会匹配上最后一条,发给默认网关gateway
另外可看出,gateway 0.0.0.0 的含义就是这个记录是局域网中的,不用进行下一跳,直接通过交换机发送即可
在这里插入图片描述

我们再思考一个问题:找到下一跳之后源地址应该改成 destination 吗?
不应该,如果这样的话到了destination的主机后,就无法知道源ip了。如果不更换的话,也有问题,因为路由器就不知道下一跳的destination了。
这里找到了下一跳的地址,网络层的任务就完成了,此时应该去数据链路层,根据arp协议找mac地址进行真正的数据发送

接下来开始说arp
arp表中的一条记录(目标ip,目标mac地址)
我们可以根据刚才查到的下一跳中的ip,再去arp表中找到物理机真正的地址(mac),然后进行发送,然后就到了物理层中0101的二进制发送。

一个新问题,一台新的机子刚开机时arp表中是空的,要怎样得到下一跳的mac地址
如下图,红色计算机想要获取中间路由器的mac,需送一条arp请求,arp内容为蓝色块(目标地址为FFFFFF,目标IP为路由器左侧的网关192.168.1.1,自己的mac地址)
请求先打到交换机上,交换机看到 FFFFFF,会把这个请求当作广播,发给其他所有设备。计算机2接收到后,将目标ip和自己的进行匹配,发现不匹配,直接丢弃该数据包。
路由器接到广播的后,发现目标地址就是自己,那么需要响应自己的mac地址,回发给红色计算机,回发的包大概长这样(自己的mac,红色计算机的mac)。
这样红色计算机就能拿到路由器的mac了。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值