`

计算机网络

 
阅读更多

为什么有协议?----两个计算机是如何在网络中交流的

   协议是通信双方的一种约定,包括格式和次序,没有这些机器将无法交流

   谁指定了这些网络协议   IETF

 

因特网协议的规则



 


 
  

     协议的封装:

  1. 机器A上的某应用程序向机器B发消息,例如HTTP消息
  2. 机器A的网络层协议一次把该消息封装成  TCP包-->IP包-->链路层数据包
  3. 链路层的消息发送给交换机A
  4. 交换机A收到消息后发给了路由器
  5. 路由器去除链路层封装,检查地址,发现机器B是目的地,然后重新生成一个链路层数据包发给交换机B
  6. 交换机B收到消息发给机器B

应用层协议

 常见的应用成协议

  •    电子邮件 SMTP, POP3, IMAP
  •    远程终端访问 Telnet, SSH
  •    Web HTTP, HTTPS
  •    文件传输 FTP
  •    因特网电话/视频 SIP, RTP

 

HTTP   VS  HTTPS

  • HTTP      无状态协议  服务器不保存客户端任何信息 ,可以模拟会话 ,服务器端生成要给sessionId 发给浏览器放在cookie里,下次用这个cookie去请求      HTTP协议是纯文本协议,不安全
  • HTTPS    S代表安全

   怎样安全?

    https 采用的是对称加密(一个假面)和  RSA 非对称加密结合的方式

  1.    浏览器访问服务器 https://www.baidu.com
  2. 服务器 发送给浏览器 的数字证书(包含公钥和一些证书信息和数字签名,数字签名的生成方式是将公钥和证书信息 用hash算法得到结果后用CA的私钥加密,浏览器得到这些数据后可以用CA公钥解密签名 和 用hash算法 计算这些零散信息后 ,比对结果是否一致,来判断证书是否被改动过)  数字证书是为了安全的传输公钥
  3. 浏览器生成对称密钥,用公钥加密后发给服务器
  4. 服务器解密保存对称密钥
  5. 以后双方可以用对称密钥来通信了

TCP 传输层

TCP协议是 实现两个应用程序间可靠传输的协议   。原理:失败重传,

    【QQ客户端:10022】<----- ----->【QQ服务器:443】

    这一对就是socket,传输层的抽象,443是https的端口,客户端端口随意。TCP协议不管IP地址

    如何处理的呢?

  1. 如果发送完  分组编号A的分组后,等待反馈,结果是无法识别,或没收到A,重新发送分组A
  2. 丢包?发送分组A后启动定时器,如果超时仍没有反馈,重发,重新启动定时器
  3. 固定发送的未收到确认的包不能超过4个
  4. 如果多组流水线发送,中间丢包了,那么后续收到的包可以先缓存起来,直到收到丢失的包,再按照元顺序全部返回给上级调用

IP 网络层

  把数据包从一个主机运送到另外一台主机,中间有很多路由器设备

  网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。

   虚电路 VS  分组交换

  •    虚电路 是  在网络上建立一条固定通路,在机器A和机器B通讯中始终保持连接,占用带宽
  •    分组交换,就像边走边问,最终只要能到达就行

  网络层采用分组交换方式

      手工配置ip地址太麻烦了,都是我们去请求 DHCP服务器 在动态给我们分配ip地址(开机自动完成,DHCP服务器右我们家里的路由器充当)路由器只关注下一跳地址

      NAT  解决IPV4用光问题,路由器给连它的机器自己分配局域网内的地址,例如我们家中的手机,电脑,ipad ,路由器有个NAT对照表,那个LAN段对应WAN上固定ip的不同端口

链路层

    数据最终会封装为连路层帧在机器中传输

  •      MAC地址   相当于人的身份中,存在网卡中   
  •      IP地址    相当于人的邮寄地址 ,存在内存中

    如何知道我们要访问的 网址的ip地址呢?DNS请求

    如何知道我们要访问的 ip地址的MAC地址呢?ARP广播请求

 

   链路层根据目的MAC地址,具体决定数据下一步走向

 

综合

 

 

 

 上网过程

     1. 打开电脑,连上网络,只有MAC地址,没有IP地址,用DHCP获取IP , 广播一条数据包

      DHCP报文:【想租IP,谁有?】----》UDP报文:【目的端口:67,源端口68】---》IP数据报:【目的地:255.255.255.255,源地址:0.0.0.0】--》以太网帧【目的地:FF..,源地址:11:27...】

      DHCP返回  :你的ip:192.168.1.2   网关路由器:192.168.1.1  DNS服务器 202.102.224.69

     2.访问百度 只知道域名

      DNS查询:【想知道www.baidu.com的ip】----》UDP报文:【目的端口:53,源端口XX】---》IP数据报:【目的地:202.102.224.69,源地址:192.168.1.2】--》以太网帧【目的地:??..,源地址:11:27...】

     3.上一步骤的,目的地mac地址还没有咋办?

       通过ARP广播 获得网关路由器的MAC地址   假设为88:25:93:79:E0:C8,放在2的报文中,此时可以将2的DNS查询发出了

     4.获得百度的ip   假设 115.239.211.112,建立TCP连接(socket)发送HTTP请求

      HTTP:【GET/www.baidu.com】----》UDP报文:【目的端口:80,源端口XX】---》IP数据报:【目的地:115.239.211.112,源地址:192.168.1.2】--》以太网帧【目的地:88:25:93:79:E0:C8,源地址:11:27...】

 

我关于这些协议层的目前的理解:组合起来使用,拆开看的话,链路层管  下一步怎么走,发给那个中间路由,要得到中间路由的Mac地址(通过ARP),网络层记录一下ip地址,分配ip地址(DHCP服务,NAT服务),供链路层传输的时候使用,路由器会把 链路层剥掉,通过ip层重新定制链路层,  TCP传输层关注进程间的可靠通信,具体ip是什么,怎么传出的不关注,关注可靠传输,  应用层则关注通信安全。

   

 

  • 大小: 124.6 KB
  • 大小: 58.3 KB
  • 大小: 97.2 KB
分享到:
评论

相关推荐

    计算机网络第五版及答案 谢希仁

    《计算机网络》的特点是概念准确、论述严谨、内容新颖、图文并茂。突出基本原理和基本概念的阐述,同时力图反映出计算机网络的一些最新发展。《计算机网络》可供电气信息类和计算机类专业的大学本科生和研究生使用,...

    西北工业大学 计算机网络实验 实验报告

    西北工业大学 计算机网络实验,实验报告 计算机网络实验课程通常是计算机科学、信息技术或相关领域的学生学习网络技术的一部分。在这门课程中,学生通常会学习有关计算机网络的基本原理、协议、网络拓扑结构、网络...

    计算机网络_电子版书和答案

    计算机网络_电子版书和答案计算机网络_电子版书和答案计算机网络_电子版书和答案计算机网络_电子版书和答案计算机网络_电子版书和答案计算机网络_电子版书和答案计算机网络_电子版书和答案计算机网络_电子版书和答案...

    计算机网络复习资料计算机网络复习资料

    计算机网络复习资料计算机网络复习资料计算机网络复习资料计算机网络复习资料计算机网络复习资料计算机网络复习资料计算机网络复习资料计算机网络复习资料计算机网络复习资料计算机网络复习资料计算机网络复习资料...

    计算机网络期末考试试题和答案

    本文档提供了计算机网络期末考试试题和答案,涵盖计算机网络的主要功能、数据传输、信道上传输、局域网、OSI/RM 参考模型、计算机网络的体系结构、局域网的硬件组成、计算机网络的拓扑结构、TCP/IP 协议、信号发送、...

    计算机网络期末考试试题及答案

    计算机网络期末考试试题及答案 计算机网络是计算机技术发展的重要组成部分,对于计算机网络的研究和理解是非常重要的。以下是计算机网络期末考试试题及答案的相关知识点总结。 一、计算机网络的基本概念 * 计算机...

Global site tag (gtag.js) - Google Analytics