-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
精读趣谈网络协议 #93
Comments
第2讲:网络分层的真实含义是什么?二层设备、三层设备、四层LB和七层LB中层 不恰当的网络分层比喻为什么网络要分层呀?因为不同的层次之间有不同的沟通方式,这个叫作协议。例如,一家公司也是分“层次”的,分总经理、经理、组长、员工。总经理之间有他们的沟通方式,经理和经理之间也有沟通方式,同理组长和员工。 几个协议之间的联系的问题
一个综合的网络协议的问题
网络为什么要分层?
如何理解计算机网络中的概念
复杂的电商如何分层
浏览一次网页涉及的协议二层MAC层添加MAC地址send_layer2(buffer),这个函数里面要加一下 MAC 的头,记录下 MAC 地址,得到的就是本机器的 MAC 地址和目标的 MAC 地址或者网关MAC。 网口什么时候回拿网络包
网络包什么时候可以从网口发出去?加了HTTP头和内容,TCP的头,IP的头以及MAC头之后,称为一个完整的Buffer之后,才能从网口发出去。 揭秘层与层之间的关系
TCP3次握手的时候,IP层和MAC层在做什么呢?TCP每发送一个消息,都会带着IP层和MAC层。因为TCP每发送一个消息,IP层和MAC层的所有机制都要运行一遍。对于TCP协议来说,三次握手也好,重试也好,只要想发出去包,就要有IP层和MAC层,不然是发不出去的。 二层设备、三层设备是什么
一个非常形象协议分层的比喻云学:通信协议就像没有天桥的双子楼,要从A座的24层到达B座24层就得先下楼梯再上楼梯,其他协议也是如此,比如4G |
第3讲| ifconfig:最熟悉又陌生的命令行与ifconfig相同的在linux系统上查看ip地址的命令是什么?ip addr root@test:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether fa:16:3e:c7:79:75 brd ff:ff:ff:ff:ff:ff
inet 10.100.122.2/24 brd 10.100.122.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::f816:3eff:fec7:7975/64 scope link
valid_lft forever preferred_lft forever 1. LOOPBACK,UP,LOWER_UP,BROADCAST,MULTICAST什么意思?
2. mtu 65536和mtu 1500是什么意思? 3. qdisc noqueue、qdisc pfifo_fast是什么意思? 4. 公有IP地址和私有IP地址 5. CIDR是什么? 6. inet 127.0.0.1/8 scope host lo、inet 10.100.122.2/24 brd 10.100.122.255 scope global eth0什么意思?
我们这里的10.100.122.2也是私有网络的出口地址,可以与通过10.100.122.0与外界机器进行通信,也可以通过10.100.122.255与局域网内机器进行通信。 实验公有ip查询:https://www.ip.cn/ 我的机器公有ip:
私有ip:
同事机器公有ip:
私有ip:
7. link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00和link/ether fa:16:3e:c7:79:75 brd ff:ff:ff:ff:ff:ff是什么?这个是MAC地址,是一个网卡的物理地址,用16进制,6个byte表示。 8.macOS怎么有这么多网卡?en0是私有ip有线网卡,en1是私有ip无线网卡。
总结
思考题
|
第5讲 | 从物理层到MAC层:如何在宿舍里自己组网玩联机游戏?2台机器在物理层组一个LAN(局域网)即可,有3台机器的时候,该怎么组网呢?
这些问题都是二层,即数据链路层,MAC(Medium Access Control,媒体访问控制)层解决的问题。 MAC层控制的是什么?控制谁先发,谁后发的问题,防止发生混乱。专业名称叫多路访问。 大家都在发,会不会产生混乱?有没有谁先发、谁后发的规则?多路访问的几种实现方式
发给谁?谁接收?
明明是数据链路层,为什么叫MAC层?这时需要用到一个物理地址,叫做链路层地址,但是因为第二层主要解决媒体接入控制,因此也这个地址也叫MAC地址,这也是第二层叫MAC层的主要原因。 一次目标机器接收数据包会发生什么?1.目标机器MAC网卡发现数据包,接收MAC包 发送时出现了错误,怎么办?CRC,循环冗余检测。 私有局域网通信非常重要的ARP协议已知:源IP地址,源MAC地址,目标IP地址 知道目标MAC地址是否就是连接了某个口的电脑的MAC地址呢?交换机(可以将MAC头拿下来,检查一下目标MAC地址,根据策略转发的设备) MAC1给MAC2发包时交换机工作流程
一段时间之后,交换机会准确记住所有机器的MAC地址,基本不用广播,精确转发网络包。但是因为机器IP会变,因此交换机的转发表有过期时间,这与IP-MAC映射表类似。 |
第7讲 | ICMP 与ping:投石问路的侦察兵
网络不通第一反应是ping,那么ping是如何工作的?
差错报文类型
分析ping的工作原理
遇到网络不通的情况怎么办?
Traceroute
报文
ping实验可以直接ping一个域名,通过本地的hosts文件进行DNS映射。 ping通192.168.0.144 -> 192.168.0.111
1.发送了7个icmp主动探查包,全部接收到。 ping不通192.168.0.144 -> 192.168.0.146
0~6就是ping主动探查ICMP报文的顺序号,发送了8个ICMP请求网络包,没有一个到达,100丢包率。 监听icmp192.168.0.144对网卡en0开启监听,
知识点:
有没有一种简单粗暴的不用工具查看网络包的命令?
这里的协议可以是udp, tcp, icmp, ip, arp, vlan, stp等等,但不能是https, http, rpc等等。 |
能分享下pdf文档么? 我在英国 国内的网站下载动不动就要金币之类的 感觉不靠谱。。。 |
老师的GitHub是哪个呀?他说写了一个实验教程放到GitHub上,但是我没找到 |
在极客时间上订阅了刘超老师的《趣谈网络协议》专栏,在这个issue中,我将按照专栏文章章节,摘取自己认为比较重要的网络协议知识点,并且写一些自己的看法。
The text was updated successfully, but these errors were encountered: