Linux运维学习笔记 3.30

Linux网络基础

osi 7层模型

物理层:把通信介质的信号装换成数字信号(二进制)

通信介质  双绞线:转换电信号

         wifi:转换电磁波

数据链接层:有mac地址(唯一),通过交换机实现设备和设备之间的相互通讯

网络层:IP地址(定位),路由(指路)

公网IP:全世界唯一,定位,可以满足两台设备在世界任何位置都能相互通讯

私网IP:局部唯一(解决公网IP不够用的情况,可以让多个设备共用一个公网IP上网)

路由:指定数据包的下一站该怎么走

传输层:控制数据包的传输速度和可靠性,应用程序端口

TCP协议:速度慢,可靠性高 (每传输一个数据包都需要确认是否收到,适合容易丢包的场景且特别重要的数据)

UDP协议:速度快,可靠性差 (每传输一个数据包,不需要确认,适合局域网)

端口:多个程序同时进行通讯,使主机可以区分不同的网络服务

    (客户端端口是临时随机不唯一的,这样可以打开多个客户端,安全,服务端的端口在同一台设备上是唯一的)

会话层:每一个链接会创建一个会话

表示层:表示文件的类型,用正确的方式打开文件

应用层:应用程序,最终我们需要传输的数据

程序和程序之间通信用的是协议,所有协议都是基于osi 7层模型来设计

数据封装,解封装,数据传输过程

数据传输过程.gif

TCP/IP协议 (协议类似发电报用到的密码本,双方都要遵守的一种约定)

运维只关注传输层 TCP协议

tcp的标识:

SYN:建立链接

ACK:回应标识

FIN:断开链接

PSH:数据包

URG:紧急指针

RST:重置(重传)

传数据之前需要三次握手,保证网络畅通

先需要了解网络传输的方式:       单工(发送方只能发,接收方只能收,收音机广播)

                            半双工(双方都可以作为发送方和接收方,但不能同时进行,对讲机,WiFi,无线)

                            全双工 (同时收发,双绞线网络)

在网络中,谁先发起数据包传输请求谁就是客户端

三次握手,发测试包,查看网络是否畅通,每个数据包有个标识    

客户端发送第一个SYN标识数据包(随机序列号SEQ=x)给服务器端,进入SYN_SEND状态。

服务器端收到SYN数据包,回应一个SYN,ACK标识(SEQ=y,确认序列号ACK=x+1)报文,进入SYN_RECV状态。

客户端收到服务器端的SYN报文,回应一个ACK(SEQ=x+1,ACK=y+1)报文,进入Established状态。

传数据后需要四次挥手,保证数据传输完成

客户端发送一个fin,ack标识数据包(SEQ=j,ack=k)给服务器端

服务器端收到数据包,回应一个ack标识(SEQ=k,ACK=j+1)报文,

等待数据传输完成,再发送fin,ack标识(seq=k,ack=j+1)

客户端只需要回应一个ACK(SEQ=J+1,ACK=K+1)数据包
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第四章 计算机网络 计算机网络是指由通信线路互相连接的许多独立自足工作的计算机构成的资源共享集合体,它是计算机技术...
    步积阅读 5,474评论 0 6
  • 13.服务器图片改了,url没有变,需求,服务器的图片变了,就从服务器加载图片,如果服务器的没变,就从本地加载 1...
    AlanGe阅读 5,093评论 0 1
  • OSI模型 OSI时OSI/RM的简称:全称是Open Systems Interconnection Refer...
    Spicy_Crayfish阅读 5,557评论 0 4
  • 后期整理字体以及排版问题,修订不适合的翻译 “A wealth of information. Smart, ye...
    iamzzz阅读 4,090评论 0 0
  • title: 网络基础学习总结(1) tags: 网络 categories:笔记 date: 2017-06-1...
    行径行阅读 7,402评论 0 3