前言
不知道大家有没有这种感觉,大学时学习计算机网络基础的时候,看到各种网络协议与硬件功能实现原理就头疼。但这些底层原理又是需要知道的,虽然网络协议这块好像属于网络工程师的范畴,但其实对Java程序员来说其实也是一个基础盘,比如Netty网络框架这块要手写一个RPC框架就会意识到知道TCP/IP协议的重要性了。前段时间小编就在华为云面试的时候,在TCP/IP这块吃了点小亏,不过还算幸运,成功通过二面,目前准备备战三面了。这篇文章就跟大家聊一聊网络协议相关的理论知识,以及一些硬件实现的拓展,算是对自己的一些总结,也希望能对小伙伴们有一点启示。
说到网络通信首先要说的就是OSI参考模型
网络协议基础知识
OSI 参考模型
OSI从上到下分为7层:
- 应用层
- 表示层
- 会话层
- 传输层
- 网络层
- 数据链路层
- 物理层
TCP/IP 参考模型
虽然TCP/IP协议族通常都被表示为一个五层的协议栈,但实际上它只定义了上三层,因为TCP/IP只关心网络层、运输层和应用层。
对比
共同点:
- 都采用了层次结构的概念
- 都能够提供面向连接和无连接的通信服务机制
不同点:
- OSI 采用了七层模型,而 TCP/IP 是四层(实际上是三层)
- OSI 是一个在协议开发前设计的、有清晰概念的模型;TCP/IP 是先有协议集然后建立的、事实上得到广泛应用的弱模型,功能描述和实现细节混在一起
- OSI 的网络层既提供面向连接的服务,又提供无连接的服务;TCP/IP 的网络层只提供无连接的网络服务
- OSI 的传输层只提供面向连接的服务;TCP/IP 的传输层即提供面向连接的服务 TCP,也提供无连接的服务 UDP
硬件理论(就以交换机与路由器为例)
交换机、路由器
- 交换机(Switch)是数据链路层的硬件,相当于多端口的网桥。交换机内部存储 MAC 表,只会将数据帧发送到指定的目的地址
- 路由器(Router)是网络层的硬件,根据 IP 地址进行寻址,不同子网间的数据传输隔离
对比
举几个现实例子了解路由器和交换机的区别:
- 路由器相当于邮局,把信投递到收件人地址,它的任务就完成了。但是信邮到了你们宿舍楼,而这个地址不是你一个人专享的
- 所以楼管王大爷还要负责把信给到你手里,他不会关心收件人地址,只看收件人姓名,然后打个内线电话叫你来取信。
- 如果没有邮局,你没法向世界各地的漂亮妹子们发信,也没法从楼外的漂亮妹子那里收信。
- 但是因为楼管王大爷的存在,你仍然可以通过他与同宿舍楼的好基友书信往来。
- 所有邮局构成的系统,就是“广域网”,而你的宿舍楼,就是“局域网”,构建局域网是不需要路由器的。
扮演角色:
楼管王大爷:交换机(只负责局域网分配不同的IP)
邮局:路由器,可以把一个IP分配给很多个主机使用,这些主机对外只表现出一个IP,也就是只把信送到宿舍楼下,共用一个邮箱(IP)
大家看到这里是不是对网络方面有一个大概的认知了?由于小编水平不够,而且要准备接下来的三面,就暂时分享到这里哈(下面我会把我一直用的文档展示出来给大家参考),欢迎各位大佬评论区指正,加关注小编一下,希望以后能与大家深入探讨Java相关的各种知识。
话不多说资料展示在下面供各位大佬参考,需要的帮忙点赞转发加关注一下小编,然后添加小编的vx:mxzFAFAFA,即可得到获取方式
网络通信相关文档(网络底层原理看它就够了!)
第一部分 引言和底层技术
- 第1章 引言
- 第2章 OSI模型和TCP/IP协议族
- 第3章 底层技术
第二部分 网络层
- 第4章 网络层简介
- 第5章 IPv4地址
- 第6章 IP分组的交付和转发
- 第7章 网际协议版本4(IPv4)
- 第8章 地址解析协议(ARP)
- 第9章 网际控制报文协议 (ICMP)
- 第10章 移动IP
- 第11章 单播路由选择协议(RIP、OSPF和BGP)
- 第12章 多播和多播路由选择协议
第三部分 运输层
- 第13章 运输层简介
- 第14章 用户数据报协议 (UDP)
- 第15章 传输控制协议 (TCP)
- 第16章 流控制传输协议(SCTP)
第四部分应用层
- 第17章 应用层简介
- 第18章 主机配置: DHCP
- 第19章 域名系统 (DNS)
- 第20章 远程登录: TELNET与SSH
- 第21章 文件传送: FTP和TFTP
- 第22章 万维网和HTTP
- 第23章 电子邮件: SMTP、 POP、IMAP和MIME
- 第24章 网络管理(SNMP)
- 第25章 多媒体
第五部分下一代
- 第26章 IPv6编址
- 第27章 IPv6 协议
- 第28章ICMPv6
第六部分 安全性
- 第29章 加密术和网络安全
- 第30章 因特网安全
路由交换技术
第1章 路由基础介绍
- 1.1子网和子网掩码
- 1.2 VLSM
- 1.3 CIDR和路由汇总
- 1.4 路由协议概述
第2章 距离矢量路由协议
- 2.1 距离矢量路由协议介绍
- 2.2 RIP路由协议
- 2.3 RIPv1.RIPv2和RIPng特性
第3章 EIGRP 路由协议
- 3.1 EIGRP介绍
- 3.2 EIGRP 配置
- 3.3 EIGRPv6
第4章 OSPF路由协议
- 4.1 链路状态路由协议介绍
- 4.2 单区域OSPF
- 4.3 单区域OSPF配置
- 4.4 动态路由协议比较
- 4.5 OSPFv3
第5章 虚拟局域网(VLAN)
- 5.1 VLAN 简介
- 5.2 VLAN 的配置
第6章 虚拟局域网中继
- 6.1 虚拟局域网中继技术
- 6.2 Cisco VTP协议
第7章 生成树协议
- 7.1 冗余拓扑
- 7.2 生成树协议
- 7.3 高级的STP
第8章 单臂路由以及VLAN间路由
- 8.1 路由重分布
- 8.2 VLAN间路由
由于篇幅限制只能将主要内容展示出来,以上两份文档已经打包好了需要的老哥帮忙点赞转发加关注小编一下,然后添加小编的vx:mxzFAFAFA,即可得到获取方式