腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
用户2442861的专栏
专栏作者
举报
844
文章
1498779
阅读量
51
订阅数
订阅专栏
申请加入专栏
全部文章
其他
http
html
python
编程算法
java
存储
数据库
linux
spring
c++
go
ide
git
mac os
开源
云数据库 SQL Server
mvc
数据结构
.net
unix
apache
神经网络
windows
nginx
xml
tomcat
jdk
mybatis
分布式
php
qt
eclipse
maven
ubuntu
图像处理
游戏
缓存
opencv
机器学习
servlet
云数据库 Redis
api
matlab
搜索引擎
图像识别
gui
numpy
npm
tcp/ip
安全
数据处理
nat
jsp
makefile
sql
shell
hadoop
jvm
jdbc
hashmap
gcc
官方文档
bash
bootstrap
react
node.js
access
jar
tornado
mongodb
ssh
erp
面向对象编程
决策树
ftp
aop
udp
iis
大数据
人脸识别
数据挖掘
ios
perl
jquery
json
ajax
android
嵌入式
sqlite
oracle
nosql
memcached
svn
delphi
机器翻译
express
容器
自动化
爬虫
spark
卷积神经网络
强化学习
推荐系统
unity
asp
grep
二叉树
flash
rpc
kernel
模式识别
socket编程
机器人
https
架构设计
搜索文章
搜索
搜索
关闭
网关和路由器的区别
tcp/ip
编程算法
顾名思义,网关(Gateway)就是一个网络连接到另一个网络的“关口”。 按照不同的分类标准,网关也有很多种。TCP/IP协议里的网关是最常用的,在这里我们所讲的“网关”均指TCP/IP协议下的网关。 那么网关到底是什么呢?网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。网络B向网络A转发数据包的过程也是如此。 所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。 路由器(Router)是一种负责寻径的网络设备,它在互连网络中从多条路径中寻找通讯量最少的一条网络路径提供给用户通信。路由器用于连接多个逻辑上分开的网络。对用户提供最佳的通信路径,路由器利用路由表为数据传输选择路径,路由表包含网络地址以及各地址之间距离的清单,路由器利用路由表查找数据包从当前位置到目的地址的正确路径。路由器使用最少时间算法或最优路径算法来调整信息传递的路径,如果某一网络路径发生故障或堵塞,路由器可选择另一条路径,以保证信息的正常传输。路由器可进行数据格式的转换,成为不同协议之间网络互连的必要设备。 路由器使用寻径协议来获得网络信息,采用基于“寻径矩阵”的寻径算法和准则来选择最优路径。按照OSI参考模型,路由器是一个网络层系统。路由器分为单协议路由器和多协议路由器。 比如你说的那几个,说的通俗一点:如果给你一个IP地址为116.24.143.126,子网掩码255.255.255.224,也就是在这段地址中有32个地址,其中30个可用,去掉网关,还有29个可分配.地址是从116.24.143.96-127,第一个可用的IP是97,最后一个是126,这个例子里,你拿126做网关了,所以从97至125这29个地址是可被你分配的. 同理.116.24.143.126,掩码255.255.255.0,那你就有253个地址可被你分配使用.也就是1-125,127-254. 116.24.143.166,掩码是255.255.255.128,就是有125个地址可被你分配使用.即129-165,167-254. 每段地址有多少可用,不是看IP的最后一位数,而是看子网掩码
bear_fish
2018-09-20
9K
0
accept()返回的套接字绑定哪个端口 新旧套接字的联系
linux
udp
socket编程
tcp/ip
iis
摘要:对于服务器编程中最重要的一步等待并接受客户的连接,那么这一步在编程中如何完成,accept函数就是完成这一步的。它从内核中取出已经建立的客户连接,然后把这个已经建立的连接返回给用户程序,此时用户程序就可以与自己的客户进行点到点的通信了。
bear_fish
2018-09-20
3.6K
1
高性能网络编程7--tcp连接的内存使用
tcp/ip
当服务器的并发TCP连接数以十万计时,我们就会对一个TCP连接在操作系统内核上消耗的内存多少感兴趣。socket编程方法提供了SO_SNDBUF、SO_RCVBUF这样的接口来设置连接的读写缓存,linux上还提供了以下系统级的配置来整体设置服务器上的TCP内存使用,但这些配置看名字却有些互相冲突、概念模糊的感觉,如下(sysctl -a命令可以查看这些配置):
bear_fish
2018-09-20
620
0
牛人整理分享的面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结
linux
数据结构
编程算法
windows
tcp/ip
牛人整理分享的面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结
bear_fish
2018-09-14
2.4K
0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
立即发文
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档