Technology:Internets and Packets

course

Layer 2 : Internet Protocol

The InterNetwork

Internetwork Layer

中文中称之为网络层。当我们在看网络层的时候,可以忽略下层数据链路层的各种问题,以及在它之上的运输层、应用层的实现问题。专心关注于网络层。当我们研究数据链路层的时候,我们只关注各个主机和路由器或者是路由器与路由器之间的链接。而网络层关注的则是整个网络的所有链路的连接。其实IP层的目标就是把数据从一台电脑发送到另外一台电脑,而IP地址在这发送的过程中就起着至关重要的作用。

IP Address

MAC是硬件固化的地址,在生产的时候就已经确定了。而IP地址是变化的,比如在学校上网你需要一个IP地址接入Internet,在家里上网你就要另外一个IP地址接入Internet。IP地址是全球都在使用的,每个都是不一样的。

老师介绍了可以通过网站来查询自己分配到的IP地址。当然你也可以输入某个具体的IP地址,来查看IP地址所代表的网络。

IP Address Format

IPv4中的IP地址的格式有32位,为了提高可读性,采取点分十进制记法也就是把32位的IP地址每8位用其等效的十进制数字表示并在这些数字之间加上一个点。而32位的IP地址具体是如何编址的呢?这就要涉及IP地址的编址方式了。现如今IP地址的编制方式采取的是无分类编址将IP地址划分成两个部分:

IP地址::={,}

其中网络前缀是不定长的,用来指定该IP地址是哪个网络的地址。要配合子网掩码 来表示IP地址的前缀的长度。而主机号则是指明该网络中的主机。其实这个就有点类似我们的电话:区号+电话号码的那种形式。而这样做当然是有目的的,因为当packet在网络中只认前面的网络号,当packet交付给目的网络之后再看主机号,将packet交付给目的主机。

IP协议的重要之处就是在于它将各个网络连接起来。而标识各个网络的就是IP地址的网络前缀。

Router Tables

packet在网络中传送会有很多的路径可以选择。而路由器如何选择并转发就要使用到路由表。路由器根据路由表中的目的网络去选择下一跳,并将数据转发。路由表有个特点就是它是动态更新的。

DHCP(Dynamic Host Configuration Protocol)

动态主机配置协议。当一台新的主机连入网络之后,就向DHCP服务器发送请求,DHCP服务器响应并分配一个IP地址给新的主机使用。不过如果连入的主机过多,要给每个主机分配一个IP地址,那么就会出现IP地址不够分配的情况。

NAT(Network Address Translation)

为了解决IP地址不够分配的问题。1994年提出了NAT。当你在局域网内部获得的是临时的local address,这些地址不能直接访问Internet,而当数据需要传送到Internet的时候,就会将local address转成ISP提供的global routable address。local address称为non-routable address。

TTL(Time to Live)

讨论完这些,如果考虑一下packet在网络中路由器的转发情况。网络中如果数据在路由器的转发中形成了环路该怎么办呢?其实在IP数据报中有一个字节用来表示生存时间的。它表明了数据在网络中的寿命,数据转发到某个路由器,路由器在数据转发智强将TTL 的值减1。当减少到0,数据就会被路由器丢弃。

week5-Internetwork Layer的更多相关文章

  1. Internet History, Technology and Security (Week5.2)

    Week5 Now, I want to make it real clear that, when I give you a 15 minute video of an amazing invent ...

  2. Internet History, Technology and Security (Week5.1)

    Week5 The Transport layer is built on the Internetwork layer and is what makes our network connectio ...

  3. Internet History,Technology,and Security - Technology: Internets and Packets (Week5)

    Week5 Technology: Internets and Packets Welcome to Week 5! This week, we’ll be covering internets an ...

  4. Internet History, Technology, and Security(week5)——Technology: Internets and Packets

    前言: 之前都在学习Internet的历史,从这周开始,进入到了Internet技术的学习. Layer1: Link Introduction / The Link Layer 80年代之前,主流网 ...

  5. 《Inetnet History,Technology and Security》学习笔记

    前言 本文为观看Cousera的Michigan<Internet History, Technology and Security>教程的个人学习笔记,包括了每个week的概要和个人感想 ...

  6. Coursera: Internet History, Technology, and Security

    课程网址:https://www.coursera.org/learn/internet-history 学习笔记: Week 1: History - Dawn of Early Computing ...

  7. TCP/IP模型各个层次的功能和协议

      层次名称 功    能 协    议 应用层 (Application Layer) 负责实现一切与应用程序相关的功能,对应OSI参考模型的上三层 FTP(文件传输协议) HTTP(超文本传输协议 ...

  8. 【TCP/IP详解 卷一:协议】第十二章 广播和多播

    建议参考:广播和多播 IGMP 12.1 引言 IP地址知识点回顾: IP地址分为三种:(1)单播地址 (2)广播地址 (3)多播地址 另外一种是,IP地址一般划分成五类:A-E类. 单播 考虑 类似 ...

  9. 【Coursera】Sixth Week(2)

    DNS:Domain Name System The Domain Name System convert user-friendly names,like www.umich.edu, to net ...

随机推荐

  1. 【洛谷】【单调队列】P2032 扫描

    [题目描述:] 有一个 1 ∗ n 的矩阵,有 n 个正整数. 现在给你一个可以盖住连续的 k 的数的木板. 一开始木板盖住了矩阵的第 1 ∼ k 个数,每次将木板向右移动一个单位,直到右端与第 n ...

  2. sql server 数据库作业备份存储过程

    DECLARE @fileName nvarchar(100) SET @fileName='D:\HFS\DataBase' + REPLACE(REPLACE(REPLACE(REPLACE(CO ...

  3. Unicode,GBK,GB2312,UTF-8概念基础(转载)

    第一篇:JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础本部分采用重用,转载一篇文章来完成这部分的目标.来源:holen'blog   对字符编码与Unicode,IS ...

  4. String----是一个对象

    * 字符串可以看成是字符组成的数组,但是js中没有字符类型 * 字符是一个一个的,在别的语言中字符用一对单引号括起来 * 在js中字符串可以使用单引号也可以使用双引号 * 因为字符串可以看成是数组,所 ...

  5. easyui 如何引入

    一:引入easyui 1:参考官网:http://www.jeasyui.net/ 2:引入 整个文件夹:themes,包括:icon.css.image 等等 3:引入easyui.css      ...

  6. Android 截取屏幕图片并保存

    Android市场上有很多屏幕截图软件,把当前屏幕截取出来并保存,这一节我们就来看看屏幕截图的具体实现. 操作步骤: 1.创建一片屏幕大小的缓冲区,用于存放屏幕大小的图片 Bitmap bitmap ...

  7. mysql show profiles 使用分析sql 性能

    Show profiles是5.0.37之后添加的,要想使用此功能,要确保版本在5.0.37之后. 查看一下我的数据库版本 MySQL> Select  version(); +-------- ...

  8. 【本地服务器】json-server搭建本地https服务器(windows)

    (一)用json-server搭建简单的服务器 (搭建出来的服务器地址为localhost:3000) 1.新建Mockjson文件夹,进入该文件夹目录,运行命令 npm install -g jso ...

  9. C++STL之Vector的应用

    这是我第一次写博客,请多指教! vector是一种向量容器,说白了就是可以改变大小的数组. vector是一个模板类,如果直接这样会报错: vector a; //报错,因为要指定模板. 需要像这样: ...

  10. 20155317王新玮《网络对抗》Exp2 后门原理与实践

    20155317王新玮<网络对抗>Exp2 后门原理与实践 一.实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划 ...