您当前的位置:首页 > 新闻 > 科技

开发人员必须知道的网络基础知识

时间:2020-04-19 14:24:49  来源:  作者:

一、五层网络模型

1. 主要的网络协议

以下每层列出的协议,都能够在代码或者操作系统中使用和管理,当程序进行网络通信时,需要由这些协议共同协作完成。

应用层,包括HTTP、TLS(SSL3.1)、DNS、Thrift、FTP等

传输层,TCP(传输控制协议)、UDP(用户报文协议)

网络层,IP(网际协议)

链路层,ARP(地址解析协议)

物理层,该层与硬件关系更为紧密,无需太过关注

开发人员必须知道的网络基础知识

 

 

程序运行过程图解

2. 网络通信的过程

网络通信的过程

在程序中发送HTTPS请求时,数据经过各层的处理,最终到达目标地址。对各层处理的主要部分进行了描述,其中第1、2、3步在程序中进行,第4、5、6步在操作系统内核中进行,第7步由硬件设备完成,下面对每一步进行详细描述:

DNS解析将域名转换为IPv4或IPv6地址,它依托于UDP协议向DNS服务器发送查询请求并获取响应信息。

HTTP报文由程序中的httpclient工具生成,包含用户设置的HTTP相关参数(URL、header、body等)。

TLS协议通过四次握手机制协商出公钥/私钥,客户端生成“会话密钥”由公钥加密发送到服务端,服务端通过私钥解密获取,最终使用该“会话密钥”对HTTP报文进行加密。

TCP连接通过三次握手机制建立,HTTP报文以字节流形式写入,发送的数据都需要经过“发送-确认”的过程,以保证其完整送达到指定IP地址。

IP数据包将字节流按MTU大小进行拆分,局域网内通常为1500字节,互联网通常为512字节。IP数据包的头信息上记录了发送者IP和接收者IP。

mac帧在发送时,实际无法直接发送到指定的IP地址,需要内核根据路由表中记录的信息(本地路由表查看命令route -n),通过“IP地址与子网掩码”进行“与运算”得到下一跳的网关IP。然后,链路层通过ARP协议获取网关IP的MAC地址(本地ARP缓存表查看命令arp -a),将发送者MAC地址和网关MAC地址封装到MAC帧中。

二、关键的外部服务

上一节描述的网络通信过程,需要多种外部服务的参与才能完成,包括DNS服务、CA服务、路由器、ISP服务。

1. DNS服务

DNS服务器由DNS服务提供商进行管理,提供根据域名查询IP地址的服务,常见的DNS服务提供商有中国电信(114.114.114.114)和谷歌(8.8.8.8),linux系统中在文件/etc/resolv.conf中和目录/etcc/sysconfig/network-scripts/下使用cat命令查看配置的DNS服务器IP地址。

2. CA颁发与验证服务

CA服务器提供了TLS协议中需要的证书颁发服务,在TLS进行四次握手时通过CA服务验证服务器提供的证书是否可信。浏览器内置了多种CA服务器的地址,并且也可以在本地配置证书进行验证(如:12306.cn需要在浏览器安装私有证书)。

3. 路由器

路由器是个人电脑发送IP数据包到互联网的第一道网关,路由器内置了相关ISP服务器的信息。

4. ISP服务器

ISP(Internet Service Provider)互联网服务提供商(如:中国电信、中国联通)是网络服务的关键角色,ISP服务器的作用与路由器相同,它们记录了庞大的路由表提供给数据链路层进行查询。当我们想要将自己的服务器接入到互联网中,需要付费给ISP进行注册,本质就是在ISP服务添加了自己服务器的路由信息(实际还涉及到光纤建设等物理层实施,这里不做描述)。



Tags:网络基础知识   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
作者:Poll的笔记链接: https://www.cnblogs.com/maybe2030/p/4781555.html阅读目录1. 网络层次划分2. OSI七层网络模型3. IP地址4. 子网掩码及网络划分5. ARP/RARP协议6. 路由...【详细内容】
2020-06-30  Tags: 网络基础知识  点击:(52)  评论:(0)  加入收藏
一些关于网络的知识点 1)什么是链接?链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。2)OSI 参考模型的层次是什么?有 7 个 OSI 层:物理...【详细内容】
2020-05-14  Tags: 网络基础知识  点击:(94)  评论:(0)  加入收藏
一、五层网络模型1. 主要的网络协议以下每层列出的协议,都能够在代码或者操作系统中使用和管理,当程序进行网络通信时,需要由这些协议共同协作完成。应用层,包括HTTP、TLS(SSL3....【详细内容】
2020-04-19  Tags: 网络基础知识  点击:(63)  评论:(0)  加入收藏
第一部分 整体概述HTTP 请求消息URL: Uniform Resource Locator,统一资源定位符。FTP: File Transfer Protocol, 文件传送协议。 这是一种在上传、下载文件时使用的协议。使用...【详细内容】
2020-03-14  Tags: 网络基础知识  点击:(110)  评论:(0)  加入收藏
一、IP地址IP 地址是软件地址,MAC 地址是硬件地址,MAC 地址是烧录在NIC 里的,MAC 地址用于在本地网络查找主机地址.IP 地址是唯一的,也叫做网络地址(network address);硬件...【详细内容】
2020-03-02  Tags: 网络基础知识  点击:(109)  评论:(0)  加入收藏
1)什么是链接?链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。2)OSI 参考模型的层次是什么?有 7 个 OSI 层:物理层,数据链路层,网络层,传输...【详细内容】
2020-01-06  Tags: 网络基础知识  点击:(79)  评论:(0)  加入收藏
100 个网络基础知识普及,看完成半个网络高手!1)什么是链接?链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。2)OSI 参考模型的层次是...【详细内容】
2019-12-13  Tags: 网络基础知识  点击:(78)  评论:(0)  加入收藏
一、ICMPIP 协议是一种不可靠的协议,无法进行差错控制。但 IP 协议可以借助其他协议来实现这一功能,如 ICMP。ICMP(Internet Control Messages Protocol, 网间控制报文协议)允许...【详细内容】
2019-12-13  Tags: 网络基础知识  点击:(143)  评论:(0)  加入收藏
1)什么是链接?链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。2)OSI 参考模型的层次是什么?有 7 个 OSI 层:物理层,数据链路层,网络层,传...【详细内容】
2019-10-22  Tags: 网络基础知识  点击:(126)  评论:(0)  加入收藏
计算机网络学习的核心内容就是网络协议的学习。网络协议是为计算机网络中进行数据交换而建立的规则、标准或者说是约定的集合。因为不同用户的数据终端可能采取的字符集是不同的,两者需要进行通信,必须要在一定的标准上...【详细内容】
2019-08-12  Tags: 网络基础知识  点击:(295)  评论:(0)  加入收藏
▌简易百科推荐
非法购买公民信息、开发人脸认证规避技术……今年年初,广东省公安厅网安部门侦破全国首例破解“青少年防沉迷系统”的新型网络犯罪案件,抓获犯罪嫌疑人13名,查处非...【详细内容】
2021-12-28    人民日报客户端  Tags:数据安全步   点击:(5)  评论:(0)  加入收藏
就在今天,腾讯方面宣布将在2022年1月31日下架企业QQ和营销QQ,其实这一消息的降临并不让笔者意外,因为早在今年的10月28日20点之后,企业QQ和营销QQ就被停止了续费服务。相信很多...【详细内容】
2021-12-27  科技探险家    Tags:企业QQ   点击:(20)  评论:(0)  加入收藏
日前,上海交通大学发布《全球电竞之都评价报告》,对全球15个致力于发展电竞之都的城市进行评价,上海作为中国城市电竞发展的排头兵,其拥有众多优质电竞企业及完整产业集群,因此排...【详细内容】
2021-12-27  经济日报    Tags:电竞   点击:(3)  评论:(0)  加入收藏
为优化网络氛围环境,微博又开始整顿用户信息了。本月月初,微博官方发布公告,要求昵称中带有如“二货”“SB”“瘪三”“娘炮”等明显低俗或侮辱性词汇的用户尽快修改,否则将面临...【详细内容】
2021-12-24  运了个营    Tags:微博   点击:(10)  评论:(0)  加入收藏
昨日谷歌宣布,自2022年12月19日开始停止对OnHub的软件支持,OnHub路由器仍将提供Wi-Fi信号,但用户无法用谷歌Home应用程序管理它。无法更新Wi-Fi网络设置、添加额外的Wifi设备或...【详细内容】
2021-12-22  雷峰网    Tags:Google OnHub   点击:(5)  评论:(0)  加入收藏
IT之家 12 月 20 日消息,百度网盘青春版 iOS 客户端今日晚间率先开启内测,安卓客户端将在稍后内测。使用苹果 iPhone 的IT之家小伙伴可以点此下载内测版,需要先下载 TestFlight...【详细内容】
2021-12-21  IT之家    Tags:百度网盘   点击:(10)  评论:(0)  加入收藏
对于拼车单,是接还是不接,不少网约车司机表示很矛盾。接吧,钱少事多,常常跑了个寂寞,不接吧,车多客少,挑三拣四没饭吃。 在平台大力推广拼车单之下,不少司机迫于生活压力,最终还是打...【详细内容】
2021-12-17  网约车情报分享    Tags:滴滴   点击:(9)  评论:(0)  加入收藏
蓝鲸TMT频道12月16日讯,据饿了么官方微信公众号,近日,在圆桌会上,蓝骑士与平台交流了配送安全问题。饿了么表示,线上将技术手段融入安全防护;线下将持续进行安全培训,并试点智能头...【详细内容】
2021-12-17    金融界  Tags:饿了么   点击:(24)  评论:(0)  加入收藏
开源最前线(ID:OpenSourceTop) 猿妹编译项目地址: https://github.com/restic/restic全球知名代码托管平台 GitHub 今天就重磅发布了今年的年度报告——《2021 年度 O...【详细内容】
2021-12-17  Python部落    Tags:   点击:(9)  评论:(0)  加入收藏
新京报快讯 据中国网络视听节目服务协会网站消息,12月15日,中国网络视听节目服务协会发布了《网络短视频内容审核标准细则》(2021)。中国网络视听节目服务协会组织有关短视频平...【详细内容】
2021-12-16    新京报  Tags:短视频   点击:(11)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条