计算机网络神书推荐:https://pan.baidu.com/s/1gbykZoXCaxF3Hmqvz9yKkw
<https://pan.baidu.com/s/1gbykZoXCaxF3Hmqvz9yKkw> 密码:ytjv

以下知识来源:知乎大牛车小胖 <https://www.zhihu.com/people/chexiaopang/answers>

 

小胖哥的人生经验

    自信乃成功的一半!(太谨慎,太过谨慎就等于走不了太远的路了 因为顾虑实在太多
没办法干净利落地去任何地方!过度谨慎的源头,还是不自信。太过谨慎的人,生活比别人累比别人压力大的几率要高很多。) 忍受巨大痛苦改变吧!!!

    大学本科教育的宗旨,是培养大学生的自学能力,因为技术是不断更新换代的,而唯有学习能力才能使自己时刻保持着持久的竞争力。(坚持)

    实践是检验金钱的唯一标准

    编程语言只是写字的笔,决定程序员能否写出优秀的代码,是靠编程思想、算法、数据结构、代码重用,而不是一个工具。(所以还自学不?),还有习惯。

    有时真的需要对自己狠一点,去闯、去搏,但千万不要呆在家里,这样仅存的信心也会消磨掉。(can't agree more)

    提高英语阅读水平,可以在计算机原版书籍里自由翱翔,可以从计算机大牛级人物获得最扎实的知识点,从而脱颖而出。

    人生就是游戏,没有不好的职业,只有玩不好的玩家。技术不是唯一。

    不要过分依赖别人的经验和建议,听从自己内心的声音,自己最想做什么,内心肯定是知道的。基于你不爱坐办公室,可以说 software engineer
不太适合你。

正文:

七层模型:主机(3),网络(2),介质(2)

 
物理层~bit      数据链路层~帧     网络层~ip     传输层~端口
 

         



路由器中间商,双ip(lan和wan)哈哈

 

名词解释:

同一网段
计算机A如果想和计算机B通信,用自己的网络(子网)掩码
的二进制长度,遮掩自己的IP地址,IP地址被遮住的数字即为自己的网段。用相同的方法,计算B的网段,如果A、B网段相同,则为相同网段。同一网段
<https://baike.baidu.com/item/%E5%90%8C%E4%B8%80%E7%BD%91%E6%AE%B5/448495?fr=aladdin>
(百度很详细)

网关
网关专门是为不同网段通信设计的硬件设备,它的存在使得不同网段通信成为可能,充当网关的硬件设备,通常有路由器、三层交换机、防火墙。

直接通信
尽管A、B知道对方和自己在一个网段,但是对方的硬件网卡地址(MAC地址)却不知道,为了实现通信,还需要知道对方的MAC地址,怎么办?arp

 

代理

小明经常浏览社交网站,这个网站IP假设为http://www.zhihu.com <http://www.zhihu.com>
(6.6.6.6),公司发现了,将6.6.6.6 过滤(Block)掉,小明急中生智,使用了代理

代理IP = 9.9.9.9      代理端口 =9999

小明和代理建立TCP连接(9.9.9.9:9999),把自己的需求告诉代理,想访问"http://www.zhihu.com
<http://www.zhihu.com>"

代理用自己的IP与6.6.6.6:80建立另外一个TCP连接,并将6.6.6.6:80返回的Http网页,原封不动地发给小明,使用的是代理TCP连接。

简而言之:代理是中间人,使用代理的主机发出的IP报文的目的IP是代理的,但是会在应用层里明确告诉代理,自己真实需求是什么?

两台电脑通过网线互相传递数据

一、将ip地址和网关设为192.168.0.1 目的是让这台电脑做另一台电脑的网关。 子网掩码一点击自动添加。
二、第二台电脑同样设置此处的ip地址最后点后的数可以是非1的小于254的数

 

问题:局域网用MAC通讯为什么还要IP?

在同一个交换机上面,是通过mac地址来联系的,ip不起作用,三层交换机和路由器才能处理ip地址,这是因为协议分层不同。知乎扯一变天,没看懂
对外通信一律都用TCP/IP

 

 

互联网没有中心。互联网在最初设计的时候,就是按照无中心的理念来打造的。

合租房,共用一个宽带怎么办才不会让他们看网页影响我游戏?路由器的qos功能有用吗?

QoS 就是解决你这个问题的,如果这个宽带是你们共同承担费用,可以将带宽平均分配,比如100M bps 分给5个人,每人20
M,可以根据每台主机的MAC地址,分配一个固定的IP地址,然后根据IP地址不同,分配20M的带宽,这样即使带宽拥堵时,也可以保证每个主机20
M的带宽,而如果网络带宽空闲时,你也可以用超过20M bps 的带宽,换句话说,网络限速只发生在网络拥堵时,保证大家每人20Mbps 的保证带宽。

我家怀疑被黑客蹭网啦,各种方法用过了,还是被蹭?
<https://www.zhihu.com/question/47324212/answer/105420450>

如何学习 TCP/IP 协议?

* 了解 socket 编程,会抓包,wireshark这种居家旅行杀人越货的必备神器
* 写个 IM
* 自己实现 tcp 窗口,重传机制
* 然后。。。假装 TCP 不存在,重新实现 传输层,网络层,链路层
* 在你自己实现的网络栈上,支持之前的 IM
自动获取ip

通过DHCP协议从DHCP服务器获取,就和自动获取IP一样,DNS只不过是其中一个option。

 

隧道
小美在北京,她的
IP = 10.1.1.3     Mask= 255.255.255.0    Gateway = 10.1.1.1

小明在上海,小明发现小美和自己在同一个网段,于是想ARP广播发现小美的MAC地址,同学们说可能吗?

如果没有隧道,这是痴心梦想,因为小明、小美的主机被Internet隔离。

但有了隧道(VxLAN / Ethernet over GRE ),这一切会梦想成真。

隧道有两个IP头,外部IP用于在Internet传输,而内部IP就是小明、小美的IP。

简而言之:隧道通常有两个IP头。

 

在同样的网络环境下,为什么乐视等视频网站看视频比B站快很多?

CDN ( Content Delivery Network )
事先将资源共享(pre-shared)到各个城市服务器,避免用户穿过运营商之间trunk、省际、城际访问集中服务器而丢包,把网络流量限制在城域网MAN (
Metropolitan Area Network),DNS server可以根据用户的IP。。。(丢包了)

DNS是计算机域名系统 Domain Name System


 

什么是静态VPN、动态VPN、专线VPN?

* 动态VPN就是IP地址每次链接都会变。
* 静态VPN就是IP地址是固定的。
* 专线VPN就是你一个人或者一批人占用一整个服务器,不和其它用户共享资源。可以动态也可以静态。
 

网络诊断,常用的工具就是Ping、Traceroute、抓包工具、日志信息,而要快速定位网络故障,需要熟练掌握这些工具

traceroute (Windows 系统下是tracert) 命令利用ICMP 协议定位您的计算机和目标计算机之间的所有路由器。TTL
值可以反映数据包经过的路由器或网关的数量,通过操纵独立ICMP 呼叫报文的TTL
值和观察该报文被抛弃的返回信息,traceroute命令能够遍历到数据包传输路径上的所有路由器。

 
ping和tracert的原理: 1、PING命令主要作用是测试2台设备网络层之间是否连通。 其工作原理:假设A路由器PING
B路由器,A路由器会先发一个ICMP ECHO报文(TYPE=8,CODE=0),如果2台设备之间路由是可达的,B收到后会回一个ICMP
REPLY的报文(TYPE=0,CODE=0)。ping命令也可以显示经过的跳数,
这样也可以通过PING命令查看我经过了哪几跳,每一跳的IP地址,命令参数是-R。但不是所有的路由器均支持该
命令,并且IP首部中留给选项的空间有限,不能存放太多的路径,一般最多就只能存放9个IP地址。 2、TRACERT命令主要作用和PING
-R的作用一样,是测试2台设备之间经过的跳数和每一跳的IP地址。其工作原理分2种情况说明。。。
 

TCP/IP 和 HTTP 的区别和联系是什么?

简单的说法:

* Ethernet(理解为同网关):将数据包从一块网卡传输到相邻的另一块网卡                           利用 MAC 地址
* IP:将数据包从来源 IP 网卡传输到目的 IP 网卡(中间可能经过若干相邻的网卡)            利用 IP 地址、子网掩码、默认网关
* TCP:在特定端口上建立数据流(维持数据包的顺序,如果丢失就重传等)             利用端口号
* HTTP:数据流内部的格式(如何传 URL、Cookies、表单等)     如何传输的问题已经由上面几层解决了,这里开始只需要关注要传输的数据本身了
 作者:邱昊宇
 链接:https://www.zhihu.com/question/38648948/answer/240076575

tcp/ip类似宪法,其他协议(http,ftp)都是子法,违宪无效

 

为什么路由器经常要重启,而绝大部分手机却可以长时间稳定工作?

你用买iPhone的钱买个路由器试试,比一比谁先重启。

 

 

IT有三架马车:操作系统、网络、数据库,构筑了计算机系统底层、通信基础架构、数据后台支撑。

 

计算机网络,由终端设备 + 网络中继设备组成

网络中继设备,就是把用户IP包通过接力的方式,送到目的地的设备的泛称,可能是物理层设备(猫)、可能是二层设备(交换机)、也可能是三层设备(路由器/防火墙)。


 

计算机有哪些联网方式?且其ip获取方式是怎样的?

传统的企业网、校园网采用三层架构:

1.接入网
一座教学楼的每一层有接入交换机,用于将有线、无线AP接入网络。

接入网主要功能:认证用户、权限管理、限速、服务质量、计费管理、将用户的小溪流导入河流。

2.汇聚网
每一座楼有汇聚交换机,将该楼的接入交换机纳入自己的怀抱,将接入网的小河流导入到核心网的集贸市场做流量的交换。

汇聚网的主要功能:将接入网多条低速物理链路(1G),汇聚成一条高速链路(10G)。

3.核心网
园区的核心网,由核心交换机组成,充当自由集贸市场,用于不同大楼的用户在此做流量的交换。

核心网的关键词:交换中枢!


但在数据中心,(Spine/Leaf)两层架构使得流量交换效率更高,去掉的一层相当于汇聚层,那是因为leaf交换机(接入网)人人都拥有高速物理链路(10G),直接接入Spine(交换流量),无须汇聚层,同时少了一层,传输时延也小。

关于IP地址的分配
就两种方式,静态、动态。

动态有DHCP分配、PPP拨号分配、拨VPN分配动态IP地址。


但最神奇的是无线漫游,当用户从一个AC域漫游到另外一个AC域时,两个AC域的IP号段是不一样的,但是在无缝漫游时,可以让用户保留最初的IP,由两个AC建立动态隧道来传输漫游用户IP的流量,这样用户当前session可以继续存活,而不会掉线。
此乃无缝、此谓Mobile IP。

 

起点-终点的对应就叫路由(routing)。这也是路由器(router)名字的由来。

协议定义了用何种方式传输,端口定义了该从哪里传输(出入口)

1.协议号

TCP老板 6 UDP老板 17 GRE老板 47 。。。。。。。

 

2.端口号
有两位老板,一个TCP老板,另一个是UDP老板,生意做的风生水起,马仔众多,有最多65535个马仔,老板记不住,于是给每个马仔做了一个编号(端口号
),这里面有很多知名马仔,比如:
21 FTP 22 SSH    53 DNS    。。。。。。

 

为什么有的网站电脑打不开,手机能打开?

运行--cmd-- 输入netsh winsock reset,重启
netsh命令是一个基于命令行的脚本编写工具,你可以使用此命令配置和监视Windows
系统,此外它还提供了交互式网络外壳程序接口,netsh命令的使用格式请参看帮助文件(在令提示符窗口中输入“netsh/?”即可)
 

计算机之间通信人为设定一个准则,这个准则是什么呢?

如果两台计算机在一个相同网段,不需要辅助设备(网关)的帮助,可以直接通信。

如果两台计算机在不同网段,则一定需要辅助设备(网关)的接力帮助,实现间接通信。

 

为何大多数公司部署代理服务器?

首要原因:过滤审核,一旦有违反公司安全政策的访问,通常会被阻碍访问,再生成一个log信息及对应的员工信息,保存在日志数据库里,秋后算账。(查水表)

 

搞清NAT的来龙去脉

问题一:内网的用户可以访问内网服务器吗?
当然可以,因为在一个局域网,都是私有IP。

问题二:外网用户可以访问内网服务器吗?
不可以,所以我们才需要做静态NAT,让外部用户可以用公网访问服务器。

问题三:内网用户可以访问Internet吗?
不可以,所以才需要做动态NAT,将内网用户私有IP,转换成公网IP。

由于公网IP只有一个,而内网用户IP很多,为了辨别内网用户session,需要使用IP + 端口号组合的PAT方式。

问题四:内网用户可以访问公网IP的内网服务器吗?
不可以,在目前的NAT实现机制上,是无法访问的。

 

浏览器开启隐私模式的同时翻着墙,是否能够完全隐藏本机IP地址的浏览痕迹?

        在公司内部,主机无论是代理上网还是VPN上网,都需要公司网络为其分配一个公司内网IP,
无论接下来的流量流向代理还是VPN网关,都需要内网IP在公司内部承载,所以对于此IP访问多少流量是一清二楚的,公司自然也知道该IP是谁在用。

普通代理对于代理流量是不加密的,公司可以毫不费力知道你在访问哪些网站
。VPN由于加密了流量,所以公司可能不会统计出你通过VPN访问哪些网站,但总流量还是可以统计的出。一旦公司发现有加密流量而无法监控,会将VPN端口封掉,那么VPN就无法连接。用户被迫会使用代理或常规方式上网,问题又回来了,公司是可以监控用户访问哪些网站的。
浏览器开启隐私模式,是不把运行浏览器主机的信息,如IP、操作系统、浏览器厂商,发送给服务器,这样避免暴露浏览器所在主机的私有信息。
(对服务器保密,啊哈哈),TOR浏览器还引入了多级代理的模式,隐藏浏览器的真实信息,但这仅仅用于蒙骗最终服务器,但在公司内网,这些都是徒劳,因为必须使用公司IP访问网络。


桥接:家庭无线路由器一般有四个LAN口,这四个LAN口任意选取其中的两个,每个LAN口连接一台电脑A、B,两个LAN口就是桥接关系

对于虚拟机来说,“桥接”效果类似于虚拟机直接使用真实网卡,而不是虚拟机和宿主操作系统接在同一个交换机下。拔了网线,虚拟机网卡也跟着“电缆被拔出”。

作者:车小胖
链接:https://www.zhihu.com/question/266194635/answer/304314227
来源:知乎