美文网首页
day24 OSI、TCP、TCP三次握手

day24 OSI、TCP、TCP三次握手

作者: 藏鋒1013 | 来源:发表于2019-04-07 16:48 被阅读0次

    Linux计算机网络中网络协议

    OSI Open System Interconnection 七层协议

    物理层:OSI的物理层的规范是有关介质传输的特性,连接头、帧、帧的使用、电流、编码及光调制等都属于各                 物理层范围中的内容。

                 常见的标准:RJ-11 RJ-45  买那个 厂商提供RJ-45接口标准的水晶头

                                      水晶头  水晶/塑料/接触片/镀金的/纯铜的/镀铜/ 网线

    数据链路层:它定义了在单个链路上如何传输数据。

                         常见的标准MAC地址 二级网络 交换机

    网络层:这层对端到端的包传输进行定义,它定义了能够标识所有节点的逻辑地址,还定义了路由实现的方式和                  学习的方式。为了适应最大传输单元长度小于包长度的传输介质,网络层还定义了如何将一个包分解成                  更小的包的分段方法。

                  标准IP地址 路由器  三层网络  IP地址公网IP

                  公网IP  相当于家庭地址(跟全世界互联)

                  私网IP  局域网内

    传输层:这层的功能包括是否选择差错恢复协议还是无差错恢复协议,及                在同一主机上对不同应用的数据流的输入进行复用,还包括对收                到的顺序不对的数据包的重新排序功能。

                  TCP稳定传输  UDP传输的方式

                  ssh服务

    会话层:它定义了如何开始、控制和结束一个会话,包括对双向消息的控制和管理,以便在只完成连续消息的一                  部分时可以通知应用,从而使表面层 看到的数据是连续的,在某些情况下,如果表示层收到了所有的数                据,则用数据代表表示层。

    表示层:这一层的主要功能是定义数据格式及加密。

    应用层:与其他计算机进行通讯的一个应用,它是对应应用程序的通信服务的。

    OSI 7层模型中数据的传输结构

    7层模型封包的过程:

    应用层  Hello World (表示层TEXT 会话层)

    传输层  报文消息头  TCP 

    网络层  IP地址的报文的消息头   IP

    链路层  添加一个以太信息

    物理层  网卡     电信号

    7层模型 解包的过程:

    物理层  网卡  电信号  2进制的信息

    链路层  以太信息

    网络层  IP

    传输层  TCP

    会话层  SOCKET

    表示层  类型  TEXT JPEC PNG等

    应用层  向操作系统要数据  Hello World

    TCP/IP5层模型

    TCP/IP五层协议和OSI的七层协议对应关系如下图

    在每一层都工作着不同的设备,比如我们常用的交换机就工作在数据链路层,一般的路由器是工作在网络层。

    在每一层实现协议也各不同,即每一层的服务也不同。

    TCP/IP协议建立三次握手的过程

    IP协议是TCP/IP协议中最重要的协议,它为TCP  UDP  ICMP等协议提供传输的通路,IP层主要目的是提供子网互联,形成较大的网络,使不同的子网之间能传输数据。

    IP层主要的作用:

    1、数据传输  将数据从一个主机传输到另一个主机

    2、寻址  根据子网划分和IP地址,发现正确的目的主机地址。

    3、路由选择  选择数据在互联网上的传输路径。

    4、数据报文的分段  将数据进行分段你发送和接收并组装。

    TCP传输控制协议

    简称TCP协议,它在原有IP协议的基础上,增加了确认重发、滑动窗口和复用,提供一种可靠的面向连接的字节流的服务。最大的特点就是可靠性。

    1)源端口号和目的端口号 这个字段均为16字节的长度,表示发送端和接收端的端口,用于确认发送端和接口端的应用程序。发送端的IP地址和端口号及接收端你的IP地址和端口号可以确认一个人在Internet上的TCP连接。

    2)序列号  序列号是一个32位长度的字段,表示分配给TCP包的编号。序列号用来表示应用程序从TCP的发送端到接收端发送的字节流。当TCP开始连接的时候         一个序列号给接收端,连接成功后,这个序列作为初始的序列号ISN。建立成功之后发送的第一个字节的序列号为ISN+1,之后发送数据ISN将按照字节的大小进行递增。序列号开始是一个32位的无符号数,到达2的32次方,减1之后从0开始。

    3)确认号  发送方对发送的首字节进行了编号,当接收方成功接收后,发送回接收成功的序列号+1表示确认,发送方再次发sing的时候从确认号开始。

    4)头部长度  表示TCP头部的长度,由于TCP的数据有可选字段,头部长度用于表示头部的长度。此字段的长度为4位,表示的是以32位长的数据。因此TCP的头部长度最长为60个字节,如果没有可选字段通常为20个字节。

    5)保留位  6位长度没有使用,必须设为0.

    6)控制位  6b,用作控制位,可以多个位一起设置。

    TCP三次握手图解:

    TCP


    相关文章

      网友评论

          本文标题:day24 OSI、TCP、TCP三次握手

          本文链接:https://www.haomeiwen.com/subject/czfgbqtx.html