读完这个系列的第一篇浅谈TCP/IP协议栈(一)入门知识和第二篇浅谈TCP/IP协议栈(二)IP地址,在第一篇中,可能我对协议栈中这个栈的解释有问题,栈在数据结构中是一种先进后出的常见结构,而在整个TCP/IP协议中,在封装报文时就相当于是压栈操作,而在报文解析过程中,则是一个出栈的过程,在封装是最先被压进栈中的应用层协议,在解析报文时,也是最后从栈中读取出来并解析的。

这一节我们来讲网络层转发最为重要的设备-路由器,讲到路由器,大家可能并不陌生,每家每户现在应该都有路由器,你可能以为我会介绍像这样的路由器:

image

这种无线路由器,每家每户现在应该都有,毕竟有了它,才能有无线网用是不~,但事实上我要介绍的不是这种路由器,而是下面这种大家可能没见过,但对我们上网来说更为重要的路由器:

image

大家一定觉得很陌生,毕竟TP-LINK已经深入人心,而这些长得像冰箱或者箱子的东西也能和路由器挂上钩?实际上如果没有这些路由器,咱们也就没办法愉快地上网了,举个简单的例子,普通的无线路由器,能够承载的流量峰值大概是300M,而图片上这些大型路由器,每一个端口,最小的承载能力也能达到10G,而一台大型的路由器,像这样的端口没有数千,也有上百,所以说这样的设备显然不是为某个家庭服务的,甚至一个小区也不在话下,它可以承载的业务,至少是一个城市,甚至整个省,甚至一个小型的国家,也只需要几十台这样的设备,就可以满足大家的上网需求,因此这样的设备一般都是为运营商提供的,比如说电信,移动,联通之类。

之所以要介绍这样的大型路由器,只是为了让大家有这么一个概念,大致了解一下,因为后面涉及到的路由器,都是这样的路由器,大家只需要知道运营商用的是这样的大型路由器就OK了。

好了,言归正传,我们先看一下路由器的主要功能是什么:

路由器的主要功能是路由选择和报文转发,这种功能的实现需用到路由协议。

路由协议是路由器之间维护路由表的规则,用于发现路由,并生成相应的路由表,同时知道报文的转发。路由协议决定路由表中存放那些路由信息。

简单点说,路由器的功能就是两点:路由,转发。其中路由就是说经过路由器的报文,决定它的去向,当然仅仅知道报文去哪儿是不行的,路由器还需要将报文发送到相应的位置,这样才算完成一次报文的转发,通俗点说就是,路由器对收到的报文,会做两件事,其中一件是根据路由表(后面会介绍到,是路由转发最重要的表项),决定它的去处,紧接着第二件事就是将报文转发过去。

后面我们会陆续介绍网络层究竟是如何转发报文的,而这一节对路由器的介绍,算是一种铺垫,写得也比较简单,大家只需要知道,路由器要做路由和转发这两件事就OK了,至于它是如何做这两件事,后续我们会一一介绍,敬请期待!

浅谈TCP IP协议栈(三)路由器简介的更多相关文章

  1. 浅谈TCP IP协议栈(二)IP地址

    上一节大致了解TCP/IP协议栈是个啥东西,依旧是雾里看花的状态,有很多时候学一门新知识时,开头总是很急躁,无从下手,刚学会一点儿,却发现连点皮毛都不算,成就感太低,所以任何时候学习最重要的是要在合适 ...

  2. 浅谈TCP IP协议栈(一)入门知识【转】

    说来惭愧,打算写关于网络方面的知识很久了,结果到今天才正式动笔,好了,废话不多说,写一些自己能看懂的入门知识,对自己来说是一种知识的总结,也希望能帮到一些想了解网络知识的童鞋. 万事开头难,然后中间难 ...

  3. 浅谈TCP IP协议栈(四)IP协议解析

    通过之前的网络层基础知识,IP地址以及路由器的简介,大家应该对于TCP/IP有一个大致的了解,在脑海里应该对于网络的几个基础概念有个大概的了解,简单点说整个协议栈就是在做一件事,规定网络报文(网络传输 ...

  4. 浅谈TCP/IP网络编程中socket的行为

    我认为,想要熟练掌握Linux下的TCP/IP网络编程,至少有三个层面的知识需要熟悉: 1. TCP/IP协议(如连接的建立和终止.重传和确认.滑动窗口和拥塞控制等等) 2. Socket I/O系统 ...

  5. 测试那些事儿—浅谈TCP/IP协议

    TCP/IP协议是一系列网络协议的总和,是构成网络通信的核心骨架. TCP/IP的工作原理通俗的讲就是一个主机的数据要经过哪些过程才能发送到对方的主机上. TCP/IP协议采用四层结构,分别为应用层, ...

  6. 浅谈TCP/IP(new 常见面试问题)

    1. TCP/IP重传机制,如何保证消息读到一个完整内容再反序列化 2. TCP四次回收比三次握手多了什么操作,什么时候会进入Time_await状态 3.

  7. TCP/IP协议栈(三)——linux 向下的报文处理

    应用程序连接服务器时,目的地套接字地址(端口号和IP地址)以参数形式传递给系统调用connect(tcp_v4_connect()).下面逐步介绍初始化该连接 检查内核路由表,查找给定目的地IP地址路 ...

  8. 在深谈TCP/IP三步握手&四步挥手原理及衍生问题—长文解剖IP

    如果对网络工程基础不牢,建议通读<细说OSI七层协议模型及OSI参考模型中的数据封装过程?> 下面就是TCP/IP(Transmission Control Protoco/Interne ...

  9. 理解TCP/IP协议栈之HTTP2.0

    1 前言 前面写了10多篇关于Redis底层实现.工程架构.实际应用的文章,感兴趣的读者可以进行阅读,如有问题欢迎交流: 1.Redis面试热点之底层实现篇-12.Redis面试热点之底层实现篇-23 ...

随机推荐

  1. markdown反射型xss漏洞复现

    markdown xss漏洞复现 转载至橘子师傅:https://blog.orange.tw/2019/03/a-wormable-xss-on-hackmd.html 漏洞成因 最初是看到Hack ...

  2. 使用ML.NET实现白葡萄酒品质预测

    导读:ML.NET系列文章 本文将基于ML.NET v0.2预览版,介绍机器学习中的分类和回归两个重要概念,并实现白葡萄酒品质预测. 本系列前面的文章也提到了一些,经典的机器学习最主要的特点就是模拟, ...

  3. WebSocket刨根问底(三)之群聊

    前两篇文章[WebSocket刨根问底(一)][WebSocket刨根问底(二)]我们介绍了WebSocket的一些基本理论,以及一个简单的案例,那么今天继续,我们来看一个简单的群聊的案例,来进一步了 ...

  4. AndroidStudio意外崩溃,电脑重启,导致重启Find In Path...查找功能失效,搜索结果缺失

    解决方案: <AndroidStudio意外崩溃,电脑重启,导致重启打开Androidstudio后所有的import都出错>

  5. .net core使用RPC方式进行高效的HTTP服务访问

    传统的HTTP接口调用是一件比较繁琐的事情,特别是在Post数据的时候:不仅要拼访问的URL还是把数据序列化成流的方式给Request进行提交,获取Respons后还要对流进行解码.在实际应用虽然可以 ...

  6. Windows证书操作

    查看证书 在快捷命令栏输入mmc打开控制台 选择文件-->添加或删除管理单元 添加,选择计算机账户,本地计算机 添加完成证书后可以将localhost证书删除 生成localhost证书 打开v ...

  7. 强大的数据库工具 dbForge Studio ForMySql

    优点: 1.可以将MySql数据库操作仿 sqlserver 的操作方式,便于操作 2.强大的比较拷贝能力.菜单栏上的 Comparison 的功能,可以比较两个数据库的差别,同时可以将数据库Copy ...

  8. C# IQueryable和IEnumerable的区别

    在使用EF查询数据的时候,我们常用的查询数据方式有linq to sql,linq to object, 查询返回的结果有两种类型:IQueryable.IEnumerable,两者内部的处理机制是完 ...

  9. python学习笔记(十 三)、网络编程

    最近心情有点儿浮躁,难以静下心来 Python提供了强大的网络编程支持,很多库实现了常见的网络协议以及基于这些协议的抽象层,让你能够专注于程序的逻辑,而无需关心通过线路来传输比特的问题. 1 几个网络 ...

  10. Spring(一)JdbcTemplate的环境搭建

    1.建立一个项目,导入jar包(ioc aop dao 连接池 数据库驱动包)拷贝Spring容器对应的配置文件到src下 2.在配置文件中引入外部属性文件 3.配置数据源 4.配置JdbcTempl ...