Internet History, Technology, and Security(week5)——Technology: Internets and Packets
前言:
之前都在学习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的更多相关文章
- Internet History, Technology, and Security(week7)——Technology: Application Protocols
Layer 4: Applications Application Layer TCP提供了“a reliable pipe”(一个坚固的水管)连接用户和服务器,确保了数据能准确不出意外地传输,所以A ...
- Internet History, Technology, and Security(week6)——Technology: Transport Control Protocol(TCP)
前言: 这周开始学习分层网络模型的第三层,传输层. Transport/Reliability: Transport Layer TCP层的目的是补偿IP层中可能出现的错误,并充分利用可用资源.由于I ...
- Internet History, Technology, and Security(week1)——History: Dawn of Electronic Computing
前言: 第一次进行课程学习,在反复观看视频和查找字典翻译理解后选出了视频中个人认为较重要的概念,以下并不按照逐句翻译,中文概括大意余下自由发挥,对老师想要告诉我们的历史有一个初步的了解,顺便锻炼以下英 ...
- Internet History, Technology, and Security(week2)——History: The First Internet - NSFNet
前言: 上周学习了<电子计算机的曙光>,对战时及战后的计算机的历史发展有了更丰富的了解,今天继续coursera的课程,感觉已经有点适应了课程的节奏(除了经常有些奇奇怪怪的词汇看都看不懂@ ...
- Internet History, Technology, and Security(week8)——Security: Encrypting and Signing
Hiding Date from Ohters Security Introduction Alice and Bob是密码学.博弈论.物理学等领域中的通用角色之一.Alice(代表A)和Bob(代表 ...
- Internet History, Technology, and Security(week9)——Web Security
Secure Web Connections: Security Public/Private Key - Secure Sockets 凯撒密码容易被破解,后来人们发明了公钥和私钥,由于私钥一定是要 ...
- 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 ...
- Internet History, Technology, and Security(week3)——History: The Web Makes it Easy to Use
前言: 上周学习了第一个网络NSFnet,美国国家科学基金会(National Science Foundation,简称NSF)在全美国建立了6个超级计算机中心所互联的一个网络,这周继续学习网络的发 ...
- Spring Security(08)——intercept-url配置
http://elim.iteye.com/blog/2161056 Spring Security(08)--intercept-url配置 博客分类: spring Security Spring ...
随机推荐
- ssh远程连接linux服务器并执行命令
详细方法: SSHClient中的方法 参数和参数说明 connect(实现ssh连接和校验) hostname:目标主机地址 port:主机端口 username:校验的用户名 password:登 ...
- FTP-学习笔记(1)
1.简单的SFTP.FTP文件上传下载 SftpTools.java package com.lfy.mian; import com.jcraft.jsch.*; import java.io.Fi ...
- windows上zeal安装和使用--离线API文档
1.官网:https://zealdocs.org/download.html#windows 2.github:https://github.com/zealdocs/zeal 3.下载:可下载安装 ...
- C++中的深拷贝和浅拷贝构造函数
1,对象的构造在实际工程开发当中是相当重要的,C++ 中使用类就要创建对象,这 就涉及了对象的构造,本节课讲解对象的构造和内存操作方面的问题: 2,实际工程开发中,bug 产生的根源,必然的会有内存操 ...
- C++中的const分析
1,C 语言中的 const: 1,const 修饰的变量是只读的,本质还是变量: 1,C 语言中的 const 使变量具有只读属性: 2,const 只在编译期有用,在运行期无用: 3,const ...
- 图——图的Floyd法最短路径实现
1,Dijkstra 算法一次性求得起始顶点到所有其它顶点的最短路径,如果想要求解任意两个顶点之间的最短路径,可将图中顶点作为起始顶点执行 n 次 Dijkstra 算法就可以了: 2,可能解决方案: ...
- Ubuntu 解决wifi无法打开的问题 安装NVIDIA显卡驱动的正确姿势
游戏本型号Y7000 win10 Ubuntu16.04双系统 解决wifi无法打开的问题 解决方法: 1.打开终端输入:rfkill list all 出现如下提示:: 可以看到,优先级 ...
- HNUSTOJ 1604:Operations
1604: Operations 时间限制: 2 Sec 内存限制: 128 MB 提交: 313 解决: 97 [提交][状态][讨论版] 题目描述 You can perform the fo ...
- 1、Java调用C语言(本地法)
这是一个比较麻烦的方法.. 一.首先,你要先安装一个VC,我的装在了D:\software\C++\Microsoft Visual Studio 二.我的jdk安装目录是D:\Program ...
- 使用ajax发送文件的三种方式及预览图片的方法,上传按钮美化
后端代码 def upload(request): if request.method == "GET": return render(request,'upload.html') ...