计算机网络

计算机网络

1.OSI(open systems interconnection):开放系统互联模型是为了帮助供应商根据协议来构建可互操作的网络设备和软件,以便不同供应商的网络设备能够互相协同工作

2.OSI参考模型

  • 应用层:提供用户接口,特指网络应用程序,能产生网络流量的应用程序
  • 表示层:表示数据,如采用二进制或ASCII等,处理数据,如数据加密,数据压缩等
  • 会话层:会话层的作用主要是建立,维护,管理应用程序之间的会话
  • 传输层:提供可靠或不可靠的传输,能够错误纠正,纠正失败能够重传
  • 网络层:为网络设备提供逻辑地址,根据数据包的逻辑地址选择最佳网络路径
  • 数据链路层:常被称为MAC层,它管理网络设备的物理地址,所以物理地址也称为MAC地址
  • 物理层:主要负责二进制数据比特流在设备之间的传输

3.OSI参考模型与排错

    OSI参考模型中每层为其上层提供服务,因此排错也应该从底层到高层依次排错

4.网络设备

  • 网卡:网卡是工作在数据链路层的网络组建,是局域网中连接计算机和传输戒指的接口
  • 网线:如直通电缆,交叉电缆,反转电缆
  • 集线器:'hub'是'中心'的意思,主要功能是对接受到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有结点集中在以它为中心的结点上,不能识别目的地址,数据包以广播形式传送
  • 交换机:是一种用于电信号转发的网络设备,它可以为介入交换机的任意两个网络结点提供独享的电信号通路
  • 路由器:是连接因特网中各局域网,广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号的设备

5.数据封装

    数据在传输层添加源端口和目标端口,我们称之为数据段或消息,可靠传输称为数据段,不可靠传输称为消息.在网络层会为数据段或消息添加目标地址和源地址,称为数据包.数据包在数据链路层添加了目标MAC地址,源MAC地址和帧校验序列(FCS)数据帧.

    注意:数据包包括数据,端口,IP地址.数据帧包括数据,端口,IP地址,MAC地址

TCP/IP协议

1.DoD模型

    DoD模型基本上是OSI模型的一个浓缩技术,它只有4个层次:应用层,传输层,网络层,网络接口层

2.传输层协议

    TCP(传输控制协议):一个数据包不能完成通信人物的通信在传输层大多使用TCP协议,传输前数据分段,编号,客户端和服务器建立会话,可靠传输--传输过程数据包丢失,要求服务器重传

    UDP(用户数据报协议):一个数据包就能完成的人物在传输层大多使用UDP协议,不可靠传输,服务器和客户端不会建立会话,比TCP建立会话节省服务器资源,数据不分段,不编号

3.应用层协议

    传输层协议添加端口就可以标识应用层协议

  • HTTP(简单文件传输协议)默认使用TCP的80端口标识
  • FTP(文件传输协议默认使用TCP的80端口标识
  • SMTP(简单邮件传输协议)默认使用TCP的25端口标识
  • POP3(邮局协议)默认使用TCP的110端口
  • HTTPS默认使用TCP的443端口
  • DNS使用UDP的53端口
  • 远程桌面协议(RDP)默认使用TCP的3389端口
  • Telnet使用TCP的23号端口
  • windows访问共享资源使用TCP的445端口

4.查看协议端口

    windows:netstat -an可以看到TCP和UDP侦听的端口

    windows:netstat -anb还可以看到侦听端口的进程或程序

5.解决端口冲突造成服务启动失败

    在命令提示符下输入 netstat -aonb>>C:\p.txt,这样就可以输出结果在C:\p.txt

    打开这个文件,能够查看侦听的端口,侦听端口的进程号和应用程序的名字.

网络层协议

在TCP/IP协议栈中网络层有四个协议IP,IGMP,ICMP和ARP:

  •  因特网协议(IP)
  • 因特网控制报文协议(ICMP)
  • 地址解析协议(ARP)
  • 逆地址解析协议(RARP)
  • 代理ARP
  • 组管理协议(IGMP)

1.IP协议(Internet protocol)

    IP关注每个数据包的地址,网络层设备通过使用路由表,IP可以决定一个数据包将发送给哪一个被选择好的后续最佳路径,那些动态协议(RIP,EIGRP和OSPF)都是IP协议

2. ICMP协议(Internet control message protocol)

    ICMP是Internet控制报文协议,用于IP主机和路由器之前传递控制消息,控制消息是指网络通不痛,主机是否可达,路由是否可用网络本身的消息

3.根据TTL判断对方是什么操作系统

    TTL(Time to live):生存时间,是IP协议包中的一个值,数据包每经过路由器转发依次都至少要把TTL减一,当计数到0时,路由器决定丢弃该包,并发送ICMP报文给最初的发送者

    TTL是发送主机设置的,TTL字段值可以帮助我们是识别操作系统类型

  • linux                64TTL
  • windows 2000/NT            128TTL
  • windows系列                   32TTL
  • Unix系列                      255TTL

4.IGMP协议(Internet group mangement protocol)

    IGMP用来在IP主机和与其直接相邻的组播路由器之间建立,维护组播组成员关系。IGMP不包括组播路由器之间的组成员关系的传播与维护,这部分工作由各组播路由协议完成

5.ARP协议(Address resolution protocol)

    地址解析协议可以由已知主机的IP地址在网络上查找它的硬件地址

静态路由

1.IP路由

    路由就是路由器从一个网段到另一个网段转发数据包过程,即数据包通过路由器转发,这就是数据路由

    网络畅通的条件是,要求数据包能够到达目标地址,同时数据包必须能够返回发送地址

2.查看路由信息

    enable              -----进入特权模式

    show version              ------查看版本信息

    show interfaces            -------显示所有路由器接口

3.配置路由器的全局参数

    config t           ---------进入全局配置模式

    hostname Router0               --------更改路由器名称

    enable password todd            ---------设置enable密码

    no enable secret               --------删除加密enable密码

4.配置路由器的接口

    interface fastEthernet 0/0               -----------进入接口配道

    ip address 192.168.0.1 255.255.255.0             -------添加ip地址子网掩码

    no shutdown                    ----------启用接口

    no ip address                 ---------删除路由器接口的所有ip地址

    show ip interface brief               -------------显示精简的路由器接口的ip信息

常见的头部域字段的设置

1. Accept:告诉Web服务器自己能接收什么媒体类型,*/*表示能接收任何类型,type/*表示接收该类型下的所有子类型,一般格式为type/sub-type,多个类型使用q参数分割,9的值代表quality请求质量,反映了用户对这类媒体类型的偏好程度,例如Accept: textplain;q=0.5, texthtml, text/x-dvi; q=0.8, textx-c。

2. Accept-Charset: 浏览器接收内容的字符集,通常是utf-8。

3. Accept-Encoding: 浏览器接收内容的编码方法,例如指定是否支持压缩,若支持压缩的话支持什么压缩方法,具体如Acept-Encoding:gzip, deflate, sdch。

4. AccptL anguage:浏览器接收内容的语言。语言跟字符集是有区别的,例如中文是语言,中文有多种字符集,big5、gb2312 gbk等。该参数也可以设置多个,如ccept-L anguage:zh-CN,zh;q=0.8。

5. Accept-Ranges: Web服务器表明自己是否接受获取某个实体的一部分(比如文件的一部分)请求,这里主要用于部分文件传输,实际上我们用的比较少。bytes 表示接受传输多大长度内容,none 表示不接受。

6. Age: 一般当服务器用自己缓存的实体去响应请求时,可以用该头部表明实体从产是吵 生到现在经过了多长时间,如Age: 3600。

7. Allow:该参数头部可以设置服务端支持接收哪些可用的HTTP请求方法,例如GET、POST、PUT, 如果不支持,则会返回405(Method Not Allowed)。

8.Authorization: 当客户端接收到来自Web服务器的wwW-Authenticate 响应时,后面可以用该头部来携带自己的身份验证信息给Web服务器直接进行认证。

9. Cache-Control: 用来声明服务器端缓存控制的指令。包括请求设置指令和响应请求指令。
    请求控制指令如下:

  • no-cache:不使用缓存实体,要求从Web服务器去请求内容。
  • max-age:只接受Age值小于max-age值的内容,即没有过期的请求对象。
  • max-stale:可以接受过去的对象,但是过期时间必须小于max-stale值。
  • min-fresh:接受生命期大于其当前Age跟min-fresh值之和的缓存对象。
    响应控制指令如下:

        public: 可以用Cache中内容回应任何用户。

        private:只能用缓存内容回应先前请求该内容的具体用户。

        no-cache可以设置哪些内容不被缓存。

        maxage:设置响应中包含对象的过期时间。

        ALL: no-store不允许缓存。

10 Connection在请求头中,close告诉Web服务器或者代理服务器,在完成本次请求响应后断开连接,无须等待本次连接的后续请求,keep-alive告诉Web服务器或者代理服务器,在完成本次请求响应后保持连接,等待本次连接的后续请求。在响应头中,close连接已关闭。keep-alive保持连接,等待本次连接的后续请求,如果浏览器请求保持连接,则该头部表明希望Web 服务器保持连接的时长(秒),例如,keep-alive: 300。

11. Content-Encoding: 与请求头的Accept-Encoding对应, 指Web服务器表明使用何种压缩方法(gzip, deflate) 压缩响应中的对象,例如,Content-Encoding: gzip。

12. Content-Language:与请求头中的Accept-Language对应,Web 服务器告诉浏览器响应的媒体对象语言。

13. Content-Length: Web 服务器告诉浏览器HTTP请求内容的长度。例如,Content-Length: 1024。

14. Content-Range:Web服务器表明该响应包含的部分对象为整个对象的哪个部分。

15. Content-Type: 与请求头的Accept对应,指明Web服务器告诉浏览器响应的对象的类型。例如,Content-Type: application/xml.

16 Etag: 对象(比如URL)的标志值。一个对象(如HTML文件)如果被修改了,其Etag也会被修改,所以Etag的作用和Last-Mdified差不多,主要供Web服务器判断个对象是否改变。例如前一次请求某个HTML文件时获得了其Etag,当这次又请求该文件时,浏览器就会把先前获得的Etag值发送给Web服务器,然后Web服务器会将这个Etag值跟该文件当前的Etag值进行对比,判断文件是否改变。

17. Expires: Web服务器表明该实体将在什么时候过期,对于过期的对象,只有在跟Web服务器验证了其有效性后,才能用来响应客户请求,是HTTP/1.0的头部。例如Expires:Sat, 23 May 2009 10:02:12 GMT。

18. Host:客户端指定自己访问的Web服务器的线名IP地址和端口号。例如、Host:www.jixianqianduan.com

19. If-None-Match: 如果上次文件返回头中包含Eag信息,则会带上If-None-Match发送请求给服务器,判断请求返回304还是200。例如,If-None-Match: W /"34b1c4d4f5d8c61:d23"

20. If-Modified-Since: 如果上次文件返回头中包含了Last-Modified 信息,则会带上If-Modificd-Since发送请求给服务器,判断请求返回304还是200。例如,If-Modifed-Since:Thu, 10 Apr 216 09:14:42 GMT。

21. If-Range: 浏览器告诉Web服务器,如果请求的对象没有改变,就把修改的部分返回给浏览器,如果对象改变了,就把整个对象返回给浏览器。浏览器通过发送请求对象的Etag或者自己所知道的最后修改时间给Web服务器,让其判断对象是否改变。If-Range 常常跟Range头部一起使用。

22. Last-Modified: Web服务器设置的对象最后修改时间,比如文件的最后修改时间或者动态页面的最后产生时间。例如Last-Modified: Tue, 06 Sep 2016 02:42:43 GMT。

23. Location: Web服务器告诉浏览器,试图访问的对象已经被移到别的位置了,让浏览器重定向去读取Location里面返回的内容。

24. Pramga:主要使用Pramga: no-cache,相当于Cache-Control: no-cache。例如,Pragma:no-cache

25. Proxy-Authenticate: 代理服务器响应浏览器,要求其提供代理身份验证信息。Proxy-Authorization:浏览器响应代理服务器的身份验证请求,提供自己的身份信息。

26. Range: 浏览器告诉Web服务器自己想读取对象的哪部分。

27. Referer: 浏览器向Web服务器表明自己是从哪个网页URL跳转访问当前请求中网址URL的,即跳转到当前页面的来源。例如,Referer: htp://www.jixianqianduan.com/

28. Server: Web服务器通过此头域表明自己是什么软件及版本信息。例如,Server:Apache2.2.18 (Unix)。

29. User-Agent: 浏览器的代理名称,位于请求头部,通常服务端可以根据这个设置获取浏览器的种类和版本信息。例如,Morilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36。

30. Transfer-Encoding: Web服务器表明自已对本响应传输消息体做怎样的编码,如是否分块(chunked), Transfer-Encoding: chunked




上一篇:Photoshop


下一篇:强大的vim插件