互联网协议入门/this/carriage return/line feed

一.互联网协议入门(一 + 二)
【转】http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.html
【转】http://www.ruanyifeng.com/blog/2012/06/internet_protocol_suite_part_ii.html


1.数据包:也称为”帧”,由标头(head)+数据(data)组成,其本质都是电信号(二进制的0和1),因为大量无序的0和1并没有什么实际的意义,所以需要将这些数据”分割”开来,规定多少个电信号为一组,每组信号又有什么具体的含义。

2.标头包含的信息包括一些说明信息,如:接受者,发送者,数据的类型等。数据则包含着数据包的具体内容。

3.MAC地址(Media Access Control),它是出厂商规定的一个编号,每个编号包含48位二进制,通常表示成12位十六进制。前6位 表示厂商编号,后6位表示该厂商的网卡流水号。

4.广播的方式(broadcasting):计算机之间是如何识别彼此的MAC地址?假设计算机A想将一个数据报发送给计算机B,该数据报中标头(head)就变味发送者,这个数据包通过A”群发”给子网络中的所有计算机,这个过程称为(广播),此时,所有计算机都会将自己的所有标头与该标头比较,如果相同,则接受这个数据报。否则就丢弃这个包。

5.但是广播这种方式效率低,同时受其子网络的限制。

6.互联网是无数子网络构成的一个巨型网络。

7.如果MAC地址属于同一个子网络中,则使用广播方式,否则使用路由方式(向不同的子网分发数据包)。

8.网络层的作用:区分不同的计算机是否属于同一个子网络。方式:引进一套新的地址,名字为”网络地址”,简称”网址”。规定网络地址的协议,成为IP协议。因此它所定义的地址,就被成为IP地址。

9.因此,每台计算机上有两种不同的地址,一个是MAC地址,绑定在网卡上的。另一个是网络地址,这是管理员分配的。网络地址帮助我们判断计算机属于哪个子网络,而MAC地址将数据包送到该子网络的目标网卡。

10.如何通过IP地址,判断两台计算机是否属于同一个子网络?子网掩码,是表示子网络特性的一个参数,它在形式上等同于IP地址,也是由32位二进制数字组成。其中1表示网络部分,0表示主机部分。将两台电脑上的不同IP地址分别与子网掩码进行AND位运算(而不是逻辑与运算),若两者运算结果相同,则为同一个子网络。

11.IP数据包,根据IP协议发送的数据,包含IP地址信息。IP数据包和以太网数据包如何”连接”?不是传统的直接链接,1+1,也是将IP数据包”嵌入”以太网数据包的”数据”部分。这也体现出了分层的优势,越是底层越是坚如磐石,也就是上层的变动不涉及底层的结构。所以一个以太网数据包就变成了:以太网(head)+IP(head)+IP(data)。

?12.通常情况下对方的IP地址是已知的:如果是动态IP,也会被该子网络中的DHCP(Dynamic Host Configuration Protocal)获得。

13.ARP协议:通过已知对方的IP地址,”计算出”对方的MAC地址,前提是两者在同一个子网络中(两者的IP地址与子网掩码的比较,看值是否相等),否则需要交给两个子网络的连接处”网关”(gateway)。

?14.网关的处理机制:通过路由的方式,使得彼此独立的子网络建立起”联系”,需要获得子网络的网关的MAC地址和IP地址。

15.传输层:这个数据包到底供哪个程序(进程)使用,比如一边记着笔记,一边放着歌。也就引入了一个参数:端口(port),也就是每个使用网卡的程序的编号。

16.传输层的功能:建立”端口端口”之间的通信;网络层的功能:建立”主机到主机”之间的通信。Unix系统将主机+端口,叫做”套接字”(socket)。

17.UDP数据包:User Datagram Portocol,head+data,比较简单,但可靠性较差,一旦数据包发出,无法知道对方收到与否。

18.TCP(Transmission Control Protocal):有确定机制的UDP协议。确保数据不会遗失,但其过程复杂,实现困难,消耗较多资源。

19.应用层:规定应用程序的数据格式。比如Email,FTP,WWW。


1.ISP:Internet Service Provider互联网服务提供商

2.静态IP地址上网:每次计算机开机,都会被分到相同的IP地址。

3.DHCP:Dynamic Host Configuration Protocol(动态主机配置协议)。【以太网(head)+IP(head)+UDP(head)+DHCP(data)】

4.动态IP地址,每次计算机开机,会自动分配一个IP地址,不同于人工设置,由DHCP”调控”。每个子网络中,都有一个”DHCP服务器”。新的计算机想要加入网络,必须向”DHCP”服务器发送一个”DHCP请求”数据包,申请IP地址和相关参数。

5.电脑上网的四个重要参数:本机的IP地址,子网掩码,网关的IP地址,DNS的IP地址。

7.HTTP(超文本传输协议):HyperText Transfer Protocol。【以太网(head)+IP(head)+TCP(head)+HTTP(data)】


1.域名的层次结构:主机名(host).次级域名(second-level domain).顶级域名(top-level domain).根域名(root)
2.DNS:(Dynamic Name System)域名系统
3.NA:Name Server域名服务器,A:Address

二.回车和换行
【转】http://www.ruanyifeng.com/blog/2006/04/post_213.html
1.回车(carriage return):马车掉头,打印机情形下,从左另起一行
2.换行(line feed):吃掉一行,打印机将纸向上移一行。
3.Window :回车\r+换行\n
4.Mac:回车\r
5.Unix:换行\n

三.this
【转】http://www.ruanyifeng.com/blog/2010/04/using_this_keyword_in_javascript.html
1.this代表函数运行时,自动产生的一个内部对象,只能在函数内使用。
2.this指的总是调用函数的那个对象。

①纯粹的函数调用

function test1(){
    this.x = 1;
    console.log(this.x);
}
test1();//1

//等价于,this的对象是调用函数的对象,这里就是全局变量Global
function test1(){
    this.x = 1;
    console.log(this.x);
}
window.test1();//1

//再一次证明
var b = 2;
function test2(){
    console.log(this.b);
}
test2();//2

var c = 3;
function test3(){
    this.c = 2;
    console.log(this.c);
}
test3();//2

var d = 4;
function test4(){
    this.d = 8;
}
test4();
console.log(d);//8

②作为对象的方法调用

function test5(){
    console.log(this.x);
}
var obj = {};
obj.x = 12;
obj.f = test5;
obj.f();//12

③作为构造函数调用

//所谓构造函数,就是通过这个函数生成一个新的对象,this就指向这个对象。
function test6(){
    this.x = 16;
}
//调用test6函数,此时this就指向对象o
var o = new test6();
console.log(o.x);//16

var x = 32;
function test6(){
    this.x = 16;
}
var o2 = new test6();
console.log(o2.x);//16

④apply()调用

//apply()是函数对象的一个方法,它的作用是改变函数的调用对象。它的第一个参数就是改变后的这个函数调用的对象。
var y = 64;
function test7(){
    console.log(this.y);
}
var o = {};
o.y = 32;
o.f = test7;
//这里调用的对象是全局变了Global,因此y = 64
o.f.apply();//64

var y = 64;
function test7(){
    console.log(this.y);
}
var o = {};
o.y = 32;
o.f = test7;
o.f.apply(o);//32
//关于this的一个好例子
function class1(){
    this.name = function (){
        console.log('yyc');
    }
}
function class2(){
    class1.call(this);
}
var f = new class2();
f.name();//yyc
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值