zoukankan      html  css  js  c++  java
  • Internet History, Technology, and Security(week5)——Technology: Internets and Packets

    前言:

    之前都在学习Internet的历史,从这周开始,进入到了Internet技术的学习。

    • Introduction / The Link Layer

    80年代之前,主流网络的还是Store and Forward Networking(存储转发网络),但是由于其在数据处理方面延时较大,无法应用于条件严苛的军事领域,故军方出力研究出了ARPANET——一个典型的packet switch network(分组交换网络)。

    ARPANET给出了一个不一样的网络:Shared Network——把一大段信息分成许多个packets(数据包),利用路由器做短期短距离的数据传输,多个路由器接连负责将收到的数据包传送给下一个路由器,hop依然存在,路由器之间的不断转发最终让数据汇聚到目的地。

    Shared Network上的数据需要在路由器与路由器之间不停的Hop,为了简化和管理,业界提出了分为四层的Layered Network Model(网络分层模型),随之在各层上用协议(Protocol)来约束层与层之间要如何协同工作,简化过程。

    Ethernet(以太网)可以说是目前应用最为广泛的Link Layer,硬件制造商在制造带有以太网或者无线适配器的电子器件时,都会用六组两两结合的字符去标识这些硬件,这其实属于一种物理地址(Mac地址),硬件之间正是通过地址来识别。

    当涉及到共享的问题时,必然需要一个与之相对应的冲突解决方案,以太网采用的则是CSMA/CD(Carrier Sense Multiple Access/Collision Detection,载波监听多路访问及冲突检测)。设备在发送数据前会对信道进行Listen(监听),当没有其他正在传输的数据时,才可以进行传输,否则在某个周期内将会一直持续监听。

    Layer2: Internet Portocol

    • The InterNetwork (IP)

    Internetwork Layer(网络层)需要关心的是多个Link的连接问题,这是分层模型带来的好处。

    与前面的Mac地址不同,IP地址不是与硬件有关的且一成不变的,物理地址在某个硬件被制造时就由制造商决定了,IP地址是全球性的,当你到了其他地方IP地址就会随之发生改变。

    IP地址(IPv4)格式是32bits的,由四个小数点分隔,每组都由0 ~ 255(8bits)的二进制数组成。IP地址分为前缀网络号和后缀主机号,前者用子网掩码来表示,用于表示IP地址从属的网络,后者指明网络中的具体主机号。数据在网络传输过程中会先根据网络号找到指定网络,再根据主机号索引到目标主机。

    Router Tables(路由表)是路由器等网络设备上存储的一张动态更新的信息表,路由表中存放了发送源目的地的地址,可以根据目的地的ip地址决定了数据该往哪个方向传递,路由表中还包含了相邻链路的带宽情况,智能选择路径以避免拥堵。

    DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,在接收申请之后,可以为新连入网络的主机分配一个IP地址。例如当我们在咖啡厅、在家与在工作单位分别连接网络时,其实分配的IP地址是不同的,但是我们在接入网络的时候却没有因为地址不同而被拒绝,这都归功于DHCP

     

    如果为所有机构的所有电脑都分配一个真实存在的IP地址,那么IP地址将会很紧缺(IPv4情况下是2的32次方个),所以出现了Network Address Translation技术。

    NAT(Network Address Translation,网络地址转换)技术可使专用网内部已分配的本地IP地址因特网上的主机进行通信,这种通过使用少量的公有IP地址代表较多的私有IP地址的方式,有助于减缓IP地址枯竭的情况。不过NAT分配的只在内部网络使用的虚拟IP地址,不能直接访问因特网,只有通过ISP(Internet Service Provider,互联网服务提供商)转换为real global routable address,才能与因特网传输数据。

    TTL(Time to Live,存活时间)是每个IP数据包自带的一个用来表示生存时间的字节,最大值为255。TTL每经过一个路由器减少1,减到零之后就丢弃数据包,防止无限hop导致死循环造成网络堵塞

     小结:

     

     

  • 相关阅读:
    mac下使用brew安装mongodb
    从零构建vue+webpack (一)
    常用软件集合(2018/08/22)
    solr集群安装部署
    zookeeper集群部署
    redis集群部署
    linux 安装jdk
    zTab layui多标签页组件
    spring boot集成swagger2
    SSH客户端,FinalShell服务器管理,远程桌面加速软件,支持Windows,Mac OS X,Linux,版本2.6.3.1
  • 原文地址:https://www.cnblogs.com/chelinger/p/10768952.html
Copyright © 2011-2022 走看看