浅谈TCP IP协议栈(三)路由器简介
读完这个系列的第一篇浅谈TCP/IP协议栈(一)入门知识和第二篇浅谈TCP/IP协议栈(二)IP地址,在第一篇中,可能我对协议栈中这个栈的解释有问题,栈在数据结构中是一种先进后出的常见结构,而在整个TCP/IP协议中,在封装报文时就相当于是压栈操作,而在报文解析过程中,则是一个出栈的过程,在封装是最先被压进栈中的应用层协议,在解析报文时,也是最后从栈中读取出来并解析的。
这一节我们来讲网络层转发最为重要的设备-路由器,讲到路由器,大家可能并不陌生,每家每户现在应该都有路由器,你可能以为我会介绍像这样的路由器:
image
这种无线路由器,每家每户现在应该都有,毕竟有了它,才能有无线网用是不~,但事实上我要介绍的不是这种路由器,而是下面这种大家可能没见过,但对我们上网来说更为重要的路由器:
image
大家一定觉得很陌生,毕竟TP-LINK已经深入人心,而这些长得像冰箱或者箱子的东西也能和路由器挂上钩?实际上如果没有这些路由器,咱们也就没办法愉快地上网了,举个简单的例子,普通的无线路由器,能够承载的流量峰值大概是300M,而图片上这些大型路由器,每一个端口,最小的承载能力也能达到10G,而一台大型的路由器,像这样的端口没有数千,也有上百,所以说这样的设备显然不是为某个家庭服务的,甚至一个小区也不在话下,它可以承载的业务,至少是一个城市,甚至整个省,甚至一个小型的国家,也只需要几十台这样的设备,就可以满足大家的上网需求,因此这样的设备一般都是为运营商提供的,比如说电信,移动,联通之类。
之所以要介绍这样的大型路由器,只是为了让大家有这么一个概念,大致了解一下,因为后面涉及到的路由器,都是这样的路由器,大家只需要知道运营商用的是这样的大型路由器就OK了。
好了,言归正传,我们先看一下路由器的主要功能是什么:
路由器的主要功能是路由选择和报文转发,这种功能的实现需用到路由协议。
路由协议是路由器之间维护路由表的规则,用于发现路由,并生成相应的路由表,同时知道报文的转发。路由协议决定路由表中存放那些路由信息。
简单点说,路由器的功能就是两点:路由,转发。其中路由就是说经过路由器的报文,决定它的去向,当然仅仅知道报文去哪儿是不行的,路由器还需要将报文发送到相应的位置,这样才算完成一次报文的转发,通俗点说就是,路由器对收到的报文,会做两件事,其中一件是根据路由表(后面会介绍到,是路由转发最重要的表项),决定它的去处,紧接着第二件事就是将报文转发过去。
后面我们会陆续介绍网络层究竟是如何转发报文的,而这一节对路由器的介绍,算是一种铺垫,写得也比较简单,大家只需要知道,路由器要做路由和转发这两件事就OK了,至于它是如何做这两件事,后续我们会一一介绍,敬请期待!
浅谈TCP IP协议栈(三)路由器简介的更多相关文章
- 浅谈TCP IP协议栈(二)IP地址
上一节大致了解TCP/IP协议栈是个啥东西,依旧是雾里看花的状态,有很多时候学一门新知识时,开头总是很急躁,无从下手,刚学会一点儿,却发现连点皮毛都不算,成就感太低,所以任何时候学习最重要的是要在合适 ...
- 浅谈TCP IP协议栈(一)入门知识【转】
说来惭愧,打算写关于网络方面的知识很久了,结果到今天才正式动笔,好了,废话不多说,写一些自己能看懂的入门知识,对自己来说是一种知识的总结,也希望能帮到一些想了解网络知识的童鞋. 万事开头难,然后中间难 ...
- 浅谈TCP IP协议栈(四)IP协议解析
通过之前的网络层基础知识,IP地址以及路由器的简介,大家应该对于TCP/IP有一个大致的了解,在脑海里应该对于网络的几个基础概念有个大概的了解,简单点说整个协议栈就是在做一件事,规定网络报文(网络传输 ...
- 浅谈TCP/IP网络编程中socket的行为
我认为,想要熟练掌握Linux下的TCP/IP网络编程,至少有三个层面的知识需要熟悉: 1. TCP/IP协议(如连接的建立和终止.重传和确认.滑动窗口和拥塞控制等等) 2. Socket I/O系统 ...
- 测试那些事儿—浅谈TCP/IP协议
TCP/IP协议是一系列网络协议的总和,是构成网络通信的核心骨架. TCP/IP的工作原理通俗的讲就是一个主机的数据要经过哪些过程才能发送到对方的主机上. TCP/IP协议采用四层结构,分别为应用层, ...
- 浅谈TCP/IP(new 常见面试问题)
1. TCP/IP重传机制,如何保证消息读到一个完整内容再反序列化 2. TCP四次回收比三次握手多了什么操作,什么时候会进入Time_await状态 3.
- TCP/IP协议栈(三)——linux 向下的报文处理
应用程序连接服务器时,目的地套接字地址(端口号和IP地址)以参数形式传递给系统调用connect(tcp_v4_connect()).下面逐步介绍初始化该连接 检查内核路由表,查找给定目的地IP地址路 ...
- 在深谈TCP/IP三步握手&四步挥手原理及衍生问题—长文解剖IP
如果对网络工程基础不牢,建议通读<细说OSI七层协议模型及OSI参考模型中的数据封装过程?> 下面就是TCP/IP(Transmission Control Protoco/Interne ...
- 理解TCP/IP协议栈之HTTP2.0
1 前言 前面写了10多篇关于Redis底层实现.工程架构.实际应用的文章,感兴趣的读者可以进行阅读,如有问题欢迎交流: 1.Redis面试热点之底层实现篇-12.Redis面试热点之底层实现篇-23 ...
随机推荐
- 面试官:说说一条查询sql的执行流程和底层原理?
一条查询SQL执行流程图如下 序章 自我介绍 我是一条sql,就是一条长长的字符串,不要问我长什么样,因为我比较傲娇. 额~~不是我不说啊,因为细说起来,我可以细分为DML(Update.Insert ...
- 熟悉使用Github,VS进行项目的开发(第二次作业)
git地址 https://github.com/Jason98w git用户名 Jason98w 学号后5位 72323 博客地址 https://www.cnblogs.com/jason5689 ...
- Redux源码学习笔记
https://github.com/reduxjs/redux 版本 4.0.0 先了解一下redux是怎么用的,此处摘抄自阮一峰老师的<Redux 入门教程> // Web 应用是一个 ...
- 8.Git分支-分支的创建与合并-01
1.新建分支 git checkout -b <branch-name> 创建一个分支并且切换到这个分支. git checkout -b <branch-name> = ...
- python数组并集交集补集
并集 a = ["a", "b", "c", "d"] b = ["b", "e" ...
- 获取Ip所在城市名与详细
//获取ip和地理信息 string url = "http://pv.sohu.com/cityjson"; WebRequest wRequest = WebRequest.C ...
- 从零开始学习PYTHON3讲义(四)让程序更友好
<从零开始PYTHON3>第四讲 先看看上一讲的练习答案. 程序完成的是功能,功能来自于"程序需求"("需求"这个词忘记了什么意思的去复习一下第二讲 ...
- Too many authentication failures for xxxx_username
解释 这个报错通常是因为多个ssh key 验证,key太多了导致服务器拒绝接受认证请求. 可以通过 -v 参数,输出详细的过程.你会发现你提供的认证key,服务器拒绝链接,并提示异常:"T ...
- 无法使用 xxxx附加到应用程序
以管理员运行cmd,输入netsh winsock reset ,重启电脑,OK. 出现这个错误的原因一般是因为游戏的缘由,本人亲测.
- Spring 完美配置跨域请求
在SpringBoot2.0 上的跨域 用以下代码配置 即可完美解决你的前后端跨域请求问题 import org.springframework.context.annotation.Bean; im ...