计算机网络基础知识整理
来源:互联网 发布:oracle数据库网速 编辑:程序博客网 时间:2024/05/18 02:24
1.二级IP地址
IP={<网络号>,<主机号>}
物理地址:数据链路层和物理层使用的地址
IP地址:网络层和以上层使用的地址,是一种逻辑地址
(在发送数据时,数据从高层下到低层,然后才到通信链路上传输,使用ip地址的ip数据报一旦交给了数据链路层,就被封装成MAC帧了)
地址解析协议ARP、逆地址解析协议RARP:
IP数据报格式:
2.三级IP地址
IP={<网络号>,<子网号>,<主机号>}
3.端口
将一个特定机器上运行的特定进程指明为因特网上通信最后的终点是不可行的,因为进程的创建和撤销都是动态的,通信的一方几乎无法识别对方机器上的进程。其次,我们往往需要利用目的主机提供的功能来识别终点而不需要知道具体实现这个功能的进程是哪一个。
解决这个问题的方法就是在运输层使用协议端口号(protocol port number),即端口(port)。这就是说虽然通信的终点是应用进程,但我们只要把要传送的报文交到目的主机的某一个合适的目的端口,剩下的工作(即最后交付给目的进程)就由TCP来完成。
注意:端口号只具有本地意义,它只是为了标志本计算机应用层中的各个进程在和运输层交互时的层间接口。在因特网不同计算机中,相同的端口号之间是没有关联的。
由此可见,两个计算机中的进程要互相通信,不仅必须知道对方的IP地址(为了找到对方的计算机),而且还要知道对方的端口号(为了找到对方计算机中的应用进程)。
4.tcp连接的端点叫做套接字(socket)或插口。
端口号拼接到IP地址即构成了套接字
套接字socket=(IP地址:端口号),比如192.3.4.5:80。每一条TCP连接,唯一地被通信两端的两个端点(即两个套接字)所确定。即:
TCP连接={socket1,socket2}={(IP1:port1),(IP2:port2)}
值得注意的是,同一个IP地址可以有多个不同的TCP连接,而同一个端口号也可以出现在多个不同的TCP连接中。
5.补充DNS解析:递归和迭代区别
(看到DNS默认解析是递归解析,于是看了下,自己总结的,不一定准确,以下形容的每个人可以简单理解为DNS服务器)
递归查询:层层递进,层层回退;
打个比喻:你有一道题目不会做,你去咨询王老师,王老师也不会,于是王老师去咨询宋校长,宋校长水平也不够,就去帮忙咨询张教授,张教授也叫水,于是他去问了李老师,李老师做出来了告诉张教授答案,张教授回去告诉宋校长答案,宋校长又告诉王老师,最后王老师告诉了你答案。即:层层递进,层层回退;“查询的递交者” 改变。
你→王老师
王老师→宋校长
宋校长→张教授
张教授→李老师
李老师→张教授
张教授→宋校长
宋校长→王老师
王老师→你
迭代查询:跃层回馈;
还是那个例子,你问王老师题目,王老师不会做,但王老师说:“我知道谁可能会做,去帮你问问”(完成一次递归,角色改变)。于是王老师问宋校长,宋校长他不会,但是宋校长告诉王老师张教授可能会做,于是王老师去找张教授,张教授也不会做,但是他告诉王老师李老师会做,于是王老师去找李老师询问,最终得到了结果,(若干次迭代)并把结果直接告诉了你。即:跃层回馈; “查询的递交者”不变
你→王老师
王老师→宋校长
宋校长→王老师
王老师→张教授
张教授→王老师
王老师→李老师
李老师→王老师
王老师→你
6.万维网并非某种特殊的计算机网络,而是一个大规模的、联机式的信息储藏所,简称为Web。
(互联网=因特网,万维网是一种应用,可以理解为用户使用浏览器获取信息)
几个问题:
(1)怎样标志分布在整个因特网上的万维网文档?
答:使用统一资源定位符URL(Uniform Resource Locator)来标志。
(2)用什么协议来实现万维网上的各种链接?
答:使用超文本传送协议HTTP(HyperText Transfer Protocol),使万维网客户程序与万维网服务器之间的交互遵守严格的协议。HTTP是一个应用层协议,它使用TCP连接进行可靠的传送。
(3)怎样使不同作者创作的不同风格的万维网文档都能在因特网上的各种主机上显示出来,同时使用户清楚的知道在什么地方存在着链接?
答:使用超文本标记语言HTML(HyperText Markup Language)
7.统一资源定位符URL
URL是用来表示从因特网上得到的资源位置和访问这些资源的方法,相当于一个文件名在网络范围的拓展。因此,URL是与因特网相连的机器上的任意可访问对象的一个指针。
URL的一般形式为:
<协议>://<主机>:<端口>/<路径>
其中协议一般是HTTP协议、FTP协议。http默认的端口号是80,端口号通常可以省略,如果再省略文件的路径,那么URL就指到因特网上的某个主页。
8.HTTP协议
HTTP协议定义了浏览器(万维网客户进程)怎样向万维网服务器请求数据,以及服务器怎样把数据传送给浏览器。从层次角度看,HTTP是面向事务的应用层协议,它是万维网能够可靠地交换文件的重要基础。
万维网大致工作过程为:
每个万维网网点都有一个服务器进程,它不断地监听TCP的端口80,以便发现是否有浏览器向它发出连接建立请求。一旦监听到了连接建立请求并且建立了TCP连接之后,浏览器就向万维网服务器发出浏览某个页面的请求,服务器接着就返回所请求的页面。在这个交互过程中,必须遵循一定的格式和规则,这就是HTTP协议。
用户浏览页面的方式:
HTTP使用了面向连接的TCP作为运输层协议,保证了数据的可靠传输。
使用HTTP/1.0协议的主要缺点就是,每请求一个文档就要有两倍RTT开销。另一种开销就是万维网客户和服务器为每一次建立新的TCP连接都要分配缓存和变量。
HTTP/1.1解决了这个问题,他使用持续链接,其工作方式分为两种:非流水线方式(用户在收到响应后才能发送下一个请求)、流水线方式(用户可以连续请求)
代理服务器:
代理服务器是一种网络实体,他又称为万维网高速缓存(Web cache)。代理服务器把最近的一些请求和响应暂存在本地磁盘中,当新请求到达时,若代理服务器发现这个请求与暂时存放的请求相同,就返回暂存的响应。代理服务器可在客户端和服务器端工作,也可以在中间系统上工作。
HTTP的两类报文:请求报文、响应报文:
请求报文的方法,即请求资源的URL方法,以及HTTP的版本。
在服务器上存放用户的信息:
在HTTP中使用Cookie,在这里Cookie表示在HTTP服务器和客户之间传递的状态信息。
Cookie的工作过程:
本文介绍了计算机网络的几个基础知识,参考《计算机网络(谢希仁)》
- 计算机网络基础知识整理
- 计算机网络基础知识整理(一)
- 计算机网络基础知识整理(二)
- 计算机网络基础知识整理(三)
- JAVA基础知识整理(九) ---计算机网络
- 计算机网络基础知识整理(慢慢补全。)
- 计算机网络基础知识
- 计算机网络基础知识
- 计算机网络基础知识
- 计算机网络基础知识
- 计算机网络基础知识
- 计算机网络基础知识
- 计算机网络基础知识
- 计算机网络基础知识
- 计算机网络基础知识
- 计算机网络基础知识
- 计算机网络基础知识
- 计算机网络基础知识
- angular2的ngfor ngif指令嵌套
- 安装两个jdk
- raphael.js中repeat()的用法
- CAP定理简单理解
- LW DLL注意的问题
- 计算机网络基础知识整理
- assert的用法
- Tomcat端口被占用问题的解决
- Python 内建异常描述
- IOS applicationWillResignActive
- unity-与Android交互(unity5、android studio)
- shell(2) 数值运算
- 周志华<机器学习>+斯坦福机器学习视频
- 比较全的正则表达式