• 网络协议学习笔记1


    编译过程  源文件 -> 词法分析 -> 语法分析 -> 语义分析 -> 代码生成 -> 源文件
     
    应用层协议:DNS HTTP HTTPS
     
    传输层协议:UDP TCP
    UDP:无连接的协议
    TCP:面向连接的协议(会确保这个包能够到达目的地,如果不能到达,会重新发送,直至到达)(有两个端口,一个浏览器监听的端口,一个是服务器监听的端口。操作系统往往通过端口来判断,它得到的包应该进哪个进程)
     
    一个网站的请求过程 
    1.输入url 浏览器会打开地址簿协议DNS去查找 还可以使用另外一种更加精准的地址簿HTTPDNS去查找 获取到IP地址 ,获取到目标地址之后 ,浏览器开始打包请求,经过应用层的封装 等到下面的包
     
     
     
    2.浏览器打包好请求之后  会将应用层的包交给下一层(传输层),通过socket来实现。
     
     
    3.传输层封装完毕后,浏览器会将包交给操作系统的网络层。网络层的协议是IP协议。在IP协议力会有源IP地址,即浏览器所在机器的IP地址和目标IP地址。
     
     
    4.操作系统知道包要离开本地去远方,把包交给网关.而操作系统启动的时候,就会被DHCP协议配置IP地址,以及默认的网关的IP地址 192.168.1.1。
     
    操作系统利用ARP协议大吼一声,网关就会回复操作系统一个MAC地址。
    于是操作系统将IP包交给了下一层MAC层。网卡再将包发出去。里面包含了网关的MAC地址,从而到达网关。
     
     
    5.网关收到包之后,根据自己的知识判断下一步怎么走。网关通常是一个路由器,到某个IP地址后怎么走,这个叫路由表
     
     
    6.每到达一个网关,就要拿出IP头来,里面写着源IP地址,想经过目标IP地址。
    网关之间经常使用路由协议去沟通,常用的有OSPF和BGP.
     
    网关与网关之间是一个局域网,当网络包知道了下一步要去哪个网关,还是要使用局域网内部的MAC地址,通过下一个网关的MAC地址,然后再问下一步怎么走,一直到走出最后的网关。
     
     
    7.最后一个网关之后包要去的地方,对着局域网内部发送通知,寻找目标IP地址,目标服务器就会回复一个MAC地址。网络包过关后,通过MAC地址就能找到目标服务器。
     
     
    8.目标服务器发现MAC地址对上,就取下MAC头部,发送给操作系统的网络层。IP地址也对上了就取下IP头。IP头里会写上上一层封装的是TCP协议,就会将其交给传输层,即TCP层。
     
    9.在这一层里,对于收到的每个包,都会有一个回复的包说明收到了。沿路返回。给发送包的源头报平安。
     
    10.当网络包到达TCP层之后,TCP头中有目标端口号,通过这个端口号,可找到网站的进程正在监听这个端口号,假设一个tomcat,将这个包发给网站。
     
     
    11.网站的进程得到HTTP请求的内容,之后要做什么。往往一个网站最初的接待请求的这个tomcat知识一个接待员,负责统筹处理这个请求。这个接待员通过RPC调用,来告诉相关的进程要干什么,接待员不用关心中间的网络互连问题,会由RPC框架统一处理。RPC框架有很多中,有基于HTTP协议的报文里面的,有直接封装在TCP报文里面的。
     
    12.当接待员发现相应的部门都处理完了之后,就回复一个HTTP(HTTPS)的包,告知任务完成。这个包会像来的时候一样,经历多个网关,回到你的私人电脑,最终进入浏览器,现实任务完成。
     
  • 相关阅读:
    JZOJ6096 森林
    HIT暑期集训 二分图匹配
    HIT暑期集训 网络流
    HIT暑期集训 tarjan,dfs序
    HIT暑期集训 图论基础
    HIT暑期集训 AC自动机
    HIT第二周 周测补题
    HIT暑期集训 字符串
    HIT暑期集训 动态规划
    HIT暑期集训 平衡树
  • 原文地址:https://www.cnblogs.com/ChanYuCung/p/9188502.html
Copyright © 2020-2023  润新知