前言:

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

Layer1: Link

  • 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)来约束层与层之间要如何协同工作,简化过程。

Link Layer(链路层)协议的第一层。由于是分层模型,因此在这层上,只考虑物理层面上实现传输数据即可。物理的传输介质,如有线、无线传输、光缆等,都可以看做是一个Link。

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导致死循环造成网络堵塞

小结:

 

Internet History, Technology, and Security(week5)——Technology: Internets and Packets的更多相关文章

  1. Internet History, Technology, and Security(week7)——Technology: Application Protocols

    Layer 4: Applications Application Layer TCP提供了“a reliable pipe”(一个坚固的水管)连接用户和服务器,确保了数据能准确不出意外地传输,所以A ...

  2. Internet History, Technology, and Security(week6)——Technology: Transport Control Protocol(TCP)

    前言: 这周开始学习分层网络模型的第三层,传输层. Transport/Reliability: Transport Layer TCP层的目的是补偿IP层中可能出现的错误,并充分利用可用资源.由于I ...

  3. Internet History, Technology, and Security(week1)——History: Dawn of Electronic Computing

    前言: 第一次进行课程学习,在反复观看视频和查找字典翻译理解后选出了视频中个人认为较重要的概念,以下并不按照逐句翻译,中文概括大意余下自由发挥,对老师想要告诉我们的历史有一个初步的了解,顺便锻炼以下英 ...

  4. Internet History, Technology, and Security(week2)——History: The First Internet - NSFNet

    前言: 上周学习了<电子计算机的曙光>,对战时及战后的计算机的历史发展有了更丰富的了解,今天继续coursera的课程,感觉已经有点适应了课程的节奏(除了经常有些奇奇怪怪的词汇看都看不懂@ ...

  5. Internet History, Technology, and Security(week8)——Security: Encrypting and Signing

    Hiding Date from Ohters Security Introduction Alice and Bob是密码学.博弈论.物理学等领域中的通用角色之一.Alice(代表A)和Bob(代表 ...

  6. Internet History, Technology, and Security(week9)——Web Security

    Secure Web Connections: Security Public/Private Key - Secure Sockets 凯撒密码容易被破解,后来人们发明了公钥和私钥,由于私钥一定是要 ...

  7. Internet History, Technology, and Security(week4)——History: Commercialization and Growth

    Explosive Growth of the Internet and Web: The Year of the Web 1994年后,由NCSA的老员工们构成的Netscape(网景)的成立.Ne ...

  8. Internet History, Technology, and Security(week3)——History: The Web Makes it Easy to Use

    前言: 上周学习了第一个网络NSFnet,美国国家科学基金会(National Science Foundation,简称NSF)在全美国建立了6个超级计算机中心所互联的一个网络,这周继续学习网络的发 ...

  9. Spring Security(08)——intercept-url配置

    http://elim.iteye.com/blog/2161056 Spring Security(08)--intercept-url配置 博客分类: spring Security Spring ...

随机推荐

  1. python 并发编程 多进程 Process对象的其他属性方法 join 方法

    一 Process对象的join方法 在主进程运行过程中如果想并发地执行其他的任务,我们可以开启子进程,此时主进程的任务与子进程的任务分两种情况 情况一: 在主进程的任务与子进程的任务彼此独立的情况下 ...

  2. win10远程桌面报出现身份验证错误,要求的函数不受支持

    win10远程桌面报出现身份验证错误,要求的函数不受支持 编写人:左丘文 2019-6-6 公司换了一台新笔记本电脑,是win10操作系统,刚想远程连接一下服务器,发现以前很正常的功能,发现不行了.网 ...

  3. linux 进程2

    一. exec族函数 1.1. 为什么需要exec函数 a. fork子进程是为了执行新程序(fork创建了子进程后,子进程和父进程同时被OS调度执行,因此子进程可以单独的执行一个程序,这个程序宏观上 ...

  4. Python2 中 range 和 xrange 的区别?

    两者用法相同,不同的是 range 返回的结果是一个列表,而 xrange 的结果是一个生成器,前者是直接开辟一块内存空间来保存列表,后者是边循环边使用,只有使用时才会开辟内存空间,所以当列表很长时, ...

  5. 洛谷 - P3803 -【模板】多项式乘法(FFT) - NTT

    https://www.luogu.org/problemnew/show/P3803 看别人偏偏就是要用NTT去过.实验证明大概是这样用.求0~n的多项式和0~m的多项式的乘积.注意MAXN取值.A ...

  6. python学习第五十三天configParser模块的使用

    configParser 模块用于生成和修改常见配置文档,python 3.x为configParser,配置软件的常见配置格式 模块的用法 import configparser config=co ...

  7. luogu P1232 [NOI2013]树的计数

    传送门 这题妙蛙 首先考虑构造出一个合法的树.先重新编号,把bfs序整成\(1,2,3...n\),然后bfs序就是按照从上到下从左往右的遍历顺序,所以可以考虑对bfs序分层,可以知道分层方式只会对应 ...

  8. 神经网络之:S型神经元

    1.S 型神经元和感知器类似,但是被修改为权重和偏置的微小改动只引起输出的微小变化 2.S型神经元结构: S型函数: 带有x1,x2,........,权重w1,w2.....,和偏置b的S型神经元的 ...

  9. gp指标信息

    RSI: 相对强弱指数,RSI的原理简单来说是以数字计算的方法求出买卖双方的力量对比 强弱指标理论认为,任何市价的大涨或大跌,均在0-100之间变动,根据常态分配 认为RSI值多在30-70之间变动, ...

  10. bash_profile和bashrc区别

    [.bash_profile 与 .bashrc 的区别].bash_profile is executed for login shells, while .bashrc is executed f ...