全网最详解计算机网络协议——通信协议综述

这个专栏的计算机网络协议 , 我是在极客时间上学习 已经有三万多人购买的刘超老师的趣谈网络协议专栏 , 讲的特别好 , 像看小说一样学习到了平时很枯燥的知识点 , 计算机网络的书籍太枯燥 , 感兴趣的同学可以去付费购买 , 绝对物超所值 , 本文就是对自己学习专栏的总结,评论区可以留下你的问题 , 咱们一起讨论!
概述
本文也是根据专栏里的板块 , 对通信网络协议做一个综述 , 共分为四节去进行介绍;
为什么学习网络协议?
网络协议分层的真正含义;
ifconfig命令行的背后;
DHCP和PXE:ip的由来;
一、为什么学习网络协议

全网最详解计算机网络协议——通信协议综述

文章插图
 
协议的三要素是:语法、语义、顺序
【全网最详解计算机网络协议——通信协议综述】连通互联网世界 , 只教给一台电脑做什么是不够的 , 需要教会一大片机器做什么 , 这就是网络协议 。只有通过网络协议 , 才能够使得一大片机器互相协作、共同完成一件事 。
1.1 常见的网络协议
采用一个下单购物的场景 , 看看整个过程运用了哪些网络协议 。
首先 , 在浏览器中输入一个网址www.taobao.com URL,浏览器只知道名字是www.taobao.com,但是不知道具体的地点 , 所以不知道该如何访问;
于是 , 打开地址簿去查找 , 可以使用一般的地址簿DNS去查找 , 也可以采用更为精确的地址簿查找协议HTTPDNS;
无论哪一种查找 , 最后都会得到一个地址:106.114.134.24(任意赋值) , 这个是IP地址 , 相当于你在互联网世界中的“门牌号” 。知道了目标地址 , 浏览器开始打包他们的请求 。对于普通的浏览请求 , 往往会采用HTTP协议;但是对于购物的请求 , 往往需要进行加密传输 , 因而使用HTTPS协议 。无论是什么协议 , 里面都会声明“你要买什么和买多少” 。HTTP头中包含了请求的信息:
全网最详解计算机网络协议——通信协议综述

文章插图
 
DNS、HTTP、HTTPS所在的层为应用层;
经过封装以后 , 浏览器会将应用层的包交给下一层去完成 , 然后通过socket编程来实现 。下一层是传输层 , 传输层有两种协议:
无连接的协议UDP;
面向连接的协议TCP;
对于支付来说 , 往往采用TCP协议 , 所谓的面向连接就是 , TCP会保证这个包能够到达目的地 。如果不能到达 , 就会重新发送 , 直至到达;TCP协议中有两个端口 , 一个是浏览器监听的端口 , 一个是电商服务器监听的端口 。操作系统往往通过端口来判断 , 它得到的包应该给哪个进程;
全网最详解计算机网络协议——通信协议综述

文章插图
 
传输层封装完之后 , 浏览器会将包交给操作系统的网络层 。网络层的协议是IP协议 , 在IP协议里面会有源IP地址 , 即浏览器的所在的机器的IP地址和目标IP地址 , 也就是电商所在的IP地址;
全网最详解计算机网络协议——通信协议综述

文章插图
 
目标IP就是电商地址的门牌号 , 操作系统知道了目的地的门牌号 , 就要想着该如何找到目的地;
首先先判断 , 目的地是在本地还是在外地;电商系统一般都在那遥远的地方 , 就比如你到国外要去海关一样 , 去外地就要经过网关 。操作系统启动以后 , 就会被DHCP协议配置IP地址 , 以及默认的网关IP地址192.168.1.1;
如果是本地通信就是靠吼——ARP协议 , 操作系统大吼一声 , 谁是192.168.1.1啊?网关会回答它 , 我就是 。这个本地地址就是mac地址 , 吼靠的就是ARP协议;
全网最详解计算机网络协议——通信协议综述

文章插图
 
于是操作系统将IP包交给了下一层 , 也就是MAC层 。网卡再将包发出去 , 包里面包含MAC地址 , 因此可以到达网关 。网关收到包以后 , 会根据自己的知识 , 判断下一步该怎么走 。网关往往是一个路由器 , 到了某个IP地址应该怎么走 , 这个叫作路由表 。


推荐阅读