互联网协议入门/this/carriage return/line feed
来源:互联网 发布:淘宝首页自定义间隙 编辑:程序博客网 时间:2024/06/03 07:09
一.互联网协议入门(一 + 二)
【转】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的对象是调用函数的对象,这里就是全局变量Globalfunction test1(){ this.x = 1; console.log(this.x);}window.test1();//1//再一次证明var b = 2;function test2(){ console.log(this.b);}test2();//2var c = 3;function test3(){ this.c = 2; console.log(this.c);}test3();//2var 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就指向对象ovar o = new test6();console.log(o.x);//16var 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 = 64o.f.apply();//64var 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
- 互联网协议入门/this/carriage return/line feed
- CRLF -- Carriage-Return Line-Feed 回车换行
- 关于换行(carriage return)和回车(line feed)
- 回车”(carriage return)和“换行”(line feed)
- “回车”(carriage return)和“换行”(line feed)
- “回车”(carriage return)VS “换行”(line feed)
- “回车”(Carriage Return)和“换行”(Line Feed)
- 回车(carriage return : \r) 换行(line feed : \n)
- 回车”(Carriage Return)和“换行”(Line Feed)起源
- The differences between Carriage Return(CR) and Line Feed(LF)
- “回车”(carriage return)和“换行”(line feed)的来历和区别
- “回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别
- 关于换行符CR(Carriage return) 和 LF(line feed) 的区别
- 回车"(carriage return)和"换行"(line feed)与 ASCII
- SAX解析XML文档对于carriage return,line feed,tab,space 处理过程:
- "回车"(carriage return)和"换行"(line feed)与 ASCII表
- 回车"(carriage return)和"换行"(line feed)的区别和来历
- “回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别
- CSS样式表、JS脚本加载顺序与SpringMVC在URL路径中传参数与SpringMVC 拦截器
- 问题 : 亲和数
- js 全局变量优点和缺点
- 【JavaScript语言精粹】读书笔记(一)——语法
- sublimetext 超级权限,写入权限
- 互联网协议入门/this/carriage return/line feed
- (DFS)Tempter of the Bone -- HDOJ
- 412. Fizz Buzz
- 好文链接
- Html-3.<li> 标签
- Codeforces 534B Covered Path【有点奇怪的思维+贪心】
- php csrf防御
- Tab切换--JavaScript基础
- JAVA虚拟机 类加载机制理解