• web和网络基础


    TCP/IP 协议族按层次分别分为以下 4 层: 应用层、 传输层、 网络层和数据链路层

    把 TCP/IP 层次化是有好处的。 比如, 如果互联网只由一个协议统筹, 某个地方需要改变设计时, 就必须把所有部分整体替换掉。 而分层之后只需把变动的层替换掉即可。 把各层之间的接口部分规划好之后, 每个层次内部的设计就能够自由改动了。值得一提的是, 层次化之后, 设计也变得相对简单了。 处于应用层上的应用可以只考虑分派给自己的任务, 而不需要弄清对方在地球上哪个地方、 对方的传输路线是怎样的、 是否能确保传输送达等问题

    应用层

    应用层决定了向用户提供应用服务时通信的活动。TCP/IP 协议族内预存了各类通用的应用服务。 比如, FTP(FileTransfer Protocol, 文件传输协议) 和 DNS(Domain Name System, 域名系统) 服务就是其中两类。HTTP 协议也处于该层。

    传输层

    传输层对上层应用层, 提供处于网络连接中的两台计算机之间的数据传输。在传输层有两个性质不同的协议: TCP(Transmission ControProtocol, 传输控制协议) 和 UDP(User Data Protocol, 用户数据报协议) 。

    网络层( 又名网络互连层)

    网络层用来处理在网络上流动的数据包。 数据包是网络传输的最小数据单位。 该层规定了通过怎样的路径(所谓的传输路线) 到达对方计算机, 并把数据包传送给对方。与对方计算机之间通过多台计算机或网络设备进行传输时, 网络层所起的作用就是在众多的选项内选择一条传输路线。

    链路层( 又名数据链路层, 网络接口层)

    用来处理连接网络的硬件部分。 包括控制操作系统、 硬件的设备驱动、 NIC(Network Interface Card, 网络适配器, 即网卡) , 及光纤等物理可见部分(还包括连接器等一切传输媒介) 。 硬件上的范畴均在链路层的作用范围之内。

     

    利用 TCP/IP 协议族进行网络通信时, 会通过分层顺序与对方进行通信。 发送端从应用层往下走, 接收端则往应用层上走。

    发送端在层与层之间传输数据时, 每经过一层时必定会被打上一个该层所属的首部信息。 反之, 接收端在层与层传输数据时, 每经过一层时会把对应的首部消去

    与 HTTP 关系密切的协议 : IP、 TCP 和DNS

    负责传输的 IP 协议

    几乎所有使用网络的系统都会用到 IP 协议,IP 协议的作用是把各种数据包传送给对方。 而要保证确实传送到对方那里, 则需要满足各类条件。 其中两个重要的条件是 IP 地址和 MAC地址(Media Access Control Address) 。IP 地址指明了节点被分配到的地址, MAC 地址是指网卡所属的固定地址。 IP 地址可以和 MAC 地址进行配对。 IP 地址可变换, 但 MAC地址基本上不会更改

    IP 间的通信依赖 MAC 地址。 在网络上, 通信的双方在同一局域网(LAN) 内的情况是很少的, 通常是经过多台计算机和网络设备中转才能连接到对方。 而在进行中转时, 会利用下一站中转设备的 MAC地址来搜索下一个中转目标。 这时, 会采用 ARP 协议(Address Resolution Protocol) 。 ARP 是一种用以解析地址的协议, 根据通信方的 IP 地址就可以反查出对应的 MAC 地址。

     

    确保可靠性的 TCP 协议

    TCP 协议为了更容易传送大数据把数据分割成数据包进行传输, 而且 TCP 协议能够确认数据最终是否送达到对方

    为了准确无误地将数据送达目标处, TCP 协议采用了三次握手

    握手过程中使用了 TCP 的标志(flag) —— SYN(synchronize) 和ACK(acknowledgement) 。
    发送端首先发送一个带 SYN 标志的数据包给对方。 接收端收到后,回传一个带有 SYN/ACK 标志的数据包以示传达确认信息。 最后, 发送端再回传一个带 ACK 标志的数据包, 代表“握手”结束。若在握手过程中某个阶段莫名中断, TCP 协议会再次以相同的顺序发送相同的数据包

     

    负责域名解析的 DNS 服务

    DNS 协议提供通过域名查找 IP 地址, 或逆向从 IP 地址反查域名的服务

    通过这张图来了解下 IP 协议、 TCP 协议和 DNS 服务在使用HTTP 协议的通信过程中各自发挥了哪些作用

     

    URI 用字符串标识某一互联网资源, 而 URL表示资源的地点(互联网上所处的位置) 。 可见 URL是 URI 的子集

  • 相关阅读:
    入门教程: JS认证和WebAPI
    ASP.NET Core 之 Identity 入门(二)
    在Visual Studio 2017中使用Asp.Net Core构建Angular4应用程序
    .Net Core+Angular Cli/Angular4开发环境搭建教程
    简单易用的.NET免费开源RabbitMQ操作组件EasyNetQ解析
    Razor
    一个简易的反射类库NMSReflector
    发布 Ionic iOS 企业级应用
    AngularJS中的Provider们:Service和Factory等的区别
    Linux企业运维人员必备150个命令汇总
  • 原文地址:https://www.cnblogs.com/wyongz/p/11381075.html
Copyright © 2020-2023  润新知