`

计算机网络

 
阅读更多

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

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

   谁指定了这些网络协议   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
分享到:
评论

相关推荐

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

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

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

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

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

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

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

    计算机网络是计算机科学和信息技术的核心领域,本资源提供了计算机网络第8版答案,涵盖了计算机网络的基本概念、分类、网络协议、网络安全等方面的知识点,详细解释了计算机网络的定义、分类、网络协议、网络安全等...

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

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

Global site tag (gtag.js) - Google Analytics