网络互联

协议

为了使数据可以在网络上从源传递到目的地,网络上所有设备需要“讲”相同的“语言”

描述网络通信中“语言”规范的规则就是协议

决定数据的格式和传输的规则

协议分层

网络通信的过程很复杂:

数据以电子信号的形式穿越介质到达正确的计算机,然后转换成最初的形式,以便接收者能够阅读

为了降低网络设计的复杂性,将协议进行了分层设计

网络互联

七层框架

网络互联

网络互联

协议栈中的协议彼此相互独立

下层对上层提供服务

以传输层采用TCP或者UPD、网络层采用IP、链路层采用Ethernet

 

用户数据经过应用层协议封装后传递给传输层

传输层封装TCP头部,交给网络层

网络层封装IP头部后,再交给数据链路层

数据链路层封装Ethernet帧头和帧尾,交给物理层

物理层以比特流的形式将数据发送到物理线路上

 

物理层 : (计算机,终端,调制解调器,电缆光纤,插头插座),通信实体硬件机械特点,物理连接导线电路特性;比特流与电子信号之间的切换

数据链路 : (网桥和交换机:MAC物理地址寻址)链路层负责网卡设备的驱动、帧同步、冲突检测、数据差错校验等工作。数据帧与比特真帧间的传输

网络层 : (路由器:IP逻辑地址寻址) 选择数据通过网络的最佳路径,网络地址和主机地址,数据包从Internet上的源主机到目的主机要经过多个路由器。路由器同时兼有交换机的功能,可以在不同的链路层接口之间转发数据包,因此路由器需要将进来的数据包拆掉网络层和链路层两层首部并重新封装。IP协议不保证传输的可靠性,数据包在传输过程中可能丢失,可靠性可以在上层协议或应用程序中提供支持。

  IP协议(Internet Protocol,因特网互联协议);
  ICMP协议(Internet Control Message Protocol,因特网控制报文协议);
  ARP协议(Address Resolution Protocol,地址解析协议);
  RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)

       交换机不能进行动态分配以平衡负载,而路由器能为不同的网络应用选择各自不同的最佳路由(IP,划分子网)

       广播控制整个交换式网络就是一个大的广播域,虚拟网络和三层交换。 

传输层 : (网关 : TCP/UDP : 在IP协议的基础之上)数据传输连接服务 ((主机到主机)),是否有数据丢失

会话层 : 通过会话进行身份验证、会话管理,合适断开连接,建立链接
    
表示层 : 解释通讯数据的意义,如代码转换、格式变换,文字、图片等格式的转化,使不同的终端可以表示,还包括加密与解密、压缩与解压缩等。

应用层 : (FTP、Telnet、DNS、SMTP,HTTP、WebSocket)为用户提供服务

 

1)用户:即电脑主机,所在地是某乡镇

2)应用层用户数据:信的内容(使用http协议来写)

3)传输层收信职员:用户需要投递信件,写好目的地址是北京,邮编门牌号,然后交给邮局收信职员(传输层:需要可靠的传输:tcp封装信封投递到邮局,目的地址是ip,门牌号:mac地址。网卡的’MAC‘地址(每一块网卡的MAC地址都是不一样的,这是网卡的制造商写死在网卡的芯片中的))

4)网络层邮局排序工人:邮政有多个层级,比如乡级邮政所不可能直接送到北京,但是他知道先送到哪,比如送往县城,如果在本埠,直接发给送信员,如外埠,需要送到县邮政局或者直接到省级,然后送到北京。每个节点都是路由。(网络层,设备路由器,路由到目标地址(ip)中间可能经过很多路由器)

5)链路层乡邮局包装信封人员:包装信封,比如送往县邮政局的是一摞,或者直接送往省局是一摞,每一摞上门都写明了具体目的地址和本地邮局地址(链路层:需要封装目的地址和源地址)

6) 物理层运输部门:把信件送到县邮政局(物理层)

7)链路层县邮局包装信封人员:经县邮局师傅拆装确认,没错,就是我们这里,然后师傅把后来又加的那层信封拆掉了。

8)网络层县邮局排序工人:查了这邮件无法直接送达北京,得先邮寄到省级邮政,查明了地址(路由),然后交给包装信封人员。

9)链路层县邮局包装信封人员:包装信封,送往运输部门。

10)物理层运输部门:把信件送到省邮政局(物理层)

重复上面的步骤,直到送到北京某地邮政局。

11)传输层送信职员:根据信封写的地址和门牌号,送到用户手里

12)应用层:用户收到邮件,拆开信封,根据http协议读取内容。

假设用户A,住在某个小区里面(局域网),如果想给该小区用户B写信件,你可以直接跑他家,即局域网是相互认识的。如果你不知道用户B的门牌号(mac地址),没问题,在小区门口有个看门的李大爷,他知道小区各个业主的门牌,李大爷就是你的网关

如果你想邮寄信件到其他小区的用户B,怎么办? 这个时候投递信件到邮局,邮局负责把信件寄用户B.

 

       客户机会将请求封装成http数据包-->封装成Tcp数据包-->封装成Ip数据包--->封装成数据帧--->硬件将帧数据转换成bit流(二进制数据)-->最后通过物理硬件(网卡芯片)发送到指定地点。

       服务器硬件首先收到bit流....... 然后转换成ip数据包。于是通过ip协议解析Ip数据包,然后又发现里面是tcp数据包,就通过tcp协议解析Tcp数据包,接着发现是http数据包通过http协议再解析http数据包得到数据。

     一次HTTP操作称为一个事务,其工作整个过程如下:

    1 ) 、DNS解析域名localhost.com,得主机的IP地址
    2)、(把以上部分结合本机信息)封装HTTP请求数据包
    3)、封装成TCP包,建立TCP连接

    4)、客户端发送请求给服务器

    5)、服务器响应数据给客户端

    6)、服务器关闭TCP连接

网络互联

HTTP协议 : 服务器传输超文本到本地浏览器的传送协议。

不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。

计算机相互之间的通信

        TCP : Transmission Control Protocol 传输控制协议和IP: Internet Protocol  网际协议。

        IP:计算机之间的通信

        IP协议是计算机用来相互识别的通信的一种机制,每台计算机都有一个IP.用来在internet上标识这台计算机。  IP 负责在因特网上发送和接收数据包。通过 IP,消息(或者其他数据)被分割为小的独立的包,并通过因特网在计算机之间传送。IP 负责将每个包路由至它的目的地。

        IP协议仅仅是允许计算机相互发消息,但它并不检查消息是否以发送的次序到达而且没有损坏(只检查关键的头数据)。为了提供消息检验功能,直接在IP协议上设计了传输控制协议TCP.

        

       TCP : 应用程序之间的通信

       TCP确保数据包以正确的次序到达,并且尝试确认数据包的内容没有改变。TCP在IP地址之上引端口(port),它允许计算机通过网络提供各种服务。一些端口号为不同的服务保留,而且这些端口号是众所周知。

       服务或者守护进程:在提供服务的机器上,有程序监听特定端口上的通信流。例如大多数电子邮件通信流出现在端口25上,用于wwww的HTTP通信流出现在80端口上。

       当应用程序希望通过 TCP 与另一个应用程序通信时,它会发送一个通信请求。这个请求必须被送到一个确切的地址。在双方“握手”之后,TCP 将在两个应用程序之间建立一个全双工 (full-duplex) 的通信,占用两个计算机之间整个的通信线路。TCP 用于从应用程序到网络的数据传输控制。TCP 负责在数据传送之前将它们分割为 IP 包,然后在它们到达的时候将它们重组。

       TCP/IP 就是TCP 和 IP 两个协议在一起协同工作,有上下层次的关系。

       TCP 负责应用软件(比如你的浏览器)和网络软件之间的通信。IP 负责计算机之间的通信。TCP 负责将数据分割并装入 IP 包,IP 负责将包发送至接受者,传输过程要经IP路由器负责根据通信量、网络中的错误或者其他参数来进行正确地寻址,然后在它们到达的时候重新组合它们。